")].join(''),new cljs.core.Keyword(null,"candidate","candidate",1522567413),aliaz,new cljs.core.Keyword(null,"file","file",1017047278),new cljs.core.Keyword(null,"file","file",1017047278).cljs$core$IFn$_invoke$arity$1(candidate),new cljs.core.Keyword(null,"package","package",4501809080),new cljs.core.Keyword(null,"package","package",4501809080).cljs$core$IFn$_invoke$arity$1(candidate),new cljs.core.Keyword(null,"location","location",2914947879),new cljs.core.Keyword(null,"location","location",2914947879).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,new cljs.core.Keyword(null,"params","params",4313443576).cljs$core$IFn$_invoke$arity$1(adtType))),new cljs.core.Keyword(null,"doc","doc",1014003882),lt.plugins.elm_light.elm_ast.print_rec.call(null,cljs.core.first.call(null,new cljs.core.Keyword(null,"params","params",4313443576).cljs$core$IFn$_invoke$arity$1(adtType))),new cljs.core.Keyword(null,"module-name","module-name",4067691710),new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(candidate)], null)], null),cljs.core.map.call(null,((function (aliaz,temp__4092__auto__,adtParam,adtCandidate,get_field_def,adtType,adtPattern,fst_destruct_variable){
return (function (p1__22740_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"value","value",1125876963),new cljs.core.Keyword(null,"candidate","candidate",1522567413),new cljs.core.Keyword(null,"file","file",1017047278),new cljs.core.Keyword(null,"package","package",4501809080),new cljs.core.Keyword(null,"doc","doc",1014003882),new cljs.core.Keyword(null,"location","location",2914947879),new cljs.core.Keyword(null,"module-name","module-name",4067691710)],[[cljs.core.str(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(candidate)),cljs.core.str("."),cljs.core.str(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(adtType)),cljs.core.str("."),cljs.core.str(new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(p1__22740_SHARP_))].join(''),[cljs.core.str(aliaz),cljs.core.str("."),cljs.core.str(new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(p1__22740_SHARP_))].join(''),new cljs.core.Keyword(null,"file","file",1017047278).cljs$core$IFn$_invoke$arity$1(candidate),new cljs.core.Keyword(null,"package","package",4501809080).cljs$core$IFn$_invoke$arity$1(candidate),new cljs.core.Keyword(null,"signatureRaw","signatureRaw",3837738946).cljs$core$IFn$_invoke$arity$1(p1__22740_SHARP_),new cljs.core.Keyword(null,"location","location",2914947879).cljs$core$IFn$_invoke$arity$1(p1__22740_SHARP_),new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(candidate)]);
});})(aliaz,temp__4092__auto__,adtParam,adtCandidate,get_field_def,adtType,adtPattern,fst_destruct_variable))
,new cljs.core.Keyword(null,"fieldDefs","fieldDefs",2278619290).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,new cljs.core.Keyword(null,"params","params",4313443576).cljs$core$IFn$_invoke$arity$1(adtType)))));
} else
{return null;
}
})(),cljs.core.map.call(null,((function (adtParam,adtCandidate,get_field_def,adtType,adtPattern,fst_destruct_variable){
return (function (field){return new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,"value","value",1125876963),[cljs.core.str(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(candidate)),cljs.core.str("."),cljs.core.str(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(adtType)),cljs.core.str("."),cljs.core.str(new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(field))].join(''),new cljs.core.Keyword(null,"candidate","candidate",1522567413),new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(field),new cljs.core.Keyword(null,"package","package",4501809080),new cljs.core.Keyword(null,"package","package",4501809080).cljs$core$IFn$_invoke$arity$1(candidate),new cljs.core.Keyword(null,"file","file",1017047278),new cljs.core.Keyword(null,"file","file",1017047278).cljs$core$IFn$_invoke$arity$1(candidate),new cljs.core.Keyword(null,"doc","doc",1014003882),new cljs.core.Keyword(null,"signatureRaw","signatureRaw",3837738946).cljs$core$IFn$_invoke$arity$1(field),new cljs.core.Keyword(null,"location","location",2914947879),new cljs.core.Keyword(null,"location","location",2914947879).cljs$core$IFn$_invoke$arity$1(field),new cljs.core.Keyword(null,"module-name","module-name",4067691710),new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(candidate)], null);
});})(adtParam,adtCandidate,get_field_def,adtType,adtPattern,fst_destruct_variable))
,new cljs.core.Keyword(null,"fieldDefs","fieldDefs",2278619290).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,new cljs.core.Keyword(null,"params","params",4313443576).cljs$core$IFn$_invoke$arity$1(adtType))))):null));
})():null));
});
lt.plugins.elm_light.elm_ast.get_candidate_by_token_loc_aware = (function get_candidate_by_token_loc_aware(token,pos,module,modules){var jump_to_candidates = lt.plugins.elm_light.elm_ast.get_jump_to_candidates.call(null,module,modules);var decl = lt.plugins.elm_light.elm_ast.find_top_level_declaration_by_pos.call(null,pos,module);if(cljs.core.truth_((function (){var and__4872__auto__ = cljs.core._EQ_.call(null,"nameDef",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(decl));if(and__4872__auto__)
{return new cljs.core.Keyword(null,"signature","signature",2087488554).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"annotation","annotation",3753828001).cljs$core$IFn$_invoke$arity$1(decl));
} else
{return and__4872__auto__;
}
})()))
{return ((function (jump_to_candidates,decl){
return (function (x){var or__4884__auto__ = x;if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return lt.plugins.elm_light.elm_ast.get_candidate_by_token.call(null,token,module,modules);
}
});})(jump_to_candidates,decl))
.call(null,cljs.core.first.call(null,cljs.core.filter.call(null,((function (jump_to_candidates,decl){
return (function (p1__22745_SHARP_){return cljs.core._EQ_.call(null,token,new cljs.core.Keyword(null,"candidate","candidate",1522567413).cljs$core$IFn$_invoke$arity$1(p1__22745_SHARP_));
});})(jump_to_candidates,decl))
,cljs.core.mapcat.call(null,((function (jump_to_candidates,decl){
return (function (param,p__22748){var map__22749 = p__22748;var map__22749__$1 = ((cljs.core.seq_QMARK_.call(null,map__22749))?cljs.core.apply.call(null,cljs.core.hash_map,map__22749):map__22749);var ann = map__22749__$1;var candidate = cljs.core.get.call(null,map__22749__$1,new cljs.core.Keyword(null,"candidate","candidate",1522567413));if((cljs.core._EQ_.call(null,"variable",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(param))) && (cljs.core._EQ_.call(null,"typeAliasDecl",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(candidate))))
{return lt.plugins.elm_light.elm_ast.create_typealias_rec_candidates.call(null,param,candidate);
} else
{if((cljs.core._EQ_.call(null,"variable",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(param))) && (cljs.core._EQ_.call(null,"typeDecl",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(candidate))))
{return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [lt.plugins.elm_light.elm_ast.create_param_candidate.call(null,param,candidate)], null);
} else
{if((cljs.core._EQ_.call(null,"patternRec",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(param))) && (cljs.core._EQ_.call(null,"typeAliasDecl",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(candidate))))
{return lt.plugins.elm_light.elm_ast.create_destructured_type_alias_candidates.call(null,param,candidate);
} else
{if((cljs.core._EQ_.call(null,"patternBracket",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(param))) && (cljs.core._EQ_.call(null,"typeAliasDecl",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(candidate))))
{return lt.plugins.elm_light.elm_ast.create_bracketed_type_alias_candidates.call(null,param,candidate);
} else
{if((cljs.core._EQ_.call(null,"patternBracket",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(param))) && (cljs.core._EQ_.call(null,"typeDecl",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(candidate))) && (cljs.core._EQ_.call(null,1,cljs.core.count.call(null,new cljs.core.Keyword(null,"adtDefs","adtDefs",4174585041).cljs$core$IFn$_invoke$arity$1(candidate)))) && (!(lt.plugins.elm_light.elm_ast.in_range_QMARK_.call(null,pos,new cljs.core.Keyword(null,"annotation","annotation",3753828001).cljs$core$IFn$_invoke$arity$1(decl)))))
{return lt.plugins.elm_light.elm_ast.create_bracketed_adt_candidates.call(null,param,candidate,module,modules);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return cljs.core.PersistentVector.EMPTY;
} else
{return null;
}
}
}
}
}
}
});})(jump_to_candidates,decl))
,new cljs.core.Keyword(null,"patterns","patterns",2259909205).cljs$core$IFn$_invoke$arity$1(decl),new cljs.core.Keyword(null,"signature","signature",2087488554).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"annotation","annotation",3753828001).cljs$core$IFn$_invoke$arity$1(lt.plugins.elm_light.elm_ast.enrich_top_level_declaration.call(null,decl,jump_to_candidates)))))));
} else
{return lt.plugins.elm_light.elm_ast.get_candidate_by_token.call(null,token,module,modules);
}
});
lt.plugins.elm_light.elm_ast.__GT_pos = (function __GT_pos(ast_pos){return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"line","line",1017226086),(new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(ast_pos) - 1),new cljs.core.Keyword(null,"ch","ch",1013907415),(new cljs.core.Keyword(null,"column","column",3954034376).cljs$core$IFn$_invoke$arity$1(ast_pos) - 1)], null);
});
lt.plugins.elm_light.elm_ast.__GT_range = (function __GT_range(location){return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"start","start",1123661780),lt.plugins.elm_light.elm_ast.__GT_pos.call(null,new cljs.core.Keyword(null,"start","start",1123661780).cljs$core$IFn$_invoke$arity$1(location)),new cljs.core.Keyword(null,"end","end",1014004813),lt.plugins.elm_light.elm_ast.__GT_pos.call(null,new cljs.core.Keyword(null,"end","end",1014004813).cljs$core$IFn$_invoke$arity$1(location))], null);
});
lt.plugins.elm_light.elm_ast.in_range_QMARK_ = (function in_range_QMARK_(p__22750,decl){var map__22753 = p__22750;var map__22753__$1 = ((cljs.core.seq_QMARK_.call(null,map__22753))?cljs.core.apply.call(null,cljs.core.hash_map,map__22753):map__22753);var line = cljs.core.get.call(null,map__22753__$1,new cljs.core.Keyword(null,"line","line",1017226086));var ch = cljs.core.get.call(null,map__22753__$1,new cljs.core.Keyword(null,"ch","ch",1013907415));var map__22754 = lt.plugins.elm_light.elm_ast.__GT_range.call(null,new cljs.core.Keyword(null,"location","location",2914947879).cljs$core$IFn$_invoke$arity$1(decl));var map__22754__$1 = ((cljs.core.seq_QMARK_.call(null,map__22754))?cljs.core.apply.call(null,cljs.core.hash_map,map__22754):map__22754);var end = cljs.core.get.call(null,map__22754__$1,new cljs.core.Keyword(null,"end","end",1014004813));var start = cljs.core.get.call(null,map__22754__$1,new cljs.core.Keyword(null,"start","start",1123661780));if(((line < new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(start))) || ((line > new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(end))))
{return false;
} else
{if(((cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(start),line)) && ((ch < new cljs.core.Keyword(null,"ch","ch",1013907415).cljs$core$IFn$_invoke$arity$1(start)))) || ((cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(end),line)) && ((ch > new cljs.core.Keyword(null,"ch","ch",1013907415).cljs$core$IFn$_invoke$arity$1(end)))))
{return false;
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return true;
} else
{return null;
}
}
}
});
lt.plugins.elm_light.elm_ast.find_top_level_declaration_by_pos = (function() {
var find_top_level_declaration_by_pos = null;
var find_top_level_declaration_by_pos__2 = (function (pos,module){return cljs.core.first.call(null,cljs.core.filter.call(null,(function (p1__22755_SHARP_){return lt.plugins.elm_light.elm_ast.in_range_QMARK_.call(null,pos,p1__22755_SHARP_);
}),new cljs.core.Keyword(null,"declarations","declarations",2554736043).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(module))));
});
var find_top_level_declaration_by_pos__3 = (function (pos,project_dir,module_file){return find_top_level_declaration_by_pos.call(null,pos,lt.plugins.elm_light.elm_ast.get_module_ast.call(null,project_dir,module_file));
});
find_top_level_declaration_by_pos = function(pos,project_dir,module_file){
switch(arguments.length){
case 2:
return find_top_level_declaration_by_pos__2.call(this,pos,project_dir);
case 3:
return find_top_level_declaration_by_pos__3.call(this,pos,project_dir,module_file);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
find_top_level_declaration_by_pos.cljs$core$IFn$_invoke$arity$2 = find_top_level_declaration_by_pos__2;
find_top_level_declaration_by_pos.cljs$core$IFn$_invoke$arity$3 = find_top_level_declaration_by_pos__3;
return find_top_level_declaration_by_pos;
})()
;
lt.plugins.elm_light.elm_ast.find_import_by_pos = (function() {
var find_import_by_pos = null;
var find_import_by_pos__2 = (function (pos,module){return cljs.core.first.call(null,cljs.core.filter.call(null,(function (p1__22756_SHARP_){return lt.plugins.elm_light.elm_ast.in_range_QMARK_.call(null,pos,p1__22756_SHARP_);
}),new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(module)))));
});
var find_import_by_pos__3 = (function (pos,project_dir,module_file){return find_import_by_pos.call(null,pos,lt.plugins.elm_light.elm_ast.get_module_ast.call(null,project_dir,module_file));
});
find_import_by_pos = function(pos,project_dir,module_file){
switch(arguments.length){
case 2:
return find_import_by_pos__2.call(this,pos,project_dir);
case 3:
return find_import_by_pos__3.call(this,pos,project_dir,module_file);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
find_import_by_pos.cljs$core$IFn$_invoke$arity$2 = find_import_by_pos__2;
find_import_by_pos.cljs$core$IFn$_invoke$arity$3 = find_import_by_pos__3;
return find_import_by_pos;
})()
;
/**
* For annotated definitions it tries to add extended information
* about types for each parameter (ie union types and type aliases)
*/
lt.plugins.elm_light.elm_ast.enrich_top_level_declaration = (function enrich_top_level_declaration(decl,jump_to_candidates){var get_cand = (function (token){return cljs.core.first.call(null,cljs.core.filter.call(null,(function (p1__22757_SHARP_){return cljs.core.contains_QMARK_.call(null,new cljs.core.Keyword(null,"candidate-tokens","candidate-tokens",3775833238).cljs$core$IFn$_invoke$arity$1(p1__22757_SHARP_),token);
}),jump_to_candidates));
});return cljs.core.update_in.call(null,decl,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"annotation","annotation",3753828001),new cljs.core.Keyword(null,"signature","signature",2087488554)], null),((function (get_cand){
return (function (items){return cljs.core.map.call(null,((function (get_cand){
return (function (item){if(cljs.core._EQ_.call(null,"typeAdt",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(item)))
{return cljs.core.assoc.call(null,item,new cljs.core.Keyword(null,"candidate","candidate",1522567413),get_cand.call(null,new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(item)));
} else
{return item;
}
});})(get_cand))
,items);
});})(get_cand))
);
});
lt.plugins.elm_light.elm_ast.get_jump_to_definition = (function get_jump_to_definition(token,pos,module_file,project_file){var temp__4092__auto__ = lt.plugins.elm_light.elm_ast.get_module_ast.call(null,project_file,module_file);if(cljs.core.truth_(temp__4092__auto__))
{var module = temp__4092__auto__;return lt.plugins.elm_light.elm_ast.get_candidate_by_token_loc_aware.call(null,token,pos,module,new cljs.core.Keyword(null,"file-asts","file-asts",3945857876).cljs$core$IFn$_invoke$arity$1(lt.plugins.elm_light.elm_ast.get_project.call(null,project_file)));
} else
{return null;
}
});
lt.plugins.elm_light.elm_ast.to_hint = (function to_hint(curr_module_name,candidate){return cljs.core.map.call(null,(function (c_tok){return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"type","type",1017479852),new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(candidate),new cljs.core.Keyword(null,"candidate","candidate",1522567413),c_tok,new cljs.core.Keyword(null,"module-name","module-name",4067691710),((cljs.core.not_EQ_.call(null,curr_module_name,new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(candidate)))?new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(candidate):null),new cljs.core.Keyword(null,"signature","signature",2087488554),new cljs.core.Keyword(null,"signatureRawSansName","signatureRawSansName",3062006176).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"annotation","annotation",3753828001).cljs$core$IFn$_invoke$arity$1(candidate))], null);
}),new cljs.core.Keyword(null,"candidate-tokens","candidate-tokens",3775833238).cljs$core$IFn$_invoke$arity$1(candidate));
});
lt.plugins.elm_light.elm_ast.dot_ex = RegExp("\\.","g");
lt.plugins.elm_light.elm_ast.compare_dots = (function compare_dots(a,b){var num_dots = (function (p1__22758_SHARP_){return cljs.core.count.call(null,p1__22758_SHARP_.match(lt.plugins.elm_light.elm_ast.dot_ex));
});return cljs.core.compare.call(null,num_dots.call(null,a),num_dots.call(null,b));
});
lt.plugins.elm_light.elm_ast.declaration_param_hint_items = (function declaration_param_hint_items(pos,module,jump_to_candidates){var decl = lt.plugins.elm_light.elm_ast.find_top_level_declaration_by_pos.call(null,pos,module);var m_name = ((function (decl){
return (function (p1__22759_SHARP_){if(cljs.core._EQ_.call(null,lt.plugins.elm_light.elm_ast.get_module_name.call(null,module),new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(p1__22759_SHARP_)))
{return null;
} else
{return [cljs.core.str("("),cljs.core.str(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__22759_SHARP_)),cljs.core.str(") "),cljs.core.str(new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(p1__22759_SHARP_))].join('');
}
});})(decl))
;var get_jump_to_by_token = ((function (decl,m_name){
return (function (tok){return cljs.core.first.call(null,cljs.core.filter.call(null,((function (decl,m_name){
return (function (p1__22760_SHARP_){return cljs.core.contains_QMARK_.call(null,new cljs.core.Keyword(null,"candidate-tokens","candidate-tokens",3775833238).cljs$core$IFn$_invoke$arity$1(p1__22760_SHARP_),tok);
});})(decl,m_name))
,jump_to_candidates));
});})(decl,m_name))
;var mod_name = ((cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(lt.plugins.elm_light.elm_ast._PERCENT_),lt.plugins.elm_light.elm_ast.get_module_name.call(null,module)))?null:[cljs.core.str("("),cljs.core.str(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(lt.plugins.elm_light.elm_ast._PERCENT_)),cljs.core.str(") "),cljs.core.str(new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(lt.plugins.elm_light.elm_ast._PERCENT_))].join(''));if(cljs.core.truth_((function (){var and__4872__auto__ = cljs.core._EQ_.call(null,"nameDef",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(decl));if(and__4872__auto__)
{return new cljs.core.Keyword(null,"signature","signature",2087488554).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"annotation","annotation",3753828001).cljs$core$IFn$_invoke$arity$1(decl));
} else
{return and__4872__auto__;
}
})()))
{return cljs.core.mapcat.call(null,((function (decl,m_name,get_jump_to_by_token,mod_name){
return (function (param,p__22776){var map__22777 = p__22776;var map__22777__$1 = ((cljs.core.seq_QMARK_.call(null,map__22777))?cljs.core.apply.call(null,cljs.core.hash_map,map__22777):map__22777);var ann = map__22777__$1;var candidate = cljs.core.get.call(null,map__22777__$1,new cljs.core.Keyword(null,"candidate","candidate",1522567413));if((cljs.core._EQ_.call(null,"variable",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(param))) && (cljs.core._EQ_.call(null,"typeRec",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(ann))))
{return cljs.core.cons.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"candidate","candidate",1522567413),new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(param)], null),cljs.core.map.call(null,((function (map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name){
return (function (p1__22761_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413)],[[cljs.core.str(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(param)),cljs.core.str("."),cljs.core.str(new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(p1__22761_SHARP_))].join('')]);
});})(map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name))
,new cljs.core.Keyword(null,"fieldDefs","fieldDefs",2278619290).cljs$core$IFn$_invoke$arity$1(ann)));
} else
{if((cljs.core._EQ_.call(null,"patternRec",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(param))) && (cljs.core._EQ_.call(null,"typeRec",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(ann))))
{return cljs.core.map.call(null,((function (map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name){
return (function (p1__22762_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413)],[new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__22762_SHARP_)]);
});})(map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name))
,new cljs.core.Keyword(null,"patterns","patterns",2259909205).cljs$core$IFn$_invoke$arity$1(param));
} else
{if((cljs.core._EQ_.call(null,"patternBracket",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(param))) && (cljs.core._EQ_.call(null,"typeRec",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(ann))))
{return cljs.core.concat.call(null,(function (){var temp__4092__auto__ = new cljs.core.Keyword(null,"alias","alias",1106807234).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"pattern","pattern",4517781250).cljs$core$IFn$_invoke$arity$1(param));if(cljs.core.truth_(temp__4092__auto__))
{var aliaz = temp__4092__auto__;return cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"candidate","candidate",1522567413),aliaz], null)], null),cljs.core.map.call(null,((function (aliaz,temp__4092__auto__,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name){
return (function (p1__22763_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413)],[[cljs.core.str(aliaz),cljs.core.str("."),cljs.core.str(new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(p1__22763_SHARP_))].join('')]);
});})(aliaz,temp__4092__auto__,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name))
,new cljs.core.Keyword(null,"fieldDefs","fieldDefs",2278619290).cljs$core$IFn$_invoke$arity$1(ann)));
} else
{return null;
}
})(),cljs.core.map.call(null,((function (map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name){
return (function (p1__22764_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413)],[new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__22764_SHARP_)]);
});})(map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name))
,new cljs.core.Keyword(null,"patterns","patterns",2259909205).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"pattern","pattern",4517781250).cljs$core$IFn$_invoke$arity$1(param)))));
} else
{if((cljs.core._EQ_.call(null,"variable",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(param))) && (cljs.core._EQ_.call(null,"typeAliasDecl",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(candidate))))
{return cljs.core.cons.call(null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"candidate","candidate",1522567413),new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(param),new cljs.core.Keyword(null,"module-name","module-name",4067691710),mod_name.call(null,candidate)], null),cljs.core.map.call(null,((function (map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name){
return (function (p1__22765_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413),new cljs.core.Keyword(null,"module-name","module-name",4067691710)],[[cljs.core.str(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(param)),cljs.core.str("."),cljs.core.str(new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(p1__22765_SHARP_))].join(''),mod_name.call(null,candidate)]);
});})(map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name))
,new cljs.core.Keyword(null,"fieldDefs","fieldDefs",2278619290).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"tipe","tipe",1017464476).cljs$core$IFn$_invoke$arity$1(candidate))));
} else
{if((cljs.core._EQ_.call(null,"patternRec",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(param))) && (cljs.core._EQ_.call(null,"typeAliasDecl",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(candidate))))
{return cljs.core.map.call(null,((function (map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name){
return (function (pattern){return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"candidate","candidate",1522567413),new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(pattern),new cljs.core.Keyword(null,"module-name","module-name",4067691710),mod_name.call(null,candidate)], null);
});})(map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name))
,new cljs.core.Keyword(null,"patterns","patterns",2259909205).cljs$core$IFn$_invoke$arity$1(param));
} else
{if((cljs.core._EQ_.call(null,"patternBracket",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(param))) && (cljs.core._EQ_.call(null,"typeAliasDecl",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(candidate))))
{var aliaz = new cljs.core.Keyword(null,"alias","alias",1106807234).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"pattern","pattern",4517781250).cljs$core$IFn$_invoke$arity$1(param));return cljs.core.concat.call(null,(cljs.core.truth_(aliaz)?cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"candidate","candidate",1522567413),aliaz,new cljs.core.Keyword(null,"module-name","module-name",4067691710),mod_name.call(null,candidate)], null)], null),cljs.core.map.call(null,((function (aliaz,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name){
return (function (p1__22766_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413),new cljs.core.Keyword(null,"module-name","module-name",4067691710)],[[cljs.core.str(aliaz),cljs.core.str("."),cljs.core.str(new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(p1__22766_SHARP_))].join(''),mod_name.call(null,candidate)]);
});})(aliaz,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name))
,new cljs.core.Keyword(null,"fieldDefs","fieldDefs",2278619290).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"tipe","tipe",1017464476).cljs$core$IFn$_invoke$arity$1(candidate)))):null),cljs.core.map.call(null,((function (aliaz,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name){
return (function (p1__22767_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413),new cljs.core.Keyword(null,"module-name","module-name",4067691710)],[new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__22767_SHARP_),mod_name.call(null,candidate)]);
});})(aliaz,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name))
,new cljs.core.Keyword(null,"patterns","patterns",2259909205).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"pattern","pattern",4517781250).cljs$core$IFn$_invoke$arity$1(param)))));
} else
{if((cljs.core._EQ_.call(null,"patternBracket",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(param))) && (cljs.core._EQ_.call(null,"typeDecl",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(candidate))) && (cljs.core._EQ_.call(null,1,cljs.core.count.call(null,new cljs.core.Keyword(null,"adtDefs","adtDefs",4174585041).cljs$core$IFn$_invoke$arity$1(candidate)))) && (!(lt.plugins.elm_light.elm_ast.in_range_QMARK_.call(null,pos,new cljs.core.Keyword(null,"annotation","annotation",3753828001).cljs$core$IFn$_invoke$arity$1(decl)))))
{var pattern_param = cljs.core.first.call(null,new cljs.core.Keyword(null,"variables","variables",931426537).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"pattern","pattern",4517781250).cljs$core$IFn$_invoke$arity$1(param))));var adtType = cljs.core.first.call(null,new cljs.core.Keyword(null,"adtDefs","adtDefs",4174585041).cljs$core$IFn$_invoke$arity$1(candidate));var adtPattern = new cljs.core.Keyword(null,"pattern","pattern",4517781250).cljs$core$IFn$_invoke$arity$1(param);var adtParam = cljs.core.first.call(null,new cljs.core.Keyword(null,"params","params",4313443576).cljs$core$IFn$_invoke$arity$1(adtType));var adtCandidate = get_jump_to_by_token.call(null,new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(adtParam));return cljs.core.concat.call(null,(function (){var temp__4092__auto__ = new cljs.core.Keyword(null,"alias","alias",1106807234).cljs$core$IFn$_invoke$arity$1(adtPattern);if(cljs.core.truth_(temp__4092__auto__))
{var aliaz = temp__4092__auto__;return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"candidate","candidate",1522567413),aliaz,new cljs.core.Keyword(null,"module-name","module-name",4067691710),mod_name.call(null,candidate)], null)], null);
} else
{return null;
}
})(),(((cljs.core._EQ_.call(null,"variable",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(pattern_param))) && ((new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(adtCandidate) == null)))?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"candidate","candidate",1522567413),new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(pattern_param)], null)], null):null),(((cljs.core._EQ_.call(null,"variable",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(pattern_param))) && (cljs.core._EQ_.call(null,"typeRec",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(adtParam))))?cljs.core.map.call(null,((function (pattern_param,adtType,adtPattern,adtParam,adtCandidate,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name){
return (function (p1__22768_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413),new cljs.core.Keyword(null,"module-name","module-name",4067691710)],[[cljs.core.str(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(pattern_param)),cljs.core.str("."),cljs.core.str(new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(p1__22768_SHARP_))].join(''),mod_name.call(null,candidate)]);
});})(pattern_param,adtType,adtPattern,adtParam,adtCandidate,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name))
,new cljs.core.Keyword(null,"fieldDefs","fieldDefs",2278619290).cljs$core$IFn$_invoke$arity$1(adtParam)):null),(((cljs.core._EQ_.call(null,"variable",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(pattern_param))) && (cljs.core._EQ_.call(null,"typeAliasDecl",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(adtCandidate))))?cljs.core.map.call(null,((function (pattern_param,adtType,adtPattern,adtParam,adtCandidate,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name){
return (function (p1__22769_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413),new cljs.core.Keyword(null,"module-name","module-name",4067691710)],[[cljs.core.str(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(pattern_param)),cljs.core.str("."),cljs.core.str(new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(p1__22769_SHARP_))].join(''),mod_name.call(null,candidate)]);
});})(pattern_param,adtType,adtPattern,adtParam,adtCandidate,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name))
,new cljs.core.Keyword(null,"fieldDefs","fieldDefs",2278619290).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"tipe","tipe",1017464476).cljs$core$IFn$_invoke$arity$1(adtCandidate))):null),((cljs.core._EQ_.call(null,"patternRec",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(pattern_param)))?cljs.core.map.call(null,((function (pattern_param,adtType,adtPattern,adtParam,adtCandidate,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name){
return (function (p1__22770_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413),new cljs.core.Keyword(null,"module-name","module-name",4067691710)],[new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__22770_SHARP_),mod_name.call(null,candidate)]);
});})(pattern_param,adtType,adtPattern,adtParam,adtCandidate,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name))
,new cljs.core.Keyword(null,"patterns","patterns",2259909205).cljs$core$IFn$_invoke$arity$1(pattern_param)):null),((cljs.core._EQ_.call(null,"patternBracket",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(pattern_param)))?((cljs.core._EQ_.call(null,"patternRec",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"pattern","pattern",4517781250).cljs$core$IFn$_invoke$arity$1(pattern_param)))))?cljs.core.concat.call(null,(function (){var temp__4092__auto__ = new cljs.core.Keyword(null,"alias","alias",1106807234).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"pattern","pattern",4517781250).cljs$core$IFn$_invoke$arity$1(pattern_param));if(cljs.core.truth_(temp__4092__auto__))
{var aliaz = temp__4092__auto__;return cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"candidate","candidate",1522567413),aliaz,new cljs.core.Keyword(null,"module-name","module-name",4067691710),(cljs.core.truth_(adtCandidate)?mod_name.call(null,adtCandidate):null)], null)], null),(cljs.core.truth_(adtCandidate)?cljs.core.map.call(null,((function (aliaz,temp__4092__auto__,pattern_param,adtType,adtPattern,adtParam,adtCandidate,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name){
return (function (p1__22771_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413),new cljs.core.Keyword(null,"module-name","module-name",4067691710)],[[cljs.core.str(aliaz),cljs.core.str("."),cljs.core.str(new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(p1__22771_SHARP_))].join(''),mod_name.call(null,adtCandidate)]);
});})(aliaz,temp__4092__auto__,pattern_param,adtType,adtPattern,adtParam,adtCandidate,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name))
,new cljs.core.Keyword(null,"fieldDefs","fieldDefs",2278619290).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"tipe","tipe",1017464476).cljs$core$IFn$_invoke$arity$1(adtCandidate))):null),((cljs.core._EQ_.call(null,"typeRec",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(adtParam)))?cljs.core.map.call(null,((function (aliaz,temp__4092__auto__,pattern_param,adtType,adtPattern,adtParam,adtCandidate,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name){
return (function (p1__22772_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413),new cljs.core.Keyword(null,"module-name","module-name",4067691710)],[[cljs.core.str(aliaz),cljs.core.str("."),cljs.core.str(new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(p1__22772_SHARP_))].join(''),mod_name.call(null,candidate)]);
});})(aliaz,temp__4092__auto__,pattern_param,adtType,adtPattern,adtParam,adtCandidate,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name))
,new cljs.core.Keyword(null,"fieldDefs","fieldDefs",2278619290).cljs$core$IFn$_invoke$arity$1(adtParam)):null));
} else
{return null;
}
})(),cljs.core.map.call(null,((function (pattern_param,adtType,adtPattern,adtParam,adtCandidate,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name){
return (function (p1__22773_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413)],[new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__22773_SHARP_)]);
});})(pattern_param,adtType,adtPattern,adtParam,adtCandidate,map__22777,map__22777__$1,ann,candidate,decl,m_name,get_jump_to_by_token,mod_name))
,new cljs.core.Keyword(null,"patterns","patterns",2259909205).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"pattern","pattern",4517781250).cljs$core$IFn$_invoke$arity$1(pattern_param))))):null):null));
} else
{if(cljs.core._EQ_.call(null,"variable",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(param)))
{return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"candidate","candidate",1522567413),new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(param),new cljs.core.Keyword(null,"module-name","module-name",4067691710),m_name.call(null,candidate)], null)], null);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return cljs.core.PersistentVector.EMPTY;
} else
{return null;
}
}
}
}
}
}
}
}
}
});})(decl,m_name,get_jump_to_by_token,mod_name))
,new cljs.core.Keyword(null,"patterns","patterns",2259909205).cljs$core$IFn$_invoke$arity$1(decl),new cljs.core.Keyword(null,"signature","signature",2087488554).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"annotation","annotation",3753828001).cljs$core$IFn$_invoke$arity$1(lt.plugins.elm_light.elm_ast.enrich_top_level_declaration.call(null,decl,jump_to_candidates))));
} else
{return cljs.core.PersistentVector.EMPTY;
}
});
lt.plugins.elm_light.elm_ast.declarations_hints = (function declarations_hints(p__22780,module,modules){var map__22782 = p__22780;var map__22782__$1 = ((cljs.core.seq_QMARK_.call(null,map__22782))?cljs.core.apply.call(null,cljs.core.hash_map,map__22782):map__22782);var pos = cljs.core.get.call(null,map__22782__$1,new cljs.core.Keyword(null,"pos","pos",1014015430));var token = cljs.core.get.call(null,map__22782__$1,new cljs.core.Keyword(null,"token","token",1124445547));var jump_to_candidates = lt.plugins.elm_light.elm_ast.get_jump_to_candidates.call(null,module,modules);return cljs.core.sort.call(null,((function (jump_to_candidates,map__22782,map__22782__$1,pos,token){
return (function (a,b){var mod_sort = lt.plugins.elm_light.elm_ast.compare_dots.call(null,new cljs.core.Keyword(null,"candidate","candidate",1522567413).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,"candidate","candidate",1522567413).cljs$core$IFn$_invoke$arity$1(b));if(cljs.core._EQ_.call(null,0,mod_sort))
{return new cljs.core.Keyword(null,"candidate","candidate",1522567413).cljs$core$IFn$_invoke$arity$1(a).localeCompare(new cljs.core.Keyword(null,"candidate","candidate",1522567413).cljs$core$IFn$_invoke$arity$1(b));
} else
{return mod_sort;
}
});})(jump_to_candidates,map__22782,map__22782__$1,pos,token))
,cljs.core.filter.call(null,((function (jump_to_candidates,map__22782,map__22782__$1,pos,token){
return (function (p1__22779_SHARP_){return cljs.core._EQ_.call(null,0,new cljs.core.Keyword(null,"candidate","candidate",1522567413).cljs$core$IFn$_invoke$arity$1(p1__22779_SHARP_).indexOf(token));
});})(jump_to_candidates,map__22782,map__22782__$1,pos,token))
,cljs.core.concat.call(null,lt.plugins.elm_light.elm_ast.declaration_param_hint_items.call(null,pos,module,jump_to_candidates),cljs.core.mapcat.call(null,cljs.core.partial.call(null,lt.plugins.elm_light.elm_ast.to_hint,lt.plugins.elm_light.elm_ast.get_module_name.call(null,module)),cljs.core.filter.call(null,((function (jump_to_candidates,map__22782,map__22782__$1,pos,token){
return (function (decl){return cljs.core.some.call(null,((function (jump_to_candidates,map__22782,map__22782__$1,pos,token){
return (function (p1__22778_SHARP_){return cljs.core._EQ_.call(null,0,p1__22778_SHARP_.indexOf(token));
});})(jump_to_candidates,map__22782,map__22782__$1,pos,token))
,new cljs.core.Keyword(null,"candidate-tokens","candidate-tokens",3775833238).cljs$core$IFn$_invoke$arity$1(decl));
});})(jump_to_candidates,map__22782,map__22782__$1,pos,token))
,jump_to_candidates)))));
});
lt.plugins.elm_light.elm_ast.import_hints = (function import_hints(p__22789,imp,mod_header,modules){var map__22791 = p__22789;var map__22791__$1 = ((cljs.core.seq_QMARK_.call(null,map__22791))?cljs.core.apply.call(null,cljs.core.hash_map,map__22791):map__22791);var pos = cljs.core.get.call(null,map__22791__$1,new cljs.core.Keyword(null,"pos","pos",1014015430));var token = cljs.core.get.call(null,map__22791__$1,new cljs.core.Keyword(null,"token","token",1124445547));var curr_exports = cljs.core.set.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"value","value",1125876963),new cljs.core.Keyword(null,"exports","exports",3999815345).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"exports","exports",3999815345).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"exposing","exposing",3382854387).cljs$core$IFn$_invoke$arity$1(imp)))));var existing_import_names = cljs.core.set.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"value","value",1125876963),new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(mod_header)))));if((cljs.core.not.call(null,new cljs.core.Keyword(null,"alias","alias",1106807234).cljs$core$IFn$_invoke$arity$1(imp))) && (cljs.core.not.call(null,cljs.core.seq.call(null,new cljs.core.Keyword(null,"exports","exports",3999815345).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"exposing","exposing",3382854387).cljs$core$IFn$_invoke$arity$1(imp))))))
{return cljs.core.sort_by.call(null,new cljs.core.Keyword(null,"candidate","candidate",1522567413),cljs.core.map.call(null,((function (curr_exports,existing_import_names,map__22791,map__22791__$1,pos,token){
return (function (p1__22785_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413)],[new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__22785_SHARP_)]);
});})(curr_exports,existing_import_names,map__22791,map__22791__$1,pos,token))
,cljs.core.filter.call(null,((function (curr_exports,existing_import_names,map__22791,map__22791__$1,pos,token){
return (function (p1__22784_SHARP_){return (cljs.core._EQ_.call(null,0,new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__22784_SHARP_).indexOf(token))) && (!(cljs.core._EQ_.call(null,lt.plugins.elm_light.elm_ast.get_module_name.call(null,mod_header),new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__22784_SHARP_)))) && (!(cljs.core.contains_QMARK_.call(null,existing_import_names,new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__22784_SHARP_))));
});})(curr_exports,existing_import_names,map__22791,map__22791__$1,pos,token))
,cljs.core.filter.call(null,cljs.core.identity,cljs.core.map.call(null,((function (curr_exports,existing_import_names,map__22791,map__22791__$1,pos,token){
return (function (p1__22783_SHARP_){return new cljs.core.Keyword(null,"moduleDeclaration","moduleDeclaration",1240624864).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(p1__22783_SHARP_));
});})(curr_exports,existing_import_names,map__22791,map__22791__$1,pos,token))
,modules)))));
} else
{if((cljs.core.seq.call(null,new cljs.core.Keyword(null,"exports","exports",3999815345).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"exposing","exposing",3382854387).cljs$core$IFn$_invoke$arity$1(imp)))) && (lt.plugins.elm_light.elm_ast.in_range_QMARK_.call(null,pos,new cljs.core.Keyword(null,"exports","exports",3999815345).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"exposing","exposing",3382854387).cljs$core$IFn$_invoke$arity$1(imp)))))
{return cljs.core.map.call(null,((function (curr_exports,existing_import_names,map__22791,map__22791__$1,pos,token){
return (function (p1__22788_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413)],[p1__22788_SHARP_]);
});})(curr_exports,existing_import_names,map__22791,map__22791__$1,pos,token))
,cljs.core.sort.call(null,cljs.core.filter.call(null,((function (curr_exports,existing_import_names,map__22791,map__22791__$1,pos,token){
return (function (p1__22787_SHARP_){return (cljs.core._EQ_.call(null,0,p1__22787_SHARP_.indexOf(token))) && ((cljs.core._EQ_.call(null,token,p1__22787_SHARP_)) || (!(cljs.core.contains_QMARK_.call(null,curr_exports,p1__22787_SHARP_))));
});})(curr_exports,existing_import_names,map__22791,map__22791__$1,pos,token))
,cljs.core.map.call(null,new cljs.core.Keyword(null,"value","value",1125876963),lt.plugins.elm_light.elm_ast.get_exposed_declarations.call(null,cljs.core.first.call(null,cljs.core.filter.call(null,((function (curr_exports,existing_import_names,map__22791,map__22791__$1,pos,token){
return (function (p1__22786_SHARP_){return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(imp),new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"moduleDeclaration","moduleDeclaration",1240624864).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(p1__22786_SHARP_))));
});})(curr_exports,existing_import_names,map__22791,map__22791__$1,pos,token))
,modules)))))));
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return cljs.core.PersistentVector.EMPTY;
} else
{return null;
}
}
}
});
/**
* Provides hints when cursor inside exposing parens.
* Pls note that mod-header is the latest and greatest (if current editor content parses ok)
*/
lt.plugins.elm_light.elm_ast.module_header_hints = (function module_header_hints(p__22794,mod_header,module){var map__22796 = p__22794;var map__22796__$1 = ((cljs.core.seq_QMARK_.call(null,map__22796))?cljs.core.apply.call(null,cljs.core.hash_map,map__22796):map__22796);var pos = cljs.core.get.call(null,map__22796__$1,new cljs.core.Keyword(null,"pos","pos",1014015430));var token = cljs.core.get.call(null,map__22796__$1,new cljs.core.Keyword(null,"token","token",1124445547));var exposing = new cljs.core.Keyword(null,"exposing","exposing",3382854387).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"moduleDeclaration","moduleDeclaration",1240624864).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(mod_header)));var exports_container = new cljs.core.Keyword(null,"exports","exports",3999815345).cljs$core$IFn$_invoke$arity$1(exposing);var curr_exports = cljs.core.set.call(null,lt.plugins.elm_light.elm_ast.extract_exports.call(null,exposing));var decls = new cljs.core.Keyword(null,"declarations","declarations",2554736043).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(module));if(lt.plugins.elm_light.elm_ast.in_range_QMARK_.call(null,pos,exports_container))
{return cljs.core.map.call(null,((function (exposing,exports_container,curr_exports,decls,map__22796,map__22796__$1,pos,token){
return (function (p1__22793_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413)],[p1__22793_SHARP_]);
});})(exposing,exports_container,curr_exports,decls,map__22796,map__22796__$1,pos,token))
,cljs.core.sort.call(null,cljs.core.filter.call(null,((function (exposing,exports_container,curr_exports,decls,map__22796,map__22796__$1,pos,token){
return (function (p1__22792_SHARP_){return (cljs.core._EQ_.call(null,0,p1__22792_SHARP_.indexOf(token))) && (!(cljs.core.contains_QMARK_.call(null,curr_exports,p1__22792_SHARP_)));
});})(exposing,exports_container,curr_exports,decls,map__22796,map__22796__$1,pos,token))
,cljs.core.map.call(null,new cljs.core.Keyword(null,"value","value",1125876963),decls))));
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return cljs.core.PersistentVector.EMPTY;
} else
{return null;
}
}
});
lt.plugins.elm_light.elm_ast.reserved_words_hints = (function reserved_words_hints(token){return cljs.core.map.call(null,(function (p1__22798_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"candidate","candidate",1522567413)],[p1__22798_SHARP_]);
}),cljs.core.sort.call(null,cljs.core.filter.call(null,(function (p1__22797_SHARP_){return cljs.core._EQ_.call(null,0,p1__22797_SHARP_.indexOf(token));
}),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, ["import","type","type alias","type","port"], null))));
});
/**
* Return hints for a given module file and project.
* The context parameter provides additional info to filter results
* and to help make the results context aware to provide better more relevant results
*
* TODO: Only token is used and only toplevel declarations currently TBI
*/
lt.plugins.elm_light.elm_ast.get_hints = (function() {
var get_hints = null;
var get_hints__3 = (function (ctx,module_file,project_dir){return get_hints.call(null,ctx,module_file,project_dir,null);
});
var get_hints__4 = (function (p__22799,module_file,project_dir,module_header){var map__22801 = p__22799;var map__22801__$1 = ((cljs.core.seq_QMARK_.call(null,map__22801))?cljs.core.apply.call(null,cljs.core.hash_map,map__22801):map__22801);var ctx = map__22801__$1;var ed = cljs.core.get.call(null,map__22801__$1,new cljs.core.Keyword(null,"ed","ed",1013907473));var token = cljs.core.get.call(null,map__22801__$1,new cljs.core.Keyword(null,"token","token",1124445547));var pos = cljs.core.get.call(null,map__22801__$1,new cljs.core.Keyword(null,"pos","pos",1014015430));var ed_tok = lt.objs.editor.__GT_token.call(null,ed,pos);var module = lt.plugins.elm_light.elm_ast.get_module_ast.call(null,project_dir,module_file);var top_level_decl_QMARK_ = lt.plugins.elm_light.elm_ast.find_top_level_declaration_by_pos.call(null,pos,module);var mod_header = (function (){var or__4884__auto__ = module_header;if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return module;
}
})();var modules = new cljs.core.Keyword(null,"file-asts","file-asts",3945857876).cljs$core$IFn$_invoke$arity$1(lt.plugins.elm_light.elm_ast.get_project.call(null,project_dir));var imp = lt.plugins.elm_light.elm_ast.find_import_by_pos.call(null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"line","line",1017226086),new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(pos),new cljs.core.Keyword(null,"ch","ch",1013907415),0], null),mod_header);if(cljs.core.truth_(module))
{if(cljs.core._EQ_.call(null,0,new cljs.core.Keyword(null,"start","start",1123661780).cljs$core$IFn$_invoke$arity$1(ed_tok)))
{return lt.plugins.elm_light.elm_ast.reserved_words_hints.call(null,token);
} else
{if(cljs.core.truth_(imp))
{return lt.plugins.elm_light.elm_ast.import_hints.call(null,ctx,imp,mod_header,modules);
} else
{if(lt.plugins.elm_light.elm_ast.in_range_QMARK_.call(null,pos,new cljs.core.Keyword(null,"moduleDeclaration","moduleDeclaration",1240624864).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(mod_header))))
{return lt.plugins.elm_light.elm_ast.module_header_hints.call(null,ctx,mod_header,module);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return lt.plugins.elm_light.elm_ast.declarations_hints.call(null,ctx,module,modules);
} else
{return null;
}
}
}
}
} else
{return null;
}
});
get_hints = function(p__22799,module_file,project_dir,module_header){
switch(arguments.length){
case 3:
return get_hints__3.call(this,p__22799,module_file,project_dir);
case 4:
return get_hints__4.call(this,p__22799,module_file,project_dir,module_header);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
get_hints.cljs$core$IFn$_invoke$arity$3 = get_hints__3;
get_hints.cljs$core$IFn$_invoke$arity$4 = get_hints__4;
return get_hints;
})()
;
lt.plugins.elm_light.elm_ast.find_all_occs = (function find_all_occs(line,tok){var pattern = cljs.core.re_pattern.call(null,[cljs.core.str("\\b"),cljs.core.str(tok),cljs.core.str("\\b(?!\\.)")].join(''));var s = line;var items = cljs.core.PersistentVector.EMPTY;var curr_idx = 0;while(true){
var idx = s.search(pattern);var act_idx = (curr_idx + idx);if(cljs.core._EQ_.call(null,-1,idx))
{return items;
} else
{{
var G__22846 = cljs.core.subs.call(null,s,((idx + cljs.core.count.call(null,tok)) + 1));
var G__22847 = cljs.core.conj.call(null,items,act_idx);
var G__22848 = ((act_idx + cljs.core.count.call(null,tok)) + 1);
s = G__22846;
items = G__22847;
curr_idx = G__22848;
continue;
}
}
break;
}
});
lt.plugins.elm_light.elm_ast.get_usage_editor = (function get_usage_editor(file){var temp__4090__auto__ = cljs.core.first.call(null,lt.objs.editor.pool.by_path.call(null,file));if(cljs.core.truth_(temp__4090__auto__))
{var ed = temp__4090__auto__;return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"ed","ed",1013907473),ed,new cljs.core.Keyword(null,"close-fn","close-fn",2106681391),((function (ed,temp__4090__auto__){
return (function (){return cljs.core.List.EMPTY;
});})(ed,temp__4090__auto__))
], null);
} else
{var content = new cljs.core.Keyword(null,"content","content",1965434859).cljs$core$IFn$_invoke$arity$1(lt.objs.files.open_sync.call(null,file));var ed = lt.objs.editor.pool.create.call(null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"mime","mime",1017255846),"text/x-elm",new cljs.core.Keyword(null,"content","content",1965434859),content], null));return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"ed","ed",1013907473),ed,new cljs.core.Keyword(null,"close-fn","close-fn",2106681391),((function (content,ed,temp__4090__auto__){
return (function (){return lt.object.destroy_BANG_.call(null,ed);
});})(content,ed,temp__4090__auto__))
], null);
}
});
lt.plugins.elm_light.elm_ast.find_usage_hits = (function find_usage_hits(candidate_module){var map__22809 = lt.plugins.elm_light.elm_ast.get_usage_editor.call(null,new cljs.core.Keyword(null,"file","file",1017047278).cljs$core$IFn$_invoke$arity$1(candidate_module));var map__22809__$1 = ((cljs.core.seq_QMARK_.call(null,map__22809))?cljs.core.apply.call(null,cljs.core.hash_map,map__22809):map__22809);var close_fn = cljs.core.get.call(null,map__22809__$1,new cljs.core.Keyword(null,"close-fn","close-fn",2106681391));var ed = cljs.core.get.call(null,map__22809__$1,new cljs.core.Keyword(null,"ed","ed",1013907473));var line_count = lt.objs.editor.line_count.call(null,ed);return ((function (map__22809,map__22809__$1,close_fn,ed,line_count){
return (function (xs){close_fn.call(null);
return cljs.core.assoc.call(null,candidate_module,new cljs.core.Keyword(null,"hits","hits",1017107122),xs);
});})(map__22809,map__22809__$1,close_fn,ed,line_count))
.call(null,cljs.core.sort_by.call(null,((function (map__22809,map__22809__$1,close_fn,ed,line_count){
return (function (p1__22805_SHARP_){return new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"start","start",1123661780).cljs$core$IFn$_invoke$arity$1(p1__22805_SHARP_));
});})(map__22809,map__22809__$1,close_fn,ed,line_count))
,cljs.core.map.call(null,((function (map__22809,map__22809__$1,close_fn,ed,line_count){
return (function (p__22810){var vec__22811 = p__22810;var _ = cljs.core.nth.call(null,vec__22811,0,null);var v = cljs.core.nth.call(null,vec__22811,1,null);return cljs.core.first.call(null,cljs.core.sort_by.call(null,((function (vec__22811,_,v,map__22809,map__22809__$1,close_fn,ed,line_count){
return (function (p1__22804_SHARP_){return cljs.core.count.call(null,new cljs.core.Keyword(null,"token","token",1124445547).cljs$core$IFn$_invoke$arity$1(p1__22804_SHARP_));
});})(vec__22811,_,v,map__22809,map__22809__$1,close_fn,ed,line_count))
,v));
});})(map__22809,map__22809__$1,close_fn,ed,line_count))
,cljs.core.group_by.call(null,((function (map__22809,map__22809__$1,close_fn,ed,line_count){
return (function (p1__22803_SHARP_){return [cljs.core.str(new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"end","end",1014004813).cljs$core$IFn$_invoke$arity$1(p1__22803_SHARP_))),cljs.core.str("-"),cljs.core.str(new cljs.core.Keyword(null,"ch","ch",1013907415).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"end","end",1014004813).cljs$core$IFn$_invoke$arity$1(p1__22803_SHARP_)))].join('');
});})(map__22809,map__22809__$1,close_fn,ed,line_count))
,cljs.core.filter.call(null,cljs.core.seq,cljs.core.mapcat.call(null,((function (map__22809,map__22809__$1,close_fn,ed,line_count){
return (function (l){var line = lt.objs.editor.line.call(null,ed,l);return cljs.core.mapcat.call(null,((function (line,map__22809,map__22809__$1,close_fn,ed,line_count){
return (function (token){return cljs.core.map.call(null,((function (line,map__22809,map__22809__$1,close_fn,ed,line_count){
return (function (p1__22802_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"start","start",1123661780),new cljs.core.Keyword(null,"end","end",1014004813),new cljs.core.Keyword(null,"token","token",1124445547),new cljs.core.Keyword(null,"line","line",1017226086)],[new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"ch","ch",1013907415),p1__22802_SHARP_,new cljs.core.Keyword(null,"line","line",1017226086),l], null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"ch","ch",1013907415),(p1__22802_SHARP_ + cljs.core.count.call(null,token)),new cljs.core.Keyword(null,"line","line",1017226086),l], null),token,line]);
});})(line,map__22809,map__22809__$1,close_fn,ed,line_count))
,lt.plugins.elm_light.elm_ast.find_all_occs.call(null,line,token));
});})(line,map__22809,map__22809__$1,close_fn,ed,line_count))
,new cljs.core.Keyword(null,"candidate-tokens","candidate-tokens",3775833238).cljs$core$IFn$_invoke$arity$1(candidate_module));
});})(map__22809,map__22809__$1,close_fn,ed,line_count))
,cljs.core.range.call(null,0,line_count)))))));
});
lt.plugins.elm_light.elm_ast.find_usages = (function find_usages(token,project_file,module_file){var modules = new cljs.core.Keyword(null,"file-asts","file-asts",3945857876).cljs$core$IFn$_invoke$arity$1(lt.plugins.elm_light.elm_ast.get_project.call(null,project_file));var candidate = lt.plugins.elm_light.elm_ast.get_jump_to_definition.call(null,token,cljs.core.PersistentArrayMap.EMPTY,module_file,project_file);var candidate_module = lt.plugins.elm_light.elm_ast.get_module_ast.call(null,project_file,new cljs.core.Keyword(null,"file","file",1017047278).cljs$core$IFn$_invoke$arity$1(candidate));var cand_mods = cljs.core.sort_by.call(null,((function (modules,candidate,candidate_module){
return (function (p1__22812_SHARP_){return new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"moduleDeclaration","moduleDeclaration",1240624864).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(p1__22812_SHARP_)));
});})(modules,candidate,candidate_module))
,cljs.core.filter.call(null,cljs.core.identity,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.truth_(new cljs.core.Keyword(null,"package","package",4501809080).cljs$core$IFn$_invoke$arity$1(candidate_module))?null:candidate_module)], null),cljs.core.filter.call(null,((function (modules,candidate,candidate_module){
return (function (mod){var or__4884__auto__ = new cljs.core.Keyword(null,"default-candidate?","default-candidate?",4075348378).cljs$core$IFn$_invoke$arity$1(candidate);if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return cljs.core.contains_QMARK_.call(null,cljs.core.set.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"value","value",1125876963),new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(mod))))),new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(candidate));
}
});})(modules,candidate,candidate_module))
,cljs.core.remove.call(null,new cljs.core.Keyword(null,"package","package",4501809080),new cljs.core.Keyword(null,"file-asts","file-asts",3945857876).cljs$core$IFn$_invoke$arity$1(lt.plugins.elm_light.elm_ast.get_project.call(null,project_file)))))));return ((function (modules,candidate,candidate_module,cand_mods){
return (function (mod_usages){return new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"candidate","candidate",1522567413),candidate,new cljs.core.Keyword(null,"usages-per-module","usages-per-module",3285520969),mod_usages,new cljs.core.Keyword(null,"token","token",1124445547),token], null);
});})(modules,candidate,candidate_module,cand_mods))
.call(null,cljs.core.filter.call(null,((function (modules,candidate,candidate_module,cand_mods){
return (function (p1__22816_SHARP_){return cljs.core.seq.call(null,new cljs.core.Keyword(null,"hits","hits",1017107122).cljs$core$IFn$_invoke$arity$1(p1__22816_SHARP_));
});})(modules,candidate,candidate_module,cand_mods))
,cljs.core.map.call(null,lt.plugins.elm_light.elm_ast.find_usage_hits,cljs.core.map.call(null,((function (modules,candidate,candidate_module,cand_mods){
return (function (p1__22815_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"file","file",1017047278),new cljs.core.Keyword(null,"candidate-tokens","candidate-tokens",3775833238)],[new cljs.core.Keyword(null,"candidate-module-file","candidate-module-file",3377529445).cljs$core$IFn$_invoke$arity$1(p1__22815_SHARP_),new cljs.core.Keyword(null,"candidate-tokens","candidate-tokens",3775833238).cljs$core$IFn$_invoke$arity$1(p1__22815_SHARP_)]);
});})(modules,candidate,candidate_module,cand_mods))
,cljs.core.mapcat.call(null,((function (modules,candidate,candidate_module,cand_mods){
return (function (mod){return cljs.core.filter.call(null,((function (modules,candidate,candidate_module,cand_mods){
return (function (p1__22814_SHARP_){return (false) || ((cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(candidate),new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(p1__22814_SHARP_))) && (cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(candidate),new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__22814_SHARP_))));
});})(modules,candidate,candidate_module,cand_mods))
,cljs.core.map.call(null,((function (modules,candidate,candidate_module,cand_mods){
return (function (p1__22813_SHARP_){return cljs.core.assoc.call(null,p1__22813_SHARP_,new cljs.core.Keyword(null,"candidate-module-file","candidate-module-file",3377529445),new cljs.core.Keyword(null,"file","file",1017047278).cljs$core$IFn$_invoke$arity$1(mod));
});})(modules,candidate,candidate_module,cand_mods))
,lt.plugins.elm_light.elm_ast.get_jump_to_candidates.call(null,mod,modules)));
});})(modules,candidate,candidate_module,cand_mods))
,cand_mods)))));
});
lt.plugins.elm_light.elm_ast.search_docs = (function search_docs(sym,project_dir){var qualified_name = (function (p1__22817_SHARP_){return [cljs.core.str(new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(p1__22817_SHARP_)),cljs.core.str("."),cljs.core.str(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__22817_SHARP_))].join('');
});var temp__4092__auto__ = lt.plugins.elm_light.elm_ast.get_project.call(null,project_dir);if(cljs.core.truth_(temp__4092__auto__))
{var prj = temp__4092__auto__;return cljs.core.sort_by.call(null,cljs.core.juxt.call(null,new cljs.core.Keyword(null,"value","value",1125876963),new cljs.core.Keyword(null,"module-name","module-name",4067691710)),cljs.core.map.call(null,((function (prj,temp__4092__auto__,qualified_name){
return (function (decl){return new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"name","name",1017277949),new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(decl),new cljs.core.Keyword(null,"ns","ns",1013907767),new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(decl),new cljs.core.Keyword(null,"args","args",1016906831),(function (){var or__4884__auto__ = new cljs.core.Keyword(null,"signatureRaw","signatureRaw",3837738946).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"annotation","annotation",3753828001).cljs$core$IFn$_invoke$arity$1(decl));if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return new cljs.core.Keyword(null,"signatureRaw","signatureRaw",3837738946).cljs$core$IFn$_invoke$arity$1(decl);
}
})(),new cljs.core.Keyword(null,"doc","doc",1014003882),new cljs.core.Keyword(null,"doc","doc",1014003882).cljs$core$IFn$_invoke$arity$1(decl),new cljs.core.Keyword(null,"value","value",1125876963),new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(decl),new cljs.core.Keyword(null,"module-name","module-name",4067691710),new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(decl)], null);
});})(prj,temp__4092__auto__,qualified_name))
,cljs.core.filter.call(null,((function (prj,temp__4092__auto__,qualified_name){
return (function (decl){var or__4884__auto__ = lt.plugins.elm_light.elm_ast.start_with_QMARK_.call(null,new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(decl),sym);if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return lt.plugins.elm_light.elm_ast.start_with_QMARK_.call(null,qualified_name.call(null,decl),sym);
}
});})(prj,temp__4092__auto__,qualified_name))
,cljs.core.mapcat.call(null,lt.plugins.elm_light.elm_ast.get_exposed_declarations,new cljs.core.Keyword(null,"file-asts","file-asts",3945857876).cljs$core$IFn$_invoke$arity$1(prj)))));
} else
{return null;
}
});
lt.plugins.elm_light.elm_ast.get_gutter_exposeds = (function get_gutter_exposeds(module_file,project_file){var temp__4092__auto__ = lt.plugins.elm_light.elm_ast.get_module_ast.call(null,project_file,module_file);if(cljs.core.truth_(temp__4092__auto__))
{var module = temp__4092__auto__;return cljs.core.remove.call(null,((function (module,temp__4092__auto__){
return (function (p1__22818_SHARP_){return cljs.core._EQ_.call(null,"adtDef",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(p1__22818_SHARP_));
});})(module,temp__4092__auto__))
,lt.plugins.elm_light.elm_ast.get_exposed_declarations.call(null,module));
} else
{return null;
}
});
lt.plugins.elm_light.elm_ast.print_export = (function print_export(export$){return [cljs.core.str(((cljs.core._EQ_.call(null,"binOpRef",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(export$)))?[cljs.core.str("("),cljs.core.str(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(export$)),cljs.core.str(")")].join(''):new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(export$))),cljs.core.str(((cljs.core.not.call(null,cljs.core.seq.call(null,new cljs.core.Keyword(null,"exports","exports",3999815345).cljs$core$IFn$_invoke$arity$1(export$))))?"":((new cljs.core.Keyword(null,"else","else",1017020587))?[cljs.core.str(" ("),cljs.core.str(lt.plugins.elm_light.elm_ast.print_exports.call(null,new cljs.core.Keyword(null,"exports","exports",3999815345).cljs$core$IFn$_invoke$arity$1(export$))),cljs.core.str(")")].join(''):null)))].join('');
});
lt.plugins.elm_light.elm_ast.print_exports = (function print_exports(exports){if(cljs.core.not.call(null,cljs.core.seq.call(null,exports)))
{return "";
} else
{if(cljs.core._EQ_.call(null,"exposeAll",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,new cljs.core.Keyword(null,"exports","exports",3999815345).cljs$core$IFn$_invoke$arity$1(exports)))))
{return "..";
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return clojure.string.join.call(null,", ",cljs.core.map.call(null,lt.plugins.elm_light.elm_ast.print_export,new cljs.core.Keyword(null,"exports","exports",3999815345).cljs$core$IFn$_invoke$arity$1(exports)));
} else
{return null;
}
}
}
});
lt.plugins.elm_light.elm_ast.print_exposing = (function print_exposing(p__22819){var map__22821 = p__22819;var map__22821__$1 = ((cljs.core.seq_QMARK_.call(null,map__22821))?cljs.core.apply.call(null,cljs.core.hash_map,map__22821):map__22821);var exposing = map__22821__$1;var exports = cljs.core.get.call(null,map__22821__$1,new cljs.core.Keyword(null,"exports","exports",3999815345));if(cljs.core.not.call(null,cljs.core.seq.call(null,exports)))
{return "";
} else
{return [cljs.core.str("exposing ("),cljs.core.str(lt.plugins.elm_light.elm_ast.print_exports.call(null,exports)),cljs.core.str(")")].join('');
}
});
lt.plugins.elm_light.elm_ast.print_import = (function print_import(imp){return [cljs.core.str("import "),cljs.core.str(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(imp)),cljs.core.str((function (){var temp__4092__auto__ = new cljs.core.Keyword(null,"alias","alias",1106807234).cljs$core$IFn$_invoke$arity$1(imp);if(cljs.core.truth_(temp__4092__auto__))
{var aliaz = temp__4092__auto__;return [cljs.core.str(" as "),cljs.core.str(aliaz)].join('');
} else
{return null;
}
})()),cljs.core.str(((cljs.core.seq.call(null,new cljs.core.Keyword(null,"exposing","exposing",3382854387).cljs$core$IFn$_invoke$arity$1(imp)))?[cljs.core.str(" "),cljs.core.str(lt.plugins.elm_light.elm_ast.print_exposing.call(null,new cljs.core.Keyword(null,"exposing","exposing",3382854387).cljs$core$IFn$_invoke$arity$1(imp)))].join(''):null))].join('');
});
lt.plugins.elm_light.elm_ast.print_imports = (function() {
var print_imports = null;
var print_imports__1 = (function (imports){return print_imports.call(null,cljs.core.identity,imports);
});
var print_imports__2 = (function (sort_fn,imports){return clojure.string.join.call(null,"\n",cljs.core.map.call(null,lt.plugins.elm_light.elm_ast.print_import,sort_fn.call(null,imports)));
});
print_imports = function(sort_fn,imports){
switch(arguments.length){
case 1:
return print_imports__1.call(this,sort_fn);
case 2:
return print_imports__2.call(this,sort_fn,imports);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
print_imports.cljs$core$IFn$_invoke$arity$1 = print_imports__1;
print_imports.cljs$core$IFn$_invoke$arity$2 = print_imports__2;
return print_imports;
})()
;
lt.plugins.elm_light.elm_ast.sort_imports_default = (function sort_imports_default(project_dir,imports){var modules = new cljs.core.Keyword(null,"file-asts","file-asts",3945857876).cljs$core$IFn$_invoke$arity$1(lt.plugins.elm_light.elm_ast.get_project.call(null,project_dir));return cljs.core.sort_by.call(null,cljs.core.juxt.call(null,cljs.core.partial.call(null,lt.plugins.elm_light.elm_ast.package_import_QMARK_,modules),new cljs.core.Keyword(null,"value","value",1125876963)),imports);
});
lt.plugins.elm_light.elm_ast.sym_exposed_QMARK_ = (function sym_exposed_QMARK_(sym,project_dir,module_file){return lt.plugins.elm_light.elm_ast.exposed_by_module_QMARK_.call(null,lt.plugins.elm_light.elm_ast.get_module_ast.call(null,project_dir,module_file),sym);
});
/**
* Adds an export to exposing node
* NOTE: Does not check if exposeAll or already exposed.
*/
lt.plugins.elm_light.elm_ast.expose_decl = (function expose_decl(decl,exposing){var value = new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(decl);return cljs.core.update_in.call(null,exposing,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"exports","exports",3999815345),new cljs.core.Keyword(null,"exports","exports",3999815345)], null),((function (value){
return (function (exports){return cljs.core.conj.call(null,exports,(function (){var G__22823 = new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(decl);if(cljs.core._EQ_.call(null,"binOpDef",G__22823))
{return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1017479852),"binOpRef",new cljs.core.Keyword(null,"value","value",1125876963),value], null);
} else
{if(cljs.core._EQ_.call(null,"typeDecl",G__22823))
{return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1017479852),"adt",new cljs.core.Keyword(null,"value","value",1125876963),value], null);
} else
{if(cljs.core._EQ_.call(null,"typeAliasDecl",G__22823))
{return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1017479852),"adt",new cljs.core.Keyword(null,"value","value",1125876963),value], null);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1017479852),"ref",new cljs.core.Keyword(null,"value","value",1125876963),value], null);
} else
{return null;
}
}
}
}
})());
});})(value))
);
});
/**
* Removes an export from and exposing node. Ignored if exposed through exposeAll (..)
*/
lt.plugins.elm_light.elm_ast.unexpose_decl = (function unexpose_decl(decl,exposing){var value = new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(decl);return cljs.core.update_in.call(null,exposing,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"exports","exports",3999815345),new cljs.core.Keyword(null,"exports","exports",3999815345)], null),((function (value){
return (function (exports){return cljs.core.remove.call(null,((function (value){
return (function (p1__22824_SHARP_){return cljs.core._EQ_.call(null,value,new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__22824_SHARP_));
});})(value))
,exports);
});})(value))
);
});
/**
* Find applicable import candidates based on token for a given module
*/
lt.plugins.elm_light.elm_ast.get_autoimport_candidates = (function get_autoimport_candidates(aliaz,token,module_file,project_dir){var temp__4092__auto__ = lt.plugins.elm_light.elm_ast.get_module_ast.call(null,project_dir,module_file);if(cljs.core.truth_(temp__4092__auto__))
{var module = temp__4092__auto__;var modules = new cljs.core.Keyword(null,"file-asts","file-asts",3945857876).cljs$core$IFn$_invoke$arity$1(lt.plugins.elm_light.elm_ast.get_project.call(null,project_dir));return cljs.core.filter.call(null,((function (modules,module,temp__4092__auto__){
return (function (candidate){return (cljs.core._EQ_.call(null,token,new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(candidate))) && (cljs.core.not.call(null,cljs.core.some.call(null,((function (modules,module,temp__4092__auto__){
return (function (p1__22826_SHARP_){var and__4872__auto__ = new cljs.core.Keyword(null,"alias","alias",1106807234).cljs$core$IFn$_invoke$arity$1(p1__22826_SHARP_);if(cljs.core.truth_(and__4872__auto__))
{return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(candidate),new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__22826_SHARP_));
} else
{return and__4872__auto__;
}
});})(modules,module,temp__4092__auto__))
,new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(module))))));
});})(modules,module,temp__4092__auto__))
,cljs.core.concat.call(null,lt.plugins.elm_light.elm_ast.get_default_candidates.call(null,lt.plugins.elm_light.elm_ast.get_core_modules.call(null,modules)),cljs.core.mapcat.call(null,lt.plugins.elm_light.elm_ast.get_exposed_declarations,cljs.core.filter.call(null,((function (modules,module,temp__4092__auto__){
return (function (p1__22825_SHARP_){return cljs.core.not_EQ_.call(null,module_file,new cljs.core.Keyword(null,"file","file",1017047278).cljs$core$IFn$_invoke$arity$1(p1__22825_SHARP_));
});})(modules,module,temp__4092__auto__))
,modules))));
} else
{return null;
}
});
/**
* Add import with alias or update an existing import with given alias
*/
lt.plugins.elm_light.elm_ast.upsert_imports = (function upsert_imports(module_name,aliaz,imports){var temp__4090__auto__ = lt.plugins.elm_light.elm_ast.idx_of.call(null,(function (p1__22827_SHARP_){return cljs.core._EQ_.call(null,module_name,new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__22827_SHARP_));
}),imports);if(cljs.core.truth_(temp__4090__auto__))
{var idx = temp__4090__auto__;return cljs.core.assoc_in.call(null,cljs.core.vec.call(null,imports),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [idx,new cljs.core.Keyword(null,"alias","alias",1106807234)], null),aliaz);
} else
{return cljs.core.conj.call(null,imports,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"value","value",1125876963),module_name,new cljs.core.Keyword(null,"type","type",1017479852),"import",new cljs.core.Keyword(null,"alias","alias",1106807234),aliaz,new cljs.core.Keyword(null,"exposing","exposing",3382854387),cljs.core.PersistentVector.EMPTY], null));
}
});
lt.plugins.elm_light.elm_ast.test_module_candidate_QMARK_ = (function test_module_candidate_QMARK_(module){var imp_names = cljs.core.set.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"value","value",1125876963),new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(module)))));return cljs.core.contains_QMARK_.call(null,imp_names,"Test");
});
lt.plugins.elm_light.elm_ast.ignore_test_QMARK_ = (function ignore_test_QMARK_(decl){if(cljs.core.truth_(new cljs.core.Keyword(null,"doc","doc",1014003882).cljs$core$IFn$_invoke$arity$1(decl)))
{return lt.plugins.elm_light.utils.str_contains.call(null,new cljs.core.Keyword(null,"doc","doc",1014003882).cljs$core$IFn$_invoke$arity$1(decl),"@ltignore");
} else
{return null;
}
});
lt.plugins.elm_light.elm_ast.get_test_decls = (function get_test_decls(module){return cljs.core.filter.call(null,(function (p1__22828_SHARP_){return (cljs.core.not.call(null,lt.plugins.elm_light.elm_ast.ignore_test_QMARK_.call(null,p1__22828_SHARP_))) && (cljs.core._EQ_.call(null,"Test",new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,new cljs.core.Keyword(null,"signature","signature",2087488554).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"annotation","annotation",3753828001).cljs$core$IFn$_invoke$arity$1(p1__22828_SHARP_))))));
}),lt.plugins.elm_light.elm_ast.get_exposed_declarations_memo.call(null,module));
});
lt.plugins.elm_light.elm_ast.__GT_suite_tests = (function __GT_suite_tests(module){return cljs.core.map.call(null,(function (p1__22829_SHARP_){return cljs.core.select_keys.call(null,p1__22829_SHARP_,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"value","value",1125876963),new cljs.core.Keyword(null,"module-name","module-name",4067691710)], null));
}),lt.plugins.elm_light.elm_ast.get_test_decls.call(null,module));
});
lt.plugins.elm_light.elm_ast.get_project_tests = (function get_project_tests(project_path){var project = lt.plugins.elm_light.elm_ast.get_project.call(null,project_path);return cljs.core.mapcat.call(null,lt.plugins.elm_light.elm_ast.__GT_suite_tests,cljs.core.filter.call(null,((function (project){
return (function (module){if(cljs.core.truth_(new cljs.core.Keyword(null,"package","package",4501809080).cljs$core$IFn$_invoke$arity$1(module)))
{return null;
} else
{return lt.plugins.elm_light.elm_ast.test_module_candidate_QMARK_.call(null,module);
}
});})(project))
,new cljs.core.Keyword(null,"file-asts","file-asts",3945857876).cljs$core$IFn$_invoke$arity$1(project)));
});
lt.plugins.elm_light.elm_ast.get_module_tests = (function get_module_tests(project_path,module_file){var module = lt.plugins.elm_light.elm_ast.get_module_ast.call(null,project_path,module_file);if(lt.plugins.elm_light.elm_ast.test_module_candidate_QMARK_.call(null,module))
{return lt.plugins.elm_light.elm_ast.__GT_suite_tests.call(null,module);
} else
{return cljs.core.PersistentVector.EMPTY;
}
});
lt.plugins.elm_light.elm_ast.get_test_by_pos = (function get_test_by_pos(pos,project_path,module_file){var module = lt.plugins.elm_light.elm_ast.get_module_ast.call(null,project_path,module_file);var decl = lt.plugins.elm_light.elm_ast.find_top_level_declaration_by_pos.call(null,pos,module);if((lt.plugins.elm_light.elm_ast.test_module_candidate_QMARK_.call(null,module)) && (lt.plugins.elm_light.elm_ast.exposed_by_module_QMARK_.call(null,module,new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(decl))) && (cljs.core._EQ_.call(null,"Test",new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,new cljs.core.Keyword(null,"signature","signature",2087488554).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"annotation","annotation",3753828001).cljs$core$IFn$_invoke$arity$1(decl)))))) && (cljs.core.not.call(null,lt.plugins.elm_light.elm_ast.ignore_test_QMARK_.call(null,decl))))
{return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"value","value",1125876963),new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(decl),new cljs.core.Keyword(null,"module-name","module-name",4067691710),lt.plugins.elm_light.elm_ast.get_module_name.call(null,module)], null)], null);
} else
{return cljs.core.PersistentVector.EMPTY;
}
});
lt.plugins.elm_light.elm_ast.status_class = (function status_class(p__22830){var map__22833 = p__22830;var map__22833__$1 = ((cljs.core.seq_QMARK_.call(null,map__22833))?cljs.core.apply.call(null,cljs.core.hash_map,map__22833):map__22833);var status = cljs.core.get.call(null,map__22833__$1,new cljs.core.Keyword(null,"status","status",4416389988));var G__22834 = status;if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"ok","ok",1013907790),G__22834))
{return "ok";
} else
{if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"error","error",1110689146),G__22834))
{return "error";
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return "";
} else
{return null;
}
}
}
});
lt.plugins.elm_light.elm_ast.status_text = (function status_text(p__22835){var map__22838 = p__22835;var map__22838__$1 = ((cljs.core.seq_QMARK_.call(null,map__22838))?cljs.core.apply.call(null,cljs.core.hash_map,map__22838):map__22838);var error = cljs.core.get.call(null,map__22838__$1,new cljs.core.Keyword(null,"error","error",1110689146));var status = cljs.core.get.call(null,map__22838__$1,new cljs.core.Keyword(null,"status","status",4416389988));return [cljs.core.str("AST: "),cljs.core.str((function (){var G__22839 = status;if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"error","error",1110689146),G__22839))
{return "Error";
} else
{if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"ok","ok",1013907790),G__22839))
{return "Ok";
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return "Not connected";
} else
{return null;
}
}
}
})())].join('');
});
lt.plugins.elm_light.elm_ast.__GT_status_ui = (function __GT_status_ui(p__22840){var map__22842 = p__22840;var map__22842__$1 = ((cljs.core.seq_QMARK_.call(null,map__22842))?cljs.core.apply.call(null,cljs.core.hash_map,map__22842):map__22842);var ast_summary = cljs.core.get.call(null,map__22842__$1,new cljs.core.Keyword(null,"ast-summary","ast-summary",1727157965));return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1017440956),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),[cljs.core.str("ast-status "),cljs.core.str(lt.plugins.elm_light.elm_ast.status_class.call(null,ast_summary))].join('')], null),lt.plugins.elm_light.elm_ast.status_text.call(null,ast_summary)], null);
});
lt.plugins.elm_light.elm_ast.__BEH__update_ast_status = (function __BEH__update_ast_status(this$,f){return lt.object.update_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ast-summary","ast-summary",1727157965)], null),f);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.elm-ast","update-ast-status","lt.plugins.elm-light.elm-ast/update-ast-status",2519133077),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.elm_ast.__BEH__update_ast_status,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"update!","update!",779473898),null], null), null));
lt.object.object_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.elm-ast","statusbar.ast-status","lt.plugins.elm-light.elm-ast/statusbar.ast-status",1374391534),new cljs.core.Keyword(null,"triggers","triggers",2516997421),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,"behaviors","behaviors",607554515),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("lt.plugins.elm-light.elm-ast","update-ast-status","lt.plugins.elm-light.elm-ast/update-ast-status",2519133077),null], null), null),new cljs.core.Keyword(null,"ast-summary","ast-summary",1727157965),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"status","status",4416389988),""], null),new cljs.core.Keyword(null,"init","init",1017141378),(function (this$){return lt.objs.statusbar.statusbar_item.call(null,crate.binding.bound.call(null,this$,lt.plugins.elm_light.elm_ast.__GT_status_ui),"");
}));
lt.plugins.elm_light.elm_ast.statusbar_ast_summary = lt.object.create.call(null,new cljs.core.Keyword("lt.plugins.elm-light.elm-ast","statusbar.ast-status","lt.plugins.elm-light.elm-ast/statusbar.ast-status",1374391534));
lt.objs.statusbar.add_statusbar_item.call(null,lt.plugins.elm_light.elm_ast.statusbar_ast_summary);
lt.plugins.elm_light.elm_ast.update_status_for_editor = (function update_status_for_editor(ed){var map__22845 = new cljs.core.Keyword(null,"ast-status","ast-status",2421112079).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed));var map__22845__$1 = ((cljs.core.seq_QMARK_.call(null,map__22845))?cljs.core.apply.call(null,cljs.core.hash_map,map__22845):map__22845);var error = cljs.core.get.call(null,map__22845__$1,new cljs.core.Keyword(null,"error","error",1110689146));var status = cljs.core.get.call(null,map__22845__$1,new cljs.core.Keyword(null,"status","status",4416389988));return lt.object.raise.call(null,lt.plugins.elm_light.elm_ast.statusbar_ast_summary,new cljs.core.Keyword(null,"update!","update!",779473898),((function (map__22845,map__22845__$1,error,status){
return (function (p1__22843_SHARP_){return cljs.core.assoc.call(null,p1__22843_SHARP_,new cljs.core.Keyword(null,"status","status",4416389988),status,new cljs.core.Keyword(null,"error","error",1110689146),error);
});})(map__22845,map__22845__$1,error,status))
);
});
lt.plugins.elm_light.elm_ast.__BEH__update_ast_status_on_editor_change = (function __BEH__update_ast_status_on_editor_change(ed){return lt.plugins.elm_light.elm_ast.update_status_for_editor.call(null,ed);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.elm-ast","update-ast-status-on-editor-change","lt.plugins.elm-light.elm-ast/update-ast-status-on-editor-change",1769747394),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.elm_ast.__BEH__update_ast_status_on_editor_change,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"focus","focus",1111509066),null], null), null));
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.repl')) {
goog.provide('lt.plugins.elm_light.repl');
goog.require('cljs.core');
goog.require('lt.objs.tabs');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
goog.require('lt.objs.editor');
goog.require('lt.object');
goog.require('lt.object');
goog.require('lt.objs.tabs');
goog.require('lt.objs.editor');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
lt.plugins.elm_light.repl.__BEH__on_focus_repl_ed = (function __BEH__on_focus_repl_ed(this$){if(cljs.core.truth_(new cljs.core.Keyword(null,"main","main",1017248043).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$))))
{return lt.object.raise.call(null,new cljs.core.Keyword(null,"main","main",1017248043).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)),new cljs.core.Keyword(null,"focus!","focus!",4039653819));
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.repl","on-focus-repl-ed","lt.plugins.elm-light.repl/on-focus-repl-ed",902928202),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.repl.__BEH__on_focus_repl_ed,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"focus!","focus!",4039653819),null], null), null));
lt.plugins.elm_light.repl.__BEH__repl_destroy_on_close = (function __BEH__repl_destroy_on_close(this$){lt.object.raise.call(null,new cljs.core.Keyword(null,"main","main",1017248043).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)),new cljs.core.Keyword(null,"close","close",1108660586));
return lt.object.destroy_BANG_.call(null,this$);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.repl","repl-destroy-on-close","lt.plugins.elm-light.repl/repl-destroy-on-close",1223254671),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.repl.__BEH__repl_destroy_on_close,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"close","close",1108660586),null], null), null));
lt.plugins.elm_light.repl.__BEH__repl_close_parent = (function __BEH__repl_close_parent(this$){return lt.object.destroy_BANG_.call(null,new cljs.core.Keyword(null,"frame","frame",1111596255).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.repl","repl-close-parent","lt.plugins.elm-light.repl/repl-close-parent",1283075757),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.repl.__BEH__repl_close_parent,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"destroy","destroy",2571277164),null], null), null));
lt.plugins.elm_light.repl.__BEH__on_show_repl_refresh_eds = (function __BEH__on_show_repl_refresh_eds(this$){if(cljs.core.truth_(new cljs.core.Keyword(null,"main","main",1017248043).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$))))
{lt.object.raise.call(null,new cljs.core.Keyword(null,"main","main",1017248043).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)),new cljs.core.Keyword(null,"show","show",1017433711));
lt.object.raise.call(null,new cljs.core.Keyword(null,"main","main",1017248043).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)),new cljs.core.Keyword(null,"refresh!","refresh!",4597922840));
return lt.objs.editor.focus.call(null,new cljs.core.Keyword(null,"main","main",1017248043).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)));
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.repl","on-show-repl-refresh-eds","lt.plugins.elm-light.repl/on-show-repl-refresh-eds",1683212982),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.repl.__BEH__on_show_repl_refresh_eds,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"show","show",1017433711),null], null), null));
lt.object.object_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.repl","elmrepl","lt.plugins.elm-light.repl/elmrepl",2110428165),new cljs.core.Keyword(null,"tags","tags",1017456523),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elmrepl","elmrepl",3653571719),null], null), null),new cljs.core.Keyword(null,"name","name",1017277949),"elmrepl",new cljs.core.Keyword(null,"live","live",1017226334),true,new cljs.core.Keyword(null,"init","init",1017141378),(function (this$){var main = lt.object.add_tags.call(null,lt.object.remove_tags.call(null,lt.objs.editor.pool.create.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"mime","mime",1017255846),"text/x-elm",new cljs.core.Keyword(null,"content","content",1965434859),"",new cljs.core.Keyword(null,"ns","ns",1013907767),"user"], null)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"editor.elm","editor.elm",3751348247)], null)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"editor.elm.repl","editor.elm.repl",1086231178),new cljs.core.Keyword(null,"editor.transient","editor.transient",3554141883)], null));lt.object.merge_BANG_.call(null,main,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"frame","frame",1111596255),this$], null));
lt.objs.editor.clear_history.call(null,main);
lt.object.merge_BANG_.call(null,main,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"dirty","dirty",1109497668),false,new cljs.core.Keyword(null,"editor.generation","editor.generation",4482163627),lt.objs.editor.__GT_generation.call(null,main)], null));
lt.object.merge_BANG_.call(null,this$,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"main","main",1017248043),main,new cljs.core.Keyword(null,"dirty","dirty",1109497668),false], null));
lt.objs.editor._PLUS_class.call(null,main,new cljs.core.Keyword(null,"main","main",1017248043));
lt.objs.editor.move_cursor.call(null,main,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"line","line",1017226086),0,new cljs.core.Keyword(null,"ch","ch",1013907415),0], null));
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.elmrepl","div.elmrepl",926648362),lt.object.__GT_content.call(null,main)], null);
}));
lt.plugins.elm_light.repl.add_repl = (function add_repl(){var elmrepl = lt.object.create.call(null,new cljs.core.Keyword("lt.plugins.elm-light.repl","elmrepl","lt.plugins.elm-light.repl/elmrepl",2110428165));lt.objs.tabs.add_BANG_.call(null,elmrepl);
lt.objs.tabs.active_BANG_.call(null,elmrepl);
return elmrepl;
});
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elmrepl","elmrepl",3653571719),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm repl: Open a elm repl",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){return lt.plugins.elm_light.repl.add_repl.call(null);
})], null));
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.gutter')) {
goog.provide('lt.plugins.elm_light.gutter');
goog.require('cljs.core');
goog.require('lt.objs.files');
goog.require('lt.util.dom');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.util.dom');
goog.require('lt.objs.files');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.objs.editor');
goog.require('lt.object');
goog.require('lt.object');
goog.require('lt.objs.editor');
goog.require('lt.plugins.elm_light.elm_ast');
goog.require('lt.plugins.elm_light.elm_ast');
lt.plugins.elm_light.gutter.icon_url = lt.objs.files.join.call(null,lt.plugins.elm_light.utils.elm_plugin_dir,"css","export.svg");
lt.plugins.elm_light.gutter.marker_templ = (function (){var elem = document.createElement("div");lt.util.dom.html.call(null,elem,"@");
lt.util.dom.add_class.call(null,elem,"elm-gutter-marker");
return elem;
})();
lt.plugins.elm_light.gutter.gutter_marker_exposed = (function gutter_marker_exposed(){return lt.plugins.elm_light.gutter.marker_templ.cloneNode(true);
});
lt.plugins.elm_light.gutter.__BEH__show_elm_gutter = (function __BEH__show_elm_gutter(ed){if(cljs.core.truth_(new cljs.core.Keyword(null,"elm-gutter","elm-gutter",1745506196).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed))))
{return null;
} else
{lt.objs.editor.add_gutter.call(null,ed,"elm-gutter",15);
return lt.object.assoc_in_BANG_.call(null,ed,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"elm-gutter","elm-gutter",1745506196)], null),true);
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.gutter","show-elm-gutter","lt.plugins.elm-light.gutter/show-elm-gutter",3265354305),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.gutter.__BEH__show_elm_gutter,new cljs.core.Keyword(null,"desc","desc",1016984067),"Editor Elm: Display elm gutter",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"object.instant","object.instant",773332388),null], null), null),new cljs.core.Keyword(null,"type","type",1017479852),"user");
lt.plugins.elm_light.gutter.__BEH__elm_gutter_exposeds = (function __BEH__elm_gutter_exposeds(ed){var cm_ed = lt.objs.editor.__GT_cm_ed.call(null,ed);return lt.objs.editor.operation.call(null,cm_ed,((function (cm_ed){
return (function (){cm_ed.clearGutter("elm-gutter");
var seq__12629 = cljs.core.seq.call(null,new cljs.core.Keyword(null,"elm-exposeds-bookmarks","elm-exposeds-bookmarks",1216410620).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));var chunk__12630 = null;var count__12631 = 0;var i__12632 = 0;while(true){
if((i__12632 < count__12631))
{var bm = cljs.core._nth.call(null,chunk__12630,i__12632);var temp__4092__auto___12641 = bm.find();if(cljs.core.truth_(temp__4092__auto___12641))
{var pos_12642 = temp__4092__auto___12641;var temp__4092__auto___12643__$1 = pos_12642.line;if(cljs.core.truth_(temp__4092__auto___12643__$1))
{var line_12644 = temp__4092__auto___12643__$1;cm_ed.setGutterMarker(line_12644,"elm-gutter",lt.plugins.elm_light.gutter.gutter_marker_exposed.call(null));
} else
{}
} else
{}
{
var G__12645 = seq__12629;
var G__12646 = chunk__12630;
var G__12647 = count__12631;
var G__12648 = (i__12632 + 1);
seq__12629 = G__12645;
chunk__12630 = G__12646;
count__12631 = G__12647;
i__12632 = G__12648;
continue;
}
} else
{var temp__4092__auto__ = cljs.core.seq.call(null,seq__12629);if(temp__4092__auto__)
{var seq__12629__$1 = temp__4092__auto__;if(cljs.core.chunked_seq_QMARK_.call(null,seq__12629__$1))
{var c__5632__auto__ = cljs.core.chunk_first.call(null,seq__12629__$1);{
var G__12649 = cljs.core.chunk_rest.call(null,seq__12629__$1);
var G__12650 = c__5632__auto__;
var G__12651 = cljs.core.count.call(null,c__5632__auto__);
var G__12652 = 0;
seq__12629 = G__12649;
chunk__12630 = G__12650;
count__12631 = G__12651;
i__12632 = G__12652;
continue;
}
} else
{var bm = cljs.core.first.call(null,seq__12629__$1);var temp__4092__auto___12653__$1 = bm.find();if(cljs.core.truth_(temp__4092__auto___12653__$1))
{var pos_12654 = temp__4092__auto___12653__$1;var temp__4092__auto___12655__$2 = pos_12654.line;if(cljs.core.truth_(temp__4092__auto___12655__$2))
{var line_12656 = temp__4092__auto___12655__$2;cm_ed.setGutterMarker(line_12656,"elm-gutter",lt.plugins.elm_light.gutter.gutter_marker_exposed.call(null));
} else
{}
} else
{}
{
var G__12657 = cljs.core.next.call(null,seq__12629__$1);
var G__12658 = null;
var G__12659 = 0;
var G__12660 = 0;
seq__12629 = G__12657;
chunk__12630 = G__12658;
count__12631 = G__12659;
i__12632 = G__12660;
continue;
}
}
} else
{return null;
}
}
break;
}
});})(cm_ed))
);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.gutter","elm-gutter-exposeds","lt.plugins.elm-light.gutter/elm-gutter-exposeds",2318158517),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.gutter.__BEH__elm_gutter_exposeds,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.gutter.refresh","elm.gutter.refresh",722016962),null], null), null));
lt.plugins.elm_light.gutter.__BEH__elm_gutter_exposeds_mark = (function __BEH__elm_gutter_exposeds_mark(ed){var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));var exposeds = lt.plugins.elm_light.elm_ast.get_gutter_exposeds.call(null,path,lt.plugins.elm_light.utils.project_path.call(null,path));var cm_ed = lt.objs.editor.__GT_cm_ed.call(null,ed);lt.objs.editor.operation.call(null,cm_ed,((function (path,exposeds,cm_ed){
return (function (){var seq__12637_12661 = cljs.core.seq.call(null,new cljs.core.Keyword(null,"elm-exposeds-bookmarks","elm-exposeds-bookmarks",1216410620).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));var chunk__12638_12662 = null;var count__12639_12663 = 0;var i__12640_12664 = 0;while(true){
if((i__12640_12664 < count__12639_12663))
{var bm_12665 = cljs.core._nth.call(null,chunk__12638_12662,i__12640_12664);bm_12665.clear();
{
var G__12666 = seq__12637_12661;
var G__12667 = chunk__12638_12662;
var G__12668 = count__12639_12663;
var G__12669 = (i__12640_12664 + 1);
seq__12637_12661 = G__12666;
chunk__12638_12662 = G__12667;
count__12639_12663 = G__12668;
i__12640_12664 = G__12669;
continue;
}
} else
{var temp__4092__auto___12670 = cljs.core.seq.call(null,seq__12637_12661);if(temp__4092__auto___12670)
{var seq__12637_12671__$1 = temp__4092__auto___12670;if(cljs.core.chunked_seq_QMARK_.call(null,seq__12637_12671__$1))
{var c__5632__auto___12672 = cljs.core.chunk_first.call(null,seq__12637_12671__$1);{
var G__12673 = cljs.core.chunk_rest.call(null,seq__12637_12671__$1);
var G__12674 = c__5632__auto___12672;
var G__12675 = cljs.core.count.call(null,c__5632__auto___12672);
var G__12676 = 0;
seq__12637_12661 = G__12673;
chunk__12638_12662 = G__12674;
count__12639_12663 = G__12675;
i__12640_12664 = G__12676;
continue;
}
} else
{var bm_12677 = cljs.core.first.call(null,seq__12637_12671__$1);bm_12677.clear();
{
var G__12678 = cljs.core.next.call(null,seq__12637_12671__$1);
var G__12679 = null;
var G__12680 = 0;
var G__12681 = 0;
seq__12637_12661 = G__12678;
chunk__12638_12662 = G__12679;
count__12639_12663 = G__12680;
i__12640_12664 = G__12681;
continue;
}
}
} else
{}
}
break;
}
return lt.object.assoc_in_BANG_.call(null,ed,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"elm-exposeds-bookmarks","elm-exposeds-bookmarks",1216410620)], null),cljs.core.map.call(null,((function (path,exposeds,cm_ed){
return (function (exposed){return cm_ed.setBookmark({"line": (new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"start","start",1123661780).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"location","location",2914947879).cljs$core$IFn$_invoke$arity$1(exposed))) - 1), "ch": 1});
});})(path,exposeds,cm_ed))
,exposeds));
});})(path,exposeds,cm_ed))
);
return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.gutter.refresh","elm.gutter.refresh",722016962));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.gutter","elm-gutter-exposeds-mark","lt.plugins.elm-light.gutter/elm-gutter-exposeds-mark",2789067959),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.gutter.__BEH__elm_gutter_exposeds_mark,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.gutter.exposeds.mark","elm.gutter.exposeds.mark",3035248815),null], null), null));
}
if(!lt.util.load.provided_QMARK_('cljs.core.async.impl.protocols')) {
goog.provide('cljs.core.async.impl.protocols');
goog.require('cljs.core');
cljs.core.async.impl.protocols.MAX_QUEUE_SIZE = 1024;
cljs.core.async.impl.protocols.ReadPort = (function (){var obj18980 = {};return obj18980;
})();
cljs.core.async.impl.protocols.take_BANG_ = (function take_BANG_(port,fn1_handler){if((function (){var and__4872__auto__ = port;if(and__4872__auto__)
{return port.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2;
} else
{return and__4872__auto__;
}
})())
{return port.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2(port,fn1_handler);
} else
{var x__5511__auto__ = (((port == null))?null:port);return (function (){var or__4884__auto__ = (cljs.core.async.impl.protocols.take_BANG_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.impl.protocols.take_BANG_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"ReadPort.take!",port);
}
}
})().call(null,port,fn1_handler);
}
});
cljs.core.async.impl.protocols.WritePort = (function (){var obj18982 = {};return obj18982;
})();
cljs.core.async.impl.protocols.put_BANG_ = (function put_BANG_(port,val,fn0_handler){if((function (){var and__4872__auto__ = port;if(and__4872__auto__)
{return port.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3;
} else
{return and__4872__auto__;
}
})())
{return port.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(port,val,fn0_handler);
} else
{var x__5511__auto__ = (((port == null))?null:port);return (function (){var or__4884__auto__ = (cljs.core.async.impl.protocols.put_BANG_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.impl.protocols.put_BANG_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"WritePort.put!",port);
}
}
})().call(null,port,val,fn0_handler);
}
});
cljs.core.async.impl.protocols.Channel = (function (){var obj18984 = {};return obj18984;
})();
cljs.core.async.impl.protocols.close_BANG_ = (function close_BANG_(chan){if((function (){var and__4872__auto__ = chan;if(and__4872__auto__)
{return chan.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1;
} else
{return and__4872__auto__;
}
})())
{return chan.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(chan);
} else
{var x__5511__auto__ = (((chan == null))?null:chan);return (function (){var or__4884__auto__ = (cljs.core.async.impl.protocols.close_BANG_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.impl.protocols.close_BANG_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Channel.close!",chan);
}
}
})().call(null,chan);
}
});
cljs.core.async.impl.protocols.Handler = (function (){var obj18986 = {};return obj18986;
})();
cljs.core.async.impl.protocols.active_QMARK_ = (function active_QMARK_(h){if((function (){var and__4872__auto__ = h;if(and__4872__auto__)
{return h.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1;
} else
{return and__4872__auto__;
}
})())
{return h.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(h);
} else
{var x__5511__auto__ = (((h == null))?null:h);return (function (){var or__4884__auto__ = (cljs.core.async.impl.protocols.active_QMARK_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.impl.protocols.active_QMARK_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Handler.active?",h);
}
}
})().call(null,h);
}
});
cljs.core.async.impl.protocols.commit = (function commit(h){if((function (){var and__4872__auto__ = h;if(and__4872__auto__)
{return h.cljs$core$async$impl$protocols$Handler$commit$arity$1;
} else
{return and__4872__auto__;
}
})())
{return h.cljs$core$async$impl$protocols$Handler$commit$arity$1(h);
} else
{var x__5511__auto__ = (((h == null))?null:h);return (function (){var or__4884__auto__ = (cljs.core.async.impl.protocols.commit[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.impl.protocols.commit["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Handler.commit",h);
}
}
})().call(null,h);
}
});
cljs.core.async.impl.protocols.Buffer = (function (){var obj18988 = {};return obj18988;
})();
cljs.core.async.impl.protocols.full_QMARK_ = (function full_QMARK_(b){if((function (){var and__4872__auto__ = b;if(and__4872__auto__)
{return b.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1;
} else
{return and__4872__auto__;
}
})())
{return b.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(b);
} else
{var x__5511__auto__ = (((b == null))?null:b);return (function (){var or__4884__auto__ = (cljs.core.async.impl.protocols.full_QMARK_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.impl.protocols.full_QMARK_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Buffer.full?",b);
}
}
})().call(null,b);
}
});
cljs.core.async.impl.protocols.remove_BANG_ = (function remove_BANG_(b){if((function (){var and__4872__auto__ = b;if(and__4872__auto__)
{return b.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1;
} else
{return and__4872__auto__;
}
})())
{return b.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(b);
} else
{var x__5511__auto__ = (((b == null))?null:b);return (function (){var or__4884__auto__ = (cljs.core.async.impl.protocols.remove_BANG_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.impl.protocols.remove_BANG_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Buffer.remove!",b);
}
}
})().call(null,b);
}
});
cljs.core.async.impl.protocols.add_BANG_ = (function add_BANG_(b,itm){if((function (){var and__4872__auto__ = b;if(and__4872__auto__)
{return b.cljs$core$async$impl$protocols$Buffer$add_BANG_$arity$2;
} else
{return and__4872__auto__;
}
})())
{return b.cljs$core$async$impl$protocols$Buffer$add_BANG_$arity$2(b,itm);
} else
{var x__5511__auto__ = (((b == null))?null:b);return (function (){var or__4884__auto__ = (cljs.core.async.impl.protocols.add_BANG_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.impl.protocols.add_BANG_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Buffer.add!",b);
}
}
})().call(null,b,itm);
}
});
cljs.core.async.impl.protocols.UnblockingBuffer = (function (){var obj18990 = {};return obj18990;
})();
}
if(!lt.util.load.provided_QMARK_('cljs.core.async.impl.buffers')) {
goog.provide('cljs.core.async.impl.buffers');
goog.require('cljs.core');
goog.require('cljs.core.async.impl.protocols');
goog.require('cljs.core.async.impl.protocols');
cljs.core.async.impl.buffers.acopy = (function acopy(src,src_start,dest,dest_start,len){var cnt = 0;while(true){
if((cnt < len))
{(dest[(dest_start + cnt)] = (src[(src_start + cnt)]));
{
var G__18945 = (cnt + 1);
cnt = G__18945;
continue;
}
} else
{return null;
}
break;
}
});
/**
* @constructor
*/
cljs.core.async.impl.buffers.RingBuffer = (function (head,tail,length,arr){
this.head = head;
this.tail = tail;
this.length = length;
this.arr = arr;
})
cljs.core.async.impl.buffers.RingBuffer.cljs$lang$type = true;
cljs.core.async.impl.buffers.RingBuffer.cljs$lang$ctorStr = "cljs.core.async.impl.buffers/RingBuffer";
cljs.core.async.impl.buffers.RingBuffer.cljs$lang$ctorPrWriter = (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async.impl.buffers/RingBuffer");
});
cljs.core.async.impl.buffers.RingBuffer.prototype.pop = (function (){var self__ = this;
var _ = this;if((self__.length === 0))
{return null;
} else
{var x = (self__.arr[self__.tail]);(self__.arr[self__.tail] = null);
self__.tail = ((self__.tail + 1) % self__.arr.length);
self__.length = (self__.length - 1);
return x;
}
});
cljs.core.async.impl.buffers.RingBuffer.prototype.unshift = (function (x){var self__ = this;
var _ = this;(self__.arr[self__.head] = x);
self__.head = ((self__.head + 1) % self__.arr.length);
self__.length = (self__.length + 1);
return null;
});
cljs.core.async.impl.buffers.RingBuffer.prototype.unbounded_unshift = (function (x){var self__ = this;
var this$ = this;if(((self__.length + 1) === self__.arr.length))
{this$.resize();
} else
{}
return this$.unshift(x);
});
cljs.core.async.impl.buffers.RingBuffer.prototype.resize = (function (){var self__ = this;
var _ = this;var new_arr_size = (self__.arr.length * 2);var new_arr = (new Array(new_arr_size));if((self__.tail < self__.head))
{cljs.core.async.impl.buffers.acopy.call(null,self__.arr,self__.tail,new_arr,0,self__.length);
self__.tail = 0;
self__.head = self__.length;
return self__.arr = new_arr;
} else
{if((self__.tail > self__.head))
{cljs.core.async.impl.buffers.acopy.call(null,self__.arr,self__.tail,new_arr,0,(self__.arr.length - self__.tail));
cljs.core.async.impl.buffers.acopy.call(null,self__.arr,0,new_arr,(self__.arr.length - self__.tail),self__.head);
self__.tail = 0;
self__.head = self__.length;
return self__.arr = new_arr;
} else
{if((self__.tail === self__.head))
{self__.tail = 0;
self__.head = 0;
return self__.arr = new_arr;
} else
{return null;
}
}
}
});
cljs.core.async.impl.buffers.RingBuffer.prototype.cleanup = (function (keep_QMARK_){var self__ = this;
var this$ = this;var n__5732__auto__ = self__.length;var x = 0;while(true){
if((x < n__5732__auto__))
{var v_18946 = this$.pop();if(keep_QMARK_.call(null,v_18946))
{this$.unshift(v_18946);
} else
{}
{
var G__18947 = (x + 1);
x = G__18947;
continue;
}
} else
{return null;
}
break;
}
});
cljs.core.async.impl.buffers.__GT_RingBuffer = (function __GT_RingBuffer(head,tail,length,arr){return (new cljs.core.async.impl.buffers.RingBuffer(head,tail,length,arr));
});
cljs.core.async.impl.buffers.ring_buffer = (function ring_buffer(n){if((n > 0))
{} else
{throw (new Error([cljs.core.str("Assert failed: "),cljs.core.str("Can't create a ring buffer of size 0"),cljs.core.str("\n"),cljs.core.str(cljs.core.pr_str.call(null,cljs.core.list(new cljs.core.Symbol(null,">",">",-1640531465,null),new cljs.core.Symbol(null,"n","n",-1640531417,null),0)))].join('')));
}
return (new cljs.core.async.impl.buffers.RingBuffer(0,0,0,(new Array(n))));
});
/**
* @constructor
*/
cljs.core.async.impl.buffers.FixedBuffer = (function (buf,n){
this.buf = buf;
this.n = n;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 2;
})
cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$type = true;
cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$ctorStr = "cljs.core.async.impl.buffers/FixedBuffer";
cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$ctorPrWriter = (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async.impl.buffers/FixedBuffer");
});
cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$ICounted$_count$arity$1 = (function (this$){var self__ = this;
var this$__$1 = this;return self__.buf.length;
});
cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ = true;
cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 = (function (this$){var self__ = this;
var this$__$1 = this;return (self__.buf.length === self__.n);
});
cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 = (function (this$){var self__ = this;
var this$__$1 = this;return self__.buf.pop();
});
cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG_$arity$2 = (function (this$,itm){var self__ = this;
var this$__$1 = this;if(cljs.core.not.call(null,cljs.core.async.impl.protocols.full_QMARK_.call(null,this$__$1)))
{} else
{throw (new Error([cljs.core.str("Assert failed: "),cljs.core.str("Can't add to a full buffer"),cljs.core.str("\n"),cljs.core.str(cljs.core.pr_str.call(null,cljs.core.list(new cljs.core.Symbol(null,"not","not",-1640422260,null),cljs.core.list(new cljs.core.Symbol("impl","full?","impl/full?",-1337857039,null),new cljs.core.Symbol(null,"this","this",-1636972457,null)))))].join('')));
}
return self__.buf.unshift(itm);
});
cljs.core.async.impl.buffers.__GT_FixedBuffer = (function __GT_FixedBuffer(buf,n){return (new cljs.core.async.impl.buffers.FixedBuffer(buf,n));
});
cljs.core.async.impl.buffers.fixed_buffer = (function fixed_buffer(n){return (new cljs.core.async.impl.buffers.FixedBuffer(cljs.core.async.impl.buffers.ring_buffer.call(null,n),n));
});
/**
* @constructor
*/
cljs.core.async.impl.buffers.DroppingBuffer = (function (buf,n){
this.buf = buf;
this.n = n;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 2;
})
cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$type = true;
cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$ctorStr = "cljs.core.async.impl.buffers/DroppingBuffer";
cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$ctorPrWriter = (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async.impl.buffers/DroppingBuffer");
});
cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$ICounted$_count$arity$1 = (function (this$){var self__ = this;
var this$__$1 = this;return self__.buf.length;
});
cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ = true;
cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 = (function (this$){var self__ = this;
var this$__$1 = this;return false;
});
cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 = (function (this$){var self__ = this;
var this$__$1 = this;return self__.buf.pop();
});
cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG_$arity$2 = (function (this$,itm){var self__ = this;
var this$__$1 = this;if((self__.buf.length === self__.n))
{return null;
} else
{return self__.buf.unshift(itm);
}
});
cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ = true;
cljs.core.async.impl.buffers.__GT_DroppingBuffer = (function __GT_DroppingBuffer(buf,n){return (new cljs.core.async.impl.buffers.DroppingBuffer(buf,n));
});
cljs.core.async.impl.buffers.dropping_buffer = (function dropping_buffer(n){return (new cljs.core.async.impl.buffers.DroppingBuffer(cljs.core.async.impl.buffers.ring_buffer.call(null,n),n));
});
/**
* @constructor
*/
cljs.core.async.impl.buffers.SlidingBuffer = (function (buf,n){
this.buf = buf;
this.n = n;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 2;
})
cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$type = true;
cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$ctorStr = "cljs.core.async.impl.buffers/SlidingBuffer";
cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$ctorPrWriter = (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async.impl.buffers/SlidingBuffer");
});
cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$ICounted$_count$arity$1 = (function (this$){var self__ = this;
var this$__$1 = this;return self__.buf.length;
});
cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ = true;
cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 = (function (this$){var self__ = this;
var this$__$1 = this;return false;
});
cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 = (function (this$){var self__ = this;
var this$__$1 = this;return self__.buf.pop();
});
cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG_$arity$2 = (function (this$,itm){var self__ = this;
var this$__$1 = this;if((self__.buf.length === self__.n))
{cljs.core.async.impl.protocols.remove_BANG_.call(null,this$__$1);
} else
{}
return self__.buf.unshift(itm);
});
cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ = true;
cljs.core.async.impl.buffers.__GT_SlidingBuffer = (function __GT_SlidingBuffer(buf,n){return (new cljs.core.async.impl.buffers.SlidingBuffer(buf,n));
});
cljs.core.async.impl.buffers.sliding_buffer = (function sliding_buffer(n){return (new cljs.core.async.impl.buffers.SlidingBuffer(cljs.core.async.impl.buffers.ring_buffer.call(null,n),n));
});
}
if(!lt.util.load.provided_QMARK_('cljs.core.async.impl.dispatch')) {
goog.provide('cljs.core.async.impl.dispatch');
goog.require('cljs.core');
goog.require('cljs.core.async.impl.buffers');
goog.require('cljs.core.async.impl.buffers');
cljs.core.async.impl.dispatch.message_channel = null;
cljs.core.async.impl.dispatch.tasks = cljs.core.async.impl.buffers.ring_buffer.call(null,32);
cljs.core.async.impl.dispatch.running_QMARK_ = false;
cljs.core.async.impl.dispatch.queued_QMARK_ = false;
cljs.core.async.impl.dispatch.TASK_BATCH_SIZE = 1024;
cljs.core.async.impl.dispatch.process_messages = (function process_messages(){cljs.core.async.impl.dispatch.running_QMARK_ = true;
cljs.core.async.impl.dispatch.queued_QMARK_ = false;
var count_18976 = 0;while(true){
var m_18977 = cljs.core.async.impl.dispatch.tasks.pop();if((m_18977 == null))
{} else
{m_18977.call(null);
if((count_18976 < cljs.core.async.impl.dispatch.TASK_BATCH_SIZE))
{{
var G__18978 = (count_18976 + 1);
count_18976 = G__18978;
continue;
}
} else
{}
}
break;
}
cljs.core.async.impl.dispatch.running_QMARK_ = false;
if((cljs.core.async.impl.dispatch.tasks.length > 0))
{return cljs.core.async.impl.dispatch.queue_dispatcher.call(null);
} else
{return null;
}
});
if(typeof MessageChannel !== 'undefined')
{cljs.core.async.impl.dispatch.message_channel = (new MessageChannel());
cljs.core.async.impl.dispatch.message_channel.port1.onmessage = (function (msg){return cljs.core.async.impl.dispatch.process_messages.call(null);
});
} else
{}
cljs.core.async.impl.dispatch.queue_dispatcher = (function queue_dispatcher(){if(cljs.core.truth_((function (){var and__4872__auto__ = cljs.core.async.impl.dispatch.queued_QMARK_;if(and__4872__auto__)
{return cljs.core.async.impl.dispatch.running_QMARK_;
} else
{return and__4872__auto__;
}
})()))
{return null;
} else
{cljs.core.async.impl.dispatch.queued_QMARK_ = true;
if(typeof MessageChannel !== 'undefined')
{return cljs.core.async.impl.dispatch.message_channel.port2.postMessage(0);
} else
{if(typeof setImmediate !== 'undefined')
{return setImmediate(cljs.core.async.impl.dispatch.process_messages);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return setTimeout(cljs.core.async.impl.dispatch.process_messages,0);
} else
{return null;
}
}
}
}
});
cljs.core.async.impl.dispatch.run = (function run(f){cljs.core.async.impl.dispatch.tasks.unbounded_unshift(f);
return cljs.core.async.impl.dispatch.queue_dispatcher.call(null);
});
cljs.core.async.impl.dispatch.queue_delay = (function queue_delay(f,delay){return setTimeout(f,delay);
});
}
if(!lt.util.load.provided_QMARK_('cljs.core.async.impl.channels')) {
goog.provide('cljs.core.async.impl.channels');
goog.require('cljs.core');
goog.require('cljs.core.async.impl.buffers');
goog.require('cljs.core.async.impl.buffers');
goog.require('cljs.core.async.impl.dispatch');
goog.require('cljs.core.async.impl.dispatch');
goog.require('cljs.core.async.impl.protocols');
goog.require('cljs.core.async.impl.protocols');
cljs.core.async.impl.channels.box = (function box(val){if(typeof cljs.core.async.impl.channels.t18951 !== 'undefined')
{} else
{
/**
* @constructor
*/
cljs.core.async.impl.channels.t18951 = (function (val,box,meta18952){
this.val = val;
this.box = box;
this.meta18952 = meta18952;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 425984;
})
cljs.core.async.impl.channels.t18951.cljs$lang$type = true;
cljs.core.async.impl.channels.t18951.cljs$lang$ctorStr = "cljs.core.async.impl.channels/t18951";
cljs.core.async.impl.channels.t18951.cljs$lang$ctorPrWriter = (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async.impl.channels/t18951");
});
cljs.core.async.impl.channels.t18951.prototype.cljs$core$IDeref$_deref$arity$1 = (function (_){var self__ = this;
var ___$1 = this;return self__.val;
});
cljs.core.async.impl.channels.t18951.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_18953){var self__ = this;
var _18953__$1 = this;return self__.meta18952;
});
cljs.core.async.impl.channels.t18951.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_18953,meta18952__$1){var self__ = this;
var _18953__$1 = this;return (new cljs.core.async.impl.channels.t18951(self__.val,self__.box,meta18952__$1));
});
cljs.core.async.impl.channels.__GT_t18951 = (function __GT_t18951(val__$1,box__$1,meta18952){return (new cljs.core.async.impl.channels.t18951(val__$1,box__$1,meta18952));
});
}
return (new cljs.core.async.impl.channels.t18951(val,box,null));
});
/**
* @constructor
*/
cljs.core.async.impl.channels.PutBox = (function (handler,val){
this.handler = handler;
this.val = val;
})
cljs.core.async.impl.channels.PutBox.cljs$lang$type = true;
cljs.core.async.impl.channels.PutBox.cljs$lang$ctorStr = "cljs.core.async.impl.channels/PutBox";
cljs.core.async.impl.channels.PutBox.cljs$lang$ctorPrWriter = (function (this__5454__auto__,writer__5455__auto__,opts__5456__auto__){return cljs.core._write.call(null,writer__5455__auto__,"cljs.core.async.impl.channels/PutBox");
});
cljs.core.async.impl.channels.__GT_PutBox = (function __GT_PutBox(handler,val){return (new cljs.core.async.impl.channels.PutBox(handler,val));
});
cljs.core.async.impl.channels.put_active_QMARK_ = (function put_active_QMARK_(box){return cljs.core.async.impl.protocols.active_QMARK_.call(null,box.handler);
});
cljs.core.async.impl.channels.MAX_DIRTY = 64;
/**
* @constructor
*/
cljs.core.async.impl.channels.ManyToManyChannel = (function (takes,dirty_takes,puts,dirty_puts,buf,closed){
this.takes = takes;
this.dirty_takes = dirty_takes;
this.puts = puts;
this.dirty_puts = dirty_puts;
this.buf = buf;
this.closed = closed;
})
cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$type = true;
cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorStr = "cljs.core.async.impl.channels/ManyToManyChannel";
cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorPrWriter = (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async.impl.channels/ManyToManyChannel");
});
cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$ = true;
cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 = (function (this$){var self__ = this;
var this$__$1 = this;if(self__.closed)
{return null;
} else
{self__.closed = true;
while(true){
var taker_18964 = self__.takes.pop();if((taker_18964 == null))
{} else
{if(cljs.core.async.impl.protocols.active_QMARK_.call(null,taker_18964))
{var take_cb_18965 = cljs.core.async.impl.protocols.commit.call(null,taker_18964);cljs.core.async.impl.dispatch.run.call(null,((function (take_cb_18965,taker_18964,this$__$1){
return (function (){return take_cb_18965.call(null,null);
});})(take_cb_18965,taker_18964,this$__$1))
);
} else
{}
{
continue;
}
}
break;
}
return null;
}
});
cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$ = true;
cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 = (function (this$,handler){var self__ = this;
var this$__$1 = this;if(!(cljs.core.async.impl.protocols.active_QMARK_.call(null,handler)))
{return null;
} else
{if((!((self__.buf == null))) && ((cljs.core.count.call(null,self__.buf) > 0)))
{var _ = cljs.core.async.impl.protocols.commit.call(null,handler);return cljs.core.async.impl.channels.box.call(null,cljs.core.async.impl.protocols.remove_BANG_.call(null,self__.buf));
} else
{while(true){
var putter = self__.puts.pop();if(!((putter == null)))
{var put_handler = putter.handler;var val = putter.val;if(cljs.core.async.impl.protocols.active_QMARK_.call(null,put_handler))
{var put_cb = cljs.core.async.impl.protocols.commit.call(null,put_handler);var _ = cljs.core.async.impl.protocols.commit.call(null,handler);cljs.core.async.impl.dispatch.run.call(null,put_cb);
return cljs.core.async.impl.channels.box.call(null,val);
} else
{{
continue;
}
}
} else
{if(self__.closed)
{var _ = cljs.core.async.impl.protocols.commit.call(null,handler);return cljs.core.async.impl.channels.box.call(null,null);
} else
{if((self__.dirty_takes > cljs.core.async.impl.channels.MAX_DIRTY))
{self__.dirty_takes = 0;
self__.takes.cleanup(cljs.core.async.impl.protocols.active_QMARK_);
} else
{self__.dirty_takes = (self__.dirty_takes + 1);
}
if((self__.takes.length < cljs.core.async.impl.protocols.MAX_QUEUE_SIZE))
{} else
{throw (new Error([cljs.core.str("Assert failed: "),cljs.core.str([cljs.core.str("No more than "),cljs.core.str(cljs.core.async.impl.protocols.MAX_QUEUE_SIZE),cljs.core.str(" pending takes are allowed on a single channel.")].join('')),cljs.core.str("\n"),cljs.core.str(cljs.core.pr_str.call(null,cljs.core.list(new cljs.core.Symbol(null,"<","<",-1640531467,null),cljs.core.list(new cljs.core.Symbol(null,".-length",".-length",1395928862,null),new cljs.core.Symbol(null,"takes","takes",-1530407291,null)),new cljs.core.Symbol("impl","MAX-QUEUE-SIZE","impl/MAX-QUEUE-SIZE",-1989946393,null))))].join('')));
}
self__.takes.unbounded_unshift(handler);
return null;
}
}
break;
}
}
}
});
cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$ = true;
cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 = (function (this$,val,handler){var self__ = this;
var this$__$1 = this;if(!((val == null)))
{} else
{throw (new Error([cljs.core.str("Assert failed: "),cljs.core.str("Can't put nil in on a channel"),cljs.core.str("\n"),cljs.core.str(cljs.core.pr_str.call(null,cljs.core.list(new cljs.core.Symbol(null,"not","not",-1640422260,null),cljs.core.list(new cljs.core.Symbol(null,"nil?","nil?",-1637150201,null),new cljs.core.Symbol(null,"val","val",-1640415014,null)))))].join('')));
}
var closed__$1 = self__.closed;if((closed__$1) || (!(cljs.core.async.impl.protocols.active_QMARK_.call(null,handler))))
{return cljs.core.async.impl.channels.box.call(null,null);
} else
{while(true){
var taker = self__.takes.pop();if(!((taker == null)))
{if(cljs.core.async.impl.protocols.active_QMARK_.call(null,taker))
{var take_cb = cljs.core.async.impl.protocols.commit.call(null,taker);var _ = cljs.core.async.impl.protocols.commit.call(null,handler);cljs.core.async.impl.dispatch.run.call(null,((function (take_cb,_,taker,closed__$1,this$__$1){
return (function (){return take_cb.call(null,val);
});})(take_cb,_,taker,closed__$1,this$__$1))
);
return cljs.core.async.impl.channels.box.call(null,null);
} else
{{
continue;
}
}
} else
{if(!(((self__.buf == null)) || (cljs.core.async.impl.protocols.full_QMARK_.call(null,self__.buf))))
{var _ = cljs.core.async.impl.protocols.commit.call(null,handler);cljs.core.async.impl.protocols.add_BANG_.call(null,self__.buf,val);
return cljs.core.async.impl.channels.box.call(null,null);
} else
{if((self__.dirty_puts > cljs.core.async.impl.channels.MAX_DIRTY))
{self__.dirty_puts = 0;
self__.puts.cleanup(cljs.core.async.impl.channels.put_active_QMARK_);
} else
{self__.dirty_puts = (self__.dirty_puts + 1);
}
if((self__.puts.length < cljs.core.async.impl.protocols.MAX_QUEUE_SIZE))
{} else
{throw (new Error([cljs.core.str("Assert failed: "),cljs.core.str([cljs.core.str("No more than "),cljs.core.str(cljs.core.async.impl.protocols.MAX_QUEUE_SIZE),cljs.core.str(" pending puts are allowed on a single channel."),cljs.core.str(" Consider using a windowed buffer.")].join('')),cljs.core.str("\n"),cljs.core.str(cljs.core.pr_str.call(null,cljs.core.list(new cljs.core.Symbol(null,"<","<",-1640531467,null),cljs.core.list(new cljs.core.Symbol(null,".-length",".-length",1395928862,null),new cljs.core.Symbol(null,"puts","puts",-1637078787,null)),new cljs.core.Symbol("impl","MAX-QUEUE-SIZE","impl/MAX-QUEUE-SIZE",-1989946393,null))))].join('')));
}
self__.puts.unbounded_unshift((new cljs.core.async.impl.channels.PutBox(handler,val)));
return null;
}
}
break;
}
}
});
cljs.core.async.impl.channels.__GT_ManyToManyChannel = (function __GT_ManyToManyChannel(takes,dirty_takes,puts,dirty_puts,buf,closed){return (new cljs.core.async.impl.channels.ManyToManyChannel(takes,dirty_takes,puts,dirty_puts,buf,closed));
});
cljs.core.async.impl.channels.chan = (function chan(buf){return (new cljs.core.async.impl.channels.ManyToManyChannel(cljs.core.async.impl.buffers.ring_buffer.call(null,32),0,cljs.core.async.impl.buffers.ring_buffer.call(null,32),0,buf,null));
});
}
if(!lt.util.load.provided_QMARK_('cljs.core.async.impl.timers')) {
goog.provide('cljs.core.async.impl.timers');
goog.require('cljs.core');
goog.require('cljs.core.async.impl.dispatch');
goog.require('cljs.core.async.impl.dispatch');
goog.require('cljs.core.async.impl.channels');
goog.require('cljs.core.async.impl.channels');
goog.require('cljs.core.async.impl.protocols');
goog.require('cljs.core.async.impl.protocols');
cljs.core.async.impl.timers.MAX_LEVEL = 15;
cljs.core.async.impl.timers.P = (1 / 2);
cljs.core.async.impl.timers.random_level = (function() {
var random_level = null;
var random_level__0 = (function (){return random_level.call(null,0);
});
var random_level__1 = (function (level){while(true){
if(((Math.random() < cljs.core.async.impl.timers.P)) && ((level < cljs.core.async.impl.timers.MAX_LEVEL)))
{{
var G__19011 = (level + 1);
level = G__19011;
continue;
}
} else
{return level;
}
break;
}
});
random_level = function(level){
switch(arguments.length){
case 0:
return random_level__0.call(this);
case 1:
return random_level__1.call(this,level);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
random_level.cljs$core$IFn$_invoke$arity$0 = random_level__0;
random_level.cljs$core$IFn$_invoke$arity$1 = random_level__1;
return random_level;
})()
;
/**
* @constructor
*/
cljs.core.async.impl.timers.SkipListNode = (function (key,val,forward){
this.key = key;
this.val = val;
this.forward = forward;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 2155872256;
})
cljs.core.async.impl.timers.SkipListNode.cljs$lang$type = true;
cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorStr = "cljs.core.async.impl.timers/SkipListNode";
cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorPrWriter = (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async.impl.timers/SkipListNode");
});
cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){var self__ = this;
var coll__$1 = this;return cljs.core.pr_sequential_writer.call(null,writer,cljs.core.pr_writer,"["," ","]",opts,coll__$1);
});
cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){var self__ = this;
var coll__$1 = this;return cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,self__.val),self__.key);
});
cljs.core.async.impl.timers.__GT_SkipListNode = (function __GT_SkipListNode(key,val,forward){return (new cljs.core.async.impl.timers.SkipListNode(key,val,forward));
});
cljs.core.async.impl.timers.skip_list_node = (function() {
var skip_list_node = null;
var skip_list_node__1 = (function (level){return skip_list_node.call(null,null,null,level);
});
var skip_list_node__3 = (function (k,v,level){var arr = (new Array((level + 1)));var i_19012 = 0;while(true){
if((i_19012 < arr.length))
{(arr[i_19012] = null);
{
var G__19013 = (i_19012 + 1);
i_19012 = G__19013;
continue;
}
} else
{}
break;
}
return (new cljs.core.async.impl.timers.SkipListNode(k,v,arr));
});
skip_list_node = function(k,v,level){
switch(arguments.length){
case 1:
return skip_list_node__1.call(this,k);
case 3:
return skip_list_node__3.call(this,k,v,level);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
skip_list_node.cljs$core$IFn$_invoke$arity$1 = skip_list_node__1;
skip_list_node.cljs$core$IFn$_invoke$arity$3 = skip_list_node__3;
return skip_list_node;
})()
;
cljs.core.async.impl.timers.least_greater_node = (function() {
var least_greater_node = null;
var least_greater_node__3 = (function (x,k,level){return least_greater_node.call(null,x,k,level,null);
});
var least_greater_node__4 = (function (x,k,level,update){while(true){
if(!((level < 0)))
{var x__$1 = (function (){var x__$1 = x;while(true){
var temp__4090__auto__ = (x__$1.forward[level]);if(cljs.core.truth_(temp__4090__auto__))
{var x_SINGLEQUOTE_ = temp__4090__auto__;if((x_SINGLEQUOTE_.key < k))
{{
var G__19014 = x_SINGLEQUOTE_;
x__$1 = G__19014;
continue;
}
} else
{return x__$1;
}
} else
{return x__$1;
}
break;
}
})();if((update == null))
{} else
{(update[level] = x__$1);
}
{
var G__19015 = x__$1;
var G__19016 = k;
var G__19017 = (level - 1);
var G__19018 = update;
x = G__19015;
k = G__19016;
level = G__19017;
update = G__19018;
continue;
}
} else
{return x;
}
break;
}
});
least_greater_node = function(x,k,level,update){
switch(arguments.length){
case 3:
return least_greater_node__3.call(this,x,k,level);
case 4:
return least_greater_node__4.call(this,x,k,level,update);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
least_greater_node.cljs$core$IFn$_invoke$arity$3 = least_greater_node__3;
least_greater_node.cljs$core$IFn$_invoke$arity$4 = least_greater_node__4;
return least_greater_node;
})()
;
/**
* @constructor
*/
cljs.core.async.impl.timers.SkipList = (function (header,level){
this.header = header;
this.level = level;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 2155872256;
})
cljs.core.async.impl.timers.SkipList.cljs$lang$type = true;
cljs.core.async.impl.timers.SkipList.cljs$lang$ctorStr = "cljs.core.async.impl.timers/SkipList";
cljs.core.async.impl.timers.SkipList.cljs$lang$ctorPrWriter = (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async.impl.timers/SkipList");
});
cljs.core.async.impl.timers.SkipList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){var self__ = this;
var coll__$1 = this;var pr_pair = ((function (coll__$1){
return (function (keyval){return cljs.core.pr_sequential_writer.call(null,writer,cljs.core.pr_writer,""," ","",opts,keyval);
});})(coll__$1))
;return cljs.core.pr_sequential_writer.call(null,writer,pr_pair,"{",", ","}",opts,coll__$1);
});
cljs.core.async.impl.timers.SkipList.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){var self__ = this;
var coll__$1 = this;var iter = ((function (coll__$1){
return (function iter(node){return (new cljs.core.LazySeq(null,((function (coll__$1){
return (function (){if((node == null))
{return null;
} else
{return cljs.core.cons.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [node.key,node.val], null),iter.call(null,(node.forward[0])));
}
});})(coll__$1))
,null,null));
});})(coll__$1))
;
return iter.call(null,(self__.header.forward[0]));
});
cljs.core.async.impl.timers.SkipList.prototype.put = (function (k,v){var self__ = this;
var coll = this;var update = (new Array(cljs.core.async.impl.timers.MAX_LEVEL));var x = cljs.core.async.impl.timers.least_greater_node.call(null,self__.header,k,self__.level,update);var x__$1 = (x.forward[0]);if((!((x__$1 == null))) && ((x__$1.key === k)))
{return x__$1.val = v;
} else
{var new_level = cljs.core.async.impl.timers.random_level.call(null);if((new_level > self__.level))
{var i_19019 = (self__.level + 1);while(true){
if((i_19019 <= (new_level + 1)))
{(update[i_19019] = self__.header);
{
var G__19020 = (i_19019 + 1);
i_19019 = G__19020;
continue;
}
} else
{}
break;
}
self__.level = new_level;
} else
{}
var x__$2 = cljs.core.async.impl.timers.skip_list_node.call(null,k,v,(new Array(new_level)));var i = 0;while(true){
if((i <= self__.level))
{var links = (update[i]).forward;(x__$2.forward[i] = (links[i]));
return (links[i] = x__$2);
} else
{return null;
}
break;
}
}
});
cljs.core.async.impl.timers.SkipList.prototype.remove = (function (k){var self__ = this;
var coll = this;var update = (new Array(cljs.core.async.impl.timers.MAX_LEVEL));var x = cljs.core.async.impl.timers.least_greater_node.call(null,self__.header,k,self__.level,update);var x__$1 = (x.forward[0]);if((!((x__$1 == null))) && ((x__$1.key === k)))
{var i_19021 = 0;while(true){
if((i_19021 <= self__.level))
{var links_19022 = (update[i_19021]).forward;if(((links_19022[i_19021]) === x__$1))
{(links_19022[i_19021] = (x__$1.forward[i_19021]));
{
var G__19023 = (i_19021 + 1);
i_19021 = G__19023;
continue;
}
} else
{{
var G__19024 = (i_19021 + 1);
i_19021 = G__19024;
continue;
}
}
} else
{}
break;
}
while(true){
if(((self__.level > 0)) && (((self__.header.forward[self__.level]) == null)))
{self__.level = (self__.level - 1);
{
continue;
}
} else
{return null;
}
break;
}
} else
{return null;
}
});
cljs.core.async.impl.timers.SkipList.prototype.ceilingEntry = (function (k){var self__ = this;
var coll = this;var x = self__.header;var level__$1 = self__.level;while(true){
if(!((level__$1 < 0)))
{var nx = (function (){var x__$1 = x;while(true){
var x_SINGLEQUOTE_ = (x__$1.forward[level__$1]);if((x_SINGLEQUOTE_ == null))
{return null;
} else
{if((x_SINGLEQUOTE_.key >= k))
{return x_SINGLEQUOTE_;
} else
{{
var G__19025 = x_SINGLEQUOTE_;
x__$1 = G__19025;
continue;
}
}
}
break;
}
})();if(!((nx == null)))
{{
var G__19026 = nx;
var G__19027 = (level__$1 - 1);
x = G__19026;
level__$1 = G__19027;
continue;
}
} else
{{
var G__19028 = x;
var G__19029 = (level__$1 - 1);
x = G__19028;
level__$1 = G__19029;
continue;
}
}
} else
{if((x === self__.header))
{return null;
} else
{return x;
}
}
break;
}
});
cljs.core.async.impl.timers.SkipList.prototype.floorEntry = (function (k){var self__ = this;
var coll = this;var x = self__.header;var level__$1 = self__.level;while(true){
if(!((level__$1 < 0)))
{var nx = (function (){var x__$1 = x;while(true){
var x_SINGLEQUOTE_ = (x__$1.forward[level__$1]);if(!((x_SINGLEQUOTE_ == null)))
{if((x_SINGLEQUOTE_.key > k))
{return x__$1;
} else
{{
var G__19030 = x_SINGLEQUOTE_;
x__$1 = G__19030;
continue;
}
}
} else
{if((level__$1 === 0))
{return x__$1;
} else
{return null;
}
}
break;
}
})();if(cljs.core.truth_(nx))
{{
var G__19031 = nx;
var G__19032 = (level__$1 - 1);
x = G__19031;
level__$1 = G__19032;
continue;
}
} else
{{
var G__19033 = x;
var G__19034 = (level__$1 - 1);
x = G__19033;
level__$1 = G__19034;
continue;
}
}
} else
{if((x === self__.header))
{return null;
} else
{return x;
}
}
break;
}
});
cljs.core.async.impl.timers.__GT_SkipList = (function __GT_SkipList(header,level){return (new cljs.core.async.impl.timers.SkipList(header,level));
});
cljs.core.async.impl.timers.skip_list = (function skip_list(){return (new cljs.core.async.impl.timers.SkipList(cljs.core.async.impl.timers.skip_list_node.call(null,0),0));
});
cljs.core.async.impl.timers.timeouts_map = cljs.core.async.impl.timers.skip_list.call(null);
cljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS = 10;
/**
* returns a channel that will close after msecs
*/
cljs.core.async.impl.timers.timeout = (function timeout(msecs){var timeout__$1 = ((new Date()).valueOf() + msecs);var me = cljs.core.async.impl.timers.timeouts_map.ceilingEntry(timeout__$1);var or__4884__auto__ = (cljs.core.truth_((function (){var and__4872__auto__ = me;if(cljs.core.truth_(and__4872__auto__))
{return (me.key < (timeout__$1 + cljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS));
} else
{return and__4872__auto__;
}
})())?me.val:null);if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{var timeout_channel = cljs.core.async.impl.channels.chan.call(null,null);cljs.core.async.impl.timers.timeouts_map.put(timeout__$1,timeout_channel);
cljs.core.async.impl.dispatch.queue_delay.call(null,((function (timeout_channel,or__4884__auto__,timeout__$1,me){
return (function (){cljs.core.async.impl.timers.timeouts_map.remove(timeout__$1);
return cljs.core.async.impl.protocols.close_BANG_.call(null,timeout_channel);
});})(timeout_channel,or__4884__auto__,timeout__$1,me))
,msecs);
return timeout_channel;
}
});
}
if(!lt.util.load.provided_QMARK_('cljs.core.async.impl.ioc-helpers')) {
goog.provide('cljs.core.async.impl.ioc_helpers');
goog.require('cljs.core');
goog.require('cljs.core.async.impl.protocols');
goog.require('cljs.core.async.impl.protocols');
cljs.core.async.impl.ioc_helpers.FN_IDX = 0;
cljs.core.async.impl.ioc_helpers.STATE_IDX = 1;
cljs.core.async.impl.ioc_helpers.VALUE_IDX = 2;
cljs.core.async.impl.ioc_helpers.BINDINGS_IDX = 3;
cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES = 4;
cljs.core.async.impl.ioc_helpers.CURRENT_EXCEPTION = 5;
cljs.core.async.impl.ioc_helpers.USER_START_IDX = 6;
cljs.core.async.impl.ioc_helpers.aset_object = (function aset_object(arr,idx,o){return (arr[idx][o]);
});
cljs.core.async.impl.ioc_helpers.aget_object = (function aget_object(arr,idx){return (arr[idx]);
});
/**
* Returns true if the machine is in a finished state
*/
cljs.core.async.impl.ioc_helpers.finished_QMARK_ = (function finished_QMARK_(state_array){return cljs.core.keyword_identical_QMARK_.call(null,(state_array[cljs.core.async.impl.ioc_helpers.STATE_IDX]),new cljs.core.Keyword(null,"finished","finished",4635210724));
});
cljs.core.async.impl.ioc_helpers.fn_handler = (function fn_handler(f){if(typeof cljs.core.async.impl.ioc_helpers.t18875 !== 'undefined')
{} else
{
/**
* @constructor
*/
cljs.core.async.impl.ioc_helpers.t18875 = (function (f,fn_handler,meta18876){
this.f = f;
this.fn_handler = fn_handler;
this.meta18876 = meta18876;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 393216;
})
cljs.core.async.impl.ioc_helpers.t18875.cljs$lang$type = true;
cljs.core.async.impl.ioc_helpers.t18875.cljs$lang$ctorStr = "cljs.core.async.impl.ioc-helpers/t18875";
cljs.core.async.impl.ioc_helpers.t18875.cljs$lang$ctorPrWriter = (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async.impl.ioc-helpers/t18875");
});
cljs.core.async.impl.ioc_helpers.t18875.prototype.cljs$core$async$impl$protocols$Handler$ = true;
cljs.core.async.impl.ioc_helpers.t18875.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = (function (_){var self__ = this;
var ___$1 = this;return true;
});
cljs.core.async.impl.ioc_helpers.t18875.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = (function (_){var self__ = this;
var ___$1 = this;return self__.f;
});
cljs.core.async.impl.ioc_helpers.t18875.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_18877){var self__ = this;
var _18877__$1 = this;return self__.meta18876;
});
cljs.core.async.impl.ioc_helpers.t18875.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_18877,meta18876__$1){var self__ = this;
var _18877__$1 = this;return (new cljs.core.async.impl.ioc_helpers.t18875(self__.f,self__.fn_handler,meta18876__$1));
});
cljs.core.async.impl.ioc_helpers.__GT_t18875 = (function __GT_t18875(f__$1,fn_handler__$1,meta18876){return (new cljs.core.async.impl.ioc_helpers.t18875(f__$1,fn_handler__$1,meta18876));
});
}
return (new cljs.core.async.impl.ioc_helpers.t18875(f,fn_handler,null));
});
cljs.core.async.impl.ioc_helpers.run_state_machine = (function run_state_machine(state){return cljs.core.async.impl.ioc_helpers.aget_object.call(null,state,cljs.core.async.impl.ioc_helpers.FN_IDX).call(null,state);
});
cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped = (function run_state_machine_wrapped(state){try{return cljs.core.async.impl.ioc_helpers.run_state_machine.call(null,state);
}catch (e18879){if((e18879 instanceof Object))
{var ex = e18879;cljs.core.async.impl.protocols.close_BANG_.call(null,cljs.core.async.impl.ioc_helpers.aget_object.call(null,state,cljs.core.async.impl.ioc_helpers.USER_START_IDX));
throw ex;
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e18879;
} else
{return null;
}
}
}});
cljs.core.async.impl.ioc_helpers.take_BANG_ = (function take_BANG_(state,blk,c){var temp__4090__auto__ = cljs.core.async.impl.protocols.take_BANG_.call(null,c,cljs.core.async.impl.ioc_helpers.fn_handler.call(null,(function (x){var statearr_18882_18925 = state;(statearr_18882_18925[cljs.core.async.impl.ioc_helpers.VALUE_IDX] = x);
(statearr_18882_18925[cljs.core.async.impl.ioc_helpers.STATE_IDX] = blk);
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state);
})));if(cljs.core.truth_(temp__4090__auto__))
{var cb = temp__4090__auto__;var statearr_18883_18926 = state;(statearr_18883_18926[cljs.core.async.impl.ioc_helpers.VALUE_IDX] = cljs.core.deref.call(null,cb));
(statearr_18883_18926[cljs.core.async.impl.ioc_helpers.STATE_IDX] = blk);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
});
cljs.core.async.impl.ioc_helpers.put_BANG_ = (function put_BANG_(state,blk,c,val){var temp__4090__auto__ = cljs.core.async.impl.protocols.put_BANG_.call(null,c,val,cljs.core.async.impl.ioc_helpers.fn_handler.call(null,(function (){var statearr_18886_18927 = state;(statearr_18886_18927[cljs.core.async.impl.ioc_helpers.VALUE_IDX] = null);
(statearr_18886_18927[cljs.core.async.impl.ioc_helpers.STATE_IDX] = blk);
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state);
})));if(cljs.core.truth_(temp__4090__auto__))
{var cb = temp__4090__auto__;var statearr_18887_18928 = state;(statearr_18887_18928[cljs.core.async.impl.ioc_helpers.VALUE_IDX] = cljs.core.deref.call(null,cb));
(statearr_18887_18928[cljs.core.async.impl.ioc_helpers.STATE_IDX] = blk);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
});
/**
* @param {...*} var_args
*/
cljs.core.async.impl.ioc_helpers.ioc_alts_BANG_ = (function() {
var ioc_alts_BANG___delegate = function (state,cont_block,ports,p__18888){var map__18893 = p__18888;var map__18893__$1 = ((cljs.core.seq_QMARK_.call(null,map__18893))?cljs.core.apply.call(null,cljs.core.hash_map,map__18893):map__18893);var opts = map__18893__$1;var statearr_18894_18929 = state;(statearr_18894_18929[cljs.core.async.impl.ioc_helpers.STATE_IDX] = cont_block);
var temp__4092__auto__ = cljs.core.async.do_alts.call(null,((function (map__18893,map__18893__$1,opts){
return (function (val){var statearr_18895_18930 = state;(statearr_18895_18930[cljs.core.async.impl.ioc_helpers.VALUE_IDX] = val);
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state);
});})(map__18893,map__18893__$1,opts))
,ports,opts);if(cljs.core.truth_(temp__4092__auto__))
{var cb = temp__4092__auto__;var statearr_18896_18931 = state;(statearr_18896_18931[cljs.core.async.impl.ioc_helpers.VALUE_IDX] = cljs.core.deref.call(null,cb));
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
};
var ioc_alts_BANG_ = function (state,cont_block,ports,var_args){
var p__18888 = null;if (arguments.length > 3) {
p__18888 = cljs.core.array_seq(Array.prototype.slice.call(arguments, 3),0);}
return ioc_alts_BANG___delegate.call(this,state,cont_block,ports,p__18888);};
ioc_alts_BANG_.cljs$lang$maxFixedArity = 3;
ioc_alts_BANG_.cljs$lang$applyTo = (function (arglist__18932){
var state = cljs.core.first(arglist__18932);
arglist__18932 = cljs.core.next(arglist__18932);
var cont_block = cljs.core.first(arglist__18932);
arglist__18932 = cljs.core.next(arglist__18932);
var ports = cljs.core.first(arglist__18932);
var p__18888 = cljs.core.rest(arglist__18932);
return ioc_alts_BANG___delegate(state,cont_block,ports,p__18888);
});
ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic = ioc_alts_BANG___delegate;
return ioc_alts_BANG_;
})()
;
cljs.core.async.impl.ioc_helpers.return_chan = (function return_chan(state,value){var c = (state[cljs.core.async.impl.ioc_helpers.USER_START_IDX]);if((value == null))
{} else
{cljs.core.async.impl.protocols.put_BANG_.call(null,c,value,cljs.core.async.impl.ioc_helpers.fn_handler.call(null,((function (c){
return (function (){return null;
});})(c))
));
}
cljs.core.async.impl.protocols.close_BANG_.call(null,c);
return c;
});
/**
* @constructor
* @param {*} catch_block
* @param {*} catch_exception
* @param {*} finally_block
* @param {*} continue_block
* @param {*} prev
* @param {*} __meta
* @param {*} __extmap
* @param {*=} __meta
* @param {*=} __extmap
*/
cljs.core.async.impl.ioc_helpers.ExceptionFrame = (function (catch_block,catch_exception,finally_block,continue_block,prev,__meta,__extmap){
this.catch_block = catch_block;
this.catch_exception = catch_exception;
this.finally_block = finally_block;
this.continue_block = continue_block;
this.prev = prev;
this.__meta = __meta;
this.__extmap = __extmap;
this.cljs$lang$protocol_mask$partition0$ = 2229667594;
this.cljs$lang$protocol_mask$partition1$ = 8192;
if(arguments.length>5){
this.__meta = __meta;
this.__extmap = __extmap;
} else {
this.__meta=null;
this.__extmap=null;
}
})
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__5465__auto__){var self__ = this;
var this__5465__auto____$1 = this;var h__5295__auto__ = self__.__hash;if(!((h__5295__auto__ == null)))
{return h__5295__auto__;
} else
{var h__5295__auto____$1 = cljs.core.hash_imap.call(null,this__5465__auto____$1);self__.__hash = h__5295__auto____$1;
return h__5295__auto____$1;
}
});
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__5470__auto__,k__5471__auto__){var self__ = this;
var this__5470__auto____$1 = this;return cljs.core._lookup.call(null,this__5470__auto____$1,k__5471__auto__,null);
});
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__5472__auto__,k18898,else__5473__auto__){var self__ = this;
var this__5472__auto____$1 = this;if(cljs.core.keyword_identical_QMARK_.call(null,k18898,new cljs.core.Keyword(null,"catch-block","catch-block",2343862893)))
{return self__.catch_block;
} else
{if(cljs.core.keyword_identical_QMARK_.call(null,k18898,new cljs.core.Keyword(null,"catch-exception","catch-exception",1686480687)))
{return self__.catch_exception;
} else
{if(cljs.core.keyword_identical_QMARK_.call(null,k18898,new cljs.core.Keyword(null,"finally-block","finally-block",2846533429)))
{return self__.finally_block;
} else
{if(cljs.core.keyword_identical_QMARK_.call(null,k18898,new cljs.core.Keyword(null,"continue-block","continue-block",1486987097)))
{return self__.continue_block;
} else
{if(cljs.core.keyword_identical_QMARK_.call(null,k18898,new cljs.core.Keyword(null,"prev","prev",1017353637)))
{return self__.prev;
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return cljs.core.get.call(null,self__.__extmap,k18898,else__5473__auto__);
} else
{return null;
}
}
}
}
}
}
});
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__5477__auto__,k__5478__auto__,G__18897){var self__ = this;
var this__5477__auto____$1 = this;var pred__18900 = cljs.core.keyword_identical_QMARK_;var expr__18901 = k__5478__auto__;if(cljs.core.truth_(pred__18900.call(null,new cljs.core.Keyword(null,"catch-block","catch-block",2343862893),expr__18901)))
{return (new cljs.core.async.impl.ioc_helpers.ExceptionFrame(G__18897,self__.catch_exception,self__.finally_block,self__.continue_block,self__.prev,self__.__meta,self__.__extmap,null));
} else
{if(cljs.core.truth_(pred__18900.call(null,new cljs.core.Keyword(null,"catch-exception","catch-exception",1686480687),expr__18901)))
{return (new cljs.core.async.impl.ioc_helpers.ExceptionFrame(self__.catch_block,G__18897,self__.finally_block,self__.continue_block,self__.prev,self__.__meta,self__.__extmap,null));
} else
{if(cljs.core.truth_(pred__18900.call(null,new cljs.core.Keyword(null,"finally-block","finally-block",2846533429),expr__18901)))
{return (new cljs.core.async.impl.ioc_helpers.ExceptionFrame(self__.catch_block,self__.catch_exception,G__18897,self__.continue_block,self__.prev,self__.__meta,self__.__extmap,null));
} else
{if(cljs.core.truth_(pred__18900.call(null,new cljs.core.Keyword(null,"continue-block","continue-block",1486987097),expr__18901)))
{return (new cljs.core.async.impl.ioc_helpers.ExceptionFrame(self__.catch_block,self__.catch_exception,self__.finally_block,G__18897,self__.prev,self__.__meta,self__.__extmap,null));
} else
{if(cljs.core.truth_(pred__18900.call(null,new cljs.core.Keyword(null,"prev","prev",1017353637),expr__18901)))
{return (new cljs.core.async.impl.ioc_helpers.ExceptionFrame(self__.catch_block,self__.catch_exception,self__.finally_block,self__.continue_block,G__18897,self__.__meta,self__.__extmap,null));
} else
{return (new cljs.core.async.impl.ioc_helpers.ExceptionFrame(self__.catch_block,self__.catch_exception,self__.finally_block,self__.continue_block,self__.prev,self__.__meta,cljs.core.assoc.call(null,self__.__extmap,k__5478__auto__,G__18897),null));
}
}
}
}
}
});
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__5484__auto__,writer__5485__auto__,opts__5486__auto__){var self__ = this;
var this__5484__auto____$1 = this;var pr_pair__5487__auto__ = ((function (this__5484__auto____$1){
return (function (keyval__5488__auto__){return cljs.core.pr_sequential_writer.call(null,writer__5485__auto__,cljs.core.pr_writer,""," ","",opts__5486__auto__,keyval__5488__auto__);
});})(this__5484__auto____$1))
;return cljs.core.pr_sequential_writer.call(null,writer__5485__auto__,pr_pair__5487__auto__,"#cljs.core.async.impl.ioc-helpers.ExceptionFrame{",", ","}",opts__5486__auto__,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"catch-block","catch-block",2343862893),self__.catch_block],null)),(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"catch-exception","catch-exception",1686480687),self__.catch_exception],null)),(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"finally-block","finally-block",2846533429),self__.finally_block],null)),(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"continue-block","continue-block",1486987097),self__.continue_block],null)),(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"prev","prev",1017353637),self__.prev],null))], null),self__.__extmap));
});
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__5475__auto__,entry__5476__auto__){var self__ = this;
var this__5475__auto____$1 = this;if(cljs.core.vector_QMARK_.call(null,entry__5476__auto__))
{return cljs.core._assoc.call(null,this__5475__auto____$1,cljs.core._nth.call(null,entry__5476__auto__,0),cljs.core._nth.call(null,entry__5476__auto__,1));
} else
{return cljs.core.reduce.call(null,cljs.core._conj,this__5475__auto____$1,entry__5476__auto__);
}
});
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__5482__auto__){var self__ = this;
var this__5482__auto____$1 = this;return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"catch-block","catch-block",2343862893),self__.catch_block],null)),(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"catch-exception","catch-exception",1686480687),self__.catch_exception],null)),(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"finally-block","finally-block",2846533429),self__.finally_block],null)),(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"continue-block","continue-block",1486987097),self__.continue_block],null)),(new cljs.core.PersistentVector(null,2,5,cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"prev","prev",1017353637),self__.prev],null))], null),self__.__extmap));
});
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__5474__auto__){var self__ = this;
var this__5474__auto____$1 = this;return (5 + cljs.core.count.call(null,self__.__extmap));
});
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this__5466__auto__,other__5467__auto__){var self__ = this;
var this__5466__auto____$1 = this;if(cljs.core.truth_((function (){var and__4872__auto__ = other__5467__auto__;if(cljs.core.truth_(and__4872__auto__))
{return ((this__5466__auto____$1.constructor === other__5467__auto__.constructor)) && (cljs.core.equiv_map.call(null,this__5466__auto____$1,other__5467__auto__));
} else
{return and__4872__auto__;
}
})()))
{return true;
} else
{return false;
}
});
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__5469__auto__,G__18897){var self__ = this;
var this__5469__auto____$1 = this;return (new cljs.core.async.impl.ioc_helpers.ExceptionFrame(self__.catch_block,self__.catch_exception,self__.finally_block,self__.continue_block,self__.prev,G__18897,self__.__extmap,self__.__hash));
});
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__5464__auto__){var self__ = this;
var this__5464__auto____$1 = this;return (new cljs.core.async.impl.ioc_helpers.ExceptionFrame(self__.catch_block,self__.catch_exception,self__.finally_block,self__.continue_block,self__.prev,self__.__meta,self__.__extmap,self__.__hash));
});
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__5468__auto__){var self__ = this;
var this__5468__auto____$1 = this;return self__.__meta;
});
cljs.core.async.impl.ioc_helpers.ExceptionFrame.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__5479__auto__,k__5480__auto__){var self__ = this;
var this__5479__auto____$1 = this;if(cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"finally-block","finally-block",2846533429),null,new cljs.core.Keyword(null,"catch-block","catch-block",2343862893),null,new cljs.core.Keyword(null,"catch-exception","catch-exception",1686480687),null,new cljs.core.Keyword(null,"continue-block","continue-block",1486987097),null,new cljs.core.Keyword(null,"prev","prev",1017353637),null], null), null),k__5480__auto__))
{return cljs.core.dissoc.call(null,cljs.core.with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this__5479__auto____$1),self__.__meta),k__5480__auto__);
} else
{return (new cljs.core.async.impl.ioc_helpers.ExceptionFrame(self__.catch_block,self__.catch_exception,self__.finally_block,self__.continue_block,self__.prev,self__.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,self__.__extmap,k__5480__auto__)),null));
}
});
cljs.core.async.impl.ioc_helpers.ExceptionFrame.cljs$lang$type = true;
cljs.core.async.impl.ioc_helpers.ExceptionFrame.cljs$lang$ctorPrSeq = (function (this__5504__auto__){return cljs.core._conj.call(null,cljs.core.List.EMPTY,"cljs.core.async.impl.ioc-helpers/ExceptionFrame");
});
cljs.core.async.impl.ioc_helpers.ExceptionFrame.cljs$lang$ctorPrWriter = (function (this__5504__auto__,writer__5505__auto__){return cljs.core._write.call(null,writer__5505__auto__,"cljs.core.async.impl.ioc-helpers/ExceptionFrame");
});
cljs.core.async.impl.ioc_helpers.__GT_ExceptionFrame = (function __GT_ExceptionFrame(catch_block,catch_exception,finally_block,continue_block,prev){return (new cljs.core.async.impl.ioc_helpers.ExceptionFrame(catch_block,catch_exception,finally_block,continue_block,prev));
});
cljs.core.async.impl.ioc_helpers.map__GT_ExceptionFrame = (function map__GT_ExceptionFrame(G__18899){return (new cljs.core.async.impl.ioc_helpers.ExceptionFrame(new cljs.core.Keyword(null,"catch-block","catch-block",2343862893).cljs$core$IFn$_invoke$arity$1(G__18899),new cljs.core.Keyword(null,"catch-exception","catch-exception",1686480687).cljs$core$IFn$_invoke$arity$1(G__18899),new cljs.core.Keyword(null,"finally-block","finally-block",2846533429).cljs$core$IFn$_invoke$arity$1(G__18899),new cljs.core.Keyword(null,"continue-block","continue-block",1486987097).cljs$core$IFn$_invoke$arity$1(G__18899),new cljs.core.Keyword(null,"prev","prev",1017353637).cljs$core$IFn$_invoke$arity$1(G__18899),null,cljs.core.dissoc.call(null,G__18899,new cljs.core.Keyword(null,"catch-block","catch-block",2343862893),new cljs.core.Keyword(null,"catch-exception","catch-exception",1686480687),new cljs.core.Keyword(null,"finally-block","finally-block",2846533429),new cljs.core.Keyword(null,"continue-block","continue-block",1486987097),new cljs.core.Keyword(null,"prev","prev",1017353637))));
});
cljs.core.async.impl.ioc_helpers.add_exception_frame = (function add_exception_frame(state,catch_block,catch_exception,finally_block,continue_block){var statearr_18904 = state;(statearr_18904[cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES] = cljs.core.async.impl.ioc_helpers.__GT_ExceptionFrame.call(null,catch_block,catch_exception,finally_block,continue_block,cljs.core.async.impl.ioc_helpers.aget_object.call(null,state,cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES)));
return statearr_18904;
});
cljs.core.async.impl.ioc_helpers.process_exception = (function process_exception(state){while(true){
var exception_frame = cljs.core.async.impl.ioc_helpers.aget_object.call(null,state,cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES);var catch_block = new cljs.core.Keyword(null,"catch-block","catch-block",2343862893).cljs$core$IFn$_invoke$arity$1(exception_frame);var catch_exception = new cljs.core.Keyword(null,"catch-exception","catch-exception",1686480687).cljs$core$IFn$_invoke$arity$1(exception_frame);var exception = cljs.core.async.impl.ioc_helpers.aget_object.call(null,state,cljs.core.async.impl.ioc_helpers.CURRENT_EXCEPTION);if(cljs.core.truth_((function (){var and__4872__auto__ = exception;if(cljs.core.truth_(and__4872__auto__))
{return cljs.core.not.call(null,exception_frame);
} else
{return and__4872__auto__;
}
})()))
{throw exception;
} else
{if(cljs.core.truth_((function (){var and__4872__auto__ = exception;if(cljs.core.truth_(and__4872__auto__))
{var and__4872__auto____$1 = catch_block;if(cljs.core.truth_(and__4872__auto____$1))
{return (exception instanceof catch_exception);
} else
{return and__4872__auto____$1;
}
} else
{return and__4872__auto__;
}
})()))
{var statearr_18910 = state;(statearr_18910[cljs.core.async.impl.ioc_helpers.STATE_IDX] = catch_block);
(statearr_18910[cljs.core.async.impl.ioc_helpers.VALUE_IDX] = exception);
(statearr_18910[cljs.core.async.impl.ioc_helpers.CURRENT_EXCEPTION] = null);
(statearr_18910[cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES] = cljs.core.assoc.call(null,exception_frame,new cljs.core.Keyword(null,"catch-block","catch-block",2343862893),null,new cljs.core.Keyword(null,"catch-exception","catch-exception",1686480687),null));
return statearr_18910;
} else
{if(cljs.core.truth_((function (){var and__4872__auto__ = exception;if(cljs.core.truth_(and__4872__auto__))
{return (cljs.core.not.call(null,catch_block)) && (cljs.core.not.call(null,new cljs.core.Keyword(null,"finally-block","finally-block",2846533429).cljs$core$IFn$_invoke$arity$1(exception_frame)));
} else
{return and__4872__auto__;
}
})()))
{var statearr_18911_18933 = state;(statearr_18911_18933[cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES] = new cljs.core.Keyword(null,"prev","prev",1017353637).cljs$core$IFn$_invoke$arity$1(exception_frame));
{
var G__18934 = state;
state = G__18934;
continue;
}
} else
{if(cljs.core.truth_((function (){var and__4872__auto__ = exception;if(cljs.core.truth_(and__4872__auto__))
{var and__4872__auto____$1 = cljs.core.not.call(null,catch_block);if(and__4872__auto____$1)
{return new cljs.core.Keyword(null,"finally-block","finally-block",2846533429).cljs$core$IFn$_invoke$arity$1(exception_frame);
} else
{return and__4872__auto____$1;
}
} else
{return and__4872__auto__;
}
})()))
{var statearr_18912 = state;(statearr_18912[cljs.core.async.impl.ioc_helpers.STATE_IDX] = new cljs.core.Keyword(null,"finally-block","finally-block",2846533429).cljs$core$IFn$_invoke$arity$1(exception_frame));
(statearr_18912[cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES] = cljs.core.assoc.call(null,exception_frame,new cljs.core.Keyword(null,"finally-block","finally-block",2846533429),null));
return statearr_18912;
} else
{if(cljs.core.truth_((function (){var and__4872__auto__ = cljs.core.not.call(null,exception);if(and__4872__auto__)
{return new cljs.core.Keyword(null,"finally-block","finally-block",2846533429).cljs$core$IFn$_invoke$arity$1(exception_frame);
} else
{return and__4872__auto__;
}
})()))
{var statearr_18913 = state;(statearr_18913[cljs.core.async.impl.ioc_helpers.STATE_IDX] = new cljs.core.Keyword(null,"finally-block","finally-block",2846533429).cljs$core$IFn$_invoke$arity$1(exception_frame));
(statearr_18913[cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES] = cljs.core.assoc.call(null,exception_frame,new cljs.core.Keyword(null,"finally-block","finally-block",2846533429),null));
return statearr_18913;
} else
{if((cljs.core.not.call(null,exception)) && (cljs.core.not.call(null,new cljs.core.Keyword(null,"finally-block","finally-block",2846533429).cljs$core$IFn$_invoke$arity$1(exception_frame))))
{var statearr_18914 = state;(statearr_18914[cljs.core.async.impl.ioc_helpers.STATE_IDX] = new cljs.core.Keyword(null,"continue-block","continue-block",1486987097).cljs$core$IFn$_invoke$arity$1(exception_frame));
(statearr_18914[cljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES] = new cljs.core.Keyword(null,"prev","prev",1017353637).cljs$core$IFn$_invoke$arity$1(exception_frame));
return statearr_18914;
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{if(false)
{return null;
} else
{throw (new Error([cljs.core.str("Assert failed: "),cljs.core.str("No matching clause"),cljs.core.str("\n"),cljs.core.str(cljs.core.pr_str.call(null,false))].join('')));
}
} else
{return null;
}
}
}
}
}
}
}
break;
}
});
}
if(!lt.util.load.provided_QMARK_('cljs.core.async')) {
goog.provide('cljs.core.async');
goog.require('cljs.core');
goog.require('cljs.core.async.impl.ioc_helpers');
goog.require('cljs.core.async.impl.protocols');
goog.require('cljs.core.async.impl.buffers');
goog.require('cljs.core.async.impl.timers');
goog.require('cljs.core.async.impl.channels');
goog.require('cljs.core.async.impl.dispatch');
goog.require('cljs.core.async.impl.dispatch');
goog.require('cljs.core.async.impl.buffers');
goog.require('cljs.core.async.impl.protocols');
goog.require('cljs.core.async.impl.timers');
goog.require('cljs.core.async.impl.channels');
goog.require('cljs.core.async.impl.ioc_helpers');
cljs.core.async.fn_handler = (function fn_handler(f){if(typeof cljs.core.async.t16311 !== 'undefined')
{} else
{
/**
* @constructor
*/
cljs.core.async.t16311 = (function (f,fn_handler,meta16312){
this.f = f;
this.fn_handler = fn_handler;
this.meta16312 = meta16312;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 393216;
})
cljs.core.async.t16311.cljs$lang$type = true;
cljs.core.async.t16311.cljs$lang$ctorStr = "cljs.core.async/t16311";
cljs.core.async.t16311.cljs$lang$ctorPrWriter = (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async/t16311");
});
cljs.core.async.t16311.prototype.cljs$core$async$impl$protocols$Handler$ = true;
cljs.core.async.t16311.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = (function (_){var self__ = this;
var ___$1 = this;return true;
});
cljs.core.async.t16311.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = (function (_){var self__ = this;
var ___$1 = this;return self__.f;
});
cljs.core.async.t16311.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_16313){var self__ = this;
var _16313__$1 = this;return self__.meta16312;
});
cljs.core.async.t16311.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_16313,meta16312__$1){var self__ = this;
var _16313__$1 = this;return (new cljs.core.async.t16311(self__.f,self__.fn_handler,meta16312__$1));
});
cljs.core.async.__GT_t16311 = (function __GT_t16311(f__$1,fn_handler__$1,meta16312){return (new cljs.core.async.t16311(f__$1,fn_handler__$1,meta16312));
});
}
return (new cljs.core.async.t16311(f,fn_handler,null));
});
/**
* Returns a fixed buffer of size n. When full, puts will block/park.
*/
cljs.core.async.buffer = (function buffer(n){return cljs.core.async.impl.buffers.fixed_buffer.call(null,n);
});
/**
* Returns a buffer of size n. When full, puts will complete but
* val will be dropped (no transfer).
*/
cljs.core.async.dropping_buffer = (function dropping_buffer(n){return cljs.core.async.impl.buffers.dropping_buffer.call(null,n);
});
/**
* Returns a buffer of size n. When full, puts will complete, and be
* buffered, but oldest elements in buffer will be dropped (not
* transferred).
*/
cljs.core.async.sliding_buffer = (function sliding_buffer(n){return cljs.core.async.impl.buffers.sliding_buffer.call(null,n);
});
/**
* Returns true if a channel created with buff will never block. That is to say,
* puts into this buffer will never cause the buffer to be full.
*/
cljs.core.async.unblocking_buffer_QMARK_ = (function unblocking_buffer_QMARK_(buff){var G__16315 = buff;if(G__16315)
{var bit__5534__auto__ = null;if(cljs.core.truth_((function (){var or__4884__auto__ = bit__5534__auto__;if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return G__16315.cljs$core$async$impl$protocols$UnblockingBuffer$;
}
})()))
{return true;
} else
{if((!G__16315.cljs$lang$protocol_mask$partition$))
{return cljs.core.native_satisfies_QMARK_.call(null,cljs.core.async.impl.protocols.UnblockingBuffer,G__16315);
} else
{return false;
}
}
} else
{return cljs.core.native_satisfies_QMARK_.call(null,cljs.core.async.impl.protocols.UnblockingBuffer,G__16315);
}
});
/**
* Creates a channel with an optional buffer. If buf-or-n is a number,
* will create and use a fixed buffer of that size.
*/
cljs.core.async.chan = (function() {
var chan = null;
var chan__0 = (function (){return chan.call(null,null);
});
var chan__1 = (function (buf_or_n){var buf_or_n__$1 = ((cljs.core._EQ_.call(null,buf_or_n,0))?null:buf_or_n);return cljs.core.async.impl.channels.chan.call(null,((typeof buf_or_n__$1 === 'number')?cljs.core.async.buffer.call(null,buf_or_n__$1):buf_or_n__$1));
});
chan = function(buf_or_n){
switch(arguments.length){
case 0:
return chan__0.call(this);
case 1:
return chan__1.call(this,buf_or_n);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
chan.cljs$core$IFn$_invoke$arity$0 = chan__0;
chan.cljs$core$IFn$_invoke$arity$1 = chan__1;
return chan;
})()
;
/**
* Returns a channel that will close after msecs
*/
cljs.core.async.timeout = (function timeout(msecs){return cljs.core.async.impl.timers.timeout.call(null,msecs);
});
/**
* takes a val from port. Must be called inside a (go ...) block. Will
* return nil if closed. Will park if nothing is available.
*/
cljs.core.async._LT__BANG_ = (function _LT__BANG_(port){if(null)
{return null;
} else
{throw (new Error([cljs.core.str("Assert failed: "),cljs.core.str("! used not in (go ...) block"),cljs.core.str("\n"),cljs.core.str(cljs.core.pr_str.call(null,null))].join('')));
}
});
/**
* Asynchronously puts a val into port, calling fn0 (if supplied) when
* complete. nil values are not allowed. Will throw if closed. If
* on-caller? (default true) is true, and the put is immediately
* accepted, will call fn0 on calling thread. Returns nil.
*/
cljs.core.async.put_BANG_ = (function() {
var put_BANG_ = null;
var put_BANG___2 = (function (port,val){return put_BANG_.call(null,port,val,cljs.core.async.nop);
});
var put_BANG___3 = (function (port,val,fn0){return put_BANG_.call(null,port,val,fn0,true);
});
var put_BANG___4 = (function (port,val,fn0,on_caller_QMARK_){var ret = cljs.core.async.impl.protocols.put_BANG_.call(null,port,val,cljs.core.async.fn_handler.call(null,fn0));if(cljs.core.truth_((function (){var and__4872__auto__ = ret;if(cljs.core.truth_(and__4872__auto__))
{return cljs.core.not_EQ_.call(null,fn0,cljs.core.async.nop);
} else
{return and__4872__auto__;
}
})()))
{if(cljs.core.truth_(on_caller_QMARK_))
{fn0.call(null);
} else
{cljs.core.async.impl.dispatch.run.call(null,fn0);
}
} else
{}
return null;
});
put_BANG_ = function(port,val,fn0,on_caller_QMARK_){
switch(arguments.length){
case 2:
return put_BANG___2.call(this,port,val);
case 3:
return put_BANG___3.call(this,port,val,fn0);
case 4:
return put_BANG___4.call(this,port,val,fn0,on_caller_QMARK_);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
put_BANG_.cljs$core$IFn$_invoke$arity$2 = put_BANG___2;
put_BANG_.cljs$core$IFn$_invoke$arity$3 = put_BANG___3;
put_BANG_.cljs$core$IFn$_invoke$arity$4 = put_BANG___4;
return put_BANG_;
})()
;
cljs.core.async.close_BANG_ = (function close_BANG_(port){return cljs.core.async.impl.protocols.close_BANG_.call(null,port);
});
cljs.core.async.random_array = (function random_array(n){var a = (new Array(n));var n__5732__auto___18580 = n;var x_18581 = 0;while(true){
if((x_18581 < n__5732__auto___18580))
{(a[x_18581] = 0);
{
var G__18582 = (x_18581 + 1);
x_18581 = G__18582;
continue;
}
} else
{}
break;
}
var i = 1;while(true){
if(cljs.core._EQ_.call(null,i,n))
{return a;
} else
{var j = cljs.core.rand_int.call(null,i);(a[i] = (a[j]));
(a[j] = i);
{
var G__18583 = (i + 1);
i = G__18583;
continue;
}
}
break;
}
});
cljs.core.async.alt_flag = (function alt_flag(){var flag = cljs.core.atom.call(null,true);if(typeof cljs.core.async.t16319 !== 'undefined')
{} else
{
/**
* @constructor
*/
cljs.core.async.t16319 = (function (flag,alt_flag,meta16320){
this.flag = flag;
this.alt_flag = alt_flag;
this.meta16320 = meta16320;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 393216;
})
cljs.core.async.t16319.cljs$lang$type = true;
cljs.core.async.t16319.cljs$lang$ctorStr = "cljs.core.async/t16319";
cljs.core.async.t16319.cljs$lang$ctorPrWriter = ((function (flag){
return (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async/t16319");
});})(flag))
;
cljs.core.async.t16319.prototype.cljs$core$async$impl$protocols$Handler$ = true;
cljs.core.async.t16319.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = ((function (flag){
return (function (_){var self__ = this;
var ___$1 = this;return cljs.core.deref.call(null,self__.flag);
});})(flag))
;
cljs.core.async.t16319.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = ((function (flag){
return (function (_){var self__ = this;
var ___$1 = this;cljs.core.reset_BANG_.call(null,self__.flag,null);
return true;
});})(flag))
;
cljs.core.async.t16319.prototype.cljs$core$IMeta$_meta$arity$1 = ((function (flag){
return (function (_16321){var self__ = this;
var _16321__$1 = this;return self__.meta16320;
});})(flag))
;
cljs.core.async.t16319.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = ((function (flag){
return (function (_16321,meta16320__$1){var self__ = this;
var _16321__$1 = this;return (new cljs.core.async.t16319(self__.flag,self__.alt_flag,meta16320__$1));
});})(flag))
;
cljs.core.async.__GT_t16319 = ((function (flag){
return (function __GT_t16319(flag__$1,alt_flag__$1,meta16320){return (new cljs.core.async.t16319(flag__$1,alt_flag__$1,meta16320));
});})(flag))
;
}
return (new cljs.core.async.t16319(flag,alt_flag,null));
});
cljs.core.async.alt_handler = (function alt_handler(flag,cb){if(typeof cljs.core.async.t16325 !== 'undefined')
{} else
{
/**
* @constructor
*/
cljs.core.async.t16325 = (function (cb,flag,alt_handler,meta16326){
this.cb = cb;
this.flag = flag;
this.alt_handler = alt_handler;
this.meta16326 = meta16326;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 393216;
})
cljs.core.async.t16325.cljs$lang$type = true;
cljs.core.async.t16325.cljs$lang$ctorStr = "cljs.core.async/t16325";
cljs.core.async.t16325.cljs$lang$ctorPrWriter = (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async/t16325");
});
cljs.core.async.t16325.prototype.cljs$core$async$impl$protocols$Handler$ = true;
cljs.core.async.t16325.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = (function (_){var self__ = this;
var ___$1 = this;return cljs.core.async.impl.protocols.active_QMARK_.call(null,self__.flag);
});
cljs.core.async.t16325.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = (function (_){var self__ = this;
var ___$1 = this;cljs.core.async.impl.protocols.commit.call(null,self__.flag);
return self__.cb;
});
cljs.core.async.t16325.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_16327){var self__ = this;
var _16327__$1 = this;return self__.meta16326;
});
cljs.core.async.t16325.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_16327,meta16326__$1){var self__ = this;
var _16327__$1 = this;return (new cljs.core.async.t16325(self__.cb,self__.flag,self__.alt_handler,meta16326__$1));
});
cljs.core.async.__GT_t16325 = (function __GT_t16325(cb__$1,flag__$1,alt_handler__$1,meta16326){return (new cljs.core.async.t16325(cb__$1,flag__$1,alt_handler__$1,meta16326));
});
}
return (new cljs.core.async.t16325(cb,flag,alt_handler,null));
});
/**
* returns derefable [val port] if immediate, nil if enqueued
*/
cljs.core.async.do_alts = (function do_alts(fret,ports,opts){var flag = cljs.core.async.alt_flag.call(null);var n = cljs.core.count.call(null,ports);var idxs = cljs.core.async.random_array.call(null,n);var priority = new cljs.core.Keyword(null,"priority","priority",4143410454).cljs$core$IFn$_invoke$arity$1(opts);var ret = (function (){var i = 0;while(true){
if((i < n))
{var idx = (cljs.core.truth_(priority)?i:(idxs[i]));var port = cljs.core.nth.call(null,ports,idx);var wport = ((cljs.core.vector_QMARK_.call(null,port))?port.call(null,0):null);var vbox = (cljs.core.truth_(wport)?(function (){var val = port.call(null,1);return cljs.core.async.impl.protocols.put_BANG_.call(null,wport,val,cljs.core.async.alt_handler.call(null,flag,((function (i,val,idx,port,wport,flag,n,idxs,priority){
return (function (){return fret.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,wport], null));
});})(i,val,idx,port,wport,flag,n,idxs,priority))
));
})():cljs.core.async.impl.protocols.take_BANG_.call(null,port,cljs.core.async.alt_handler.call(null,flag,((function (i,idx,port,wport,flag,n,idxs,priority){
return (function (p1__16328_SHARP_){return fret.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__16328_SHARP_,port], null));
});})(i,idx,port,wport,flag,n,idxs,priority))
)));if(cljs.core.truth_(vbox))
{return cljs.core.async.impl.channels.box.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.deref.call(null,vbox),(function (){var or__4884__auto__ = wport;if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return port;
}
})()], null));
} else
{{
var G__18584 = (i + 1);
i = G__18584;
continue;
}
}
} else
{return null;
}
break;
}
})();var or__4884__auto__ = ret;if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{if(cljs.core.contains_QMARK_.call(null,opts,new cljs.core.Keyword(null,"default","default",2558708147)))
{var temp__4092__auto__ = (function (){var and__4872__auto__ = cljs.core.async.impl.protocols.active_QMARK_.call(null,flag);if(cljs.core.truth_(and__4872__auto__))
{return cljs.core.async.impl.protocols.commit.call(null,flag);
} else
{return and__4872__auto__;
}
})();if(cljs.core.truth_(temp__4092__auto__))
{var got = temp__4092__auto__;return cljs.core.async.impl.channels.box.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"default","default",2558708147).cljs$core$IFn$_invoke$arity$1(opts),new cljs.core.Keyword(null,"default","default",2558708147)], null));
} else
{return null;
}
} else
{return null;
}
}
});
/**
* Completes at most one of several channel operations. Must be called
* inside a (go ...) block. ports is a vector of channel endpoints, which
* can be either a channel to take from or a vector of
* [channel-to-put-to val-to-put], in any combination. Takes will be
* made as if by !. Unless
* the :priority option is true, if more than one port operation is
* ready a non-deterministic choice will be made. If no operation is
* ready and a :default value is supplied, [default-val :default] will
* be returned, otherwise alts! will park until the first operation to
* become ready completes. Returns [val port] of the completed
* operation, where val is the value taken for takes, and nil for puts.
*
* opts are passed as :key val ... Supported options:
*
* :default val - the value to use if none of the operations are immediately ready
* :priority true - (default nil) when true, the operations will be tried in order.
*
* Note: there is no guarantee that the port exps or val exprs will be
* used, nor in what order should they be, so they should not be
* depended upon for side effects.
* @param {...*} var_args
*/
cljs.core.async.alts_BANG_ = (function() {
var alts_BANG___delegate = function (ports,p__16329){var map__16331 = p__16329;var map__16331__$1 = ((cljs.core.seq_QMARK_.call(null,map__16331))?cljs.core.apply.call(null,cljs.core.hash_map,map__16331):map__16331);var opts = map__16331__$1;if(null)
{return null;
} else
{throw (new Error([cljs.core.str("Assert failed: "),cljs.core.str("alts! used not in (go ...) block"),cljs.core.str("\n"),cljs.core.str(cljs.core.pr_str.call(null,null))].join('')));
}
};
var alts_BANG_ = function (ports,var_args){
var p__16329 = null;if (arguments.length > 1) {
p__16329 = cljs.core.array_seq(Array.prototype.slice.call(arguments, 1),0);}
return alts_BANG___delegate.call(this,ports,p__16329);};
alts_BANG_.cljs$lang$maxFixedArity = 1;
alts_BANG_.cljs$lang$applyTo = (function (arglist__18585){
var ports = cljs.core.first(arglist__18585);
var p__16329 = cljs.core.rest(arglist__18585);
return alts_BANG___delegate(ports,p__16329);
});
alts_BANG_.cljs$core$IFn$_invoke$arity$variadic = alts_BANG___delegate;
return alts_BANG_;
})()
;
/**
* Takes a function and a source channel, and returns a channel which
* contains the values produced by applying f to each value taken from
* the source channel
*/
cljs.core.async.map_LT_ = (function map_LT_(f,ch){if(typeof cljs.core.async.t16339 !== 'undefined')
{} else
{
/**
* @constructor
*/
cljs.core.async.t16339 = (function (ch,f,map_LT_,meta16340){
this.ch = ch;
this.f = f;
this.map_LT_ = map_LT_;
this.meta16340 = meta16340;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 393216;
})
cljs.core.async.t16339.cljs$lang$type = true;
cljs.core.async.t16339.cljs$lang$ctorStr = "cljs.core.async/t16339";
cljs.core.async.t16339.cljs$lang$ctorPrWriter = (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async/t16339");
});
cljs.core.async.t16339.prototype.cljs$core$async$impl$protocols$WritePort$ = true;
cljs.core.async.t16339.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 = (function (_,val,fn0){var self__ = this;
var ___$1 = this;return cljs.core.async.impl.protocols.put_BANG_.call(null,self__.ch,val,fn0);
});
cljs.core.async.t16339.prototype.cljs$core$async$impl$protocols$ReadPort$ = true;
cljs.core.async.t16339.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 = (function (_,fn1){var self__ = this;
var ___$1 = this;var ret = cljs.core.async.impl.protocols.take_BANG_.call(null,self__.ch,(function (){if(typeof cljs.core.async.t16342 !== 'undefined')
{} else
{
/**
* @constructor
*/
cljs.core.async.t16342 = (function (fn1,_,meta16340,ch,f,map_LT_,meta16343){
this.fn1 = fn1;
this._ = _;
this.meta16340 = meta16340;
this.ch = ch;
this.f = f;
this.map_LT_ = map_LT_;
this.meta16343 = meta16343;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 393216;
})
cljs.core.async.t16342.cljs$lang$type = true;
cljs.core.async.t16342.cljs$lang$ctorStr = "cljs.core.async/t16342";
cljs.core.async.t16342.cljs$lang$ctorPrWriter = ((function (___$1){
return (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async/t16342");
});})(___$1))
;
cljs.core.async.t16342.prototype.cljs$core$async$impl$protocols$Handler$ = true;
cljs.core.async.t16342.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = ((function (___$1){
return (function (___$3){var self__ = this;
var ___$4 = this;return cljs.core.async.impl.protocols.active_QMARK_.call(null,self__.fn1);
});})(___$1))
;
cljs.core.async.t16342.prototype.cljs$core$async$impl$protocols$Handler$lock_id$arity$1 = ((function (___$1){
return (function (___$3){var self__ = this;
var ___$4 = this;return cljs.core.async.impl.protocols.lock_id.call(null,self__.fn1);
});})(___$1))
;
cljs.core.async.t16342.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = ((function (___$1){
return (function (___$3){var self__ = this;
var ___$4 = this;var f1 = cljs.core.async.impl.protocols.commit.call(null,self__.fn1);return ((function (f1,___$4,___$1){
return (function (p1__16332_SHARP_){return f1.call(null,(((p1__16332_SHARP_ == null))?null:self__.f.call(null,p1__16332_SHARP_)));
});
;})(f1,___$4,___$1))
});})(___$1))
;
cljs.core.async.t16342.prototype.cljs$core$IMeta$_meta$arity$1 = ((function (___$1){
return (function (_16344){var self__ = this;
var _16344__$1 = this;return self__.meta16343;
});})(___$1))
;
cljs.core.async.t16342.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = ((function (___$1){
return (function (_16344,meta16343__$1){var self__ = this;
var _16344__$1 = this;return (new cljs.core.async.t16342(self__.fn1,self__._,self__.meta16340,self__.ch,self__.f,self__.map_LT_,meta16343__$1));
});})(___$1))
;
cljs.core.async.__GT_t16342 = ((function (___$1){
return (function __GT_t16342(fn1__$1,___$2,meta16340__$1,ch__$2,f__$2,map_LT___$2,meta16343){return (new cljs.core.async.t16342(fn1__$1,___$2,meta16340__$1,ch__$2,f__$2,map_LT___$2,meta16343));
});})(___$1))
;
}
return (new cljs.core.async.t16342(fn1,___$1,self__.meta16340,self__.ch,self__.f,self__.map_LT_,null));
})());if(cljs.core.truth_((function (){var and__4872__auto__ = ret;if(cljs.core.truth_(and__4872__auto__))
{return !((cljs.core.deref.call(null,ret) == null));
} else
{return and__4872__auto__;
}
})()))
{return cljs.core.async.impl.channels.box.call(null,self__.f.call(null,cljs.core.deref.call(null,ret)));
} else
{return ret;
}
});
cljs.core.async.t16339.prototype.cljs$core$async$impl$protocols$Channel$ = true;
cljs.core.async.t16339.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 = (function (_){var self__ = this;
var ___$1 = this;return cljs.core.async.impl.protocols.close_BANG_.call(null,self__.ch);
});
cljs.core.async.t16339.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_16341){var self__ = this;
var _16341__$1 = this;return self__.meta16340;
});
cljs.core.async.t16339.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_16341,meta16340__$1){var self__ = this;
var _16341__$1 = this;return (new cljs.core.async.t16339(self__.ch,self__.f,self__.map_LT_,meta16340__$1));
});
cljs.core.async.__GT_t16339 = (function __GT_t16339(ch__$1,f__$1,map_LT___$1,meta16340){return (new cljs.core.async.t16339(ch__$1,f__$1,map_LT___$1,meta16340));
});
}
return (new cljs.core.async.t16339(ch,f,map_LT_,null));
});
/**
* Takes a function and a target channel, and returns a channel which
* applies f to each value before supplying it to the target channel.
*/
cljs.core.async.map_GT_ = (function map_GT_(f,ch){if(typeof cljs.core.async.t16348 !== 'undefined')
{} else
{
/**
* @constructor
*/
cljs.core.async.t16348 = (function (ch,f,map_GT_,meta16349){
this.ch = ch;
this.f = f;
this.map_GT_ = map_GT_;
this.meta16349 = meta16349;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 393216;
})
cljs.core.async.t16348.cljs$lang$type = true;
cljs.core.async.t16348.cljs$lang$ctorStr = "cljs.core.async/t16348";
cljs.core.async.t16348.cljs$lang$ctorPrWriter = (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async/t16348");
});
cljs.core.async.t16348.prototype.cljs$core$async$impl$protocols$WritePort$ = true;
cljs.core.async.t16348.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 = (function (_,val,fn0){var self__ = this;
var ___$1 = this;return cljs.core.async.impl.protocols.put_BANG_.call(null,self__.ch,self__.f.call(null,val),fn0);
});
cljs.core.async.t16348.prototype.cljs$core$async$impl$protocols$ReadPort$ = true;
cljs.core.async.t16348.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 = (function (_,fn1){var self__ = this;
var ___$1 = this;return cljs.core.async.impl.protocols.take_BANG_.call(null,self__.ch,fn1);
});
cljs.core.async.t16348.prototype.cljs$core$async$impl$protocols$Channel$ = true;
cljs.core.async.t16348.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 = (function (_){var self__ = this;
var ___$1 = this;return cljs.core.async.impl.protocols.close_BANG_.call(null,self__.ch);
});
cljs.core.async.t16348.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_16350){var self__ = this;
var _16350__$1 = this;return self__.meta16349;
});
cljs.core.async.t16348.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_16350,meta16349__$1){var self__ = this;
var _16350__$1 = this;return (new cljs.core.async.t16348(self__.ch,self__.f,self__.map_GT_,meta16349__$1));
});
cljs.core.async.__GT_t16348 = (function __GT_t16348(ch__$1,f__$1,map_GT___$1,meta16349){return (new cljs.core.async.t16348(ch__$1,f__$1,map_GT___$1,meta16349));
});
}
return (new cljs.core.async.t16348(ch,f,map_GT_,null));
});
/**
* Takes a predicate and a target channel, and returns a channel which
* supplies only the values for which the predicate returns true to the
* target channel.
*/
cljs.core.async.filter_GT_ = (function filter_GT_(p,ch){if(typeof cljs.core.async.t16354 !== 'undefined')
{} else
{
/**
* @constructor
*/
cljs.core.async.t16354 = (function (ch,p,filter_GT_,meta16355){
this.ch = ch;
this.p = p;
this.filter_GT_ = filter_GT_;
this.meta16355 = meta16355;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 393216;
})
cljs.core.async.t16354.cljs$lang$type = true;
cljs.core.async.t16354.cljs$lang$ctorStr = "cljs.core.async/t16354";
cljs.core.async.t16354.cljs$lang$ctorPrWriter = (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async/t16354");
});
cljs.core.async.t16354.prototype.cljs$core$async$impl$protocols$WritePort$ = true;
cljs.core.async.t16354.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 = (function (_,val,fn0){var self__ = this;
var ___$1 = this;if(cljs.core.truth_(self__.p.call(null,val)))
{return cljs.core.async.impl.protocols.put_BANG_.call(null,self__.ch,val,fn0);
} else
{return cljs.core.async.impl.channels.box.call(null,null);
}
});
cljs.core.async.t16354.prototype.cljs$core$async$impl$protocols$ReadPort$ = true;
cljs.core.async.t16354.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 = (function (_,fn1){var self__ = this;
var ___$1 = this;return cljs.core.async.impl.protocols.take_BANG_.call(null,self__.ch,fn1);
});
cljs.core.async.t16354.prototype.cljs$core$async$impl$protocols$Channel$ = true;
cljs.core.async.t16354.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 = (function (_){var self__ = this;
var ___$1 = this;return cljs.core.async.impl.protocols.close_BANG_.call(null,self__.ch);
});
cljs.core.async.t16354.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_16356){var self__ = this;
var _16356__$1 = this;return self__.meta16355;
});
cljs.core.async.t16354.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_16356,meta16355__$1){var self__ = this;
var _16356__$1 = this;return (new cljs.core.async.t16354(self__.ch,self__.p,self__.filter_GT_,meta16355__$1));
});
cljs.core.async.__GT_t16354 = (function __GT_t16354(ch__$1,p__$1,filter_GT___$1,meta16355){return (new cljs.core.async.t16354(ch__$1,p__$1,filter_GT___$1,meta16355));
});
}
return (new cljs.core.async.t16354(ch,p,filter_GT_,null));
});
/**
* Takes a predicate and a target channel, and returns a channel which
* supplies only the values for which the predicate returns false to the
* target channel.
*/
cljs.core.async.remove_GT_ = (function remove_GT_(p,ch){return cljs.core.async.filter_GT_.call(null,cljs.core.complement.call(null,p),ch);
});
/**
* Takes a predicate and a source channel, and returns a channel which
* contains only the values taken from the source channel for which the
* predicate returns true. The returned channel will be unbuffered by
* default, or a buf-or-n can be supplied. The channel will close
* when the source channel closes.
*/
cljs.core.async.filter_LT_ = (function() {
var filter_LT_ = null;
var filter_LT___2 = (function (p,ch){return filter_LT_.call(null,p,ch,null);
});
var filter_LT___3 = (function (p,ch,buf_or_n){var out = cljs.core.async.chan.call(null,buf_or_n);var c__13951__auto___18586 = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto___18586,out){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto___18586,out){
return (function (state_16418){var state_val_16419 = (state_16418[1]);if((state_val_16419 === 1))
{var state_16418__$1 = state_16418;var statearr_16420_18587 = state_16418__$1;(statearr_16420_18587[2] = null);
(statearr_16420_18587[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16419 === 2))
{var state_16418__$1 = state_16418;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_16418__$1,4,ch);
} else
{if((state_val_16419 === 3))
{var inst_16416 = (state_16418[2]);var state_16418__$1 = state_16418;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_16418__$1,inst_16416);
} else
{if((state_val_16419 === 4))
{var inst_16400 = (state_16418[7]);var inst_16400__$1 = (state_16418[2]);var inst_16401 = (inst_16400__$1 == null);var state_16418__$1 = (function (){var statearr_16421 = state_16418;(statearr_16421[7] = inst_16400__$1);
return statearr_16421;
})();if(cljs.core.truth_(inst_16401))
{var statearr_16422_18588 = state_16418__$1;(statearr_16422_18588[1] = 5);
} else
{var statearr_16423_18589 = state_16418__$1;(statearr_16423_18589[1] = 6);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16419 === 5))
{var inst_16403 = cljs.core.async.close_BANG_.call(null,out);var state_16418__$1 = state_16418;var statearr_16424_18590 = state_16418__$1;(statearr_16424_18590[2] = inst_16403);
(statearr_16424_18590[1] = 7);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16419 === 6))
{var inst_16400 = (state_16418[7]);var inst_16405 = p.call(null,inst_16400);var state_16418__$1 = state_16418;if(cljs.core.truth_(inst_16405))
{var statearr_16425_18591 = state_16418__$1;(statearr_16425_18591[1] = 8);
} else
{var statearr_16426_18592 = state_16418__$1;(statearr_16426_18592[1] = 9);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16419 === 7))
{var inst_16414 = (state_16418[2]);var state_16418__$1 = state_16418;var statearr_16427_18593 = state_16418__$1;(statearr_16427_18593[2] = inst_16414);
(statearr_16427_18593[1] = 3);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16419 === 8))
{var inst_16400 = (state_16418[7]);var state_16418__$1 = state_16418;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_16418__$1,11,out,inst_16400);
} else
{if((state_val_16419 === 9))
{var state_16418__$1 = state_16418;var statearr_16428_18594 = state_16418__$1;(statearr_16428_18594[2] = null);
(statearr_16428_18594[1] = 10);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16419 === 10))
{var inst_16411 = (state_16418[2]);var state_16418__$1 = (function (){var statearr_16429 = state_16418;(statearr_16429[8] = inst_16411);
return statearr_16429;
})();var statearr_16430_18595 = state_16418__$1;(statearr_16430_18595[2] = null);
(statearr_16430_18595[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16419 === 11))
{var inst_16408 = (state_16418[2]);var state_16418__$1 = state_16418;var statearr_16431_18596 = state_16418__$1;(statearr_16431_18596[2] = inst_16408);
(statearr_16431_18596[1] = 10);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
}
}
}
}
}
}
}
}
}
}
});})(c__13951__auto___18586,out))
;return ((function (switch__13881__auto__,c__13951__auto___18586,out){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_16435 = [null,null,null,null,null,null,null,null,null];(statearr_16435[0] = state_machine__13882__auto__);
(statearr_16435[1] = 1);
return statearr_16435;
});
var state_machine__13882__auto____1 = (function (state_16418){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_16418);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e16436){if((e16436 instanceof Object))
{var ex__13885__auto__ = e16436;var statearr_16437_18597 = state_16418;(statearr_16437_18597[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_16418);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e16436;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__18598 = state_16418;
state_16418 = G__18598;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_16418){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_16418);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto___18586,out))
})();var state__13953__auto__ = (function (){var statearr_16438 = f__13952__auto__.call(null);(statearr_16438[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto___18586);
return statearr_16438;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto___18586,out))
);
return out;
});
filter_LT_ = function(p,ch,buf_or_n){
switch(arguments.length){
case 2:
return filter_LT___2.call(this,p,ch);
case 3:
return filter_LT___3.call(this,p,ch,buf_or_n);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
filter_LT_.cljs$core$IFn$_invoke$arity$2 = filter_LT___2;
filter_LT_.cljs$core$IFn$_invoke$arity$3 = filter_LT___3;
return filter_LT_;
})()
;
/**
* Takes a predicate and a source channel, and returns a channel which
* contains only the values taken from the source channel for which the
* predicate returns false. The returned channel will be unbuffered by
* default, or a buf-or-n can be supplied. The channel will close
* when the source channel closes.
*/
cljs.core.async.remove_LT_ = (function() {
var remove_LT_ = null;
var remove_LT___2 = (function (p,ch){return remove_LT_.call(null,p,ch,null);
});
var remove_LT___3 = (function (p,ch,buf_or_n){return cljs.core.async.filter_LT_.call(null,cljs.core.complement.call(null,p),ch,buf_or_n);
});
remove_LT_ = function(p,ch,buf_or_n){
switch(arguments.length){
case 2:
return remove_LT___2.call(this,p,ch);
case 3:
return remove_LT___3.call(this,p,ch,buf_or_n);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
remove_LT_.cljs$core$IFn$_invoke$arity$2 = remove_LT___2;
remove_LT_.cljs$core$IFn$_invoke$arity$3 = remove_LT___3;
return remove_LT_;
})()
;
cljs.core.async.mapcat_STAR_ = (function mapcat_STAR_(f,in$,out){var c__13951__auto__ = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto__){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto__){
return (function (state_16590){var state_val_16591 = (state_16590[1]);if((state_val_16591 === 1))
{var state_16590__$1 = state_16590;var statearr_16592_18599 = state_16590__$1;(statearr_16592_18599[2] = null);
(statearr_16592_18599[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16591 === 2))
{var state_16590__$1 = state_16590;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_16590__$1,4,in$);
} else
{if((state_val_16591 === 3))
{var inst_16588 = (state_16590[2]);var state_16590__$1 = state_16590;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_16590__$1,inst_16588);
} else
{if((state_val_16591 === 4))
{var inst_16536 = (state_16590[7]);var inst_16536__$1 = (state_16590[2]);var inst_16537 = (inst_16536__$1 == null);var state_16590__$1 = (function (){var statearr_16593 = state_16590;(statearr_16593[7] = inst_16536__$1);
return statearr_16593;
})();if(cljs.core.truth_(inst_16537))
{var statearr_16594_18600 = state_16590__$1;(statearr_16594_18600[1] = 5);
} else
{var statearr_16595_18601 = state_16590__$1;(statearr_16595_18601[1] = 6);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16591 === 5))
{var inst_16539 = cljs.core.async.close_BANG_.call(null,out);var state_16590__$1 = state_16590;var statearr_16596_18602 = state_16590__$1;(statearr_16596_18602[2] = inst_16539);
(statearr_16596_18602[1] = 7);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16591 === 6))
{var inst_16536 = (state_16590[7]);var inst_16541 = f.call(null,inst_16536);var inst_16546 = cljs.core.seq.call(null,inst_16541);var inst_16547 = inst_16546;var inst_16548 = null;var inst_16549 = 0;var inst_16550 = 0;var state_16590__$1 = (function (){var statearr_16597 = state_16590;(statearr_16597[8] = inst_16549);
(statearr_16597[9] = inst_16548);
(statearr_16597[10] = inst_16547);
(statearr_16597[11] = inst_16550);
return statearr_16597;
})();var statearr_16598_18603 = state_16590__$1;(statearr_16598_18603[2] = null);
(statearr_16598_18603[1] = 8);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16591 === 7))
{var inst_16586 = (state_16590[2]);var state_16590__$1 = state_16590;var statearr_16599_18604 = state_16590__$1;(statearr_16599_18604[2] = inst_16586);
(statearr_16599_18604[1] = 3);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16591 === 8))
{var inst_16549 = (state_16590[8]);var inst_16550 = (state_16590[11]);var inst_16552 = (inst_16550 < inst_16549);var inst_16553 = inst_16552;var state_16590__$1 = state_16590;if(cljs.core.truth_(inst_16553))
{var statearr_16600_18605 = state_16590__$1;(statearr_16600_18605[1] = 10);
} else
{var statearr_16601_18606 = state_16590__$1;(statearr_16601_18606[1] = 11);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16591 === 9))
{var inst_16583 = (state_16590[2]);var state_16590__$1 = (function (){var statearr_16602 = state_16590;(statearr_16602[12] = inst_16583);
return statearr_16602;
})();var statearr_16603_18607 = state_16590__$1;(statearr_16603_18607[2] = null);
(statearr_16603_18607[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16591 === 10))
{var inst_16548 = (state_16590[9]);var inst_16550 = (state_16590[11]);var inst_16555 = cljs.core._nth.call(null,inst_16548,inst_16550);var state_16590__$1 = state_16590;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_16590__$1,13,out,inst_16555);
} else
{if((state_val_16591 === 11))
{var inst_16547 = (state_16590[10]);var inst_16561 = (state_16590[13]);var inst_16561__$1 = cljs.core.seq.call(null,inst_16547);var state_16590__$1 = (function (){var statearr_16607 = state_16590;(statearr_16607[13] = inst_16561__$1);
return statearr_16607;
})();if(inst_16561__$1)
{var statearr_16608_18608 = state_16590__$1;(statearr_16608_18608[1] = 14);
} else
{var statearr_16609_18609 = state_16590__$1;(statearr_16609_18609[1] = 15);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16591 === 12))
{var inst_16581 = (state_16590[2]);var state_16590__$1 = state_16590;var statearr_16610_18610 = state_16590__$1;(statearr_16610_18610[2] = inst_16581);
(statearr_16610_18610[1] = 9);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16591 === 13))
{var inst_16549 = (state_16590[8]);var inst_16548 = (state_16590[9]);var inst_16547 = (state_16590[10]);var inst_16550 = (state_16590[11]);var inst_16557 = (state_16590[2]);var inst_16558 = (inst_16550 + 1);var tmp16604 = inst_16549;var tmp16605 = inst_16548;var tmp16606 = inst_16547;var inst_16547__$1 = tmp16606;var inst_16548__$1 = tmp16605;var inst_16549__$1 = tmp16604;var inst_16550__$1 = inst_16558;var state_16590__$1 = (function (){var statearr_16611 = state_16590;(statearr_16611[8] = inst_16549__$1);
(statearr_16611[14] = inst_16557);
(statearr_16611[9] = inst_16548__$1);
(statearr_16611[10] = inst_16547__$1);
(statearr_16611[11] = inst_16550__$1);
return statearr_16611;
})();var statearr_16612_18611 = state_16590__$1;(statearr_16612_18611[2] = null);
(statearr_16612_18611[1] = 8);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16591 === 14))
{var inst_16561 = (state_16590[13]);var inst_16563 = cljs.core.chunked_seq_QMARK_.call(null,inst_16561);var state_16590__$1 = state_16590;if(inst_16563)
{var statearr_16613_18612 = state_16590__$1;(statearr_16613_18612[1] = 17);
} else
{var statearr_16614_18613 = state_16590__$1;(statearr_16614_18613[1] = 18);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16591 === 15))
{var state_16590__$1 = state_16590;var statearr_16615_18614 = state_16590__$1;(statearr_16615_18614[2] = null);
(statearr_16615_18614[1] = 16);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16591 === 16))
{var inst_16579 = (state_16590[2]);var state_16590__$1 = state_16590;var statearr_16616_18615 = state_16590__$1;(statearr_16616_18615[2] = inst_16579);
(statearr_16616_18615[1] = 12);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16591 === 17))
{var inst_16561 = (state_16590[13]);var inst_16565 = cljs.core.chunk_first.call(null,inst_16561);var inst_16566 = cljs.core.chunk_rest.call(null,inst_16561);var inst_16567 = cljs.core.count.call(null,inst_16565);var inst_16547 = inst_16566;var inst_16548 = inst_16565;var inst_16549 = inst_16567;var inst_16550 = 0;var state_16590__$1 = (function (){var statearr_16617 = state_16590;(statearr_16617[8] = inst_16549);
(statearr_16617[9] = inst_16548);
(statearr_16617[10] = inst_16547);
(statearr_16617[11] = inst_16550);
return statearr_16617;
})();var statearr_16618_18616 = state_16590__$1;(statearr_16618_18616[2] = null);
(statearr_16618_18616[1] = 8);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16591 === 18))
{var inst_16561 = (state_16590[13]);var inst_16570 = cljs.core.first.call(null,inst_16561);var state_16590__$1 = state_16590;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_16590__$1,20,out,inst_16570);
} else
{if((state_val_16591 === 19))
{var inst_16576 = (state_16590[2]);var state_16590__$1 = state_16590;var statearr_16619_18617 = state_16590__$1;(statearr_16619_18617[2] = inst_16576);
(statearr_16619_18617[1] = 16);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16591 === 20))
{var inst_16561 = (state_16590[13]);var inst_16572 = (state_16590[2]);var inst_16573 = cljs.core.next.call(null,inst_16561);var inst_16547 = inst_16573;var inst_16548 = null;var inst_16549 = 0;var inst_16550 = 0;var state_16590__$1 = (function (){var statearr_16620 = state_16590;(statearr_16620[8] = inst_16549);
(statearr_16620[9] = inst_16548);
(statearr_16620[10] = inst_16547);
(statearr_16620[11] = inst_16550);
(statearr_16620[15] = inst_16572);
return statearr_16620;
})();var statearr_16621_18618 = state_16590__$1;(statearr_16621_18618[2] = null);
(statearr_16621_18618[1] = 8);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});})(c__13951__auto__))
;return ((function (switch__13881__auto__,c__13951__auto__){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_16625 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];(statearr_16625[0] = state_machine__13882__auto__);
(statearr_16625[1] = 1);
return statearr_16625;
});
var state_machine__13882__auto____1 = (function (state_16590){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_16590);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e16626){if((e16626 instanceof Object))
{var ex__13885__auto__ = e16626;var statearr_16627_18619 = state_16590;(statearr_16627_18619[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_16590);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e16626;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__18620 = state_16590;
state_16590 = G__18620;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_16590){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_16590);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto__))
})();var state__13953__auto__ = (function (){var statearr_16628 = f__13952__auto__.call(null);(statearr_16628[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto__);
return statearr_16628;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto__))
);
return c__13951__auto__;
});
/**
* Takes a function and a source channel, and returns a channel which
* contains the values in each collection produced by applying f to
* each value taken from the source channel. f must return a
* collection.
*
* The returned channel will be unbuffered by default, or a buf-or-n
* can be supplied. The channel will close when the source channel
* closes.
*/
cljs.core.async.mapcat_LT_ = (function() {
var mapcat_LT_ = null;
var mapcat_LT___2 = (function (f,in$){return mapcat_LT_.call(null,f,in$,null);
});
var mapcat_LT___3 = (function (f,in$,buf_or_n){var out = cljs.core.async.chan.call(null,buf_or_n);cljs.core.async.mapcat_STAR_.call(null,f,in$,out);
return out;
});
mapcat_LT_ = function(f,in$,buf_or_n){
switch(arguments.length){
case 2:
return mapcat_LT___2.call(this,f,in$);
case 3:
return mapcat_LT___3.call(this,f,in$,buf_or_n);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
mapcat_LT_.cljs$core$IFn$_invoke$arity$2 = mapcat_LT___2;
mapcat_LT_.cljs$core$IFn$_invoke$arity$3 = mapcat_LT___3;
return mapcat_LT_;
})()
;
/**
* Takes a function and a target channel, and returns a channel which
* applies f to each value put, then supplies each element of the result
* to the target channel. f must return a collection.
*
* The returned channel will be unbuffered by default, or a buf-or-n
* can be supplied. The target channel will be closed when the source
* channel closes.
*/
cljs.core.async.mapcat_GT_ = (function() {
var mapcat_GT_ = null;
var mapcat_GT___2 = (function (f,out){return mapcat_GT_.call(null,f,out,null);
});
var mapcat_GT___3 = (function (f,out,buf_or_n){var in$ = cljs.core.async.chan.call(null,buf_or_n);cljs.core.async.mapcat_STAR_.call(null,f,in$,out);
return in$;
});
mapcat_GT_ = function(f,out,buf_or_n){
switch(arguments.length){
case 2:
return mapcat_GT___2.call(this,f,out);
case 3:
return mapcat_GT___3.call(this,f,out,buf_or_n);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
mapcat_GT_.cljs$core$IFn$_invoke$arity$2 = mapcat_GT___2;
mapcat_GT_.cljs$core$IFn$_invoke$arity$3 = mapcat_GT___3;
return mapcat_GT_;
})()
;
/**
* Takes elements from the from channel and supplies them to the to
* channel. By default, the to channel will be closed when the
* from channel closes, but can be determined by the close?
* parameter.
*/
cljs.core.async.pipe = (function() {
var pipe = null;
var pipe__2 = (function (from,to){return pipe.call(null,from,to,true);
});
var pipe__3 = (function (from,to,close_QMARK_){var c__13951__auto___18621 = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto___18621){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto___18621){
return (function (state_16688){var state_val_16689 = (state_16688[1]);if((state_val_16689 === 1))
{var state_16688__$1 = state_16688;var statearr_16690_18622 = state_16688__$1;(statearr_16690_18622[2] = null);
(statearr_16690_18622[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16689 === 2))
{var state_16688__$1 = state_16688;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_16688__$1,4,from);
} else
{if((state_val_16689 === 3))
{var inst_16686 = (state_16688[2]);var state_16688__$1 = state_16688;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_16688__$1,inst_16686);
} else
{if((state_val_16689 === 4))
{var inst_16671 = (state_16688[7]);var inst_16671__$1 = (state_16688[2]);var inst_16672 = (inst_16671__$1 == null);var state_16688__$1 = (function (){var statearr_16691 = state_16688;(statearr_16691[7] = inst_16671__$1);
return statearr_16691;
})();if(cljs.core.truth_(inst_16672))
{var statearr_16692_18623 = state_16688__$1;(statearr_16692_18623[1] = 5);
} else
{var statearr_16693_18624 = state_16688__$1;(statearr_16693_18624[1] = 6);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16689 === 5))
{var state_16688__$1 = state_16688;if(cljs.core.truth_(close_QMARK_))
{var statearr_16694_18625 = state_16688__$1;(statearr_16694_18625[1] = 8);
} else
{var statearr_16695_18626 = state_16688__$1;(statearr_16695_18626[1] = 9);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16689 === 6))
{var inst_16671 = (state_16688[7]);var state_16688__$1 = state_16688;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_16688__$1,11,to,inst_16671);
} else
{if((state_val_16689 === 7))
{var inst_16684 = (state_16688[2]);var state_16688__$1 = state_16688;var statearr_16696_18627 = state_16688__$1;(statearr_16696_18627[2] = inst_16684);
(statearr_16696_18627[1] = 3);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16689 === 8))
{var inst_16675 = cljs.core.async.close_BANG_.call(null,to);var state_16688__$1 = state_16688;var statearr_16697_18628 = state_16688__$1;(statearr_16697_18628[2] = inst_16675);
(statearr_16697_18628[1] = 10);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16689 === 9))
{var state_16688__$1 = state_16688;var statearr_16698_18629 = state_16688__$1;(statearr_16698_18629[2] = null);
(statearr_16698_18629[1] = 10);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16689 === 10))
{var inst_16678 = (state_16688[2]);var state_16688__$1 = state_16688;var statearr_16699_18630 = state_16688__$1;(statearr_16699_18630[2] = inst_16678);
(statearr_16699_18630[1] = 7);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16689 === 11))
{var inst_16681 = (state_16688[2]);var state_16688__$1 = (function (){var statearr_16700 = state_16688;(statearr_16700[8] = inst_16681);
return statearr_16700;
})();var statearr_16701_18631 = state_16688__$1;(statearr_16701_18631[2] = null);
(statearr_16701_18631[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
}
}
}
}
}
}
}
}
}
}
});})(c__13951__auto___18621))
;return ((function (switch__13881__auto__,c__13951__auto___18621){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_16705 = [null,null,null,null,null,null,null,null,null];(statearr_16705[0] = state_machine__13882__auto__);
(statearr_16705[1] = 1);
return statearr_16705;
});
var state_machine__13882__auto____1 = (function (state_16688){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_16688);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e16706){if((e16706 instanceof Object))
{var ex__13885__auto__ = e16706;var statearr_16707_18632 = state_16688;(statearr_16707_18632[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_16688);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e16706;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__18633 = state_16688;
state_16688 = G__18633;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_16688){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_16688);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto___18621))
})();var state__13953__auto__ = (function (){var statearr_16708 = f__13952__auto__.call(null);(statearr_16708[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto___18621);
return statearr_16708;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto___18621))
);
return to;
});
pipe = function(from,to,close_QMARK_){
switch(arguments.length){
case 2:
return pipe__2.call(this,from,to);
case 3:
return pipe__3.call(this,from,to,close_QMARK_);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
pipe.cljs$core$IFn$_invoke$arity$2 = pipe__2;
pipe.cljs$core$IFn$_invoke$arity$3 = pipe__3;
return pipe;
})()
;
/**
* Takes a predicate and a source channel and returns a vector of two
* channels, the first of which will contain the values for which the
* predicate returned true, the second those for which it returned
* false.
*
* The out channels will be unbuffered by default, or two buf-or-ns can
* be supplied. The channels will close after the source channel has
* closed.
*/
cljs.core.async.split = (function() {
var split = null;
var split__2 = (function (p,ch){return split.call(null,p,ch,null,null);
});
var split__4 = (function (p,ch,t_buf_or_n,f_buf_or_n){var tc = cljs.core.async.chan.call(null,t_buf_or_n);var fc = cljs.core.async.chan.call(null,f_buf_or_n);var c__13951__auto___18634 = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto___18634,tc,fc){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto___18634,tc,fc){
return (function (state_16773){var state_val_16774 = (state_16773[1]);if((state_val_16774 === 1))
{var state_16773__$1 = state_16773;var statearr_16775_18635 = state_16773__$1;(statearr_16775_18635[2] = null);
(statearr_16775_18635[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16774 === 2))
{var state_16773__$1 = state_16773;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_16773__$1,4,ch);
} else
{if((state_val_16774 === 3))
{var inst_16771 = (state_16773[2]);var state_16773__$1 = state_16773;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_16773__$1,inst_16771);
} else
{if((state_val_16774 === 4))
{var inst_16754 = (state_16773[7]);var inst_16754__$1 = (state_16773[2]);var inst_16755 = (inst_16754__$1 == null);var state_16773__$1 = (function (){var statearr_16776 = state_16773;(statearr_16776[7] = inst_16754__$1);
return statearr_16776;
})();if(cljs.core.truth_(inst_16755))
{var statearr_16777_18636 = state_16773__$1;(statearr_16777_18636[1] = 5);
} else
{var statearr_16778_18637 = state_16773__$1;(statearr_16778_18637[1] = 6);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16774 === 5))
{var inst_16757 = cljs.core.async.close_BANG_.call(null,tc);var inst_16758 = cljs.core.async.close_BANG_.call(null,fc);var state_16773__$1 = (function (){var statearr_16779 = state_16773;(statearr_16779[8] = inst_16757);
return statearr_16779;
})();var statearr_16780_18638 = state_16773__$1;(statearr_16780_18638[2] = inst_16758);
(statearr_16780_18638[1] = 7);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16774 === 6))
{var inst_16754 = (state_16773[7]);var inst_16760 = p.call(null,inst_16754);var state_16773__$1 = state_16773;if(cljs.core.truth_(inst_16760))
{var statearr_16781_18639 = state_16773__$1;(statearr_16781_18639[1] = 9);
} else
{var statearr_16782_18640 = state_16773__$1;(statearr_16782_18640[1] = 10);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16774 === 7))
{var inst_16769 = (state_16773[2]);var state_16773__$1 = state_16773;var statearr_16783_18641 = state_16773__$1;(statearr_16783_18641[2] = inst_16769);
(statearr_16783_18641[1] = 3);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16774 === 8))
{var inst_16766 = (state_16773[2]);var state_16773__$1 = (function (){var statearr_16784 = state_16773;(statearr_16784[9] = inst_16766);
return statearr_16784;
})();var statearr_16785_18642 = state_16773__$1;(statearr_16785_18642[2] = null);
(statearr_16785_18642[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16774 === 9))
{var state_16773__$1 = state_16773;var statearr_16786_18643 = state_16773__$1;(statearr_16786_18643[2] = tc);
(statearr_16786_18643[1] = 11);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16774 === 10))
{var state_16773__$1 = state_16773;var statearr_16787_18644 = state_16773__$1;(statearr_16787_18644[2] = fc);
(statearr_16787_18644[1] = 11);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16774 === 11))
{var inst_16754 = (state_16773[7]);var inst_16764 = (state_16773[2]);var state_16773__$1 = state_16773;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_16773__$1,8,inst_16764,inst_16754);
} else
{return null;
}
}
}
}
}
}
}
}
}
}
}
});})(c__13951__auto___18634,tc,fc))
;return ((function (switch__13881__auto__,c__13951__auto___18634,tc,fc){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_16791 = [null,null,null,null,null,null,null,null,null,null];(statearr_16791[0] = state_machine__13882__auto__);
(statearr_16791[1] = 1);
return statearr_16791;
});
var state_machine__13882__auto____1 = (function (state_16773){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_16773);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e16792){if((e16792 instanceof Object))
{var ex__13885__auto__ = e16792;var statearr_16793_18645 = state_16773;(statearr_16793_18645[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_16773);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e16792;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__18646 = state_16773;
state_16773 = G__18646;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_16773){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_16773);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto___18634,tc,fc))
})();var state__13953__auto__ = (function (){var statearr_16794 = f__13952__auto__.call(null);(statearr_16794[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto___18634);
return statearr_16794;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto___18634,tc,fc))
);
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [tc,fc], null);
});
split = function(p,ch,t_buf_or_n,f_buf_or_n){
switch(arguments.length){
case 2:
return split__2.call(this,p,ch);
case 4:
return split__4.call(this,p,ch,t_buf_or_n,f_buf_or_n);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
split.cljs$core$IFn$_invoke$arity$2 = split__2;
split.cljs$core$IFn$_invoke$arity$4 = split__4;
return split;
})()
;
/**
* f should be a function of 2 arguments. Returns a channel containing
* the single result of applying f to init and the first item from the
* channel, then applying f to that result and the 2nd item, etc. If
* the channel closes without yielding items, returns init and f is not
* called. ch must close before reduce produces a result.
*/
cljs.core.async.reduce = (function reduce(f,init,ch){var c__13951__auto__ = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto__){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto__){
return (function (state_16841){var state_val_16842 = (state_16841[1]);if((state_val_16842 === 7))
{var inst_16837 = (state_16841[2]);var state_16841__$1 = state_16841;var statearr_16843_18647 = state_16841__$1;(statearr_16843_18647[2] = inst_16837);
(statearr_16843_18647[1] = 3);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16842 === 6))
{var inst_16827 = (state_16841[7]);var inst_16830 = (state_16841[8]);var inst_16834 = f.call(null,inst_16827,inst_16830);var inst_16827__$1 = inst_16834;var state_16841__$1 = (function (){var statearr_16844 = state_16841;(statearr_16844[7] = inst_16827__$1);
return statearr_16844;
})();var statearr_16845_18648 = state_16841__$1;(statearr_16845_18648[2] = null);
(statearr_16845_18648[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16842 === 5))
{var inst_16827 = (state_16841[7]);var state_16841__$1 = state_16841;var statearr_16846_18649 = state_16841__$1;(statearr_16846_18649[2] = inst_16827);
(statearr_16846_18649[1] = 7);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16842 === 4))
{var inst_16830 = (state_16841[8]);var inst_16830__$1 = (state_16841[2]);var inst_16831 = (inst_16830__$1 == null);var state_16841__$1 = (function (){var statearr_16847 = state_16841;(statearr_16847[8] = inst_16830__$1);
return statearr_16847;
})();if(cljs.core.truth_(inst_16831))
{var statearr_16848_18650 = state_16841__$1;(statearr_16848_18650[1] = 5);
} else
{var statearr_16849_18651 = state_16841__$1;(statearr_16849_18651[1] = 6);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16842 === 3))
{var inst_16839 = (state_16841[2]);var state_16841__$1 = state_16841;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_16841__$1,inst_16839);
} else
{if((state_val_16842 === 2))
{var state_16841__$1 = state_16841;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_16841__$1,4,ch);
} else
{if((state_val_16842 === 1))
{var inst_16827 = init;var state_16841__$1 = (function (){var statearr_16850 = state_16841;(statearr_16850[7] = inst_16827);
return statearr_16850;
})();var statearr_16851_18652 = state_16841__$1;(statearr_16851_18652[2] = null);
(statearr_16851_18652[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
}
}
}
}
}
}
});})(c__13951__auto__))
;return ((function (switch__13881__auto__,c__13951__auto__){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_16855 = [null,null,null,null,null,null,null,null,null];(statearr_16855[0] = state_machine__13882__auto__);
(statearr_16855[1] = 1);
return statearr_16855;
});
var state_machine__13882__auto____1 = (function (state_16841){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_16841);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e16856){if((e16856 instanceof Object))
{var ex__13885__auto__ = e16856;var statearr_16857_18653 = state_16841;(statearr_16857_18653[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_16841);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e16856;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__18654 = state_16841;
state_16841 = G__18654;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_16841){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_16841);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto__))
})();var state__13953__auto__ = (function (){var statearr_16858 = f__13952__auto__.call(null);(statearr_16858[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto__);
return statearr_16858;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto__))
);
return c__13951__auto__;
});
/**
* Puts the contents of coll into the supplied channel.
*
* By default the channel will be closed after the items are copied,
* but can be determined by the close? parameter.
*
* Returns a channel which will close after the items are copied.
*/
cljs.core.async.onto_chan = (function() {
var onto_chan = null;
var onto_chan__2 = (function (ch,coll){return onto_chan.call(null,ch,coll,true);
});
var onto_chan__3 = (function (ch,coll,close_QMARK_){var c__13951__auto__ = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto__){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto__){
return (function (state_16920){var state_val_16921 = (state_16920[1]);if((state_val_16921 === 1))
{var inst_16900 = cljs.core.seq.call(null,coll);var inst_16901 = inst_16900;var state_16920__$1 = (function (){var statearr_16922 = state_16920;(statearr_16922[7] = inst_16901);
return statearr_16922;
})();var statearr_16923_18655 = state_16920__$1;(statearr_16923_18655[2] = null);
(statearr_16923_18655[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16921 === 2))
{var inst_16901 = (state_16920[7]);var state_16920__$1 = state_16920;if(cljs.core.truth_(inst_16901))
{var statearr_16924_18656 = state_16920__$1;(statearr_16924_18656[1] = 4);
} else
{var statearr_16925_18657 = state_16920__$1;(statearr_16925_18657[1] = 5);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16921 === 3))
{var inst_16918 = (state_16920[2]);var state_16920__$1 = state_16920;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_16920__$1,inst_16918);
} else
{if((state_val_16921 === 4))
{var inst_16901 = (state_16920[7]);var inst_16904 = cljs.core.first.call(null,inst_16901);var state_16920__$1 = state_16920;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_16920__$1,7,ch,inst_16904);
} else
{if((state_val_16921 === 5))
{var state_16920__$1 = state_16920;if(cljs.core.truth_(close_QMARK_))
{var statearr_16926_18658 = state_16920__$1;(statearr_16926_18658[1] = 8);
} else
{var statearr_16927_18659 = state_16920__$1;(statearr_16927_18659[1] = 9);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16921 === 6))
{var inst_16916 = (state_16920[2]);var state_16920__$1 = state_16920;var statearr_16928_18660 = state_16920__$1;(statearr_16928_18660[2] = inst_16916);
(statearr_16928_18660[1] = 3);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16921 === 7))
{var inst_16901 = (state_16920[7]);var inst_16906 = (state_16920[2]);var inst_16907 = cljs.core.next.call(null,inst_16901);var inst_16901__$1 = inst_16907;var state_16920__$1 = (function (){var statearr_16929 = state_16920;(statearr_16929[7] = inst_16901__$1);
(statearr_16929[8] = inst_16906);
return statearr_16929;
})();var statearr_16930_18661 = state_16920__$1;(statearr_16930_18661[2] = null);
(statearr_16930_18661[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16921 === 8))
{var inst_16911 = cljs.core.async.close_BANG_.call(null,ch);var state_16920__$1 = state_16920;var statearr_16931_18662 = state_16920__$1;(statearr_16931_18662[2] = inst_16911);
(statearr_16931_18662[1] = 10);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16921 === 9))
{var state_16920__$1 = state_16920;var statearr_16932_18663 = state_16920__$1;(statearr_16932_18663[2] = null);
(statearr_16932_18663[1] = 10);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_16921 === 10))
{var inst_16914 = (state_16920[2]);var state_16920__$1 = state_16920;var statearr_16933_18664 = state_16920__$1;(statearr_16933_18664[2] = inst_16914);
(statearr_16933_18664[1] = 6);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
}
}
}
}
}
}
}
}
}
});})(c__13951__auto__))
;return ((function (switch__13881__auto__,c__13951__auto__){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_16937 = [null,null,null,null,null,null,null,null,null];(statearr_16937[0] = state_machine__13882__auto__);
(statearr_16937[1] = 1);
return statearr_16937;
});
var state_machine__13882__auto____1 = (function (state_16920){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_16920);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e16938){if((e16938 instanceof Object))
{var ex__13885__auto__ = e16938;var statearr_16939_18665 = state_16920;(statearr_16939_18665[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_16920);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e16938;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__18666 = state_16920;
state_16920 = G__18666;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_16920){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_16920);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto__))
})();var state__13953__auto__ = (function (){var statearr_16940 = f__13952__auto__.call(null);(statearr_16940[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto__);
return statearr_16940;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto__))
);
return c__13951__auto__;
});
onto_chan = function(ch,coll,close_QMARK_){
switch(arguments.length){
case 2:
return onto_chan__2.call(this,ch,coll);
case 3:
return onto_chan__3.call(this,ch,coll,close_QMARK_);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
onto_chan.cljs$core$IFn$_invoke$arity$2 = onto_chan__2;
onto_chan.cljs$core$IFn$_invoke$arity$3 = onto_chan__3;
return onto_chan;
})()
;
/**
* Creates and returns a channel which contains the contents of coll,
* closing when exhausted.
*/
cljs.core.async.to_chan = (function to_chan(coll){var ch = cljs.core.async.chan.call(null,cljs.core.bounded_count.call(null,100,coll));cljs.core.async.onto_chan.call(null,ch,coll);
return ch;
});
cljs.core.async.Mux = (function (){var obj16942 = {};return obj16942;
})();
cljs.core.async.muxch_STAR_ = (function muxch_STAR_(_){if((function (){var and__4872__auto__ = _;if(and__4872__auto__)
{return _.cljs$core$async$Mux$muxch_STAR_$arity$1;
} else
{return and__4872__auto__;
}
})())
{return _.cljs$core$async$Mux$muxch_STAR_$arity$1(_);
} else
{var x__5511__auto__ = (((_ == null))?null:_);return (function (){var or__4884__auto__ = (cljs.core.async.muxch_STAR_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.muxch_STAR_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Mux.muxch*",_);
}
}
})().call(null,_);
}
});
cljs.core.async.Mult = (function (){var obj16944 = {};return obj16944;
})();
cljs.core.async.tap_STAR_ = (function tap_STAR_(m,ch,close_QMARK_){if((function (){var and__4872__auto__ = m;if(and__4872__auto__)
{return m.cljs$core$async$Mult$tap_STAR_$arity$3;
} else
{return and__4872__auto__;
}
})())
{return m.cljs$core$async$Mult$tap_STAR_$arity$3(m,ch,close_QMARK_);
} else
{var x__5511__auto__ = (((m == null))?null:m);return (function (){var or__4884__auto__ = (cljs.core.async.tap_STAR_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.tap_STAR_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Mult.tap*",m);
}
}
})().call(null,m,ch,close_QMARK_);
}
});
cljs.core.async.untap_STAR_ = (function untap_STAR_(m,ch){if((function (){var and__4872__auto__ = m;if(and__4872__auto__)
{return m.cljs$core$async$Mult$untap_STAR_$arity$2;
} else
{return and__4872__auto__;
}
})())
{return m.cljs$core$async$Mult$untap_STAR_$arity$2(m,ch);
} else
{var x__5511__auto__ = (((m == null))?null:m);return (function (){var or__4884__auto__ = (cljs.core.async.untap_STAR_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.untap_STAR_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Mult.untap*",m);
}
}
})().call(null,m,ch);
}
});
cljs.core.async.untap_all_STAR_ = (function untap_all_STAR_(m){if((function (){var and__4872__auto__ = m;if(and__4872__auto__)
{return m.cljs$core$async$Mult$untap_all_STAR_$arity$1;
} else
{return and__4872__auto__;
}
})())
{return m.cljs$core$async$Mult$untap_all_STAR_$arity$1(m);
} else
{var x__5511__auto__ = (((m == null))?null:m);return (function (){var or__4884__auto__ = (cljs.core.async.untap_all_STAR_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.untap_all_STAR_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Mult.untap-all*",m);
}
}
})().call(null,m);
}
});
/**
* Creates and returns a mult(iple) of the supplied channel. Channels
* containing copies of the channel can be created with 'tap', and
* detached with 'untap'.
*
* Each item is distributed to all taps in parallel and synchronously,
* i.e. each tap must accept before the next item is distributed. Use
* buffering/windowing to prevent slow taps from holding up the mult.
*
* Items received when there are no taps get dropped.
*
* If a tap put throws an exception, it will be removed from the mult.
*/
cljs.core.async.mult = (function mult(ch){var cs = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);var m = (function (){if(typeof cljs.core.async.t17168 !== 'undefined')
{} else
{
/**
* @constructor
*/
cljs.core.async.t17168 = (function (cs,ch,mult,meta17169){
this.cs = cs;
this.ch = ch;
this.mult = mult;
this.meta17169 = meta17169;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 393216;
})
cljs.core.async.t17168.cljs$lang$type = true;
cljs.core.async.t17168.cljs$lang$ctorStr = "cljs.core.async/t17168";
cljs.core.async.t17168.cljs$lang$ctorPrWriter = ((function (cs){
return (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async/t17168");
});})(cs))
;
cljs.core.async.t17168.prototype.cljs$core$async$Mult$ = true;
cljs.core.async.t17168.prototype.cljs$core$async$Mult$tap_STAR_$arity$3 = ((function (cs){
return (function (_,ch__$2,close_QMARK_){var self__ = this;
var ___$1 = this;cljs.core.swap_BANG_.call(null,self__.cs,cljs.core.assoc,ch__$2,close_QMARK_);
return null;
});})(cs))
;
cljs.core.async.t17168.prototype.cljs$core$async$Mult$untap_STAR_$arity$2 = ((function (cs){
return (function (_,ch__$2){var self__ = this;
var ___$1 = this;cljs.core.swap_BANG_.call(null,self__.cs,cljs.core.dissoc,ch__$2);
return null;
});})(cs))
;
cljs.core.async.t17168.prototype.cljs$core$async$Mult$untap_all_STAR_$arity$1 = ((function (cs){
return (function (_){var self__ = this;
var ___$1 = this;cljs.core.reset_BANG_.call(null,self__.cs,cljs.core.PersistentArrayMap.EMPTY);
return null;
});})(cs))
;
cljs.core.async.t17168.prototype.cljs$core$async$Mux$ = true;
cljs.core.async.t17168.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 = ((function (cs){
return (function (_){var self__ = this;
var ___$1 = this;return self__.ch;
});})(cs))
;
cljs.core.async.t17168.prototype.cljs$core$IMeta$_meta$arity$1 = ((function (cs){
return (function (_17170){var self__ = this;
var _17170__$1 = this;return self__.meta17169;
});})(cs))
;
cljs.core.async.t17168.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = ((function (cs){
return (function (_17170,meta17169__$1){var self__ = this;
var _17170__$1 = this;return (new cljs.core.async.t17168(self__.cs,self__.ch,self__.mult,meta17169__$1));
});})(cs))
;
cljs.core.async.__GT_t17168 = ((function (cs){
return (function __GT_t17168(cs__$1,ch__$1,mult__$1,meta17169){return (new cljs.core.async.t17168(cs__$1,ch__$1,mult__$1,meta17169));
});})(cs))
;
}
return (new cljs.core.async.t17168(cs,ch,mult,null));
})();var dchan = cljs.core.async.chan.call(null,1);var dctr = cljs.core.atom.call(null,null);var done = ((function (cs,m,dchan,dctr){
return (function (){if((cljs.core.swap_BANG_.call(null,dctr,cljs.core.dec) === 0))
{return cljs.core.async.put_BANG_.call(null,dchan,true);
} else
{return null;
}
});})(cs,m,dchan,dctr))
;var c__13951__auto___18667 = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto___18667,cs,m,dchan,dctr,done){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto___18667,cs,m,dchan,dctr,done){
return (function (state_17305){var state_val_17306 = (state_17305[1]);if((state_val_17306 === 32))
{var inst_17249 = (state_17305[7]);var inst_17173 = (state_17305[8]);var _ = cljs.core.async.impl.ioc_helpers.add_exception_frame.call(null,state_17305,31,Object,null,30);var inst_17256 = cljs.core.async.put_BANG_.call(null,inst_17249,inst_17173,done);var state_17305__$1 = state_17305;var statearr_17307_18668 = state_17305__$1;(statearr_17307_18668[2] = inst_17256);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_17305__$1);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 1))
{var state_17305__$1 = state_17305;var statearr_17308_18669 = state_17305__$1;(statearr_17308_18669[2] = null);
(statearr_17308_18669[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 33))
{var inst_17262 = (state_17305[9]);var inst_17264 = cljs.core.chunked_seq_QMARK_.call(null,inst_17262);var state_17305__$1 = state_17305;if(inst_17264)
{var statearr_17309_18670 = state_17305__$1;(statearr_17309_18670[1] = 36);
} else
{var statearr_17310_18671 = state_17305__$1;(statearr_17310_18671[1] = 37);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 2))
{var state_17305__$1 = state_17305;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_17305__$1,4,ch);
} else
{if((state_val_17306 === 34))
{var state_17305__$1 = state_17305;var statearr_17311_18672 = state_17305__$1;(statearr_17311_18672[2] = null);
(statearr_17311_18672[1] = 35);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 3))
{var inst_17303 = (state_17305[2]);var state_17305__$1 = state_17305;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_17305__$1,inst_17303);
} else
{if((state_val_17306 === 35))
{var inst_17287 = (state_17305[2]);var state_17305__$1 = state_17305;var statearr_17312_18673 = state_17305__$1;(statearr_17312_18673[2] = inst_17287);
(statearr_17312_18673[1] = 29);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 4))
{var inst_17173 = (state_17305[8]);var inst_17173__$1 = (state_17305[2]);var inst_17174 = (inst_17173__$1 == null);var state_17305__$1 = (function (){var statearr_17313 = state_17305;(statearr_17313[8] = inst_17173__$1);
return statearr_17313;
})();if(cljs.core.truth_(inst_17174))
{var statearr_17314_18674 = state_17305__$1;(statearr_17314_18674[1] = 5);
} else
{var statearr_17315_18675 = state_17305__$1;(statearr_17315_18675[1] = 6);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 36))
{var inst_17262 = (state_17305[9]);var inst_17266 = cljs.core.chunk_first.call(null,inst_17262);var inst_17267 = cljs.core.chunk_rest.call(null,inst_17262);var inst_17268 = cljs.core.count.call(null,inst_17266);var inst_17241 = inst_17267;var inst_17242 = inst_17266;var inst_17243 = inst_17268;var inst_17244 = 0;var state_17305__$1 = (function (){var statearr_17316 = state_17305;(statearr_17316[10] = inst_17242);
(statearr_17316[11] = inst_17241);
(statearr_17316[12] = inst_17244);
(statearr_17316[13] = inst_17243);
return statearr_17316;
})();var statearr_17317_18676 = state_17305__$1;(statearr_17317_18676[2] = null);
(statearr_17317_18676[1] = 25);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 5))
{var inst_17180 = cljs.core.deref.call(null,cs);var inst_17181 = cljs.core.seq.call(null,inst_17180);var inst_17182 = inst_17181;var inst_17183 = null;var inst_17184 = 0;var inst_17185 = 0;var state_17305__$1 = (function (){var statearr_17318 = state_17305;(statearr_17318[14] = inst_17182);
(statearr_17318[15] = inst_17183);
(statearr_17318[16] = inst_17184);
(statearr_17318[17] = inst_17185);
return statearr_17318;
})();var statearr_17319_18677 = state_17305__$1;(statearr_17319_18677[2] = null);
(statearr_17319_18677[1] = 8);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 37))
{var inst_17262 = (state_17305[9]);var inst_17271 = cljs.core.first.call(null,inst_17262);var state_17305__$1 = (function (){var statearr_17320 = state_17305;(statearr_17320[18] = inst_17271);
return statearr_17320;
})();var statearr_17321_18678 = state_17305__$1;(statearr_17321_18678[2] = null);
(statearr_17321_18678[1] = 41);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 6))
{var inst_17233 = (state_17305[19]);var inst_17232 = cljs.core.deref.call(null,cs);var inst_17233__$1 = cljs.core.keys.call(null,inst_17232);var inst_17234 = cljs.core.count.call(null,inst_17233__$1);var inst_17235 = cljs.core.reset_BANG_.call(null,dctr,inst_17234);var inst_17240 = cljs.core.seq.call(null,inst_17233__$1);var inst_17241 = inst_17240;var inst_17242 = null;var inst_17243 = 0;var inst_17244 = 0;var state_17305__$1 = (function (){var statearr_17322 = state_17305;(statearr_17322[20] = inst_17235);
(statearr_17322[19] = inst_17233__$1);
(statearr_17322[10] = inst_17242);
(statearr_17322[11] = inst_17241);
(statearr_17322[12] = inst_17244);
(statearr_17322[13] = inst_17243);
return statearr_17322;
})();var statearr_17323_18679 = state_17305__$1;(statearr_17323_18679[2] = null);
(statearr_17323_18679[1] = 25);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 38))
{var inst_17284 = (state_17305[2]);var state_17305__$1 = state_17305;var statearr_17324_18680 = state_17305__$1;(statearr_17324_18680[2] = inst_17284);
(statearr_17324_18680[1] = 35);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 7))
{var inst_17301 = (state_17305[2]);var state_17305__$1 = state_17305;var statearr_17325_18681 = state_17305__$1;(statearr_17325_18681[2] = inst_17301);
(statearr_17325_18681[1] = 3);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 39))
{var inst_17262 = (state_17305[9]);var inst_17280 = (state_17305[2]);var inst_17281 = cljs.core.next.call(null,inst_17262);var inst_17241 = inst_17281;var inst_17242 = null;var inst_17243 = 0;var inst_17244 = 0;var state_17305__$1 = (function (){var statearr_17326 = state_17305;(statearr_17326[10] = inst_17242);
(statearr_17326[11] = inst_17241);
(statearr_17326[12] = inst_17244);
(statearr_17326[13] = inst_17243);
(statearr_17326[21] = inst_17280);
return statearr_17326;
})();var statearr_17327_18682 = state_17305__$1;(statearr_17327_18682[2] = null);
(statearr_17327_18682[1] = 25);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 8))
{var inst_17184 = (state_17305[16]);var inst_17185 = (state_17305[17]);var inst_17187 = (inst_17185 < inst_17184);var inst_17188 = inst_17187;var state_17305__$1 = state_17305;if(cljs.core.truth_(inst_17188))
{var statearr_17328_18683 = state_17305__$1;(statearr_17328_18683[1] = 10);
} else
{var statearr_17329_18684 = state_17305__$1;(statearr_17329_18684[1] = 11);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 40))
{var inst_17271 = (state_17305[18]);var inst_17272 = (state_17305[2]);var inst_17273 = cljs.core.swap_BANG_.call(null,dctr,cljs.core.dec);var inst_17274 = cljs.core.async.untap_STAR_.call(null,m,inst_17271);var state_17305__$1 = (function (){var statearr_17330 = state_17305;(statearr_17330[22] = inst_17272);
(statearr_17330[23] = inst_17273);
return statearr_17330;
})();var statearr_17331_18685 = state_17305__$1;(statearr_17331_18685[2] = inst_17274);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_17305__$1);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 9))
{var inst_17230 = (state_17305[2]);var state_17305__$1 = state_17305;var statearr_17332_18686 = state_17305__$1;(statearr_17332_18686[2] = inst_17230);
(statearr_17332_18686[1] = 7);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 41))
{var inst_17173 = (state_17305[8]);var inst_17271 = (state_17305[18]);var _ = cljs.core.async.impl.ioc_helpers.add_exception_frame.call(null,state_17305,40,Object,null,39);var inst_17278 = cljs.core.async.put_BANG_.call(null,inst_17271,inst_17173,done);var state_17305__$1 = state_17305;var statearr_17333_18687 = state_17305__$1;(statearr_17333_18687[2] = inst_17278);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_17305__$1);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 10))
{var inst_17183 = (state_17305[15]);var inst_17185 = (state_17305[17]);var inst_17191 = cljs.core._nth.call(null,inst_17183,inst_17185);var inst_17192 = cljs.core.nth.call(null,inst_17191,0,null);var inst_17193 = cljs.core.nth.call(null,inst_17191,1,null);var state_17305__$1 = (function (){var statearr_17334 = state_17305;(statearr_17334[24] = inst_17192);
return statearr_17334;
})();if(cljs.core.truth_(inst_17193))
{var statearr_17335_18688 = state_17305__$1;(statearr_17335_18688[1] = 13);
} else
{var statearr_17336_18689 = state_17305__$1;(statearr_17336_18689[1] = 14);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 42))
{var state_17305__$1 = state_17305;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_17305__$1,45,dchan);
} else
{if((state_val_17306 === 11))
{var inst_17182 = (state_17305[14]);var inst_17202 = (state_17305[25]);var inst_17202__$1 = cljs.core.seq.call(null,inst_17182);var state_17305__$1 = (function (){var statearr_17337 = state_17305;(statearr_17337[25] = inst_17202__$1);
return statearr_17337;
})();if(inst_17202__$1)
{var statearr_17338_18690 = state_17305__$1;(statearr_17338_18690[1] = 16);
} else
{var statearr_17339_18691 = state_17305__$1;(statearr_17339_18691[1] = 17);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 43))
{var state_17305__$1 = state_17305;var statearr_17340_18692 = state_17305__$1;(statearr_17340_18692[2] = null);
(statearr_17340_18692[1] = 44);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 12))
{var inst_17228 = (state_17305[2]);var state_17305__$1 = state_17305;var statearr_17341_18693 = state_17305__$1;(statearr_17341_18693[2] = inst_17228);
(statearr_17341_18693[1] = 9);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 44))
{var inst_17298 = (state_17305[2]);var state_17305__$1 = (function (){var statearr_17342 = state_17305;(statearr_17342[26] = inst_17298);
return statearr_17342;
})();var statearr_17343_18694 = state_17305__$1;(statearr_17343_18694[2] = null);
(statearr_17343_18694[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 13))
{var inst_17192 = (state_17305[24]);var inst_17195 = cljs.core.async.close_BANG_.call(null,inst_17192);var state_17305__$1 = state_17305;var statearr_17344_18695 = state_17305__$1;(statearr_17344_18695[2] = inst_17195);
(statearr_17344_18695[1] = 15);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 45))
{var inst_17295 = (state_17305[2]);var state_17305__$1 = state_17305;var statearr_17348_18696 = state_17305__$1;(statearr_17348_18696[2] = inst_17295);
(statearr_17348_18696[1] = 44);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 14))
{var state_17305__$1 = state_17305;var statearr_17349_18697 = state_17305__$1;(statearr_17349_18697[2] = null);
(statearr_17349_18697[1] = 15);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 15))
{var inst_17182 = (state_17305[14]);var inst_17183 = (state_17305[15]);var inst_17184 = (state_17305[16]);var inst_17185 = (state_17305[17]);var inst_17198 = (state_17305[2]);var inst_17199 = (inst_17185 + 1);var tmp17345 = inst_17182;var tmp17346 = inst_17183;var tmp17347 = inst_17184;var inst_17182__$1 = tmp17345;var inst_17183__$1 = tmp17346;var inst_17184__$1 = tmp17347;var inst_17185__$1 = inst_17199;var state_17305__$1 = (function (){var statearr_17350 = state_17305;(statearr_17350[14] = inst_17182__$1);
(statearr_17350[15] = inst_17183__$1);
(statearr_17350[16] = inst_17184__$1);
(statearr_17350[17] = inst_17185__$1);
(statearr_17350[27] = inst_17198);
return statearr_17350;
})();var statearr_17351_18698 = state_17305__$1;(statearr_17351_18698[2] = null);
(statearr_17351_18698[1] = 8);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 16))
{var inst_17202 = (state_17305[25]);var inst_17204 = cljs.core.chunked_seq_QMARK_.call(null,inst_17202);var state_17305__$1 = state_17305;if(inst_17204)
{var statearr_17352_18699 = state_17305__$1;(statearr_17352_18699[1] = 19);
} else
{var statearr_17353_18700 = state_17305__$1;(statearr_17353_18700[1] = 20);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 17))
{var state_17305__$1 = state_17305;var statearr_17354_18701 = state_17305__$1;(statearr_17354_18701[2] = null);
(statearr_17354_18701[1] = 18);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 18))
{var inst_17226 = (state_17305[2]);var state_17305__$1 = state_17305;var statearr_17355_18702 = state_17305__$1;(statearr_17355_18702[2] = inst_17226);
(statearr_17355_18702[1] = 12);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 19))
{var inst_17202 = (state_17305[25]);var inst_17206 = cljs.core.chunk_first.call(null,inst_17202);var inst_17207 = cljs.core.chunk_rest.call(null,inst_17202);var inst_17208 = cljs.core.count.call(null,inst_17206);var inst_17182 = inst_17207;var inst_17183 = inst_17206;var inst_17184 = inst_17208;var inst_17185 = 0;var state_17305__$1 = (function (){var statearr_17356 = state_17305;(statearr_17356[14] = inst_17182);
(statearr_17356[15] = inst_17183);
(statearr_17356[16] = inst_17184);
(statearr_17356[17] = inst_17185);
return statearr_17356;
})();var statearr_17357_18703 = state_17305__$1;(statearr_17357_18703[2] = null);
(statearr_17357_18703[1] = 8);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 20))
{var inst_17202 = (state_17305[25]);var inst_17212 = cljs.core.first.call(null,inst_17202);var inst_17213 = cljs.core.nth.call(null,inst_17212,0,null);var inst_17214 = cljs.core.nth.call(null,inst_17212,1,null);var state_17305__$1 = (function (){var statearr_17358 = state_17305;(statearr_17358[28] = inst_17213);
return statearr_17358;
})();if(cljs.core.truth_(inst_17214))
{var statearr_17359_18704 = state_17305__$1;(statearr_17359_18704[1] = 22);
} else
{var statearr_17360_18705 = state_17305__$1;(statearr_17360_18705[1] = 23);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 21))
{var inst_17223 = (state_17305[2]);var state_17305__$1 = state_17305;var statearr_17361_18706 = state_17305__$1;(statearr_17361_18706[2] = inst_17223);
(statearr_17361_18706[1] = 18);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 22))
{var inst_17213 = (state_17305[28]);var inst_17216 = cljs.core.async.close_BANG_.call(null,inst_17213);var state_17305__$1 = state_17305;var statearr_17362_18707 = state_17305__$1;(statearr_17362_18707[2] = inst_17216);
(statearr_17362_18707[1] = 24);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 23))
{var state_17305__$1 = state_17305;var statearr_17363_18708 = state_17305__$1;(statearr_17363_18708[2] = null);
(statearr_17363_18708[1] = 24);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 24))
{var inst_17202 = (state_17305[25]);var inst_17219 = (state_17305[2]);var inst_17220 = cljs.core.next.call(null,inst_17202);var inst_17182 = inst_17220;var inst_17183 = null;var inst_17184 = 0;var inst_17185 = 0;var state_17305__$1 = (function (){var statearr_17364 = state_17305;(statearr_17364[14] = inst_17182);
(statearr_17364[15] = inst_17183);
(statearr_17364[16] = inst_17184);
(statearr_17364[17] = inst_17185);
(statearr_17364[29] = inst_17219);
return statearr_17364;
})();var statearr_17365_18709 = state_17305__$1;(statearr_17365_18709[2] = null);
(statearr_17365_18709[1] = 8);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 25))
{var inst_17244 = (state_17305[12]);var inst_17243 = (state_17305[13]);var inst_17246 = (inst_17244 < inst_17243);var inst_17247 = inst_17246;var state_17305__$1 = state_17305;if(cljs.core.truth_(inst_17247))
{var statearr_17366_18710 = state_17305__$1;(statearr_17366_18710[1] = 27);
} else
{var statearr_17367_18711 = state_17305__$1;(statearr_17367_18711[1] = 28);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 26))
{var inst_17233 = (state_17305[19]);var inst_17291 = (state_17305[2]);var inst_17292 = cljs.core.seq.call(null,inst_17233);var state_17305__$1 = (function (){var statearr_17368 = state_17305;(statearr_17368[30] = inst_17291);
return statearr_17368;
})();if(inst_17292)
{var statearr_17369_18712 = state_17305__$1;(statearr_17369_18712[1] = 42);
} else
{var statearr_17370_18713 = state_17305__$1;(statearr_17370_18713[1] = 43);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 27))
{var inst_17242 = (state_17305[10]);var inst_17244 = (state_17305[12]);var inst_17249 = cljs.core._nth.call(null,inst_17242,inst_17244);var state_17305__$1 = (function (){var statearr_17371 = state_17305;(statearr_17371[7] = inst_17249);
return statearr_17371;
})();var statearr_17372_18714 = state_17305__$1;(statearr_17372_18714[2] = null);
(statearr_17372_18714[1] = 32);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 28))
{var inst_17262 = (state_17305[9]);var inst_17241 = (state_17305[11]);var inst_17262__$1 = cljs.core.seq.call(null,inst_17241);var state_17305__$1 = (function (){var statearr_17376 = state_17305;(statearr_17376[9] = inst_17262__$1);
return statearr_17376;
})();if(inst_17262__$1)
{var statearr_17377_18715 = state_17305__$1;(statearr_17377_18715[1] = 33);
} else
{var statearr_17378_18716 = state_17305__$1;(statearr_17378_18716[1] = 34);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 29))
{var inst_17289 = (state_17305[2]);var state_17305__$1 = state_17305;var statearr_17379_18717 = state_17305__$1;(statearr_17379_18717[2] = inst_17289);
(statearr_17379_18717[1] = 26);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 30))
{var inst_17242 = (state_17305[10]);var inst_17241 = (state_17305[11]);var inst_17244 = (state_17305[12]);var inst_17243 = (state_17305[13]);var inst_17258 = (state_17305[2]);var inst_17259 = (inst_17244 + 1);var tmp17373 = inst_17242;var tmp17374 = inst_17241;var tmp17375 = inst_17243;var inst_17241__$1 = tmp17374;var inst_17242__$1 = tmp17373;var inst_17243__$1 = tmp17375;var inst_17244__$1 = inst_17259;var state_17305__$1 = (function (){var statearr_17380 = state_17305;(statearr_17380[10] = inst_17242__$1);
(statearr_17380[11] = inst_17241__$1);
(statearr_17380[12] = inst_17244__$1);
(statearr_17380[13] = inst_17243__$1);
(statearr_17380[31] = inst_17258);
return statearr_17380;
})();var statearr_17381_18718 = state_17305__$1;(statearr_17381_18718[2] = null);
(statearr_17381_18718[1] = 25);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17306 === 31))
{var inst_17249 = (state_17305[7]);var inst_17250 = (state_17305[2]);var inst_17251 = cljs.core.swap_BANG_.call(null,dctr,cljs.core.dec);var inst_17252 = cljs.core.async.untap_STAR_.call(null,m,inst_17249);var state_17305__$1 = (function (){var statearr_17382 = state_17305;(statearr_17382[32] = inst_17250);
(statearr_17382[33] = inst_17251);
return statearr_17382;
})();var statearr_17383_18719 = state_17305__$1;(statearr_17383_18719[2] = inst_17252);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_17305__$1);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});})(c__13951__auto___18667,cs,m,dchan,dctr,done))
;return ((function (switch__13881__auto__,c__13951__auto___18667,cs,m,dchan,dctr,done){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_17387 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];(statearr_17387[0] = state_machine__13882__auto__);
(statearr_17387[1] = 1);
return statearr_17387;
});
var state_machine__13882__auto____1 = (function (state_17305){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_17305);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e17388){if((e17388 instanceof Object))
{var ex__13885__auto__ = e17388;var statearr_17389_18720 = state_17305;(statearr_17389_18720[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_17305);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e17388;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__18721 = state_17305;
state_17305 = G__18721;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_17305){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_17305);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto___18667,cs,m,dchan,dctr,done))
})();var state__13953__auto__ = (function (){var statearr_17390 = f__13952__auto__.call(null);(statearr_17390[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto___18667);
return statearr_17390;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto___18667,cs,m,dchan,dctr,done))
);
return m;
});
/**
* Copies the mult source onto the supplied channel.
*
* By default the channel will be closed when the source closes,
* but can be determined by the close? parameter.
*/
cljs.core.async.tap = (function() {
var tap = null;
var tap__2 = (function (mult,ch){return tap.call(null,mult,ch,true);
});
var tap__3 = (function (mult,ch,close_QMARK_){cljs.core.async.tap_STAR_.call(null,mult,ch,close_QMARK_);
return ch;
});
tap = function(mult,ch,close_QMARK_){
switch(arguments.length){
case 2:
return tap__2.call(this,mult,ch);
case 3:
return tap__3.call(this,mult,ch,close_QMARK_);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
tap.cljs$core$IFn$_invoke$arity$2 = tap__2;
tap.cljs$core$IFn$_invoke$arity$3 = tap__3;
return tap;
})()
;
/**
* Disconnects a target channel from a mult
*/
cljs.core.async.untap = (function untap(mult,ch){return cljs.core.async.untap_STAR_.call(null,mult,ch);
});
/**
* Disconnects all target channels from a mult
*/
cljs.core.async.untap_all = (function untap_all(mult){return cljs.core.async.untap_all_STAR_.call(null,mult);
});
cljs.core.async.Mix = (function (){var obj17392 = {};return obj17392;
})();
cljs.core.async.admix_STAR_ = (function admix_STAR_(m,ch){if((function (){var and__4872__auto__ = m;if(and__4872__auto__)
{return m.cljs$core$async$Mix$admix_STAR_$arity$2;
} else
{return and__4872__auto__;
}
})())
{return m.cljs$core$async$Mix$admix_STAR_$arity$2(m,ch);
} else
{var x__5511__auto__ = (((m == null))?null:m);return (function (){var or__4884__auto__ = (cljs.core.async.admix_STAR_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.admix_STAR_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Mix.admix*",m);
}
}
})().call(null,m,ch);
}
});
cljs.core.async.unmix_STAR_ = (function unmix_STAR_(m,ch){if((function (){var and__4872__auto__ = m;if(and__4872__auto__)
{return m.cljs$core$async$Mix$unmix_STAR_$arity$2;
} else
{return and__4872__auto__;
}
})())
{return m.cljs$core$async$Mix$unmix_STAR_$arity$2(m,ch);
} else
{var x__5511__auto__ = (((m == null))?null:m);return (function (){var or__4884__auto__ = (cljs.core.async.unmix_STAR_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.unmix_STAR_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Mix.unmix*",m);
}
}
})().call(null,m,ch);
}
});
cljs.core.async.unmix_all_STAR_ = (function unmix_all_STAR_(m){if((function (){var and__4872__auto__ = m;if(and__4872__auto__)
{return m.cljs$core$async$Mix$unmix_all_STAR_$arity$1;
} else
{return and__4872__auto__;
}
})())
{return m.cljs$core$async$Mix$unmix_all_STAR_$arity$1(m);
} else
{var x__5511__auto__ = (((m == null))?null:m);return (function (){var or__4884__auto__ = (cljs.core.async.unmix_all_STAR_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.unmix_all_STAR_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Mix.unmix-all*",m);
}
}
})().call(null,m);
}
});
cljs.core.async.toggle_STAR_ = (function toggle_STAR_(m,state_map){if((function (){var and__4872__auto__ = m;if(and__4872__auto__)
{return m.cljs$core$async$Mix$toggle_STAR_$arity$2;
} else
{return and__4872__auto__;
}
})())
{return m.cljs$core$async$Mix$toggle_STAR_$arity$2(m,state_map);
} else
{var x__5511__auto__ = (((m == null))?null:m);return (function (){var or__4884__auto__ = (cljs.core.async.toggle_STAR_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.toggle_STAR_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Mix.toggle*",m);
}
}
})().call(null,m,state_map);
}
});
cljs.core.async.solo_mode_STAR_ = (function solo_mode_STAR_(m,mode){if((function (){var and__4872__auto__ = m;if(and__4872__auto__)
{return m.cljs$core$async$Mix$solo_mode_STAR_$arity$2;
} else
{return and__4872__auto__;
}
})())
{return m.cljs$core$async$Mix$solo_mode_STAR_$arity$2(m,mode);
} else
{var x__5511__auto__ = (((m == null))?null:m);return (function (){var or__4884__auto__ = (cljs.core.async.solo_mode_STAR_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.solo_mode_STAR_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Mix.solo-mode*",m);
}
}
})().call(null,m,mode);
}
});
/**
* Creates and returns a mix of one or more input channels which will
* be put on the supplied out channel. Input sources can be added to
* the mix with 'admix', and removed with 'unmix'. A mix supports
* soloing, muting and pausing multiple inputs atomically using
* 'toggle', and can solo using either muting or pausing as determined
* by 'solo-mode'.
*
* Each channel can have zero or more boolean modes set via 'toggle':
*
* :solo - when true, only this (ond other soloed) channel(s) will appear
* in the mix output channel. :mute and :pause states of soloed
* channels are ignored. If solo-mode is :mute, non-soloed
* channels are muted, if :pause, non-soloed channels are
* paused.
*
* :mute - muted channels will have their contents consumed but not included in the mix
* :pause - paused channels will not have their contents consumed (and thus also not included in the mix)
*/
cljs.core.async.mix = (function mix(out){var cs = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);var solo_modes = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"pause","pause",1120344424),null,new cljs.core.Keyword(null,"mute","mute",1017267595),null], null), null);var attrs = cljs.core.conj.call(null,solo_modes,new cljs.core.Keyword(null,"solo","solo",1017440337));var solo_mode = cljs.core.atom.call(null,new cljs.core.Keyword(null,"mute","mute",1017267595));var change = cljs.core.async.chan.call(null);var changed = ((function (cs,solo_modes,attrs,solo_mode,change){
return (function (){return cljs.core.async.put_BANG_.call(null,change,true);
});})(cs,solo_modes,attrs,solo_mode,change))
;var pick = ((function (cs,solo_modes,attrs,solo_mode,change,changed){
return (function (attr,chs){return cljs.core.reduce_kv.call(null,((function (cs,solo_modes,attrs,solo_mode,change,changed){
return (function (ret,c,v){if(cljs.core.truth_(attr.call(null,v)))
{return cljs.core.conj.call(null,ret,c);
} else
{return ret;
}
});})(cs,solo_modes,attrs,solo_mode,change,changed))
,cljs.core.PersistentHashSet.EMPTY,chs);
});})(cs,solo_modes,attrs,solo_mode,change,changed))
;var calc_state = ((function (cs,solo_modes,attrs,solo_mode,change,changed,pick){
return (function (){var chs = cljs.core.deref.call(null,cs);var mode = cljs.core.deref.call(null,solo_mode);var solos = pick.call(null,new cljs.core.Keyword(null,"solo","solo",1017440337),chs);var pauses = pick.call(null,new cljs.core.Keyword(null,"pause","pause",1120344424),chs);return new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"solos","solos",1123523302),solos,new cljs.core.Keyword(null,"mutes","mutes",1118168300),pick.call(null,new cljs.core.Keyword(null,"mute","mute",1017267595),chs),new cljs.core.Keyword(null,"reads","reads",1122290959),cljs.core.conj.call(null,(((cljs.core._EQ_.call(null,mode,new cljs.core.Keyword(null,"pause","pause",1120344424))) && (!(cljs.core.empty_QMARK_.call(null,solos))))?cljs.core.vec.call(null,solos):cljs.core.vec.call(null,cljs.core.remove.call(null,pauses,cljs.core.keys.call(null,chs)))),change)], null);
});})(cs,solo_modes,attrs,solo_mode,change,changed,pick))
;var m = (function (){if(typeof cljs.core.async.t17502 !== 'undefined')
{} else
{
/**
* @constructor
*/
cljs.core.async.t17502 = (function (pick,out,attrs,cs,calc_state,solo_modes,mix,changed,change,solo_mode,meta17503){
this.pick = pick;
this.out = out;
this.attrs = attrs;
this.cs = cs;
this.calc_state = calc_state;
this.solo_modes = solo_modes;
this.mix = mix;
this.changed = changed;
this.change = change;
this.solo_mode = solo_mode;
this.meta17503 = meta17503;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 393216;
})
cljs.core.async.t17502.cljs$lang$type = true;
cljs.core.async.t17502.cljs$lang$ctorStr = "cljs.core.async/t17502";
cljs.core.async.t17502.cljs$lang$ctorPrWriter = ((function (cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state){
return (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async/t17502");
});})(cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state))
;
cljs.core.async.t17502.prototype.cljs$core$async$Mix$ = true;
cljs.core.async.t17502.prototype.cljs$core$async$Mix$admix_STAR_$arity$2 = ((function (cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state){
return (function (_,ch){var self__ = this;
var ___$1 = this;cljs.core.swap_BANG_.call(null,self__.cs,cljs.core.assoc,ch,cljs.core.PersistentArrayMap.EMPTY);
return self__.changed.call(null);
});})(cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state))
;
cljs.core.async.t17502.prototype.cljs$core$async$Mix$unmix_STAR_$arity$2 = ((function (cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state){
return (function (_,ch){var self__ = this;
var ___$1 = this;cljs.core.swap_BANG_.call(null,self__.cs,cljs.core.dissoc,ch);
return self__.changed.call(null);
});})(cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state))
;
cljs.core.async.t17502.prototype.cljs$core$async$Mix$unmix_all_STAR_$arity$1 = ((function (cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state){
return (function (_){var self__ = this;
var ___$1 = this;cljs.core.reset_BANG_.call(null,self__.cs,cljs.core.PersistentArrayMap.EMPTY);
return self__.changed.call(null);
});})(cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state))
;
cljs.core.async.t17502.prototype.cljs$core$async$Mix$toggle_STAR_$arity$2 = ((function (cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state){
return (function (_,state_map){var self__ = this;
var ___$1 = this;cljs.core.swap_BANG_.call(null,self__.cs,cljs.core.partial.call(null,cljs.core.merge_with,cljs.core.merge),state_map);
return self__.changed.call(null);
});})(cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state))
;
cljs.core.async.t17502.prototype.cljs$core$async$Mix$solo_mode_STAR_$arity$2 = ((function (cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state){
return (function (_,mode){var self__ = this;
var ___$1 = this;if(cljs.core.truth_(self__.solo_modes.call(null,mode)))
{} else
{throw (new Error([cljs.core.str("Assert failed: "),cljs.core.str([cljs.core.str("mode must be one of: "),cljs.core.str(self__.solo_modes)].join('')),cljs.core.str("\n"),cljs.core.str(cljs.core.pr_str.call(null,cljs.core.list(new cljs.core.Symbol(null,"solo-modes","solo-modes",-1162732933,null),new cljs.core.Symbol(null,"mode","mode",-1637174436,null))))].join('')));
}
cljs.core.reset_BANG_.call(null,self__.solo_mode,mode);
return self__.changed.call(null);
});})(cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state))
;
cljs.core.async.t17502.prototype.cljs$core$async$Mux$ = true;
cljs.core.async.t17502.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 = ((function (cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state){
return (function (_){var self__ = this;
var ___$1 = this;return self__.out;
});})(cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state))
;
cljs.core.async.t17502.prototype.cljs$core$IMeta$_meta$arity$1 = ((function (cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state){
return (function (_17504){var self__ = this;
var _17504__$1 = this;return self__.meta17503;
});})(cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state))
;
cljs.core.async.t17502.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = ((function (cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state){
return (function (_17504,meta17503__$1){var self__ = this;
var _17504__$1 = this;return (new cljs.core.async.t17502(self__.pick,self__.out,self__.attrs,self__.cs,self__.calc_state,self__.solo_modes,self__.mix,self__.changed,self__.change,self__.solo_mode,meta17503__$1));
});})(cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state))
;
cljs.core.async.__GT_t17502 = ((function (cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state){
return (function __GT_t17502(pick__$1,out__$1,attrs__$1,cs__$1,calc_state__$1,solo_modes__$1,mix__$1,changed__$1,change__$1,solo_mode__$1,meta17503){return (new cljs.core.async.t17502(pick__$1,out__$1,attrs__$1,cs__$1,calc_state__$1,solo_modes__$1,mix__$1,changed__$1,change__$1,solo_mode__$1,meta17503));
});})(cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state))
;
}
return (new cljs.core.async.t17502(pick,out,attrs,cs,calc_state,solo_modes,mix,changed,change,solo_mode,null));
})();var c__13951__auto___18722 = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto___18722,cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state,m){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto___18722,cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state,m){
return (function (state_17569){var state_val_17570 = (state_17569[1]);if((state_val_17570 === 1))
{var inst_17508 = (state_17569[7]);var inst_17508__$1 = calc_state.call(null);var inst_17509 = cljs.core.seq_QMARK_.call(null,inst_17508__$1);var state_17569__$1 = (function (){var statearr_17571 = state_17569;(statearr_17571[7] = inst_17508__$1);
return statearr_17571;
})();if(inst_17509)
{var statearr_17572_18723 = state_17569__$1;(statearr_17572_18723[1] = 2);
} else
{var statearr_17573_18724 = state_17569__$1;(statearr_17573_18724[1] = 3);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 2))
{var inst_17508 = (state_17569[7]);var inst_17511 = cljs.core.apply.call(null,cljs.core.hash_map,inst_17508);var state_17569__$1 = state_17569;var statearr_17574_18725 = state_17569__$1;(statearr_17574_18725[2] = inst_17511);
(statearr_17574_18725[1] = 4);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 3))
{var inst_17508 = (state_17569[7]);var state_17569__$1 = state_17569;var statearr_17575_18726 = state_17569__$1;(statearr_17575_18726[2] = inst_17508);
(statearr_17575_18726[1] = 4);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 4))
{var inst_17508 = (state_17569[7]);var inst_17514 = (state_17569[2]);var inst_17515 = cljs.core.get.call(null,inst_17514,new cljs.core.Keyword(null,"reads","reads",1122290959));var inst_17516 = cljs.core.get.call(null,inst_17514,new cljs.core.Keyword(null,"mutes","mutes",1118168300));var inst_17517 = cljs.core.get.call(null,inst_17514,new cljs.core.Keyword(null,"solos","solos",1123523302));var inst_17518 = inst_17508;var state_17569__$1 = (function (){var statearr_17576 = state_17569;(statearr_17576[8] = inst_17517);
(statearr_17576[9] = inst_17518);
(statearr_17576[10] = inst_17516);
(statearr_17576[11] = inst_17515);
return statearr_17576;
})();var statearr_17577_18727 = state_17569__$1;(statearr_17577_18727[2] = null);
(statearr_17577_18727[1] = 5);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 5))
{var inst_17518 = (state_17569[9]);var inst_17521 = cljs.core.seq_QMARK_.call(null,inst_17518);var state_17569__$1 = state_17569;if(inst_17521)
{var statearr_17578_18728 = state_17569__$1;(statearr_17578_18728[1] = 7);
} else
{var statearr_17579_18729 = state_17569__$1;(statearr_17579_18729[1] = 8);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 6))
{var inst_17567 = (state_17569[2]);var state_17569__$1 = state_17569;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_17569__$1,inst_17567);
} else
{if((state_val_17570 === 7))
{var inst_17518 = (state_17569[9]);var inst_17523 = cljs.core.apply.call(null,cljs.core.hash_map,inst_17518);var state_17569__$1 = state_17569;var statearr_17580_18730 = state_17569__$1;(statearr_17580_18730[2] = inst_17523);
(statearr_17580_18730[1] = 9);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 8))
{var inst_17518 = (state_17569[9]);var state_17569__$1 = state_17569;var statearr_17581_18731 = state_17569__$1;(statearr_17581_18731[2] = inst_17518);
(statearr_17581_18731[1] = 9);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 9))
{var inst_17526 = (state_17569[12]);var inst_17526__$1 = (state_17569[2]);var inst_17527 = cljs.core.get.call(null,inst_17526__$1,new cljs.core.Keyword(null,"reads","reads",1122290959));var inst_17528 = cljs.core.get.call(null,inst_17526__$1,new cljs.core.Keyword(null,"mutes","mutes",1118168300));var inst_17529 = cljs.core.get.call(null,inst_17526__$1,new cljs.core.Keyword(null,"solos","solos",1123523302));var state_17569__$1 = (function (){var statearr_17582 = state_17569;(statearr_17582[12] = inst_17526__$1);
(statearr_17582[13] = inst_17528);
(statearr_17582[14] = inst_17529);
return statearr_17582;
})();return cljs.core.async.impl.ioc_helpers.ioc_alts_BANG_.call(null,state_17569__$1,10,inst_17527);
} else
{if((state_val_17570 === 10))
{var inst_17533 = (state_17569[15]);var inst_17534 = (state_17569[16]);var inst_17532 = (state_17569[2]);var inst_17533__$1 = cljs.core.nth.call(null,inst_17532,0,null);var inst_17534__$1 = cljs.core.nth.call(null,inst_17532,1,null);var inst_17535 = (inst_17533__$1 == null);var inst_17536 = cljs.core._EQ_.call(null,inst_17534__$1,change);var inst_17537 = (inst_17535) || (inst_17536);var state_17569__$1 = (function (){var statearr_17583 = state_17569;(statearr_17583[15] = inst_17533__$1);
(statearr_17583[16] = inst_17534__$1);
return statearr_17583;
})();if(cljs.core.truth_(inst_17537))
{var statearr_17584_18732 = state_17569__$1;(statearr_17584_18732[1] = 11);
} else
{var statearr_17585_18733 = state_17569__$1;(statearr_17585_18733[1] = 12);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 11))
{var inst_17533 = (state_17569[15]);var inst_17539 = (inst_17533 == null);var state_17569__$1 = state_17569;if(cljs.core.truth_(inst_17539))
{var statearr_17586_18734 = state_17569__$1;(statearr_17586_18734[1] = 14);
} else
{var statearr_17587_18735 = state_17569__$1;(statearr_17587_18735[1] = 15);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 12))
{var inst_17534 = (state_17569[16]);var inst_17548 = (state_17569[17]);var inst_17529 = (state_17569[14]);var inst_17548__$1 = inst_17529.call(null,inst_17534);var state_17569__$1 = (function (){var statearr_17588 = state_17569;(statearr_17588[17] = inst_17548__$1);
return statearr_17588;
})();if(cljs.core.truth_(inst_17548__$1))
{var statearr_17589_18736 = state_17569__$1;(statearr_17589_18736[1] = 17);
} else
{var statearr_17590_18737 = state_17569__$1;(statearr_17590_18737[1] = 18);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 13))
{var inst_17565 = (state_17569[2]);var state_17569__$1 = state_17569;var statearr_17591_18738 = state_17569__$1;(statearr_17591_18738[2] = inst_17565);
(statearr_17591_18738[1] = 6);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 14))
{var inst_17534 = (state_17569[16]);var inst_17541 = cljs.core.swap_BANG_.call(null,cs,cljs.core.dissoc,inst_17534);var state_17569__$1 = state_17569;var statearr_17592_18739 = state_17569__$1;(statearr_17592_18739[2] = inst_17541);
(statearr_17592_18739[1] = 16);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 15))
{var state_17569__$1 = state_17569;var statearr_17593_18740 = state_17569__$1;(statearr_17593_18740[2] = null);
(statearr_17593_18740[1] = 16);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 16))
{var inst_17544 = (state_17569[2]);var inst_17545 = calc_state.call(null);var inst_17518 = inst_17545;var state_17569__$1 = (function (){var statearr_17594 = state_17569;(statearr_17594[9] = inst_17518);
(statearr_17594[18] = inst_17544);
return statearr_17594;
})();var statearr_17595_18741 = state_17569__$1;(statearr_17595_18741[2] = null);
(statearr_17595_18741[1] = 5);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 17))
{var inst_17548 = (state_17569[17]);var state_17569__$1 = state_17569;var statearr_17596_18742 = state_17569__$1;(statearr_17596_18742[2] = inst_17548);
(statearr_17596_18742[1] = 19);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 18))
{var inst_17534 = (state_17569[16]);var inst_17528 = (state_17569[13]);var inst_17529 = (state_17569[14]);var inst_17551 = cljs.core.empty_QMARK_.call(null,inst_17529);var inst_17552 = inst_17528.call(null,inst_17534);var inst_17553 = cljs.core.not.call(null,inst_17552);var inst_17554 = (inst_17551) && (inst_17553);var state_17569__$1 = state_17569;var statearr_17597_18743 = state_17569__$1;(statearr_17597_18743[2] = inst_17554);
(statearr_17597_18743[1] = 19);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 19))
{var inst_17556 = (state_17569[2]);var state_17569__$1 = state_17569;if(cljs.core.truth_(inst_17556))
{var statearr_17598_18744 = state_17569__$1;(statearr_17598_18744[1] = 20);
} else
{var statearr_17599_18745 = state_17569__$1;(statearr_17599_18745[1] = 21);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 20))
{var inst_17533 = (state_17569[15]);var state_17569__$1 = state_17569;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_17569__$1,23,out,inst_17533);
} else
{if((state_val_17570 === 21))
{var state_17569__$1 = state_17569;var statearr_17600_18746 = state_17569__$1;(statearr_17600_18746[2] = null);
(statearr_17600_18746[1] = 22);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 22))
{var inst_17526 = (state_17569[12]);var inst_17562 = (state_17569[2]);var inst_17518 = inst_17526;var state_17569__$1 = (function (){var statearr_17601 = state_17569;(statearr_17601[9] = inst_17518);
(statearr_17601[19] = inst_17562);
return statearr_17601;
})();var statearr_17602_18747 = state_17569__$1;(statearr_17602_18747[2] = null);
(statearr_17602_18747[1] = 5);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17570 === 23))
{var inst_17559 = (state_17569[2]);var state_17569__$1 = state_17569;var statearr_17603_18748 = state_17569__$1;(statearr_17603_18748[2] = inst_17559);
(statearr_17603_18748[1] = 22);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});})(c__13951__auto___18722,cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state,m))
;return ((function (switch__13881__auto__,c__13951__auto___18722,cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state,m){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_17607 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];(statearr_17607[0] = state_machine__13882__auto__);
(statearr_17607[1] = 1);
return statearr_17607;
});
var state_machine__13882__auto____1 = (function (state_17569){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_17569);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e17608){if((e17608 instanceof Object))
{var ex__13885__auto__ = e17608;var statearr_17609_18749 = state_17569;(statearr_17609_18749[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_17569);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e17608;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__18750 = state_17569;
state_17569 = G__18750;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_17569){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_17569);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto___18722,cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state,m))
})();var state__13953__auto__ = (function (){var statearr_17610 = f__13952__auto__.call(null);(statearr_17610[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto___18722);
return statearr_17610;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto___18722,cs,solo_modes,attrs,solo_mode,change,changed,pick,calc_state,m))
);
return m;
});
/**
* Adds ch as an input to the mix
*/
cljs.core.async.admix = (function admix(mix,ch){return cljs.core.async.admix_STAR_.call(null,mix,ch);
});
/**
* Removes ch as an input to the mix
*/
cljs.core.async.unmix = (function unmix(mix,ch){return cljs.core.async.unmix_STAR_.call(null,mix,ch);
});
/**
* removes all inputs from the mix
*/
cljs.core.async.unmix_all = (function unmix_all(mix){return cljs.core.async.unmix_all_STAR_.call(null,mix);
});
/**
* Atomically sets the state(s) of one or more channels in a mix. The
* state map is a map of channels -> channel-state-map. A
* channel-state-map is a map of attrs -> boolean, where attr is one or
* more of :mute, :pause or :solo. Any states supplied are merged with
* the current state.
*
* Note that channels can be added to a mix via toggle, which can be
* used to add channels in a particular (e.g. paused) state.
*/
cljs.core.async.toggle = (function toggle(mix,state_map){return cljs.core.async.toggle_STAR_.call(null,mix,state_map);
});
/**
* Sets the solo mode of the mix. mode must be one of :mute or :pause
*/
cljs.core.async.solo_mode = (function solo_mode(mix,mode){return cljs.core.async.solo_mode_STAR_.call(null,mix,mode);
});
cljs.core.async.Pub = (function (){var obj17612 = {};return obj17612;
})();
cljs.core.async.sub_STAR_ = (function sub_STAR_(p,v,ch,close_QMARK_){if((function (){var and__4872__auto__ = p;if(and__4872__auto__)
{return p.cljs$core$async$Pub$sub_STAR_$arity$4;
} else
{return and__4872__auto__;
}
})())
{return p.cljs$core$async$Pub$sub_STAR_$arity$4(p,v,ch,close_QMARK_);
} else
{var x__5511__auto__ = (((p == null))?null:p);return (function (){var or__4884__auto__ = (cljs.core.async.sub_STAR_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.sub_STAR_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Pub.sub*",p);
}
}
})().call(null,p,v,ch,close_QMARK_);
}
});
cljs.core.async.unsub_STAR_ = (function unsub_STAR_(p,v,ch){if((function (){var and__4872__auto__ = p;if(and__4872__auto__)
{return p.cljs$core$async$Pub$unsub_STAR_$arity$3;
} else
{return and__4872__auto__;
}
})())
{return p.cljs$core$async$Pub$unsub_STAR_$arity$3(p,v,ch);
} else
{var x__5511__auto__ = (((p == null))?null:p);return (function (){var or__4884__auto__ = (cljs.core.async.unsub_STAR_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.unsub_STAR_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Pub.unsub*",p);
}
}
})().call(null,p,v,ch);
}
});
cljs.core.async.unsub_all_STAR_ = (function() {
var unsub_all_STAR_ = null;
var unsub_all_STAR___1 = (function (p){if((function (){var and__4872__auto__ = p;if(and__4872__auto__)
{return p.cljs$core$async$Pub$unsub_all_STAR_$arity$1;
} else
{return and__4872__auto__;
}
})())
{return p.cljs$core$async$Pub$unsub_all_STAR_$arity$1(p);
} else
{var x__5511__auto__ = (((p == null))?null:p);return (function (){var or__4884__auto__ = (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.unsub_all_STAR_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Pub.unsub-all*",p);
}
}
})().call(null,p);
}
});
var unsub_all_STAR___2 = (function (p,v){if((function (){var and__4872__auto__ = p;if(and__4872__auto__)
{return p.cljs$core$async$Pub$unsub_all_STAR_$arity$2;
} else
{return and__4872__auto__;
}
})())
{return p.cljs$core$async$Pub$unsub_all_STAR_$arity$2(p,v);
} else
{var x__5511__auto__ = (((p == null))?null:p);return (function (){var or__4884__auto__ = (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5511__auto__)]);if(or__4884__auto__)
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = (cljs.core.async.unsub_all_STAR_["_"]);if(or__4884__auto____$1)
{return or__4884__auto____$1;
} else
{throw cljs.core.missing_protocol.call(null,"Pub.unsub-all*",p);
}
}
})().call(null,p,v);
}
});
unsub_all_STAR_ = function(p,v){
switch(arguments.length){
case 1:
return unsub_all_STAR___1.call(this,p);
case 2:
return unsub_all_STAR___2.call(this,p,v);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1 = unsub_all_STAR___1;
unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2 = unsub_all_STAR___2;
return unsub_all_STAR_;
})()
;
/**
* Creates and returns a pub(lication) of the supplied channel,
* partitioned into topics by the topic-fn. topic-fn will be applied to
* each value on the channel and the result will determine the 'topic'
* on which that value will be put. Channels can be subscribed to
* receive copies of topics using 'sub', and unsubscribed using
* 'unsub'. Each topic will be handled by an internal mult on a
* dedicated channel. By default these internal channels are
* unbuffered, but a buf-fn can be supplied which, given a topic,
* creates a buffer with desired properties.
*
* Each item is distributed to all subs in parallel and synchronously,
* i.e. each sub must accept before the next item is distributed. Use
* buffering/windowing to prevent slow subs from holding up the pub.
*
* Items received when there are no matching subs get dropped.
*
* Note that if buf-fns are used then each topic is handled
* asynchronously, i.e. if a channel is subscribed to more than one
* topic it should not expect them to be interleaved identically with
* the source.
*/
cljs.core.async.pub = (function() {
var pub = null;
var pub__2 = (function (ch,topic_fn){return pub.call(null,ch,topic_fn,cljs.core.constantly.call(null,null));
});
var pub__3 = (function (ch,topic_fn,buf_fn){var mults = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);var ensure_mult = ((function (mults){
return (function (topic){var or__4884__auto__ = cljs.core.get.call(null,cljs.core.deref.call(null,mults),topic);if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return cljs.core.get.call(null,cljs.core.swap_BANG_.call(null,mults,((function (or__4884__auto__,mults){
return (function (p1__17613_SHARP_){if(cljs.core.truth_(p1__17613_SHARP_.call(null,topic)))
{return p1__17613_SHARP_;
} else
{return cljs.core.assoc.call(null,p1__17613_SHARP_,topic,cljs.core.async.mult.call(null,cljs.core.async.chan.call(null,buf_fn.call(null,topic))));
}
});})(or__4884__auto__,mults))
),topic);
}
});})(mults))
;var p = (function (){if(typeof cljs.core.async.t17738 !== 'undefined')
{} else
{
/**
* @constructor
*/
cljs.core.async.t17738 = (function (ensure_mult,mults,buf_fn,topic_fn,ch,pub,meta17739){
this.ensure_mult = ensure_mult;
this.mults = mults;
this.buf_fn = buf_fn;
this.topic_fn = topic_fn;
this.ch = ch;
this.pub = pub;
this.meta17739 = meta17739;
this.cljs$lang$protocol_mask$partition1$ = 0;
this.cljs$lang$protocol_mask$partition0$ = 393216;
})
cljs.core.async.t17738.cljs$lang$type = true;
cljs.core.async.t17738.cljs$lang$ctorStr = "cljs.core.async/t17738";
cljs.core.async.t17738.cljs$lang$ctorPrWriter = ((function (mults,ensure_mult){
return (function (this__5451__auto__,writer__5452__auto__,opt__5453__auto__){return cljs.core._write.call(null,writer__5452__auto__,"cljs.core.async/t17738");
});})(mults,ensure_mult))
;
cljs.core.async.t17738.prototype.cljs$core$async$Pub$ = true;
cljs.core.async.t17738.prototype.cljs$core$async$Pub$sub_STAR_$arity$4 = ((function (mults,ensure_mult){
return (function (p,topic,ch__$2,close_QMARK_){var self__ = this;
var p__$1 = this;var m = self__.ensure_mult.call(null,topic);return cljs.core.async.tap.call(null,m,ch__$2,close_QMARK_);
});})(mults,ensure_mult))
;
cljs.core.async.t17738.prototype.cljs$core$async$Pub$unsub_STAR_$arity$3 = ((function (mults,ensure_mult){
return (function (p,topic,ch__$2){var self__ = this;
var p__$1 = this;var temp__4092__auto__ = cljs.core.get.call(null,cljs.core.deref.call(null,self__.mults),topic);if(cljs.core.truth_(temp__4092__auto__))
{var m = temp__4092__auto__;return cljs.core.async.untap.call(null,m,ch__$2);
} else
{return null;
}
});})(mults,ensure_mult))
;
cljs.core.async.t17738.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$1 = ((function (mults,ensure_mult){
return (function (_){var self__ = this;
var ___$1 = this;return cljs.core.reset_BANG_.call(null,self__.mults,cljs.core.PersistentArrayMap.EMPTY);
});})(mults,ensure_mult))
;
cljs.core.async.t17738.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$2 = ((function (mults,ensure_mult){
return (function (_,topic){var self__ = this;
var ___$1 = this;return cljs.core.swap_BANG_.call(null,self__.mults,cljs.core.dissoc,topic);
});})(mults,ensure_mult))
;
cljs.core.async.t17738.prototype.cljs$core$async$Mux$ = true;
cljs.core.async.t17738.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 = ((function (mults,ensure_mult){
return (function (_){var self__ = this;
var ___$1 = this;return self__.ch;
});})(mults,ensure_mult))
;
cljs.core.async.t17738.prototype.cljs$core$IMeta$_meta$arity$1 = ((function (mults,ensure_mult){
return (function (_17740){var self__ = this;
var _17740__$1 = this;return self__.meta17739;
});})(mults,ensure_mult))
;
cljs.core.async.t17738.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = ((function (mults,ensure_mult){
return (function (_17740,meta17739__$1){var self__ = this;
var _17740__$1 = this;return (new cljs.core.async.t17738(self__.ensure_mult,self__.mults,self__.buf_fn,self__.topic_fn,self__.ch,self__.pub,meta17739__$1));
});})(mults,ensure_mult))
;
cljs.core.async.__GT_t17738 = ((function (mults,ensure_mult){
return (function __GT_t17738(ensure_mult__$1,mults__$1,buf_fn__$1,topic_fn__$1,ch__$1,pub__$1,meta17739){return (new cljs.core.async.t17738(ensure_mult__$1,mults__$1,buf_fn__$1,topic_fn__$1,ch__$1,pub__$1,meta17739));
});})(mults,ensure_mult))
;
}
return (new cljs.core.async.t17738(ensure_mult,mults,buf_fn,topic_fn,ch,pub,null));
})();var c__13951__auto___18751 = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto___18751,mults,ensure_mult,p){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto___18751,mults,ensure_mult,p){
return (function (state_17814){var state_val_17815 = (state_17814[1]);if((state_val_17815 === 1))
{var state_17814__$1 = state_17814;var statearr_17816_18752 = state_17814__$1;(statearr_17816_18752[2] = null);
(statearr_17816_18752[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 2))
{var state_17814__$1 = state_17814;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_17814__$1,4,ch);
} else
{if((state_val_17815 === 3))
{var inst_17812 = (state_17814[2]);var state_17814__$1 = state_17814;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_17814__$1,inst_17812);
} else
{if((state_val_17815 === 4))
{var inst_17743 = (state_17814[7]);var inst_17743__$1 = (state_17814[2]);var inst_17744 = (inst_17743__$1 == null);var state_17814__$1 = (function (){var statearr_17817 = state_17814;(statearr_17817[7] = inst_17743__$1);
return statearr_17817;
})();if(cljs.core.truth_(inst_17744))
{var statearr_17818_18753 = state_17814__$1;(statearr_17818_18753[1] = 5);
} else
{var statearr_17819_18754 = state_17814__$1;(statearr_17819_18754[1] = 6);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 5))
{var inst_17750 = cljs.core.deref.call(null,mults);var inst_17751 = cljs.core.vals.call(null,inst_17750);var inst_17752 = cljs.core.seq.call(null,inst_17751);var inst_17753 = inst_17752;var inst_17754 = null;var inst_17755 = 0;var inst_17756 = 0;var state_17814__$1 = (function (){var statearr_17820 = state_17814;(statearr_17820[8] = inst_17753);
(statearr_17820[9] = inst_17754);
(statearr_17820[10] = inst_17756);
(statearr_17820[11] = inst_17755);
return statearr_17820;
})();var statearr_17821_18755 = state_17814__$1;(statearr_17821_18755[2] = null);
(statearr_17821_18755[1] = 8);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 6))
{var inst_17791 = (state_17814[12]);var inst_17793 = (state_17814[13]);var inst_17743 = (state_17814[7]);var inst_17791__$1 = topic_fn.call(null,inst_17743);var inst_17792 = cljs.core.deref.call(null,mults);var inst_17793__$1 = cljs.core.get.call(null,inst_17792,inst_17791__$1);var state_17814__$1 = (function (){var statearr_17822 = state_17814;(statearr_17822[12] = inst_17791__$1);
(statearr_17822[13] = inst_17793__$1);
return statearr_17822;
})();if(cljs.core.truth_(inst_17793__$1))
{var statearr_17823_18756 = state_17814__$1;(statearr_17823_18756[1] = 19);
} else
{var statearr_17824_18757 = state_17814__$1;(statearr_17824_18757[1] = 20);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 7))
{var inst_17810 = (state_17814[2]);var state_17814__$1 = state_17814;var statearr_17825_18758 = state_17814__$1;(statearr_17825_18758[2] = inst_17810);
(statearr_17825_18758[1] = 3);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 8))
{var inst_17756 = (state_17814[10]);var inst_17755 = (state_17814[11]);var inst_17758 = (inst_17756 < inst_17755);var inst_17759 = inst_17758;var state_17814__$1 = state_17814;if(cljs.core.truth_(inst_17759))
{var statearr_17829_18759 = state_17814__$1;(statearr_17829_18759[1] = 10);
} else
{var statearr_17830_18760 = state_17814__$1;(statearr_17830_18760[1] = 11);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 9))
{var inst_17789 = (state_17814[2]);var state_17814__$1 = state_17814;var statearr_17831_18761 = state_17814__$1;(statearr_17831_18761[2] = inst_17789);
(statearr_17831_18761[1] = 7);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 10))
{var inst_17753 = (state_17814[8]);var inst_17754 = (state_17814[9]);var inst_17756 = (state_17814[10]);var inst_17755 = (state_17814[11]);var inst_17761 = cljs.core._nth.call(null,inst_17754,inst_17756);var inst_17762 = cljs.core.async.muxch_STAR_.call(null,inst_17761);var inst_17763 = cljs.core.async.close_BANG_.call(null,inst_17762);var inst_17764 = (inst_17756 + 1);var tmp17826 = inst_17753;var tmp17827 = inst_17754;var tmp17828 = inst_17755;var inst_17753__$1 = tmp17826;var inst_17754__$1 = tmp17827;var inst_17755__$1 = tmp17828;var inst_17756__$1 = inst_17764;var state_17814__$1 = (function (){var statearr_17832 = state_17814;(statearr_17832[8] = inst_17753__$1);
(statearr_17832[9] = inst_17754__$1);
(statearr_17832[14] = inst_17763);
(statearr_17832[10] = inst_17756__$1);
(statearr_17832[11] = inst_17755__$1);
return statearr_17832;
})();var statearr_17833_18762 = state_17814__$1;(statearr_17833_18762[2] = null);
(statearr_17833_18762[1] = 8);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 11))
{var inst_17753 = (state_17814[8]);var inst_17767 = (state_17814[15]);var inst_17767__$1 = cljs.core.seq.call(null,inst_17753);var state_17814__$1 = (function (){var statearr_17834 = state_17814;(statearr_17834[15] = inst_17767__$1);
return statearr_17834;
})();if(inst_17767__$1)
{var statearr_17835_18763 = state_17814__$1;(statearr_17835_18763[1] = 13);
} else
{var statearr_17836_18764 = state_17814__$1;(statearr_17836_18764[1] = 14);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 12))
{var inst_17787 = (state_17814[2]);var state_17814__$1 = state_17814;var statearr_17837_18765 = state_17814__$1;(statearr_17837_18765[2] = inst_17787);
(statearr_17837_18765[1] = 9);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 13))
{var inst_17767 = (state_17814[15]);var inst_17769 = cljs.core.chunked_seq_QMARK_.call(null,inst_17767);var state_17814__$1 = state_17814;if(inst_17769)
{var statearr_17838_18766 = state_17814__$1;(statearr_17838_18766[1] = 16);
} else
{var statearr_17839_18767 = state_17814__$1;(statearr_17839_18767[1] = 17);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 14))
{var state_17814__$1 = state_17814;var statearr_17840_18768 = state_17814__$1;(statearr_17840_18768[2] = null);
(statearr_17840_18768[1] = 15);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 15))
{var inst_17785 = (state_17814[2]);var state_17814__$1 = state_17814;var statearr_17841_18769 = state_17814__$1;(statearr_17841_18769[2] = inst_17785);
(statearr_17841_18769[1] = 12);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 16))
{var inst_17767 = (state_17814[15]);var inst_17771 = cljs.core.chunk_first.call(null,inst_17767);var inst_17772 = cljs.core.chunk_rest.call(null,inst_17767);var inst_17773 = cljs.core.count.call(null,inst_17771);var inst_17753 = inst_17772;var inst_17754 = inst_17771;var inst_17755 = inst_17773;var inst_17756 = 0;var state_17814__$1 = (function (){var statearr_17842 = state_17814;(statearr_17842[8] = inst_17753);
(statearr_17842[9] = inst_17754);
(statearr_17842[10] = inst_17756);
(statearr_17842[11] = inst_17755);
return statearr_17842;
})();var statearr_17843_18770 = state_17814__$1;(statearr_17843_18770[2] = null);
(statearr_17843_18770[1] = 8);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 17))
{var inst_17767 = (state_17814[15]);var inst_17776 = cljs.core.first.call(null,inst_17767);var inst_17777 = cljs.core.async.muxch_STAR_.call(null,inst_17776);var inst_17778 = cljs.core.async.close_BANG_.call(null,inst_17777);var inst_17779 = cljs.core.next.call(null,inst_17767);var inst_17753 = inst_17779;var inst_17754 = null;var inst_17755 = 0;var inst_17756 = 0;var state_17814__$1 = (function (){var statearr_17844 = state_17814;(statearr_17844[8] = inst_17753);
(statearr_17844[9] = inst_17754);
(statearr_17844[10] = inst_17756);
(statearr_17844[11] = inst_17755);
(statearr_17844[16] = inst_17778);
return statearr_17844;
})();var statearr_17845_18771 = state_17814__$1;(statearr_17845_18771[2] = null);
(statearr_17845_18771[1] = 8);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 18))
{var inst_17782 = (state_17814[2]);var state_17814__$1 = state_17814;var statearr_17846_18772 = state_17814__$1;(statearr_17846_18772[2] = inst_17782);
(statearr_17846_18772[1] = 15);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 19))
{var state_17814__$1 = state_17814;var statearr_17847_18773 = state_17814__$1;(statearr_17847_18773[2] = null);
(statearr_17847_18773[1] = 24);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 20))
{var state_17814__$1 = state_17814;var statearr_17848_18774 = state_17814__$1;(statearr_17848_18774[2] = null);
(statearr_17848_18774[1] = 21);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 21))
{var inst_17807 = (state_17814[2]);var state_17814__$1 = (function (){var statearr_17849 = state_17814;(statearr_17849[17] = inst_17807);
return statearr_17849;
})();var statearr_17850_18775 = state_17814__$1;(statearr_17850_18775[2] = null);
(statearr_17850_18775[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 22))
{var inst_17804 = (state_17814[2]);var state_17814__$1 = state_17814;var statearr_17851_18776 = state_17814__$1;(statearr_17851_18776[2] = inst_17804);
(statearr_17851_18776[1] = 21);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 23))
{var inst_17791 = (state_17814[12]);var inst_17795 = (state_17814[2]);var inst_17796 = cljs.core.swap_BANG_.call(null,mults,cljs.core.dissoc,inst_17791);var state_17814__$1 = (function (){var statearr_17852 = state_17814;(statearr_17852[18] = inst_17795);
return statearr_17852;
})();var statearr_17853_18777 = state_17814__$1;(statearr_17853_18777[2] = inst_17796);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_17814__$1);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17815 === 24))
{var inst_17793 = (state_17814[13]);var inst_17743 = (state_17814[7]);var _ = cljs.core.async.impl.ioc_helpers.add_exception_frame.call(null,state_17814,23,Object,null,22);var inst_17800 = cljs.core.async.muxch_STAR_.call(null,inst_17793);var state_17814__$1 = state_17814;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_17814__$1,25,inst_17800,inst_17743);
} else
{if((state_val_17815 === 25))
{var inst_17802 = (state_17814[2]);var state_17814__$1 = state_17814;var statearr_17854_18778 = state_17814__$1;(statearr_17854_18778[2] = inst_17802);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_17814__$1);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});})(c__13951__auto___18751,mults,ensure_mult,p))
;return ((function (switch__13881__auto__,c__13951__auto___18751,mults,ensure_mult,p){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_17858 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];(statearr_17858[0] = state_machine__13882__auto__);
(statearr_17858[1] = 1);
return statearr_17858;
});
var state_machine__13882__auto____1 = (function (state_17814){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_17814);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e17859){if((e17859 instanceof Object))
{var ex__13885__auto__ = e17859;var statearr_17860_18779 = state_17814;(statearr_17860_18779[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_17814);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e17859;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__18780 = state_17814;
state_17814 = G__18780;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_17814){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_17814);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto___18751,mults,ensure_mult,p))
})();var state__13953__auto__ = (function (){var statearr_17861 = f__13952__auto__.call(null);(statearr_17861[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto___18751);
return statearr_17861;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto___18751,mults,ensure_mult,p))
);
return p;
});
pub = function(ch,topic_fn,buf_fn){
switch(arguments.length){
case 2:
return pub__2.call(this,ch,topic_fn);
case 3:
return pub__3.call(this,ch,topic_fn,buf_fn);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
pub.cljs$core$IFn$_invoke$arity$2 = pub__2;
pub.cljs$core$IFn$_invoke$arity$3 = pub__3;
return pub;
})()
;
/**
* Subscribes a channel to a topic of a pub.
*
* By default the channel will be closed when the source closes,
* but can be determined by the close? parameter.
*/
cljs.core.async.sub = (function() {
var sub = null;
var sub__3 = (function (p,topic,ch){return sub.call(null,p,topic,ch,true);
});
var sub__4 = (function (p,topic,ch,close_QMARK_){return cljs.core.async.sub_STAR_.call(null,p,topic,ch,close_QMARK_);
});
sub = function(p,topic,ch,close_QMARK_){
switch(arguments.length){
case 3:
return sub__3.call(this,p,topic,ch);
case 4:
return sub__4.call(this,p,topic,ch,close_QMARK_);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
sub.cljs$core$IFn$_invoke$arity$3 = sub__3;
sub.cljs$core$IFn$_invoke$arity$4 = sub__4;
return sub;
})()
;
/**
* Unsubscribes a channel from a topic of a pub
*/
cljs.core.async.unsub = (function unsub(p,topic,ch){return cljs.core.async.unsub_STAR_.call(null,p,topic,ch);
});
/**
* Unsubscribes all channels from a pub, or a topic of a pub
*/
cljs.core.async.unsub_all = (function() {
var unsub_all = null;
var unsub_all__1 = (function (p){return cljs.core.async.unsub_all_STAR_.call(null,p);
});
var unsub_all__2 = (function (p,topic){return cljs.core.async.unsub_all_STAR_.call(null,p,topic);
});
unsub_all = function(p,topic){
switch(arguments.length){
case 1:
return unsub_all__1.call(this,p);
case 2:
return unsub_all__2.call(this,p,topic);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
unsub_all.cljs$core$IFn$_invoke$arity$1 = unsub_all__1;
unsub_all.cljs$core$IFn$_invoke$arity$2 = unsub_all__2;
return unsub_all;
})()
;
/**
* Takes a function and a collection of source channels, and returns a
* channel which contains the values produced by applying f to the set
* of first items taken from each source channel, followed by applying
* f to the set of second items from each channel, until any one of the
* channels is closed, at which point the output channel will be
* closed. The returned channel will be unbuffered by default, or a
* buf-or-n can be supplied
*/
cljs.core.async.map = (function() {
var map = null;
var map__2 = (function (f,chs){return map.call(null,f,chs,null);
});
var map__3 = (function (f,chs,buf_or_n){var chs__$1 = cljs.core.vec.call(null,chs);var out = cljs.core.async.chan.call(null,buf_or_n);var cnt = cljs.core.count.call(null,chs__$1);var rets = cljs.core.object_array.call(null,cnt);var dchan = cljs.core.async.chan.call(null,1);var dctr = cljs.core.atom.call(null,null);var done = cljs.core.mapv.call(null,((function (chs__$1,out,cnt,rets,dchan,dctr){
return (function (i){return ((function (chs__$1,out,cnt,rets,dchan,dctr){
return (function (ret){(rets[i] = ret);
if((cljs.core.swap_BANG_.call(null,dctr,cljs.core.dec) === 0))
{return cljs.core.async.put_BANG_.call(null,dchan,rets.slice(0));
} else
{return null;
}
});
;})(chs__$1,out,cnt,rets,dchan,dctr))
});})(chs__$1,out,cnt,rets,dchan,dctr))
,cljs.core.range.call(null,cnt));var c__13951__auto___18781 = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto___18781,chs__$1,out,cnt,rets,dchan,dctr,done){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto___18781,chs__$1,out,cnt,rets,dchan,dctr,done){
return (function (state_17968){var state_val_17969 = (state_17968[1]);if((state_val_17969 === 1))
{var state_17968__$1 = state_17968;var statearr_17970_18782 = state_17968__$1;(statearr_17970_18782[2] = null);
(statearr_17970_18782[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17969 === 2))
{var inst_17931 = cljs.core.reset_BANG_.call(null,dctr,cnt);var inst_17932 = 0;var state_17968__$1 = (function (){var statearr_17971 = state_17968;(statearr_17971[7] = inst_17932);
(statearr_17971[8] = inst_17931);
return statearr_17971;
})();var statearr_17972_18783 = state_17968__$1;(statearr_17972_18783[2] = null);
(statearr_17972_18783[1] = 4);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17969 === 3))
{var inst_17966 = (state_17968[2]);var state_17968__$1 = state_17968;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_17968__$1,inst_17966);
} else
{if((state_val_17969 === 4))
{var inst_17932 = (state_17968[7]);var inst_17934 = (inst_17932 < cnt);var state_17968__$1 = state_17968;if(cljs.core.truth_(inst_17934))
{var statearr_17973_18784 = state_17968__$1;(statearr_17973_18784[1] = 6);
} else
{var statearr_17974_18785 = state_17968__$1;(statearr_17974_18785[1] = 7);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17969 === 5))
{var inst_17952 = (state_17968[2]);var state_17968__$1 = (function (){var statearr_17975 = state_17968;(statearr_17975[9] = inst_17952);
return statearr_17975;
})();return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_17968__$1,12,dchan);
} else
{if((state_val_17969 === 6))
{var state_17968__$1 = state_17968;var statearr_17976_18786 = state_17968__$1;(statearr_17976_18786[2] = null);
(statearr_17976_18786[1] = 11);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17969 === 7))
{var state_17968__$1 = state_17968;var statearr_17977_18787 = state_17968__$1;(statearr_17977_18787[2] = null);
(statearr_17977_18787[1] = 8);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17969 === 8))
{var inst_17950 = (state_17968[2]);var state_17968__$1 = state_17968;var statearr_17978_18788 = state_17968__$1;(statearr_17978_18788[2] = inst_17950);
(statearr_17978_18788[1] = 5);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17969 === 9))
{var inst_17932 = (state_17968[7]);var inst_17945 = (state_17968[2]);var inst_17946 = (inst_17932 + 1);var inst_17932__$1 = inst_17946;var state_17968__$1 = (function (){var statearr_17979 = state_17968;(statearr_17979[10] = inst_17945);
(statearr_17979[7] = inst_17932__$1);
return statearr_17979;
})();var statearr_17980_18789 = state_17968__$1;(statearr_17980_18789[2] = null);
(statearr_17980_18789[1] = 4);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17969 === 10))
{var inst_17936 = (state_17968[2]);var inst_17937 = cljs.core.swap_BANG_.call(null,dctr,cljs.core.dec);var state_17968__$1 = (function (){var statearr_17981 = state_17968;(statearr_17981[11] = inst_17936);
return statearr_17981;
})();var statearr_17982_18790 = state_17968__$1;(statearr_17982_18790[2] = inst_17937);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_17968__$1);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17969 === 11))
{var inst_17932 = (state_17968[7]);var _ = cljs.core.async.impl.ioc_helpers.add_exception_frame.call(null,state_17968,10,Object,null,9);var inst_17941 = chs__$1.call(null,inst_17932);var inst_17942 = done.call(null,inst_17932);var inst_17943 = cljs.core.async.take_BANG_.call(null,inst_17941,inst_17942);var state_17968__$1 = state_17968;var statearr_17983_18791 = state_17968__$1;(statearr_17983_18791[2] = inst_17943);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_17968__$1);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17969 === 12))
{var inst_17954 = (state_17968[12]);var inst_17954__$1 = (state_17968[2]);var inst_17955 = cljs.core.some.call(null,cljs.core.nil_QMARK_,inst_17954__$1);var state_17968__$1 = (function (){var statearr_17984 = state_17968;(statearr_17984[12] = inst_17954__$1);
return statearr_17984;
})();if(cljs.core.truth_(inst_17955))
{var statearr_17985_18792 = state_17968__$1;(statearr_17985_18792[1] = 13);
} else
{var statearr_17986_18793 = state_17968__$1;(statearr_17986_18793[1] = 14);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17969 === 13))
{var inst_17957 = cljs.core.async.close_BANG_.call(null,out);var state_17968__$1 = state_17968;var statearr_17987_18794 = state_17968__$1;(statearr_17987_18794[2] = inst_17957);
(statearr_17987_18794[1] = 15);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17969 === 14))
{var inst_17954 = (state_17968[12]);var inst_17959 = cljs.core.apply.call(null,f,inst_17954);var state_17968__$1 = state_17968;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_17968__$1,16,out,inst_17959);
} else
{if((state_val_17969 === 15))
{var inst_17964 = (state_17968[2]);var state_17968__$1 = state_17968;var statearr_17988_18795 = state_17968__$1;(statearr_17988_18795[2] = inst_17964);
(statearr_17988_18795[1] = 3);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_17969 === 16))
{var inst_17961 = (state_17968[2]);var state_17968__$1 = (function (){var statearr_17989 = state_17968;(statearr_17989[13] = inst_17961);
return statearr_17989;
})();var statearr_17990_18796 = state_17968__$1;(statearr_17990_18796[2] = null);
(statearr_17990_18796[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});})(c__13951__auto___18781,chs__$1,out,cnt,rets,dchan,dctr,done))
;return ((function (switch__13881__auto__,c__13951__auto___18781,chs__$1,out,cnt,rets,dchan,dctr,done){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_17994 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null];(statearr_17994[0] = state_machine__13882__auto__);
(statearr_17994[1] = 1);
return statearr_17994;
});
var state_machine__13882__auto____1 = (function (state_17968){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_17968);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e17995){if((e17995 instanceof Object))
{var ex__13885__auto__ = e17995;var statearr_17996_18797 = state_17968;(statearr_17996_18797[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_17968);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e17995;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__18798 = state_17968;
state_17968 = G__18798;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_17968){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_17968);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto___18781,chs__$1,out,cnt,rets,dchan,dctr,done))
})();var state__13953__auto__ = (function (){var statearr_17997 = f__13952__auto__.call(null);(statearr_17997[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto___18781);
return statearr_17997;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto___18781,chs__$1,out,cnt,rets,dchan,dctr,done))
);
return out;
});
map = function(f,chs,buf_or_n){
switch(arguments.length){
case 2:
return map__2.call(this,f,chs);
case 3:
return map__3.call(this,f,chs,buf_or_n);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
map.cljs$core$IFn$_invoke$arity$2 = map__2;
map.cljs$core$IFn$_invoke$arity$3 = map__3;
return map;
})()
;
/**
* Takes a collection of source channels and returns a channel which
* contains all values taken from them. The returned channel will be
* unbuffered by default, or a buf-or-n can be supplied. The channel
* will close after all the source channels have closed.
*/
cljs.core.async.merge = (function() {
var merge = null;
var merge__1 = (function (chs){return merge.call(null,chs,null);
});
var merge__2 = (function (chs,buf_or_n){var out = cljs.core.async.chan.call(null,buf_or_n);var c__13951__auto___18799 = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto___18799,out){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto___18799,out){
return (function (state_18081){var state_val_18082 = (state_18081[1]);if((state_val_18082 === 1))
{var inst_18052 = cljs.core.vec.call(null,chs);var inst_18053 = inst_18052;var state_18081__$1 = (function (){var statearr_18083 = state_18081;(statearr_18083[7] = inst_18053);
return statearr_18083;
})();var statearr_18084_18800 = state_18081__$1;(statearr_18084_18800[2] = null);
(statearr_18084_18800[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18082 === 2))
{var inst_18053 = (state_18081[7]);var inst_18055 = cljs.core.count.call(null,inst_18053);var inst_18056 = (inst_18055 > 0);var state_18081__$1 = state_18081;if(cljs.core.truth_(inst_18056))
{var statearr_18085_18801 = state_18081__$1;(statearr_18085_18801[1] = 4);
} else
{var statearr_18086_18802 = state_18081__$1;(statearr_18086_18802[1] = 5);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18082 === 3))
{var inst_18079 = (state_18081[2]);var state_18081__$1 = state_18081;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_18081__$1,inst_18079);
} else
{if((state_val_18082 === 4))
{var inst_18053 = (state_18081[7]);var state_18081__$1 = state_18081;return cljs.core.async.impl.ioc_helpers.ioc_alts_BANG_.call(null,state_18081__$1,7,inst_18053);
} else
{if((state_val_18082 === 5))
{var inst_18075 = cljs.core.async.close_BANG_.call(null,out);var state_18081__$1 = state_18081;var statearr_18087_18803 = state_18081__$1;(statearr_18087_18803[2] = inst_18075);
(statearr_18087_18803[1] = 6);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18082 === 6))
{var inst_18077 = (state_18081[2]);var state_18081__$1 = state_18081;var statearr_18088_18804 = state_18081__$1;(statearr_18088_18804[2] = inst_18077);
(statearr_18088_18804[1] = 3);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18082 === 7))
{var inst_18061 = (state_18081[8]);var inst_18060 = (state_18081[9]);var inst_18060__$1 = (state_18081[2]);var inst_18061__$1 = cljs.core.nth.call(null,inst_18060__$1,0,null);var inst_18062 = cljs.core.nth.call(null,inst_18060__$1,1,null);var inst_18063 = (inst_18061__$1 == null);var state_18081__$1 = (function (){var statearr_18089 = state_18081;(statearr_18089[8] = inst_18061__$1);
(statearr_18089[10] = inst_18062);
(statearr_18089[9] = inst_18060__$1);
return statearr_18089;
})();if(cljs.core.truth_(inst_18063))
{var statearr_18090_18805 = state_18081__$1;(statearr_18090_18805[1] = 8);
} else
{var statearr_18091_18806 = state_18081__$1;(statearr_18091_18806[1] = 9);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18082 === 8))
{var inst_18061 = (state_18081[8]);var inst_18062 = (state_18081[10]);var inst_18060 = (state_18081[9]);var inst_18053 = (state_18081[7]);var inst_18065 = (function (){var c = inst_18062;var v = inst_18061;var vec__18058 = inst_18060;var cs = inst_18053;return ((function (c,v,vec__18058,cs,inst_18061,inst_18062,inst_18060,inst_18053,state_val_18082,c__13951__auto___18799,out){
return (function (p1__17998_SHARP_){return cljs.core.not_EQ_.call(null,c,p1__17998_SHARP_);
});
;})(c,v,vec__18058,cs,inst_18061,inst_18062,inst_18060,inst_18053,state_val_18082,c__13951__auto___18799,out))
})();var inst_18066 = cljs.core.filterv.call(null,inst_18065,inst_18053);var inst_18053__$1 = inst_18066;var state_18081__$1 = (function (){var statearr_18092 = state_18081;(statearr_18092[7] = inst_18053__$1);
return statearr_18092;
})();var statearr_18093_18807 = state_18081__$1;(statearr_18093_18807[2] = null);
(statearr_18093_18807[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18082 === 9))
{var inst_18061 = (state_18081[8]);var state_18081__$1 = state_18081;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_18081__$1,11,out,inst_18061);
} else
{if((state_val_18082 === 10))
{var inst_18073 = (state_18081[2]);var state_18081__$1 = state_18081;var statearr_18095_18808 = state_18081__$1;(statearr_18095_18808[2] = inst_18073);
(statearr_18095_18808[1] = 6);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18082 === 11))
{var inst_18053 = (state_18081[7]);var inst_18070 = (state_18081[2]);var tmp18094 = inst_18053;var inst_18053__$1 = tmp18094;var state_18081__$1 = (function (){var statearr_18096 = state_18081;(statearr_18096[11] = inst_18070);
(statearr_18096[7] = inst_18053__$1);
return statearr_18096;
})();var statearr_18097_18809 = state_18081__$1;(statearr_18097_18809[2] = null);
(statearr_18097_18809[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
}
}
}
}
}
}
}
}
}
}
});})(c__13951__auto___18799,out))
;return ((function (switch__13881__auto__,c__13951__auto___18799,out){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_18101 = [null,null,null,null,null,null,null,null,null,null,null,null];(statearr_18101[0] = state_machine__13882__auto__);
(statearr_18101[1] = 1);
return statearr_18101;
});
var state_machine__13882__auto____1 = (function (state_18081){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_18081);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e18102){if((e18102 instanceof Object))
{var ex__13885__auto__ = e18102;var statearr_18103_18810 = state_18081;(statearr_18103_18810[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_18081);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e18102;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__18811 = state_18081;
state_18081 = G__18811;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_18081){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_18081);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto___18799,out))
})();var state__13953__auto__ = (function (){var statearr_18104 = f__13952__auto__.call(null);(statearr_18104[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto___18799);
return statearr_18104;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto___18799,out))
);
return out;
});
merge = function(chs,buf_or_n){
switch(arguments.length){
case 1:
return merge__1.call(this,chs);
case 2:
return merge__2.call(this,chs,buf_or_n);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
merge.cljs$core$IFn$_invoke$arity$1 = merge__1;
merge.cljs$core$IFn$_invoke$arity$2 = merge__2;
return merge;
})()
;
/**
* Returns a channel containing the single (collection) result of the
* items taken from the channel conjoined to the supplied
* collection. ch must close before into produces a result.
*/
cljs.core.async.into = (function into(coll,ch){return cljs.core.async.reduce.call(null,cljs.core.conj,coll,ch);
});
/**
* Returns a channel that will return, at most, n items from ch. After n items
* have been returned, or ch has been closed, the return chanel will close.
*
* The output channel is unbuffered by default, unless buf-or-n is given.
*/
cljs.core.async.take = (function() {
var take = null;
var take__2 = (function (n,ch){return take.call(null,n,ch,null);
});
var take__3 = (function (n,ch,buf_or_n){var out = cljs.core.async.chan.call(null,buf_or_n);var c__13951__auto___18812 = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto___18812,out){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto___18812,out){
return (function (state_18174){var state_val_18175 = (state_18174[1]);if((state_val_18175 === 1))
{var inst_18151 = 0;var state_18174__$1 = (function (){var statearr_18176 = state_18174;(statearr_18176[7] = inst_18151);
return statearr_18176;
})();var statearr_18177_18813 = state_18174__$1;(statearr_18177_18813[2] = null);
(statearr_18177_18813[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18175 === 2))
{var inst_18151 = (state_18174[7]);var inst_18153 = (inst_18151 < n);var state_18174__$1 = state_18174;if(cljs.core.truth_(inst_18153))
{var statearr_18178_18814 = state_18174__$1;(statearr_18178_18814[1] = 4);
} else
{var statearr_18179_18815 = state_18174__$1;(statearr_18179_18815[1] = 5);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18175 === 3))
{var inst_18171 = (state_18174[2]);var inst_18172 = cljs.core.async.close_BANG_.call(null,out);var state_18174__$1 = (function (){var statearr_18180 = state_18174;(statearr_18180[8] = inst_18171);
return statearr_18180;
})();return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_18174__$1,inst_18172);
} else
{if((state_val_18175 === 4))
{var state_18174__$1 = state_18174;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_18174__$1,7,ch);
} else
{if((state_val_18175 === 5))
{var state_18174__$1 = state_18174;var statearr_18181_18816 = state_18174__$1;(statearr_18181_18816[2] = null);
(statearr_18181_18816[1] = 6);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18175 === 6))
{var inst_18169 = (state_18174[2]);var state_18174__$1 = state_18174;var statearr_18182_18817 = state_18174__$1;(statearr_18182_18817[2] = inst_18169);
(statearr_18182_18817[1] = 3);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18175 === 7))
{var inst_18156 = (state_18174[9]);var inst_18156__$1 = (state_18174[2]);var inst_18157 = (inst_18156__$1 == null);var inst_18158 = cljs.core.not.call(null,inst_18157);var state_18174__$1 = (function (){var statearr_18183 = state_18174;(statearr_18183[9] = inst_18156__$1);
return statearr_18183;
})();if(inst_18158)
{var statearr_18184_18818 = state_18174__$1;(statearr_18184_18818[1] = 8);
} else
{var statearr_18185_18819 = state_18174__$1;(statearr_18185_18819[1] = 9);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18175 === 8))
{var inst_18156 = (state_18174[9]);var state_18174__$1 = state_18174;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_18174__$1,11,out,inst_18156);
} else
{if((state_val_18175 === 9))
{var state_18174__$1 = state_18174;var statearr_18186_18820 = state_18174__$1;(statearr_18186_18820[2] = null);
(statearr_18186_18820[1] = 10);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18175 === 10))
{var inst_18166 = (state_18174[2]);var state_18174__$1 = state_18174;var statearr_18187_18821 = state_18174__$1;(statearr_18187_18821[2] = inst_18166);
(statearr_18187_18821[1] = 6);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18175 === 11))
{var inst_18151 = (state_18174[7]);var inst_18161 = (state_18174[2]);var inst_18162 = (inst_18151 + 1);var inst_18151__$1 = inst_18162;var state_18174__$1 = (function (){var statearr_18188 = state_18174;(statearr_18188[7] = inst_18151__$1);
(statearr_18188[10] = inst_18161);
return statearr_18188;
})();var statearr_18189_18822 = state_18174__$1;(statearr_18189_18822[2] = null);
(statearr_18189_18822[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
}
}
}
}
}
}
}
}
}
}
});})(c__13951__auto___18812,out))
;return ((function (switch__13881__auto__,c__13951__auto___18812,out){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_18193 = [null,null,null,null,null,null,null,null,null,null,null];(statearr_18193[0] = state_machine__13882__auto__);
(statearr_18193[1] = 1);
return statearr_18193;
});
var state_machine__13882__auto____1 = (function (state_18174){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_18174);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e18194){if((e18194 instanceof Object))
{var ex__13885__auto__ = e18194;var statearr_18195_18823 = state_18174;(statearr_18195_18823[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_18174);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e18194;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__18824 = state_18174;
state_18174 = G__18824;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_18174){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_18174);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto___18812,out))
})();var state__13953__auto__ = (function (){var statearr_18196 = f__13952__auto__.call(null);(statearr_18196[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto___18812);
return statearr_18196;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto___18812,out))
);
return out;
});
take = function(n,ch,buf_or_n){
switch(arguments.length){
case 2:
return take__2.call(this,n,ch);
case 3:
return take__3.call(this,n,ch,buf_or_n);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
take.cljs$core$IFn$_invoke$arity$2 = take__2;
take.cljs$core$IFn$_invoke$arity$3 = take__3;
return take;
})()
;
/**
* Returns a channel that will contain values from ch. Consecutive duplicate
* values will be dropped.
*
* The output channel is unbuffered by default, unless buf-or-n is given.
*/
cljs.core.async.unique = (function() {
var unique = null;
var unique__1 = (function (ch){return unique.call(null,ch,null);
});
var unique__2 = (function (ch,buf_or_n){var out = cljs.core.async.chan.call(null,buf_or_n);var c__13951__auto___18825 = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto___18825,out){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto___18825,out){
return (function (state_18268){var state_val_18269 = (state_18268[1]);if((state_val_18269 === 1))
{var inst_18245 = null;var state_18268__$1 = (function (){var statearr_18270 = state_18268;(statearr_18270[7] = inst_18245);
return statearr_18270;
})();var statearr_18271_18826 = state_18268__$1;(statearr_18271_18826[2] = null);
(statearr_18271_18826[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18269 === 2))
{var state_18268__$1 = state_18268;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_18268__$1,4,ch);
} else
{if((state_val_18269 === 3))
{var inst_18265 = (state_18268[2]);var inst_18266 = cljs.core.async.close_BANG_.call(null,out);var state_18268__$1 = (function (){var statearr_18272 = state_18268;(statearr_18272[8] = inst_18265);
return statearr_18272;
})();return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_18268__$1,inst_18266);
} else
{if((state_val_18269 === 4))
{var inst_18248 = (state_18268[9]);var inst_18248__$1 = (state_18268[2]);var inst_18249 = (inst_18248__$1 == null);var inst_18250 = cljs.core.not.call(null,inst_18249);var state_18268__$1 = (function (){var statearr_18273 = state_18268;(statearr_18273[9] = inst_18248__$1);
return statearr_18273;
})();if(inst_18250)
{var statearr_18274_18827 = state_18268__$1;(statearr_18274_18827[1] = 5);
} else
{var statearr_18275_18828 = state_18268__$1;(statearr_18275_18828[1] = 6);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18269 === 5))
{var inst_18248 = (state_18268[9]);var inst_18245 = (state_18268[7]);var inst_18252 = cljs.core._EQ_.call(null,inst_18248,inst_18245);var state_18268__$1 = state_18268;if(inst_18252)
{var statearr_18276_18829 = state_18268__$1;(statearr_18276_18829[1] = 8);
} else
{var statearr_18277_18830 = state_18268__$1;(statearr_18277_18830[1] = 9);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18269 === 6))
{var state_18268__$1 = state_18268;var statearr_18279_18831 = state_18268__$1;(statearr_18279_18831[2] = null);
(statearr_18279_18831[1] = 7);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18269 === 7))
{var inst_18263 = (state_18268[2]);var state_18268__$1 = state_18268;var statearr_18280_18832 = state_18268__$1;(statearr_18280_18832[2] = inst_18263);
(statearr_18280_18832[1] = 3);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18269 === 8))
{var inst_18245 = (state_18268[7]);var tmp18278 = inst_18245;var inst_18245__$1 = tmp18278;var state_18268__$1 = (function (){var statearr_18281 = state_18268;(statearr_18281[7] = inst_18245__$1);
return statearr_18281;
})();var statearr_18282_18833 = state_18268__$1;(statearr_18282_18833[2] = null);
(statearr_18282_18833[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18269 === 9))
{var inst_18248 = (state_18268[9]);var state_18268__$1 = state_18268;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_18268__$1,11,out,inst_18248);
} else
{if((state_val_18269 === 10))
{var inst_18260 = (state_18268[2]);var state_18268__$1 = state_18268;var statearr_18283_18834 = state_18268__$1;(statearr_18283_18834[2] = inst_18260);
(statearr_18283_18834[1] = 7);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18269 === 11))
{var inst_18248 = (state_18268[9]);var inst_18257 = (state_18268[2]);var inst_18245 = inst_18248;var state_18268__$1 = (function (){var statearr_18284 = state_18268;(statearr_18284[7] = inst_18245);
(statearr_18284[10] = inst_18257);
return statearr_18284;
})();var statearr_18285_18835 = state_18268__$1;(statearr_18285_18835[2] = null);
(statearr_18285_18835[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
}
}
}
}
}
}
}
}
}
}
});})(c__13951__auto___18825,out))
;return ((function (switch__13881__auto__,c__13951__auto___18825,out){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_18289 = [null,null,null,null,null,null,null,null,null,null,null];(statearr_18289[0] = state_machine__13882__auto__);
(statearr_18289[1] = 1);
return statearr_18289;
});
var state_machine__13882__auto____1 = (function (state_18268){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_18268);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e18290){if((e18290 instanceof Object))
{var ex__13885__auto__ = e18290;var statearr_18291_18836 = state_18268;(statearr_18291_18836[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_18268);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e18290;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__18837 = state_18268;
state_18268 = G__18837;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_18268){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_18268);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto___18825,out))
})();var state__13953__auto__ = (function (){var statearr_18292 = f__13952__auto__.call(null);(statearr_18292[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto___18825);
return statearr_18292;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto___18825,out))
);
return out;
});
unique = function(ch,buf_or_n){
switch(arguments.length){
case 1:
return unique__1.call(this,ch);
case 2:
return unique__2.call(this,ch,buf_or_n);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
unique.cljs$core$IFn$_invoke$arity$1 = unique__1;
unique.cljs$core$IFn$_invoke$arity$2 = unique__2;
return unique;
})()
;
/**
* Returns a channel that will contain vectors of n items taken from ch. The
* final vector in the return channel may be smaller than n if ch closed before
* the vector could be completely filled.
*
* The output channel is unbuffered by default, unless buf-or-n is given
*/
cljs.core.async.partition = (function() {
var partition = null;
var partition__2 = (function (n,ch){return partition.call(null,n,ch,null);
});
var partition__3 = (function (n,ch,buf_or_n){var out = cljs.core.async.chan.call(null,buf_or_n);var c__13951__auto___18838 = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto___18838,out){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto___18838,out){
return (function (state_18397){var state_val_18398 = (state_18397[1]);if((state_val_18398 === 1))
{var inst_18360 = (new Array(n));var inst_18361 = inst_18360;var inst_18362 = 0;var state_18397__$1 = (function (){var statearr_18399 = state_18397;(statearr_18399[7] = inst_18361);
(statearr_18399[8] = inst_18362);
return statearr_18399;
})();var statearr_18400_18839 = state_18397__$1;(statearr_18400_18839[2] = null);
(statearr_18400_18839[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18398 === 2))
{var state_18397__$1 = state_18397;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_18397__$1,4,ch);
} else
{if((state_val_18398 === 3))
{var inst_18395 = (state_18397[2]);var state_18397__$1 = state_18397;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_18397__$1,inst_18395);
} else
{if((state_val_18398 === 4))
{var inst_18365 = (state_18397[9]);var inst_18365__$1 = (state_18397[2]);var inst_18366 = (inst_18365__$1 == null);var inst_18367 = cljs.core.not.call(null,inst_18366);var state_18397__$1 = (function (){var statearr_18401 = state_18397;(statearr_18401[9] = inst_18365__$1);
return statearr_18401;
})();if(inst_18367)
{var statearr_18402_18840 = state_18397__$1;(statearr_18402_18840[1] = 5);
} else
{var statearr_18403_18841 = state_18397__$1;(statearr_18403_18841[1] = 6);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18398 === 5))
{var inst_18365 = (state_18397[9]);var inst_18370 = (state_18397[10]);var inst_18361 = (state_18397[7]);var inst_18362 = (state_18397[8]);var inst_18369 = (inst_18361[inst_18362] = inst_18365);var inst_18370__$1 = (inst_18362 + 1);var inst_18371 = (inst_18370__$1 < n);var state_18397__$1 = (function (){var statearr_18404 = state_18397;(statearr_18404[11] = inst_18369);
(statearr_18404[10] = inst_18370__$1);
return statearr_18404;
})();if(cljs.core.truth_(inst_18371))
{var statearr_18405_18842 = state_18397__$1;(statearr_18405_18842[1] = 8);
} else
{var statearr_18406_18843 = state_18397__$1;(statearr_18406_18843[1] = 9);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18398 === 6))
{var inst_18362 = (state_18397[8]);var inst_18383 = (inst_18362 > 0);var state_18397__$1 = state_18397;if(cljs.core.truth_(inst_18383))
{var statearr_18408_18844 = state_18397__$1;(statearr_18408_18844[1] = 12);
} else
{var statearr_18409_18845 = state_18397__$1;(statearr_18409_18845[1] = 13);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18398 === 7))
{var inst_18393 = (state_18397[2]);var state_18397__$1 = state_18397;var statearr_18410_18846 = state_18397__$1;(statearr_18410_18846[2] = inst_18393);
(statearr_18410_18846[1] = 3);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18398 === 8))
{var inst_18370 = (state_18397[10]);var inst_18361 = (state_18397[7]);var tmp18407 = inst_18361;var inst_18361__$1 = tmp18407;var inst_18362 = inst_18370;var state_18397__$1 = (function (){var statearr_18411 = state_18397;(statearr_18411[7] = inst_18361__$1);
(statearr_18411[8] = inst_18362);
return statearr_18411;
})();var statearr_18412_18847 = state_18397__$1;(statearr_18412_18847[2] = null);
(statearr_18412_18847[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18398 === 9))
{var inst_18361 = (state_18397[7]);var inst_18375 = cljs.core.vec.call(null,inst_18361);var state_18397__$1 = state_18397;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_18397__$1,11,out,inst_18375);
} else
{if((state_val_18398 === 10))
{var inst_18381 = (state_18397[2]);var state_18397__$1 = state_18397;var statearr_18413_18848 = state_18397__$1;(statearr_18413_18848[2] = inst_18381);
(statearr_18413_18848[1] = 7);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18398 === 11))
{var inst_18377 = (state_18397[2]);var inst_18378 = (new Array(n));var inst_18361 = inst_18378;var inst_18362 = 0;var state_18397__$1 = (function (){var statearr_18414 = state_18397;(statearr_18414[12] = inst_18377);
(statearr_18414[7] = inst_18361);
(statearr_18414[8] = inst_18362);
return statearr_18414;
})();var statearr_18415_18849 = state_18397__$1;(statearr_18415_18849[2] = null);
(statearr_18415_18849[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18398 === 12))
{var inst_18361 = (state_18397[7]);var inst_18385 = cljs.core.vec.call(null,inst_18361);var state_18397__$1 = state_18397;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_18397__$1,15,out,inst_18385);
} else
{if((state_val_18398 === 13))
{var state_18397__$1 = state_18397;var statearr_18416_18850 = state_18397__$1;(statearr_18416_18850[2] = null);
(statearr_18416_18850[1] = 14);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18398 === 14))
{var inst_18390 = (state_18397[2]);var inst_18391 = cljs.core.async.close_BANG_.call(null,out);var state_18397__$1 = (function (){var statearr_18417 = state_18397;(statearr_18417[13] = inst_18390);
return statearr_18417;
})();var statearr_18418_18851 = state_18397__$1;(statearr_18418_18851[2] = inst_18391);
(statearr_18418_18851[1] = 7);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18398 === 15))
{var inst_18387 = (state_18397[2]);var state_18397__$1 = state_18397;var statearr_18419_18852 = state_18397__$1;(statearr_18419_18852[2] = inst_18387);
(statearr_18419_18852[1] = 14);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});})(c__13951__auto___18838,out))
;return ((function (switch__13881__auto__,c__13951__auto___18838,out){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_18423 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null];(statearr_18423[0] = state_machine__13882__auto__);
(statearr_18423[1] = 1);
return statearr_18423;
});
var state_machine__13882__auto____1 = (function (state_18397){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_18397);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e18424){if((e18424 instanceof Object))
{var ex__13885__auto__ = e18424;var statearr_18425_18853 = state_18397;(statearr_18425_18853[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_18397);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e18424;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__18854 = state_18397;
state_18397 = G__18854;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_18397){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_18397);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto___18838,out))
})();var state__13953__auto__ = (function (){var statearr_18426 = f__13952__auto__.call(null);(statearr_18426[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto___18838);
return statearr_18426;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto___18838,out))
);
return out;
});
partition = function(n,ch,buf_or_n){
switch(arguments.length){
case 2:
return partition__2.call(this,n,ch);
case 3:
return partition__3.call(this,n,ch,buf_or_n);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
partition.cljs$core$IFn$_invoke$arity$2 = partition__2;
partition.cljs$core$IFn$_invoke$arity$3 = partition__3;
return partition;
})()
;
/**
* Returns a channel that will contain vectors of items taken from ch. New
* vectors will be created whenever (f itm) returns a value that differs from
* the previous item's (f itm).
*
* The output channel is unbuffered, unless buf-or-n is given
*/
cljs.core.async.partition_by = (function() {
var partition_by = null;
var partition_by__2 = (function (f,ch){return partition_by.call(null,f,ch,null);
});
var partition_by__3 = (function (f,ch,buf_or_n){var out = cljs.core.async.chan.call(null,buf_or_n);var c__13951__auto___18855 = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto___18855,out){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto___18855,out){
return (function (state_18539){var state_val_18540 = (state_18539[1]);if((state_val_18540 === 1))
{var inst_18498 = [];var inst_18499 = inst_18498;var inst_18500 = new cljs.core.Keyword("cljs.core.async","nothing","cljs.core.async/nothing",4382193538);var state_18539__$1 = (function (){var statearr_18541 = state_18539;(statearr_18541[7] = inst_18499);
(statearr_18541[8] = inst_18500);
return statearr_18541;
})();var statearr_18542_18856 = state_18539__$1;(statearr_18542_18856[2] = null);
(statearr_18542_18856[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18540 === 2))
{var state_18539__$1 = state_18539;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_18539__$1,4,ch);
} else
{if((state_val_18540 === 3))
{var inst_18537 = (state_18539[2]);var state_18539__$1 = state_18539;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_18539__$1,inst_18537);
} else
{if((state_val_18540 === 4))
{var inst_18503 = (state_18539[9]);var inst_18503__$1 = (state_18539[2]);var inst_18504 = (inst_18503__$1 == null);var inst_18505 = cljs.core.not.call(null,inst_18504);var state_18539__$1 = (function (){var statearr_18543 = state_18539;(statearr_18543[9] = inst_18503__$1);
return statearr_18543;
})();if(inst_18505)
{var statearr_18544_18857 = state_18539__$1;(statearr_18544_18857[1] = 5);
} else
{var statearr_18545_18858 = state_18539__$1;(statearr_18545_18858[1] = 6);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18540 === 5))
{var inst_18500 = (state_18539[8]);var inst_18507 = (state_18539[10]);var inst_18503 = (state_18539[9]);var inst_18507__$1 = f.call(null,inst_18503);var inst_18508 = cljs.core._EQ_.call(null,inst_18507__$1,inst_18500);var inst_18509 = cljs.core.keyword_identical_QMARK_.call(null,inst_18500,new cljs.core.Keyword("cljs.core.async","nothing","cljs.core.async/nothing",4382193538));var inst_18510 = (inst_18508) || (inst_18509);var state_18539__$1 = (function (){var statearr_18546 = state_18539;(statearr_18546[10] = inst_18507__$1);
return statearr_18546;
})();if(cljs.core.truth_(inst_18510))
{var statearr_18547_18859 = state_18539__$1;(statearr_18547_18859[1] = 8);
} else
{var statearr_18548_18860 = state_18539__$1;(statearr_18548_18860[1] = 9);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18540 === 6))
{var inst_18499 = (state_18539[7]);var inst_18524 = inst_18499.length;var inst_18525 = (inst_18524 > 0);var state_18539__$1 = state_18539;if(cljs.core.truth_(inst_18525))
{var statearr_18550_18861 = state_18539__$1;(statearr_18550_18861[1] = 12);
} else
{var statearr_18551_18862 = state_18539__$1;(statearr_18551_18862[1] = 13);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18540 === 7))
{var inst_18535 = (state_18539[2]);var state_18539__$1 = state_18539;var statearr_18552_18863 = state_18539__$1;(statearr_18552_18863[2] = inst_18535);
(statearr_18552_18863[1] = 3);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18540 === 8))
{var inst_18499 = (state_18539[7]);var inst_18507 = (state_18539[10]);var inst_18503 = (state_18539[9]);var inst_18512 = inst_18499.push(inst_18503);var tmp18549 = inst_18499;var inst_18499__$1 = tmp18549;var inst_18500 = inst_18507;var state_18539__$1 = (function (){var statearr_18553 = state_18539;(statearr_18553[7] = inst_18499__$1);
(statearr_18553[8] = inst_18500);
(statearr_18553[11] = inst_18512);
return statearr_18553;
})();var statearr_18554_18864 = state_18539__$1;(statearr_18554_18864[2] = null);
(statearr_18554_18864[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18540 === 9))
{var inst_18499 = (state_18539[7]);var inst_18515 = cljs.core.vec.call(null,inst_18499);var state_18539__$1 = state_18539;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_18539__$1,11,out,inst_18515);
} else
{if((state_val_18540 === 10))
{var inst_18522 = (state_18539[2]);var state_18539__$1 = state_18539;var statearr_18555_18865 = state_18539__$1;(statearr_18555_18865[2] = inst_18522);
(statearr_18555_18865[1] = 7);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18540 === 11))
{var inst_18507 = (state_18539[10]);var inst_18503 = (state_18539[9]);var inst_18517 = (state_18539[2]);var inst_18518 = [];var inst_18519 = inst_18518.push(inst_18503);var inst_18499 = inst_18518;var inst_18500 = inst_18507;var state_18539__$1 = (function (){var statearr_18556 = state_18539;(statearr_18556[7] = inst_18499);
(statearr_18556[12] = inst_18519);
(statearr_18556[8] = inst_18500);
(statearr_18556[13] = inst_18517);
return statearr_18556;
})();var statearr_18557_18866 = state_18539__$1;(statearr_18557_18866[2] = null);
(statearr_18557_18866[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18540 === 12))
{var inst_18499 = (state_18539[7]);var inst_18527 = cljs.core.vec.call(null,inst_18499);var state_18539__$1 = state_18539;return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_18539__$1,15,out,inst_18527);
} else
{if((state_val_18540 === 13))
{var state_18539__$1 = state_18539;var statearr_18558_18867 = state_18539__$1;(statearr_18558_18867[2] = null);
(statearr_18558_18867[1] = 14);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18540 === 14))
{var inst_18532 = (state_18539[2]);var inst_18533 = cljs.core.async.close_BANG_.call(null,out);var state_18539__$1 = (function (){var statearr_18559 = state_18539;(statearr_18559[14] = inst_18532);
return statearr_18559;
})();var statearr_18560_18868 = state_18539__$1;(statearr_18560_18868[2] = inst_18533);
(statearr_18560_18868[1] = 7);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_18540 === 15))
{var inst_18529 = (state_18539[2]);var state_18539__$1 = state_18539;var statearr_18561_18869 = state_18539__$1;(statearr_18561_18869[2] = inst_18529);
(statearr_18561_18869[1] = 14);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});})(c__13951__auto___18855,out))
;return ((function (switch__13881__auto__,c__13951__auto___18855,out){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_18565 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];(statearr_18565[0] = state_machine__13882__auto__);
(statearr_18565[1] = 1);
return statearr_18565;
});
var state_machine__13882__auto____1 = (function (state_18539){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_18539);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e18566){if((e18566 instanceof Object))
{var ex__13885__auto__ = e18566;var statearr_18567_18870 = state_18539;(statearr_18567_18870[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_18539);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e18566;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__18871 = state_18539;
state_18539 = G__18871;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_18539){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_18539);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto___18855,out))
})();var state__13953__auto__ = (function (){var statearr_18568 = f__13952__auto__.call(null);(statearr_18568[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto___18855);
return statearr_18568;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto___18855,out))
);
return out;
});
partition_by = function(f,ch,buf_or_n){
switch(arguments.length){
case 2:
return partition_by__2.call(this,f,ch);
case 3:
return partition_by__3.call(this,f,ch,buf_or_n);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
partition_by.cljs$core$IFn$_invoke$arity$2 = partition_by__2;
partition_by.cljs$core$IFn$_invoke$arity$3 = partition_by__3;
return partition_by;
})()
;
}
if(!lt.util.load.provided_QMARK_('quiescent')) {
goog.provide('quiescent');
goog.require('cljs.core');
/**
* Utility function. Takes an object which is (possibly) a
* ClojureScript map. If the value is a ClojureScript map, convert it
* to a JavaScript properties object. Otherwise, return the argument
* unchanged.
*/
quiescent.js_props = (function js_props(obj){if(cljs.core.map_QMARK_.call(null,obj))
{var o = (function (){var obj12085 = {};return obj12085;
})();var seq__12086_12099 = cljs.core.seq.call(null,obj);var chunk__12087_12100 = null;var count__12088_12101 = 0;var i__12089_12102 = 0;while(true){
if((i__12089_12102 < count__12088_12101))
{var vec__12090_12103 = cljs.core._nth.call(null,chunk__12087_12100,i__12089_12102);var k_12104 = cljs.core.nth.call(null,vec__12090_12103,0,null);var v_12105 = cljs.core.nth.call(null,vec__12090_12103,1,null);(o[cljs.core.name.call(null,k_12104)] = js_props.call(null,v_12105));
{
var G__12106 = seq__12086_12099;
var G__12107 = chunk__12087_12100;
var G__12108 = count__12088_12101;
var G__12109 = (i__12089_12102 + 1);
seq__12086_12099 = G__12106;
chunk__12087_12100 = G__12107;
count__12088_12101 = G__12108;
i__12089_12102 = G__12109;
continue;
}
} else
{var temp__4092__auto___12110 = cljs.core.seq.call(null,seq__12086_12099);if(temp__4092__auto___12110)
{var seq__12086_12111__$1 = temp__4092__auto___12110;if(cljs.core.chunked_seq_QMARK_.call(null,seq__12086_12111__$1))
{var c__5632__auto___12112 = cljs.core.chunk_first.call(null,seq__12086_12111__$1);{
var G__12113 = cljs.core.chunk_rest.call(null,seq__12086_12111__$1);
var G__12114 = c__5632__auto___12112;
var G__12115 = cljs.core.count.call(null,c__5632__auto___12112);
var G__12116 = 0;
seq__12086_12099 = G__12113;
chunk__12087_12100 = G__12114;
count__12088_12101 = G__12115;
i__12089_12102 = G__12116;
continue;
}
} else
{var vec__12091_12117 = cljs.core.first.call(null,seq__12086_12111__$1);var k_12118 = cljs.core.nth.call(null,vec__12091_12117,0,null);var v_12119 = cljs.core.nth.call(null,vec__12091_12117,1,null);(o[cljs.core.name.call(null,k_12118)] = js_props.call(null,v_12119));
{
var G__12120 = cljs.core.next.call(null,seq__12086_12111__$1);
var G__12121 = null;
var G__12122 = 0;
var G__12123 = 0;
seq__12086_12099 = G__12120;
chunk__12087_12100 = G__12121;
count__12088_12101 = G__12122;
i__12089_12102 = G__12123;
continue;
}
}
} else
{}
}
break;
}
return o;
} else
{return obj;
}
});
/**
* Within a component render function, will be bound to the raw
* ReactJS component.
*/
quiescent._STAR_component_STAR_ = null;
/**
* Return a function that will return a ReactJS component, using the
* provided function as the implementation for React's 'render' method
* on the component.
*
* The given render function should take a single immutable value as
* its first argument, and return a single ReactJS component.
* Additional arguments to the component constructor will be passed as
* additional arguments to the render function whenever it is invoked,
* but will *not* be included in any calculations regarding whether the
* component should re-render.
*/
quiescent.component = (function component(renderer){var react_component = React.createClass({"render": (function (){var this$ = this;var _STAR_component_STAR_12093 = quiescent._STAR_component_STAR_;try{quiescent._STAR_component_STAR_ = this$;
return cljs.core.apply.call(null,renderer,(this$.props["value"]),(this$.props["statics"]));
}finally {quiescent._STAR_component_STAR_ = _STAR_component_STAR_12093;
}}), "shouldComponentUpdate": (function (next_props,_){var this$ = this;return cljs.core.not_EQ_.call(null,(this$.props["value"]),(next_props["value"]));
})});return ((function (react_component){
return (function() {
var G__12124__delegate = function (value,static_args){return react_component.call(null,{"statics": static_args, "value": value});
};
var G__12124 = function (value,var_args){
var static_args = null;if (arguments.length > 1) {
static_args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 1),0);}
return G__12124__delegate.call(this,value,static_args);};
G__12124.cljs$lang$maxFixedArity = 1;
G__12124.cljs$lang$applyTo = (function (arglist__12125){
var value = cljs.core.first(arglist__12125);
var static_args = cljs.core.rest(arglist__12125);
return G__12124__delegate(value,static_args);
});
G__12124.cljs$core$IFn$_invoke$arity$variadic = G__12124__delegate;
return G__12124;
})()
;
;})(react_component))
});
/**
* Wrapper component used to mix-in lifecycle access
*/
quiescent.WrapperComponent = React.createClass({"componentWillUnmount": (function (){var this$ = this;var temp__4092__auto__ = (this$.props["onWillUnmount"]);if(cljs.core.truth_(temp__4092__auto__))
{var f = temp__4092__auto__;var _STAR_component_STAR_12098 = quiescent._STAR_component_STAR_;try{quiescent._STAR_component_STAR_ = this$;
return f.call(null);
}finally {quiescent._STAR_component_STAR_ = _STAR_component_STAR_12098;
}} else
{return null;
}
}), "componentWillUpdate": (function (_,___$1){var this$ = this;var temp__4092__auto__ = (this$.props["onWillUpdate"]);if(cljs.core.truth_(temp__4092__auto__))
{var f = temp__4092__auto__;var _STAR_component_STAR_12097 = quiescent._STAR_component_STAR_;try{quiescent._STAR_component_STAR_ = this$;
return f.call(null);
}finally {quiescent._STAR_component_STAR_ = _STAR_component_STAR_12097;
}} else
{return null;
}
}), "componentWillMount": (function (){var this$ = this;var temp__4092__auto__ = (this$.props["onWillMount"]);if(cljs.core.truth_(temp__4092__auto__))
{var f = temp__4092__auto__;var _STAR_component_STAR_12096 = quiescent._STAR_component_STAR_;try{quiescent._STAR_component_STAR_ = this$;
return f.call(null);
}finally {quiescent._STAR_component_STAR_ = _STAR_component_STAR_12096;
}} else
{return null;
}
}), "componentDidMount": (function (){var this$ = this;var temp__4092__auto__ = (this$.props["onMount"]);if(cljs.core.truth_(temp__4092__auto__))
{var f = temp__4092__auto__;var _STAR_component_STAR_12095 = quiescent._STAR_component_STAR_;try{quiescent._STAR_component_STAR_ = this$;
return f.call(null,this$.getDOMNode());
}finally {quiescent._STAR_component_STAR_ = _STAR_component_STAR_12095;
}} else
{return null;
}
}), "componentDidUpdate": (function (prev_props,prev_state){var this$ = this;var temp__4092__auto__ = (this$.props["onUpdate"]);if(cljs.core.truth_(temp__4092__auto__))
{var f = temp__4092__auto__;var _STAR_component_STAR_12094 = quiescent._STAR_component_STAR_;try{quiescent._STAR_component_STAR_ = this$;
return f.call(null,this$.getDOMNode());
}finally {quiescent._STAR_component_STAR_ = _STAR_component_STAR_12094;
}} else
{return null;
}
}), "render": (function (){var this$ = this;return (this$.props["wrappee"]);
})});
/**
* Create a wrapper function for a compoment implementing multiple
* lifecycle functions. Lifecycle functions are specified as any number
* of additional key-value pairs passed as arguments to this function.
*
* Valid keys and values include:
*
* :onUpdate - will call the provided function,
* passing the rendered DOM node as a single arg
* :onMount - will call the provided function,
* passing the rendered DOM node as a single arg
* :onWillUpdate - will call the provided function with no arguments
* :onWillMount - will call the provided function with no arguments
* :onWillUnmount - will call the provided function with no arguments
* @param {...*} var_args
*/
quiescent.wrapper = (function() {
var wrapper__delegate = function (child,kvs){var props = quiescent.js_props.call(null,cljs.core.apply.call(null,cljs.core.array_map,new cljs.core.Keyword(null,"wrappee","wrappee",2609412088),child,kvs));var temp__4092__auto___12126 = (child.props["key"]);if(cljs.core.truth_(temp__4092__auto___12126))
{var key_12127 = temp__4092__auto___12126;(props["key"] = key_12127);
} else
{}
return quiescent.WrapperComponent.call(null,props);
};
var wrapper = function (child,var_args){
var kvs = null;if (arguments.length > 1) {
kvs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 1),0);}
return wrapper__delegate.call(this,child,kvs);};
wrapper.cljs$lang$maxFixedArity = 1;
wrapper.cljs$lang$applyTo = (function (arglist__12128){
var child = cljs.core.first(arglist__12128);
var kvs = cljs.core.rest(arglist__12128);
return wrapper__delegate(child,kvs);
});
wrapper.cljs$core$IFn$_invoke$arity$variadic = wrapper__delegate;
return wrapper;
})()
;
/**
* Wrap a component, specifying a function to be called on the
* componentDidUpdate lifecycle event.
*
* The function will be passed the rendered DOM node.
*/
quiescent.on_update = (function on_update(child,f){return quiescent.wrapper.call(null,child,new cljs.core.Keyword(null,"onUpdate","onUpdate",2573468410),f);
});
/**
* Wrap a component, specifying a function to be called on the
* componentDidMount lifecycle event.
*
* The function will be passed the rendered DOM node.
*/
quiescent.on_mount = (function on_mount(child,f){return quiescent.wrapper.call(null,child,new cljs.core.Keyword(null,"onMount","onMount",3966305516),f);
});
/**
* Wrap a component, specifying a function to be called on the
* componentDidMount AND the componentDidUpdate lifecycle events.
*
* The function will be passed the rendered DOM node.
*/
quiescent.on_render = (function on_render(child,f){return quiescent.wrapper.call(null,child,new cljs.core.Keyword(null,"onMount","onMount",3966305516),f,new cljs.core.Keyword(null,"onUpdate","onUpdate",2573468410),f);
});
/**
* Wrap a component, specifying a function to be called on the
* componentWillMount lifecycle event.
*
* The function will be called with no arguments.
*/
quiescent.on_will_mount = (function on_will_mount(child,f){return quiescent.wrapper.call(null,child,new cljs.core.Keyword(null,"onWillMount","onWillMount",3483492282),f);
});
/**
* Wrap a component, specifying a function to be called on the
* componentWillUpdate lifecycle event.
*
* The function will be called with no arguments.
*/
quiescent.on_will_update = (function on_will_update(child,f){return quiescent.wrapper.call(null,child,new cljs.core.Keyword(null,"onWillUpdate","onWillUpdate",4786127340),f);
});
/**
* Wrap a component, specifying a function to be called on the
* componentWillMount AND the componentWillUpdate lifecycle events.
*
* The function will be called with no arguments.
*/
quiescent.on_will_render = (function on_will_render(child,f){return quiescent.wrapper.call(null,child,new cljs.core.Keyword(null,"onWillMount","onWillMount",3483492282),f,new cljs.core.Keyword(null,"onWillUpdate","onWillUpdate",4786127340),f);
});
/**
* Wrap a component, specifying a function to be called on the
* componentWillUnmount lifecycle event.
*
* The function will be called with no arguments.
*/
quiescent.on_will_unmount = (function on_will_unmount(child,f){return quiescent.wrapper.call(null,child,new cljs.core.Keyword(null,"onWillUnmount","onWillUnmount",1940175105),f);
});
/**
* Given a ReactJS component, immediately render it, rooted to the
* specified DOM node.
*/
quiescent.render = (function render(component,node){return React.renderComponent(component,node);
});
}
if(!lt.util.load.provided_QMARK_('quiescent.dom')) {
goog.provide('quiescent.dom');
goog.require('cljs.core');
goog.require('quiescent');
goog.require('quiescent');
/**
* @param {...*} var_args
*/
quiescent.dom.a = (function() {
var a__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8510_9458 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8511_9459 = null;var count__8512_9460 = 0;var i__8513_9461 = 0;while(true){
if((i__8513_9461 < count__8512_9460))
{var arg__7510__auto___9462 = cljs.core._nth.call(null,chunk__8511_9459,i__8513_9461);a__7509__auto__.push(arg__7510__auto___9462);
{
var G__9463 = seq__8510_9458;
var G__9464 = chunk__8511_9459;
var G__9465 = count__8512_9460;
var G__9466 = (i__8513_9461 + 1);
seq__8510_9458 = G__9463;
chunk__8511_9459 = G__9464;
count__8512_9460 = G__9465;
i__8513_9461 = G__9466;
continue;
}
} else
{var temp__4092__auto___9467 = cljs.core.seq.call(null,seq__8510_9458);if(temp__4092__auto___9467)
{var seq__8510_9468__$1 = temp__4092__auto___9467;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8510_9468__$1))
{var c__5632__auto___9469 = cljs.core.chunk_first.call(null,seq__8510_9468__$1);{
var G__9470 = cljs.core.chunk_rest.call(null,seq__8510_9468__$1);
var G__9471 = c__5632__auto___9469;
var G__9472 = cljs.core.count.call(null,c__5632__auto___9469);
var G__9473 = 0;
seq__8510_9458 = G__9470;
chunk__8511_9459 = G__9471;
count__8512_9460 = G__9472;
i__8513_9461 = G__9473;
continue;
}
} else
{var arg__7510__auto___9474 = cljs.core.first.call(null,seq__8510_9468__$1);a__7509__auto__.push(arg__7510__auto___9474);
{
var G__9475 = cljs.core.next.call(null,seq__8510_9468__$1);
var G__9476 = null;
var G__9477 = 0;
var G__9478 = 0;
seq__8510_9458 = G__9475;
chunk__8511_9459 = G__9476;
count__8512_9460 = G__9477;
i__8513_9461 = G__9478;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.a.apply(null,a__7509__auto__);
};
var a = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return a__delegate.call(this,args__7508__auto__);};
a.cljs$lang$maxFixedArity = 0;
a.cljs$lang$applyTo = (function (arglist__9479){
var args__7508__auto__ = cljs.core.seq(arglist__9479);
return a__delegate(args__7508__auto__);
});
a.cljs$core$IFn$_invoke$arity$variadic = a__delegate;
return a;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.abbr = (function() {
var abbr__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8518_9480 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8519_9481 = null;var count__8520_9482 = 0;var i__8521_9483 = 0;while(true){
if((i__8521_9483 < count__8520_9482))
{var arg__7510__auto___9484 = cljs.core._nth.call(null,chunk__8519_9481,i__8521_9483);a__7509__auto__.push(arg__7510__auto___9484);
{
var G__9485 = seq__8518_9480;
var G__9486 = chunk__8519_9481;
var G__9487 = count__8520_9482;
var G__9488 = (i__8521_9483 + 1);
seq__8518_9480 = G__9485;
chunk__8519_9481 = G__9486;
count__8520_9482 = G__9487;
i__8521_9483 = G__9488;
continue;
}
} else
{var temp__4092__auto___9489 = cljs.core.seq.call(null,seq__8518_9480);if(temp__4092__auto___9489)
{var seq__8518_9490__$1 = temp__4092__auto___9489;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8518_9490__$1))
{var c__5632__auto___9491 = cljs.core.chunk_first.call(null,seq__8518_9490__$1);{
var G__9492 = cljs.core.chunk_rest.call(null,seq__8518_9490__$1);
var G__9493 = c__5632__auto___9491;
var G__9494 = cljs.core.count.call(null,c__5632__auto___9491);
var G__9495 = 0;
seq__8518_9480 = G__9492;
chunk__8519_9481 = G__9493;
count__8520_9482 = G__9494;
i__8521_9483 = G__9495;
continue;
}
} else
{var arg__7510__auto___9496 = cljs.core.first.call(null,seq__8518_9490__$1);a__7509__auto__.push(arg__7510__auto___9496);
{
var G__9497 = cljs.core.next.call(null,seq__8518_9490__$1);
var G__9498 = null;
var G__9499 = 0;
var G__9500 = 0;
seq__8518_9480 = G__9497;
chunk__8519_9481 = G__9498;
count__8520_9482 = G__9499;
i__8521_9483 = G__9500;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.abbr.apply(null,a__7509__auto__);
};
var abbr = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return abbr__delegate.call(this,args__7508__auto__);};
abbr.cljs$lang$maxFixedArity = 0;
abbr.cljs$lang$applyTo = (function (arglist__9501){
var args__7508__auto__ = cljs.core.seq(arglist__9501);
return abbr__delegate(args__7508__auto__);
});
abbr.cljs$core$IFn$_invoke$arity$variadic = abbr__delegate;
return abbr;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.address = (function() {
var address__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8526_9502 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8527_9503 = null;var count__8528_9504 = 0;var i__8529_9505 = 0;while(true){
if((i__8529_9505 < count__8528_9504))
{var arg__7510__auto___9506 = cljs.core._nth.call(null,chunk__8527_9503,i__8529_9505);a__7509__auto__.push(arg__7510__auto___9506);
{
var G__9507 = seq__8526_9502;
var G__9508 = chunk__8527_9503;
var G__9509 = count__8528_9504;
var G__9510 = (i__8529_9505 + 1);
seq__8526_9502 = G__9507;
chunk__8527_9503 = G__9508;
count__8528_9504 = G__9509;
i__8529_9505 = G__9510;
continue;
}
} else
{var temp__4092__auto___9511 = cljs.core.seq.call(null,seq__8526_9502);if(temp__4092__auto___9511)
{var seq__8526_9512__$1 = temp__4092__auto___9511;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8526_9512__$1))
{var c__5632__auto___9513 = cljs.core.chunk_first.call(null,seq__8526_9512__$1);{
var G__9514 = cljs.core.chunk_rest.call(null,seq__8526_9512__$1);
var G__9515 = c__5632__auto___9513;
var G__9516 = cljs.core.count.call(null,c__5632__auto___9513);
var G__9517 = 0;
seq__8526_9502 = G__9514;
chunk__8527_9503 = G__9515;
count__8528_9504 = G__9516;
i__8529_9505 = G__9517;
continue;
}
} else
{var arg__7510__auto___9518 = cljs.core.first.call(null,seq__8526_9512__$1);a__7509__auto__.push(arg__7510__auto___9518);
{
var G__9519 = cljs.core.next.call(null,seq__8526_9512__$1);
var G__9520 = null;
var G__9521 = 0;
var G__9522 = 0;
seq__8526_9502 = G__9519;
chunk__8527_9503 = G__9520;
count__8528_9504 = G__9521;
i__8529_9505 = G__9522;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.address.apply(null,a__7509__auto__);
};
var address = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return address__delegate.call(this,args__7508__auto__);};
address.cljs$lang$maxFixedArity = 0;
address.cljs$lang$applyTo = (function (arglist__9523){
var args__7508__auto__ = cljs.core.seq(arglist__9523);
return address__delegate(args__7508__auto__);
});
address.cljs$core$IFn$_invoke$arity$variadic = address__delegate;
return address;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.area = (function() {
var area__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8534_9524 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8535_9525 = null;var count__8536_9526 = 0;var i__8537_9527 = 0;while(true){
if((i__8537_9527 < count__8536_9526))
{var arg__7510__auto___9528 = cljs.core._nth.call(null,chunk__8535_9525,i__8537_9527);a__7509__auto__.push(arg__7510__auto___9528);
{
var G__9529 = seq__8534_9524;
var G__9530 = chunk__8535_9525;
var G__9531 = count__8536_9526;
var G__9532 = (i__8537_9527 + 1);
seq__8534_9524 = G__9529;
chunk__8535_9525 = G__9530;
count__8536_9526 = G__9531;
i__8537_9527 = G__9532;
continue;
}
} else
{var temp__4092__auto___9533 = cljs.core.seq.call(null,seq__8534_9524);if(temp__4092__auto___9533)
{var seq__8534_9534__$1 = temp__4092__auto___9533;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8534_9534__$1))
{var c__5632__auto___9535 = cljs.core.chunk_first.call(null,seq__8534_9534__$1);{
var G__9536 = cljs.core.chunk_rest.call(null,seq__8534_9534__$1);
var G__9537 = c__5632__auto___9535;
var G__9538 = cljs.core.count.call(null,c__5632__auto___9535);
var G__9539 = 0;
seq__8534_9524 = G__9536;
chunk__8535_9525 = G__9537;
count__8536_9526 = G__9538;
i__8537_9527 = G__9539;
continue;
}
} else
{var arg__7510__auto___9540 = cljs.core.first.call(null,seq__8534_9534__$1);a__7509__auto__.push(arg__7510__auto___9540);
{
var G__9541 = cljs.core.next.call(null,seq__8534_9534__$1);
var G__9542 = null;
var G__9543 = 0;
var G__9544 = 0;
seq__8534_9524 = G__9541;
chunk__8535_9525 = G__9542;
count__8536_9526 = G__9543;
i__8537_9527 = G__9544;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.area.apply(null,a__7509__auto__);
};
var area = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return area__delegate.call(this,args__7508__auto__);};
area.cljs$lang$maxFixedArity = 0;
area.cljs$lang$applyTo = (function (arglist__9545){
var args__7508__auto__ = cljs.core.seq(arglist__9545);
return area__delegate(args__7508__auto__);
});
area.cljs$core$IFn$_invoke$arity$variadic = area__delegate;
return area;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.article = (function() {
var article__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8542_9546 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8543_9547 = null;var count__8544_9548 = 0;var i__8545_9549 = 0;while(true){
if((i__8545_9549 < count__8544_9548))
{var arg__7510__auto___9550 = cljs.core._nth.call(null,chunk__8543_9547,i__8545_9549);a__7509__auto__.push(arg__7510__auto___9550);
{
var G__9551 = seq__8542_9546;
var G__9552 = chunk__8543_9547;
var G__9553 = count__8544_9548;
var G__9554 = (i__8545_9549 + 1);
seq__8542_9546 = G__9551;
chunk__8543_9547 = G__9552;
count__8544_9548 = G__9553;
i__8545_9549 = G__9554;
continue;
}
} else
{var temp__4092__auto___9555 = cljs.core.seq.call(null,seq__8542_9546);if(temp__4092__auto___9555)
{var seq__8542_9556__$1 = temp__4092__auto___9555;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8542_9556__$1))
{var c__5632__auto___9557 = cljs.core.chunk_first.call(null,seq__8542_9556__$1);{
var G__9558 = cljs.core.chunk_rest.call(null,seq__8542_9556__$1);
var G__9559 = c__5632__auto___9557;
var G__9560 = cljs.core.count.call(null,c__5632__auto___9557);
var G__9561 = 0;
seq__8542_9546 = G__9558;
chunk__8543_9547 = G__9559;
count__8544_9548 = G__9560;
i__8545_9549 = G__9561;
continue;
}
} else
{var arg__7510__auto___9562 = cljs.core.first.call(null,seq__8542_9556__$1);a__7509__auto__.push(arg__7510__auto___9562);
{
var G__9563 = cljs.core.next.call(null,seq__8542_9556__$1);
var G__9564 = null;
var G__9565 = 0;
var G__9566 = 0;
seq__8542_9546 = G__9563;
chunk__8543_9547 = G__9564;
count__8544_9548 = G__9565;
i__8545_9549 = G__9566;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.article.apply(null,a__7509__auto__);
};
var article = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return article__delegate.call(this,args__7508__auto__);};
article.cljs$lang$maxFixedArity = 0;
article.cljs$lang$applyTo = (function (arglist__9567){
var args__7508__auto__ = cljs.core.seq(arglist__9567);
return article__delegate(args__7508__auto__);
});
article.cljs$core$IFn$_invoke$arity$variadic = article__delegate;
return article;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.aside = (function() {
var aside__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8550_9568 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8551_9569 = null;var count__8552_9570 = 0;var i__8553_9571 = 0;while(true){
if((i__8553_9571 < count__8552_9570))
{var arg__7510__auto___9572 = cljs.core._nth.call(null,chunk__8551_9569,i__8553_9571);a__7509__auto__.push(arg__7510__auto___9572);
{
var G__9573 = seq__8550_9568;
var G__9574 = chunk__8551_9569;
var G__9575 = count__8552_9570;
var G__9576 = (i__8553_9571 + 1);
seq__8550_9568 = G__9573;
chunk__8551_9569 = G__9574;
count__8552_9570 = G__9575;
i__8553_9571 = G__9576;
continue;
}
} else
{var temp__4092__auto___9577 = cljs.core.seq.call(null,seq__8550_9568);if(temp__4092__auto___9577)
{var seq__8550_9578__$1 = temp__4092__auto___9577;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8550_9578__$1))
{var c__5632__auto___9579 = cljs.core.chunk_first.call(null,seq__8550_9578__$1);{
var G__9580 = cljs.core.chunk_rest.call(null,seq__8550_9578__$1);
var G__9581 = c__5632__auto___9579;
var G__9582 = cljs.core.count.call(null,c__5632__auto___9579);
var G__9583 = 0;
seq__8550_9568 = G__9580;
chunk__8551_9569 = G__9581;
count__8552_9570 = G__9582;
i__8553_9571 = G__9583;
continue;
}
} else
{var arg__7510__auto___9584 = cljs.core.first.call(null,seq__8550_9578__$1);a__7509__auto__.push(arg__7510__auto___9584);
{
var G__9585 = cljs.core.next.call(null,seq__8550_9578__$1);
var G__9586 = null;
var G__9587 = 0;
var G__9588 = 0;
seq__8550_9568 = G__9585;
chunk__8551_9569 = G__9586;
count__8552_9570 = G__9587;
i__8553_9571 = G__9588;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.aside.apply(null,a__7509__auto__);
};
var aside = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return aside__delegate.call(this,args__7508__auto__);};
aside.cljs$lang$maxFixedArity = 0;
aside.cljs$lang$applyTo = (function (arglist__9589){
var args__7508__auto__ = cljs.core.seq(arglist__9589);
return aside__delegate(args__7508__auto__);
});
aside.cljs$core$IFn$_invoke$arity$variadic = aside__delegate;
return aside;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.audio = (function() {
var audio__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8558_9590 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8559_9591 = null;var count__8560_9592 = 0;var i__8561_9593 = 0;while(true){
if((i__8561_9593 < count__8560_9592))
{var arg__7510__auto___9594 = cljs.core._nth.call(null,chunk__8559_9591,i__8561_9593);a__7509__auto__.push(arg__7510__auto___9594);
{
var G__9595 = seq__8558_9590;
var G__9596 = chunk__8559_9591;
var G__9597 = count__8560_9592;
var G__9598 = (i__8561_9593 + 1);
seq__8558_9590 = G__9595;
chunk__8559_9591 = G__9596;
count__8560_9592 = G__9597;
i__8561_9593 = G__9598;
continue;
}
} else
{var temp__4092__auto___9599 = cljs.core.seq.call(null,seq__8558_9590);if(temp__4092__auto___9599)
{var seq__8558_9600__$1 = temp__4092__auto___9599;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8558_9600__$1))
{var c__5632__auto___9601 = cljs.core.chunk_first.call(null,seq__8558_9600__$1);{
var G__9602 = cljs.core.chunk_rest.call(null,seq__8558_9600__$1);
var G__9603 = c__5632__auto___9601;
var G__9604 = cljs.core.count.call(null,c__5632__auto___9601);
var G__9605 = 0;
seq__8558_9590 = G__9602;
chunk__8559_9591 = G__9603;
count__8560_9592 = G__9604;
i__8561_9593 = G__9605;
continue;
}
} else
{var arg__7510__auto___9606 = cljs.core.first.call(null,seq__8558_9600__$1);a__7509__auto__.push(arg__7510__auto___9606);
{
var G__9607 = cljs.core.next.call(null,seq__8558_9600__$1);
var G__9608 = null;
var G__9609 = 0;
var G__9610 = 0;
seq__8558_9590 = G__9607;
chunk__8559_9591 = G__9608;
count__8560_9592 = G__9609;
i__8561_9593 = G__9610;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.audio.apply(null,a__7509__auto__);
};
var audio = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return audio__delegate.call(this,args__7508__auto__);};
audio.cljs$lang$maxFixedArity = 0;
audio.cljs$lang$applyTo = (function (arglist__9611){
var args__7508__auto__ = cljs.core.seq(arglist__9611);
return audio__delegate(args__7508__auto__);
});
audio.cljs$core$IFn$_invoke$arity$variadic = audio__delegate;
return audio;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.b = (function() {
var b__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8566_9612 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8567_9613 = null;var count__8568_9614 = 0;var i__8569_9615 = 0;while(true){
if((i__8569_9615 < count__8568_9614))
{var arg__7510__auto___9616 = cljs.core._nth.call(null,chunk__8567_9613,i__8569_9615);a__7509__auto__.push(arg__7510__auto___9616);
{
var G__9617 = seq__8566_9612;
var G__9618 = chunk__8567_9613;
var G__9619 = count__8568_9614;
var G__9620 = (i__8569_9615 + 1);
seq__8566_9612 = G__9617;
chunk__8567_9613 = G__9618;
count__8568_9614 = G__9619;
i__8569_9615 = G__9620;
continue;
}
} else
{var temp__4092__auto___9621 = cljs.core.seq.call(null,seq__8566_9612);if(temp__4092__auto___9621)
{var seq__8566_9622__$1 = temp__4092__auto___9621;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8566_9622__$1))
{var c__5632__auto___9623 = cljs.core.chunk_first.call(null,seq__8566_9622__$1);{
var G__9624 = cljs.core.chunk_rest.call(null,seq__8566_9622__$1);
var G__9625 = c__5632__auto___9623;
var G__9626 = cljs.core.count.call(null,c__5632__auto___9623);
var G__9627 = 0;
seq__8566_9612 = G__9624;
chunk__8567_9613 = G__9625;
count__8568_9614 = G__9626;
i__8569_9615 = G__9627;
continue;
}
} else
{var arg__7510__auto___9628 = cljs.core.first.call(null,seq__8566_9622__$1);a__7509__auto__.push(arg__7510__auto___9628);
{
var G__9629 = cljs.core.next.call(null,seq__8566_9622__$1);
var G__9630 = null;
var G__9631 = 0;
var G__9632 = 0;
seq__8566_9612 = G__9629;
chunk__8567_9613 = G__9630;
count__8568_9614 = G__9631;
i__8569_9615 = G__9632;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.b.apply(null,a__7509__auto__);
};
var b = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return b__delegate.call(this,args__7508__auto__);};
b.cljs$lang$maxFixedArity = 0;
b.cljs$lang$applyTo = (function (arglist__9633){
var args__7508__auto__ = cljs.core.seq(arglist__9633);
return b__delegate(args__7508__auto__);
});
b.cljs$core$IFn$_invoke$arity$variadic = b__delegate;
return b;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.base = (function() {
var base__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8574_9634 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8575_9635 = null;var count__8576_9636 = 0;var i__8577_9637 = 0;while(true){
if((i__8577_9637 < count__8576_9636))
{var arg__7510__auto___9638 = cljs.core._nth.call(null,chunk__8575_9635,i__8577_9637);a__7509__auto__.push(arg__7510__auto___9638);
{
var G__9639 = seq__8574_9634;
var G__9640 = chunk__8575_9635;
var G__9641 = count__8576_9636;
var G__9642 = (i__8577_9637 + 1);
seq__8574_9634 = G__9639;
chunk__8575_9635 = G__9640;
count__8576_9636 = G__9641;
i__8577_9637 = G__9642;
continue;
}
} else
{var temp__4092__auto___9643 = cljs.core.seq.call(null,seq__8574_9634);if(temp__4092__auto___9643)
{var seq__8574_9644__$1 = temp__4092__auto___9643;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8574_9644__$1))
{var c__5632__auto___9645 = cljs.core.chunk_first.call(null,seq__8574_9644__$1);{
var G__9646 = cljs.core.chunk_rest.call(null,seq__8574_9644__$1);
var G__9647 = c__5632__auto___9645;
var G__9648 = cljs.core.count.call(null,c__5632__auto___9645);
var G__9649 = 0;
seq__8574_9634 = G__9646;
chunk__8575_9635 = G__9647;
count__8576_9636 = G__9648;
i__8577_9637 = G__9649;
continue;
}
} else
{var arg__7510__auto___9650 = cljs.core.first.call(null,seq__8574_9644__$1);a__7509__auto__.push(arg__7510__auto___9650);
{
var G__9651 = cljs.core.next.call(null,seq__8574_9644__$1);
var G__9652 = null;
var G__9653 = 0;
var G__9654 = 0;
seq__8574_9634 = G__9651;
chunk__8575_9635 = G__9652;
count__8576_9636 = G__9653;
i__8577_9637 = G__9654;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.base.apply(null,a__7509__auto__);
};
var base = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return base__delegate.call(this,args__7508__auto__);};
base.cljs$lang$maxFixedArity = 0;
base.cljs$lang$applyTo = (function (arglist__9655){
var args__7508__auto__ = cljs.core.seq(arglist__9655);
return base__delegate(args__7508__auto__);
});
base.cljs$core$IFn$_invoke$arity$variadic = base__delegate;
return base;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.bdi = (function() {
var bdi__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8582_9656 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8583_9657 = null;var count__8584_9658 = 0;var i__8585_9659 = 0;while(true){
if((i__8585_9659 < count__8584_9658))
{var arg__7510__auto___9660 = cljs.core._nth.call(null,chunk__8583_9657,i__8585_9659);a__7509__auto__.push(arg__7510__auto___9660);
{
var G__9661 = seq__8582_9656;
var G__9662 = chunk__8583_9657;
var G__9663 = count__8584_9658;
var G__9664 = (i__8585_9659 + 1);
seq__8582_9656 = G__9661;
chunk__8583_9657 = G__9662;
count__8584_9658 = G__9663;
i__8585_9659 = G__9664;
continue;
}
} else
{var temp__4092__auto___9665 = cljs.core.seq.call(null,seq__8582_9656);if(temp__4092__auto___9665)
{var seq__8582_9666__$1 = temp__4092__auto___9665;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8582_9666__$1))
{var c__5632__auto___9667 = cljs.core.chunk_first.call(null,seq__8582_9666__$1);{
var G__9668 = cljs.core.chunk_rest.call(null,seq__8582_9666__$1);
var G__9669 = c__5632__auto___9667;
var G__9670 = cljs.core.count.call(null,c__5632__auto___9667);
var G__9671 = 0;
seq__8582_9656 = G__9668;
chunk__8583_9657 = G__9669;
count__8584_9658 = G__9670;
i__8585_9659 = G__9671;
continue;
}
} else
{var arg__7510__auto___9672 = cljs.core.first.call(null,seq__8582_9666__$1);a__7509__auto__.push(arg__7510__auto___9672);
{
var G__9673 = cljs.core.next.call(null,seq__8582_9666__$1);
var G__9674 = null;
var G__9675 = 0;
var G__9676 = 0;
seq__8582_9656 = G__9673;
chunk__8583_9657 = G__9674;
count__8584_9658 = G__9675;
i__8585_9659 = G__9676;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.bdi.apply(null,a__7509__auto__);
};
var bdi = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return bdi__delegate.call(this,args__7508__auto__);};
bdi.cljs$lang$maxFixedArity = 0;
bdi.cljs$lang$applyTo = (function (arglist__9677){
var args__7508__auto__ = cljs.core.seq(arglist__9677);
return bdi__delegate(args__7508__auto__);
});
bdi.cljs$core$IFn$_invoke$arity$variadic = bdi__delegate;
return bdi;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.bdo = (function() {
var bdo__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8590_9678 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8591_9679 = null;var count__8592_9680 = 0;var i__8593_9681 = 0;while(true){
if((i__8593_9681 < count__8592_9680))
{var arg__7510__auto___9682 = cljs.core._nth.call(null,chunk__8591_9679,i__8593_9681);a__7509__auto__.push(arg__7510__auto___9682);
{
var G__9683 = seq__8590_9678;
var G__9684 = chunk__8591_9679;
var G__9685 = count__8592_9680;
var G__9686 = (i__8593_9681 + 1);
seq__8590_9678 = G__9683;
chunk__8591_9679 = G__9684;
count__8592_9680 = G__9685;
i__8593_9681 = G__9686;
continue;
}
} else
{var temp__4092__auto___9687 = cljs.core.seq.call(null,seq__8590_9678);if(temp__4092__auto___9687)
{var seq__8590_9688__$1 = temp__4092__auto___9687;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8590_9688__$1))
{var c__5632__auto___9689 = cljs.core.chunk_first.call(null,seq__8590_9688__$1);{
var G__9690 = cljs.core.chunk_rest.call(null,seq__8590_9688__$1);
var G__9691 = c__5632__auto___9689;
var G__9692 = cljs.core.count.call(null,c__5632__auto___9689);
var G__9693 = 0;
seq__8590_9678 = G__9690;
chunk__8591_9679 = G__9691;
count__8592_9680 = G__9692;
i__8593_9681 = G__9693;
continue;
}
} else
{var arg__7510__auto___9694 = cljs.core.first.call(null,seq__8590_9688__$1);a__7509__auto__.push(arg__7510__auto___9694);
{
var G__9695 = cljs.core.next.call(null,seq__8590_9688__$1);
var G__9696 = null;
var G__9697 = 0;
var G__9698 = 0;
seq__8590_9678 = G__9695;
chunk__8591_9679 = G__9696;
count__8592_9680 = G__9697;
i__8593_9681 = G__9698;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.bdo.apply(null,a__7509__auto__);
};
var bdo = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return bdo__delegate.call(this,args__7508__auto__);};
bdo.cljs$lang$maxFixedArity = 0;
bdo.cljs$lang$applyTo = (function (arglist__9699){
var args__7508__auto__ = cljs.core.seq(arglist__9699);
return bdo__delegate(args__7508__auto__);
});
bdo.cljs$core$IFn$_invoke$arity$variadic = bdo__delegate;
return bdo;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.big = (function() {
var big__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8598_9700 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8599_9701 = null;var count__8600_9702 = 0;var i__8601_9703 = 0;while(true){
if((i__8601_9703 < count__8600_9702))
{var arg__7510__auto___9704 = cljs.core._nth.call(null,chunk__8599_9701,i__8601_9703);a__7509__auto__.push(arg__7510__auto___9704);
{
var G__9705 = seq__8598_9700;
var G__9706 = chunk__8599_9701;
var G__9707 = count__8600_9702;
var G__9708 = (i__8601_9703 + 1);
seq__8598_9700 = G__9705;
chunk__8599_9701 = G__9706;
count__8600_9702 = G__9707;
i__8601_9703 = G__9708;
continue;
}
} else
{var temp__4092__auto___9709 = cljs.core.seq.call(null,seq__8598_9700);if(temp__4092__auto___9709)
{var seq__8598_9710__$1 = temp__4092__auto___9709;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8598_9710__$1))
{var c__5632__auto___9711 = cljs.core.chunk_first.call(null,seq__8598_9710__$1);{
var G__9712 = cljs.core.chunk_rest.call(null,seq__8598_9710__$1);
var G__9713 = c__5632__auto___9711;
var G__9714 = cljs.core.count.call(null,c__5632__auto___9711);
var G__9715 = 0;
seq__8598_9700 = G__9712;
chunk__8599_9701 = G__9713;
count__8600_9702 = G__9714;
i__8601_9703 = G__9715;
continue;
}
} else
{var arg__7510__auto___9716 = cljs.core.first.call(null,seq__8598_9710__$1);a__7509__auto__.push(arg__7510__auto___9716);
{
var G__9717 = cljs.core.next.call(null,seq__8598_9710__$1);
var G__9718 = null;
var G__9719 = 0;
var G__9720 = 0;
seq__8598_9700 = G__9717;
chunk__8599_9701 = G__9718;
count__8600_9702 = G__9719;
i__8601_9703 = G__9720;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.big.apply(null,a__7509__auto__);
};
var big = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return big__delegate.call(this,args__7508__auto__);};
big.cljs$lang$maxFixedArity = 0;
big.cljs$lang$applyTo = (function (arglist__9721){
var args__7508__auto__ = cljs.core.seq(arglist__9721);
return big__delegate(args__7508__auto__);
});
big.cljs$core$IFn$_invoke$arity$variadic = big__delegate;
return big;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.blockquote = (function() {
var blockquote__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8606_9722 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8607_9723 = null;var count__8608_9724 = 0;var i__8609_9725 = 0;while(true){
if((i__8609_9725 < count__8608_9724))
{var arg__7510__auto___9726 = cljs.core._nth.call(null,chunk__8607_9723,i__8609_9725);a__7509__auto__.push(arg__7510__auto___9726);
{
var G__9727 = seq__8606_9722;
var G__9728 = chunk__8607_9723;
var G__9729 = count__8608_9724;
var G__9730 = (i__8609_9725 + 1);
seq__8606_9722 = G__9727;
chunk__8607_9723 = G__9728;
count__8608_9724 = G__9729;
i__8609_9725 = G__9730;
continue;
}
} else
{var temp__4092__auto___9731 = cljs.core.seq.call(null,seq__8606_9722);if(temp__4092__auto___9731)
{var seq__8606_9732__$1 = temp__4092__auto___9731;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8606_9732__$1))
{var c__5632__auto___9733 = cljs.core.chunk_first.call(null,seq__8606_9732__$1);{
var G__9734 = cljs.core.chunk_rest.call(null,seq__8606_9732__$1);
var G__9735 = c__5632__auto___9733;
var G__9736 = cljs.core.count.call(null,c__5632__auto___9733);
var G__9737 = 0;
seq__8606_9722 = G__9734;
chunk__8607_9723 = G__9735;
count__8608_9724 = G__9736;
i__8609_9725 = G__9737;
continue;
}
} else
{var arg__7510__auto___9738 = cljs.core.first.call(null,seq__8606_9732__$1);a__7509__auto__.push(arg__7510__auto___9738);
{
var G__9739 = cljs.core.next.call(null,seq__8606_9732__$1);
var G__9740 = null;
var G__9741 = 0;
var G__9742 = 0;
seq__8606_9722 = G__9739;
chunk__8607_9723 = G__9740;
count__8608_9724 = G__9741;
i__8609_9725 = G__9742;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.blockquote.apply(null,a__7509__auto__);
};
var blockquote = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return blockquote__delegate.call(this,args__7508__auto__);};
blockquote.cljs$lang$maxFixedArity = 0;
blockquote.cljs$lang$applyTo = (function (arglist__9743){
var args__7508__auto__ = cljs.core.seq(arglist__9743);
return blockquote__delegate(args__7508__auto__);
});
blockquote.cljs$core$IFn$_invoke$arity$variadic = blockquote__delegate;
return blockquote;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.body = (function() {
var body__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8614_9744 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8615_9745 = null;var count__8616_9746 = 0;var i__8617_9747 = 0;while(true){
if((i__8617_9747 < count__8616_9746))
{var arg__7510__auto___9748 = cljs.core._nth.call(null,chunk__8615_9745,i__8617_9747);a__7509__auto__.push(arg__7510__auto___9748);
{
var G__9749 = seq__8614_9744;
var G__9750 = chunk__8615_9745;
var G__9751 = count__8616_9746;
var G__9752 = (i__8617_9747 + 1);
seq__8614_9744 = G__9749;
chunk__8615_9745 = G__9750;
count__8616_9746 = G__9751;
i__8617_9747 = G__9752;
continue;
}
} else
{var temp__4092__auto___9753 = cljs.core.seq.call(null,seq__8614_9744);if(temp__4092__auto___9753)
{var seq__8614_9754__$1 = temp__4092__auto___9753;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8614_9754__$1))
{var c__5632__auto___9755 = cljs.core.chunk_first.call(null,seq__8614_9754__$1);{
var G__9756 = cljs.core.chunk_rest.call(null,seq__8614_9754__$1);
var G__9757 = c__5632__auto___9755;
var G__9758 = cljs.core.count.call(null,c__5632__auto___9755);
var G__9759 = 0;
seq__8614_9744 = G__9756;
chunk__8615_9745 = G__9757;
count__8616_9746 = G__9758;
i__8617_9747 = G__9759;
continue;
}
} else
{var arg__7510__auto___9760 = cljs.core.first.call(null,seq__8614_9754__$1);a__7509__auto__.push(arg__7510__auto___9760);
{
var G__9761 = cljs.core.next.call(null,seq__8614_9754__$1);
var G__9762 = null;
var G__9763 = 0;
var G__9764 = 0;
seq__8614_9744 = G__9761;
chunk__8615_9745 = G__9762;
count__8616_9746 = G__9763;
i__8617_9747 = G__9764;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.body.apply(null,a__7509__auto__);
};
var body = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return body__delegate.call(this,args__7508__auto__);};
body.cljs$lang$maxFixedArity = 0;
body.cljs$lang$applyTo = (function (arglist__9765){
var args__7508__auto__ = cljs.core.seq(arglist__9765);
return body__delegate(args__7508__auto__);
});
body.cljs$core$IFn$_invoke$arity$variadic = body__delegate;
return body;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.br = (function() {
var br__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8622_9766 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8623_9767 = null;var count__8624_9768 = 0;var i__8625_9769 = 0;while(true){
if((i__8625_9769 < count__8624_9768))
{var arg__7510__auto___9770 = cljs.core._nth.call(null,chunk__8623_9767,i__8625_9769);a__7509__auto__.push(arg__7510__auto___9770);
{
var G__9771 = seq__8622_9766;
var G__9772 = chunk__8623_9767;
var G__9773 = count__8624_9768;
var G__9774 = (i__8625_9769 + 1);
seq__8622_9766 = G__9771;
chunk__8623_9767 = G__9772;
count__8624_9768 = G__9773;
i__8625_9769 = G__9774;
continue;
}
} else
{var temp__4092__auto___9775 = cljs.core.seq.call(null,seq__8622_9766);if(temp__4092__auto___9775)
{var seq__8622_9776__$1 = temp__4092__auto___9775;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8622_9776__$1))
{var c__5632__auto___9777 = cljs.core.chunk_first.call(null,seq__8622_9776__$1);{
var G__9778 = cljs.core.chunk_rest.call(null,seq__8622_9776__$1);
var G__9779 = c__5632__auto___9777;
var G__9780 = cljs.core.count.call(null,c__5632__auto___9777);
var G__9781 = 0;
seq__8622_9766 = G__9778;
chunk__8623_9767 = G__9779;
count__8624_9768 = G__9780;
i__8625_9769 = G__9781;
continue;
}
} else
{var arg__7510__auto___9782 = cljs.core.first.call(null,seq__8622_9776__$1);a__7509__auto__.push(arg__7510__auto___9782);
{
var G__9783 = cljs.core.next.call(null,seq__8622_9776__$1);
var G__9784 = null;
var G__9785 = 0;
var G__9786 = 0;
seq__8622_9766 = G__9783;
chunk__8623_9767 = G__9784;
count__8624_9768 = G__9785;
i__8625_9769 = G__9786;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.br.apply(null,a__7509__auto__);
};
var br = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return br__delegate.call(this,args__7508__auto__);};
br.cljs$lang$maxFixedArity = 0;
br.cljs$lang$applyTo = (function (arglist__9787){
var args__7508__auto__ = cljs.core.seq(arglist__9787);
return br__delegate(args__7508__auto__);
});
br.cljs$core$IFn$_invoke$arity$variadic = br__delegate;
return br;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.button = (function() {
var button__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8630_9788 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8631_9789 = null;var count__8632_9790 = 0;var i__8633_9791 = 0;while(true){
if((i__8633_9791 < count__8632_9790))
{var arg__7510__auto___9792 = cljs.core._nth.call(null,chunk__8631_9789,i__8633_9791);a__7509__auto__.push(arg__7510__auto___9792);
{
var G__9793 = seq__8630_9788;
var G__9794 = chunk__8631_9789;
var G__9795 = count__8632_9790;
var G__9796 = (i__8633_9791 + 1);
seq__8630_9788 = G__9793;
chunk__8631_9789 = G__9794;
count__8632_9790 = G__9795;
i__8633_9791 = G__9796;
continue;
}
} else
{var temp__4092__auto___9797 = cljs.core.seq.call(null,seq__8630_9788);if(temp__4092__auto___9797)
{var seq__8630_9798__$1 = temp__4092__auto___9797;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8630_9798__$1))
{var c__5632__auto___9799 = cljs.core.chunk_first.call(null,seq__8630_9798__$1);{
var G__9800 = cljs.core.chunk_rest.call(null,seq__8630_9798__$1);
var G__9801 = c__5632__auto___9799;
var G__9802 = cljs.core.count.call(null,c__5632__auto___9799);
var G__9803 = 0;
seq__8630_9788 = G__9800;
chunk__8631_9789 = G__9801;
count__8632_9790 = G__9802;
i__8633_9791 = G__9803;
continue;
}
} else
{var arg__7510__auto___9804 = cljs.core.first.call(null,seq__8630_9798__$1);a__7509__auto__.push(arg__7510__auto___9804);
{
var G__9805 = cljs.core.next.call(null,seq__8630_9798__$1);
var G__9806 = null;
var G__9807 = 0;
var G__9808 = 0;
seq__8630_9788 = G__9805;
chunk__8631_9789 = G__9806;
count__8632_9790 = G__9807;
i__8633_9791 = G__9808;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.button.apply(null,a__7509__auto__);
};
var button = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return button__delegate.call(this,args__7508__auto__);};
button.cljs$lang$maxFixedArity = 0;
button.cljs$lang$applyTo = (function (arglist__9809){
var args__7508__auto__ = cljs.core.seq(arglist__9809);
return button__delegate(args__7508__auto__);
});
button.cljs$core$IFn$_invoke$arity$variadic = button__delegate;
return button;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.canvas = (function() {
var canvas__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8638_9810 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8639_9811 = null;var count__8640_9812 = 0;var i__8641_9813 = 0;while(true){
if((i__8641_9813 < count__8640_9812))
{var arg__7510__auto___9814 = cljs.core._nth.call(null,chunk__8639_9811,i__8641_9813);a__7509__auto__.push(arg__7510__auto___9814);
{
var G__9815 = seq__8638_9810;
var G__9816 = chunk__8639_9811;
var G__9817 = count__8640_9812;
var G__9818 = (i__8641_9813 + 1);
seq__8638_9810 = G__9815;
chunk__8639_9811 = G__9816;
count__8640_9812 = G__9817;
i__8641_9813 = G__9818;
continue;
}
} else
{var temp__4092__auto___9819 = cljs.core.seq.call(null,seq__8638_9810);if(temp__4092__auto___9819)
{var seq__8638_9820__$1 = temp__4092__auto___9819;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8638_9820__$1))
{var c__5632__auto___9821 = cljs.core.chunk_first.call(null,seq__8638_9820__$1);{
var G__9822 = cljs.core.chunk_rest.call(null,seq__8638_9820__$1);
var G__9823 = c__5632__auto___9821;
var G__9824 = cljs.core.count.call(null,c__5632__auto___9821);
var G__9825 = 0;
seq__8638_9810 = G__9822;
chunk__8639_9811 = G__9823;
count__8640_9812 = G__9824;
i__8641_9813 = G__9825;
continue;
}
} else
{var arg__7510__auto___9826 = cljs.core.first.call(null,seq__8638_9820__$1);a__7509__auto__.push(arg__7510__auto___9826);
{
var G__9827 = cljs.core.next.call(null,seq__8638_9820__$1);
var G__9828 = null;
var G__9829 = 0;
var G__9830 = 0;
seq__8638_9810 = G__9827;
chunk__8639_9811 = G__9828;
count__8640_9812 = G__9829;
i__8641_9813 = G__9830;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.canvas.apply(null,a__7509__auto__);
};
var canvas = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return canvas__delegate.call(this,args__7508__auto__);};
canvas.cljs$lang$maxFixedArity = 0;
canvas.cljs$lang$applyTo = (function (arglist__9831){
var args__7508__auto__ = cljs.core.seq(arglist__9831);
return canvas__delegate(args__7508__auto__);
});
canvas.cljs$core$IFn$_invoke$arity$variadic = canvas__delegate;
return canvas;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.caption = (function() {
var caption__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8646_9832 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8647_9833 = null;var count__8648_9834 = 0;var i__8649_9835 = 0;while(true){
if((i__8649_9835 < count__8648_9834))
{var arg__7510__auto___9836 = cljs.core._nth.call(null,chunk__8647_9833,i__8649_9835);a__7509__auto__.push(arg__7510__auto___9836);
{
var G__9837 = seq__8646_9832;
var G__9838 = chunk__8647_9833;
var G__9839 = count__8648_9834;
var G__9840 = (i__8649_9835 + 1);
seq__8646_9832 = G__9837;
chunk__8647_9833 = G__9838;
count__8648_9834 = G__9839;
i__8649_9835 = G__9840;
continue;
}
} else
{var temp__4092__auto___9841 = cljs.core.seq.call(null,seq__8646_9832);if(temp__4092__auto___9841)
{var seq__8646_9842__$1 = temp__4092__auto___9841;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8646_9842__$1))
{var c__5632__auto___9843 = cljs.core.chunk_first.call(null,seq__8646_9842__$1);{
var G__9844 = cljs.core.chunk_rest.call(null,seq__8646_9842__$1);
var G__9845 = c__5632__auto___9843;
var G__9846 = cljs.core.count.call(null,c__5632__auto___9843);
var G__9847 = 0;
seq__8646_9832 = G__9844;
chunk__8647_9833 = G__9845;
count__8648_9834 = G__9846;
i__8649_9835 = G__9847;
continue;
}
} else
{var arg__7510__auto___9848 = cljs.core.first.call(null,seq__8646_9842__$1);a__7509__auto__.push(arg__7510__auto___9848);
{
var G__9849 = cljs.core.next.call(null,seq__8646_9842__$1);
var G__9850 = null;
var G__9851 = 0;
var G__9852 = 0;
seq__8646_9832 = G__9849;
chunk__8647_9833 = G__9850;
count__8648_9834 = G__9851;
i__8649_9835 = G__9852;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.caption.apply(null,a__7509__auto__);
};
var caption = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return caption__delegate.call(this,args__7508__auto__);};
caption.cljs$lang$maxFixedArity = 0;
caption.cljs$lang$applyTo = (function (arglist__9853){
var args__7508__auto__ = cljs.core.seq(arglist__9853);
return caption__delegate(args__7508__auto__);
});
caption.cljs$core$IFn$_invoke$arity$variadic = caption__delegate;
return caption;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.cite = (function() {
var cite__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8654_9854 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8655_9855 = null;var count__8656_9856 = 0;var i__8657_9857 = 0;while(true){
if((i__8657_9857 < count__8656_9856))
{var arg__7510__auto___9858 = cljs.core._nth.call(null,chunk__8655_9855,i__8657_9857);a__7509__auto__.push(arg__7510__auto___9858);
{
var G__9859 = seq__8654_9854;
var G__9860 = chunk__8655_9855;
var G__9861 = count__8656_9856;
var G__9862 = (i__8657_9857 + 1);
seq__8654_9854 = G__9859;
chunk__8655_9855 = G__9860;
count__8656_9856 = G__9861;
i__8657_9857 = G__9862;
continue;
}
} else
{var temp__4092__auto___9863 = cljs.core.seq.call(null,seq__8654_9854);if(temp__4092__auto___9863)
{var seq__8654_9864__$1 = temp__4092__auto___9863;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8654_9864__$1))
{var c__5632__auto___9865 = cljs.core.chunk_first.call(null,seq__8654_9864__$1);{
var G__9866 = cljs.core.chunk_rest.call(null,seq__8654_9864__$1);
var G__9867 = c__5632__auto___9865;
var G__9868 = cljs.core.count.call(null,c__5632__auto___9865);
var G__9869 = 0;
seq__8654_9854 = G__9866;
chunk__8655_9855 = G__9867;
count__8656_9856 = G__9868;
i__8657_9857 = G__9869;
continue;
}
} else
{var arg__7510__auto___9870 = cljs.core.first.call(null,seq__8654_9864__$1);a__7509__auto__.push(arg__7510__auto___9870);
{
var G__9871 = cljs.core.next.call(null,seq__8654_9864__$1);
var G__9872 = null;
var G__9873 = 0;
var G__9874 = 0;
seq__8654_9854 = G__9871;
chunk__8655_9855 = G__9872;
count__8656_9856 = G__9873;
i__8657_9857 = G__9874;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.cite.apply(null,a__7509__auto__);
};
var cite = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return cite__delegate.call(this,args__7508__auto__);};
cite.cljs$lang$maxFixedArity = 0;
cite.cljs$lang$applyTo = (function (arglist__9875){
var args__7508__auto__ = cljs.core.seq(arglist__9875);
return cite__delegate(args__7508__auto__);
});
cite.cljs$core$IFn$_invoke$arity$variadic = cite__delegate;
return cite;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.code = (function() {
var code__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8662_9876 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8663_9877 = null;var count__8664_9878 = 0;var i__8665_9879 = 0;while(true){
if((i__8665_9879 < count__8664_9878))
{var arg__7510__auto___9880 = cljs.core._nth.call(null,chunk__8663_9877,i__8665_9879);a__7509__auto__.push(arg__7510__auto___9880);
{
var G__9881 = seq__8662_9876;
var G__9882 = chunk__8663_9877;
var G__9883 = count__8664_9878;
var G__9884 = (i__8665_9879 + 1);
seq__8662_9876 = G__9881;
chunk__8663_9877 = G__9882;
count__8664_9878 = G__9883;
i__8665_9879 = G__9884;
continue;
}
} else
{var temp__4092__auto___9885 = cljs.core.seq.call(null,seq__8662_9876);if(temp__4092__auto___9885)
{var seq__8662_9886__$1 = temp__4092__auto___9885;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8662_9886__$1))
{var c__5632__auto___9887 = cljs.core.chunk_first.call(null,seq__8662_9886__$1);{
var G__9888 = cljs.core.chunk_rest.call(null,seq__8662_9886__$1);
var G__9889 = c__5632__auto___9887;
var G__9890 = cljs.core.count.call(null,c__5632__auto___9887);
var G__9891 = 0;
seq__8662_9876 = G__9888;
chunk__8663_9877 = G__9889;
count__8664_9878 = G__9890;
i__8665_9879 = G__9891;
continue;
}
} else
{var arg__7510__auto___9892 = cljs.core.first.call(null,seq__8662_9886__$1);a__7509__auto__.push(arg__7510__auto___9892);
{
var G__9893 = cljs.core.next.call(null,seq__8662_9886__$1);
var G__9894 = null;
var G__9895 = 0;
var G__9896 = 0;
seq__8662_9876 = G__9893;
chunk__8663_9877 = G__9894;
count__8664_9878 = G__9895;
i__8665_9879 = G__9896;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.code.apply(null,a__7509__auto__);
};
var code = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return code__delegate.call(this,args__7508__auto__);};
code.cljs$lang$maxFixedArity = 0;
code.cljs$lang$applyTo = (function (arglist__9897){
var args__7508__auto__ = cljs.core.seq(arglist__9897);
return code__delegate(args__7508__auto__);
});
code.cljs$core$IFn$_invoke$arity$variadic = code__delegate;
return code;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.col = (function() {
var col__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8670_9898 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8671_9899 = null;var count__8672_9900 = 0;var i__8673_9901 = 0;while(true){
if((i__8673_9901 < count__8672_9900))
{var arg__7510__auto___9902 = cljs.core._nth.call(null,chunk__8671_9899,i__8673_9901);a__7509__auto__.push(arg__7510__auto___9902);
{
var G__9903 = seq__8670_9898;
var G__9904 = chunk__8671_9899;
var G__9905 = count__8672_9900;
var G__9906 = (i__8673_9901 + 1);
seq__8670_9898 = G__9903;
chunk__8671_9899 = G__9904;
count__8672_9900 = G__9905;
i__8673_9901 = G__9906;
continue;
}
} else
{var temp__4092__auto___9907 = cljs.core.seq.call(null,seq__8670_9898);if(temp__4092__auto___9907)
{var seq__8670_9908__$1 = temp__4092__auto___9907;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8670_9908__$1))
{var c__5632__auto___9909 = cljs.core.chunk_first.call(null,seq__8670_9908__$1);{
var G__9910 = cljs.core.chunk_rest.call(null,seq__8670_9908__$1);
var G__9911 = c__5632__auto___9909;
var G__9912 = cljs.core.count.call(null,c__5632__auto___9909);
var G__9913 = 0;
seq__8670_9898 = G__9910;
chunk__8671_9899 = G__9911;
count__8672_9900 = G__9912;
i__8673_9901 = G__9913;
continue;
}
} else
{var arg__7510__auto___9914 = cljs.core.first.call(null,seq__8670_9908__$1);a__7509__auto__.push(arg__7510__auto___9914);
{
var G__9915 = cljs.core.next.call(null,seq__8670_9908__$1);
var G__9916 = null;
var G__9917 = 0;
var G__9918 = 0;
seq__8670_9898 = G__9915;
chunk__8671_9899 = G__9916;
count__8672_9900 = G__9917;
i__8673_9901 = G__9918;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.col.apply(null,a__7509__auto__);
};
var col = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return col__delegate.call(this,args__7508__auto__);};
col.cljs$lang$maxFixedArity = 0;
col.cljs$lang$applyTo = (function (arglist__9919){
var args__7508__auto__ = cljs.core.seq(arglist__9919);
return col__delegate(args__7508__auto__);
});
col.cljs$core$IFn$_invoke$arity$variadic = col__delegate;
return col;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.colgroup = (function() {
var colgroup__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8678_9920 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8679_9921 = null;var count__8680_9922 = 0;var i__8681_9923 = 0;while(true){
if((i__8681_9923 < count__8680_9922))
{var arg__7510__auto___9924 = cljs.core._nth.call(null,chunk__8679_9921,i__8681_9923);a__7509__auto__.push(arg__7510__auto___9924);
{
var G__9925 = seq__8678_9920;
var G__9926 = chunk__8679_9921;
var G__9927 = count__8680_9922;
var G__9928 = (i__8681_9923 + 1);
seq__8678_9920 = G__9925;
chunk__8679_9921 = G__9926;
count__8680_9922 = G__9927;
i__8681_9923 = G__9928;
continue;
}
} else
{var temp__4092__auto___9929 = cljs.core.seq.call(null,seq__8678_9920);if(temp__4092__auto___9929)
{var seq__8678_9930__$1 = temp__4092__auto___9929;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8678_9930__$1))
{var c__5632__auto___9931 = cljs.core.chunk_first.call(null,seq__8678_9930__$1);{
var G__9932 = cljs.core.chunk_rest.call(null,seq__8678_9930__$1);
var G__9933 = c__5632__auto___9931;
var G__9934 = cljs.core.count.call(null,c__5632__auto___9931);
var G__9935 = 0;
seq__8678_9920 = G__9932;
chunk__8679_9921 = G__9933;
count__8680_9922 = G__9934;
i__8681_9923 = G__9935;
continue;
}
} else
{var arg__7510__auto___9936 = cljs.core.first.call(null,seq__8678_9930__$1);a__7509__auto__.push(arg__7510__auto___9936);
{
var G__9937 = cljs.core.next.call(null,seq__8678_9930__$1);
var G__9938 = null;
var G__9939 = 0;
var G__9940 = 0;
seq__8678_9920 = G__9937;
chunk__8679_9921 = G__9938;
count__8680_9922 = G__9939;
i__8681_9923 = G__9940;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.colgroup.apply(null,a__7509__auto__);
};
var colgroup = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return colgroup__delegate.call(this,args__7508__auto__);};
colgroup.cljs$lang$maxFixedArity = 0;
colgroup.cljs$lang$applyTo = (function (arglist__9941){
var args__7508__auto__ = cljs.core.seq(arglist__9941);
return colgroup__delegate(args__7508__auto__);
});
colgroup.cljs$core$IFn$_invoke$arity$variadic = colgroup__delegate;
return colgroup;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.data = (function() {
var data__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8686_9942 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8687_9943 = null;var count__8688_9944 = 0;var i__8689_9945 = 0;while(true){
if((i__8689_9945 < count__8688_9944))
{var arg__7510__auto___9946 = cljs.core._nth.call(null,chunk__8687_9943,i__8689_9945);a__7509__auto__.push(arg__7510__auto___9946);
{
var G__9947 = seq__8686_9942;
var G__9948 = chunk__8687_9943;
var G__9949 = count__8688_9944;
var G__9950 = (i__8689_9945 + 1);
seq__8686_9942 = G__9947;
chunk__8687_9943 = G__9948;
count__8688_9944 = G__9949;
i__8689_9945 = G__9950;
continue;
}
} else
{var temp__4092__auto___9951 = cljs.core.seq.call(null,seq__8686_9942);if(temp__4092__auto___9951)
{var seq__8686_9952__$1 = temp__4092__auto___9951;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8686_9952__$1))
{var c__5632__auto___9953 = cljs.core.chunk_first.call(null,seq__8686_9952__$1);{
var G__9954 = cljs.core.chunk_rest.call(null,seq__8686_9952__$1);
var G__9955 = c__5632__auto___9953;
var G__9956 = cljs.core.count.call(null,c__5632__auto___9953);
var G__9957 = 0;
seq__8686_9942 = G__9954;
chunk__8687_9943 = G__9955;
count__8688_9944 = G__9956;
i__8689_9945 = G__9957;
continue;
}
} else
{var arg__7510__auto___9958 = cljs.core.first.call(null,seq__8686_9952__$1);a__7509__auto__.push(arg__7510__auto___9958);
{
var G__9959 = cljs.core.next.call(null,seq__8686_9952__$1);
var G__9960 = null;
var G__9961 = 0;
var G__9962 = 0;
seq__8686_9942 = G__9959;
chunk__8687_9943 = G__9960;
count__8688_9944 = G__9961;
i__8689_9945 = G__9962;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.data.apply(null,a__7509__auto__);
};
var data = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return data__delegate.call(this,args__7508__auto__);};
data.cljs$lang$maxFixedArity = 0;
data.cljs$lang$applyTo = (function (arglist__9963){
var args__7508__auto__ = cljs.core.seq(arglist__9963);
return data__delegate(args__7508__auto__);
});
data.cljs$core$IFn$_invoke$arity$variadic = data__delegate;
return data;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.datalist = (function() {
var datalist__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8694_9964 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8695_9965 = null;var count__8696_9966 = 0;var i__8697_9967 = 0;while(true){
if((i__8697_9967 < count__8696_9966))
{var arg__7510__auto___9968 = cljs.core._nth.call(null,chunk__8695_9965,i__8697_9967);a__7509__auto__.push(arg__7510__auto___9968);
{
var G__9969 = seq__8694_9964;
var G__9970 = chunk__8695_9965;
var G__9971 = count__8696_9966;
var G__9972 = (i__8697_9967 + 1);
seq__8694_9964 = G__9969;
chunk__8695_9965 = G__9970;
count__8696_9966 = G__9971;
i__8697_9967 = G__9972;
continue;
}
} else
{var temp__4092__auto___9973 = cljs.core.seq.call(null,seq__8694_9964);if(temp__4092__auto___9973)
{var seq__8694_9974__$1 = temp__4092__auto___9973;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8694_9974__$1))
{var c__5632__auto___9975 = cljs.core.chunk_first.call(null,seq__8694_9974__$1);{
var G__9976 = cljs.core.chunk_rest.call(null,seq__8694_9974__$1);
var G__9977 = c__5632__auto___9975;
var G__9978 = cljs.core.count.call(null,c__5632__auto___9975);
var G__9979 = 0;
seq__8694_9964 = G__9976;
chunk__8695_9965 = G__9977;
count__8696_9966 = G__9978;
i__8697_9967 = G__9979;
continue;
}
} else
{var arg__7510__auto___9980 = cljs.core.first.call(null,seq__8694_9974__$1);a__7509__auto__.push(arg__7510__auto___9980);
{
var G__9981 = cljs.core.next.call(null,seq__8694_9974__$1);
var G__9982 = null;
var G__9983 = 0;
var G__9984 = 0;
seq__8694_9964 = G__9981;
chunk__8695_9965 = G__9982;
count__8696_9966 = G__9983;
i__8697_9967 = G__9984;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.datalist.apply(null,a__7509__auto__);
};
var datalist = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return datalist__delegate.call(this,args__7508__auto__);};
datalist.cljs$lang$maxFixedArity = 0;
datalist.cljs$lang$applyTo = (function (arglist__9985){
var args__7508__auto__ = cljs.core.seq(arglist__9985);
return datalist__delegate(args__7508__auto__);
});
datalist.cljs$core$IFn$_invoke$arity$variadic = datalist__delegate;
return datalist;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.dd = (function() {
var dd__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8702_9986 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8703_9987 = null;var count__8704_9988 = 0;var i__8705_9989 = 0;while(true){
if((i__8705_9989 < count__8704_9988))
{var arg__7510__auto___9990 = cljs.core._nth.call(null,chunk__8703_9987,i__8705_9989);a__7509__auto__.push(arg__7510__auto___9990);
{
var G__9991 = seq__8702_9986;
var G__9992 = chunk__8703_9987;
var G__9993 = count__8704_9988;
var G__9994 = (i__8705_9989 + 1);
seq__8702_9986 = G__9991;
chunk__8703_9987 = G__9992;
count__8704_9988 = G__9993;
i__8705_9989 = G__9994;
continue;
}
} else
{var temp__4092__auto___9995 = cljs.core.seq.call(null,seq__8702_9986);if(temp__4092__auto___9995)
{var seq__8702_9996__$1 = temp__4092__auto___9995;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8702_9996__$1))
{var c__5632__auto___9997 = cljs.core.chunk_first.call(null,seq__8702_9996__$1);{
var G__9998 = cljs.core.chunk_rest.call(null,seq__8702_9996__$1);
var G__9999 = c__5632__auto___9997;
var G__10000 = cljs.core.count.call(null,c__5632__auto___9997);
var G__10001 = 0;
seq__8702_9986 = G__9998;
chunk__8703_9987 = G__9999;
count__8704_9988 = G__10000;
i__8705_9989 = G__10001;
continue;
}
} else
{var arg__7510__auto___10002 = cljs.core.first.call(null,seq__8702_9996__$1);a__7509__auto__.push(arg__7510__auto___10002);
{
var G__10003 = cljs.core.next.call(null,seq__8702_9996__$1);
var G__10004 = null;
var G__10005 = 0;
var G__10006 = 0;
seq__8702_9986 = G__10003;
chunk__8703_9987 = G__10004;
count__8704_9988 = G__10005;
i__8705_9989 = G__10006;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.dd.apply(null,a__7509__auto__);
};
var dd = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return dd__delegate.call(this,args__7508__auto__);};
dd.cljs$lang$maxFixedArity = 0;
dd.cljs$lang$applyTo = (function (arglist__10007){
var args__7508__auto__ = cljs.core.seq(arglist__10007);
return dd__delegate(args__7508__auto__);
});
dd.cljs$core$IFn$_invoke$arity$variadic = dd__delegate;
return dd;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.del = (function() {
var del__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8710_10008 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8711_10009 = null;var count__8712_10010 = 0;var i__8713_10011 = 0;while(true){
if((i__8713_10011 < count__8712_10010))
{var arg__7510__auto___10012 = cljs.core._nth.call(null,chunk__8711_10009,i__8713_10011);a__7509__auto__.push(arg__7510__auto___10012);
{
var G__10013 = seq__8710_10008;
var G__10014 = chunk__8711_10009;
var G__10015 = count__8712_10010;
var G__10016 = (i__8713_10011 + 1);
seq__8710_10008 = G__10013;
chunk__8711_10009 = G__10014;
count__8712_10010 = G__10015;
i__8713_10011 = G__10016;
continue;
}
} else
{var temp__4092__auto___10017 = cljs.core.seq.call(null,seq__8710_10008);if(temp__4092__auto___10017)
{var seq__8710_10018__$1 = temp__4092__auto___10017;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8710_10018__$1))
{var c__5632__auto___10019 = cljs.core.chunk_first.call(null,seq__8710_10018__$1);{
var G__10020 = cljs.core.chunk_rest.call(null,seq__8710_10018__$1);
var G__10021 = c__5632__auto___10019;
var G__10022 = cljs.core.count.call(null,c__5632__auto___10019);
var G__10023 = 0;
seq__8710_10008 = G__10020;
chunk__8711_10009 = G__10021;
count__8712_10010 = G__10022;
i__8713_10011 = G__10023;
continue;
}
} else
{var arg__7510__auto___10024 = cljs.core.first.call(null,seq__8710_10018__$1);a__7509__auto__.push(arg__7510__auto___10024);
{
var G__10025 = cljs.core.next.call(null,seq__8710_10018__$1);
var G__10026 = null;
var G__10027 = 0;
var G__10028 = 0;
seq__8710_10008 = G__10025;
chunk__8711_10009 = G__10026;
count__8712_10010 = G__10027;
i__8713_10011 = G__10028;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.del.apply(null,a__7509__auto__);
};
var del = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return del__delegate.call(this,args__7508__auto__);};
del.cljs$lang$maxFixedArity = 0;
del.cljs$lang$applyTo = (function (arglist__10029){
var args__7508__auto__ = cljs.core.seq(arglist__10029);
return del__delegate(args__7508__auto__);
});
del.cljs$core$IFn$_invoke$arity$variadic = del__delegate;
return del;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.details = (function() {
var details__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8718_10030 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8719_10031 = null;var count__8720_10032 = 0;var i__8721_10033 = 0;while(true){
if((i__8721_10033 < count__8720_10032))
{var arg__7510__auto___10034 = cljs.core._nth.call(null,chunk__8719_10031,i__8721_10033);a__7509__auto__.push(arg__7510__auto___10034);
{
var G__10035 = seq__8718_10030;
var G__10036 = chunk__8719_10031;
var G__10037 = count__8720_10032;
var G__10038 = (i__8721_10033 + 1);
seq__8718_10030 = G__10035;
chunk__8719_10031 = G__10036;
count__8720_10032 = G__10037;
i__8721_10033 = G__10038;
continue;
}
} else
{var temp__4092__auto___10039 = cljs.core.seq.call(null,seq__8718_10030);if(temp__4092__auto___10039)
{var seq__8718_10040__$1 = temp__4092__auto___10039;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8718_10040__$1))
{var c__5632__auto___10041 = cljs.core.chunk_first.call(null,seq__8718_10040__$1);{
var G__10042 = cljs.core.chunk_rest.call(null,seq__8718_10040__$1);
var G__10043 = c__5632__auto___10041;
var G__10044 = cljs.core.count.call(null,c__5632__auto___10041);
var G__10045 = 0;
seq__8718_10030 = G__10042;
chunk__8719_10031 = G__10043;
count__8720_10032 = G__10044;
i__8721_10033 = G__10045;
continue;
}
} else
{var arg__7510__auto___10046 = cljs.core.first.call(null,seq__8718_10040__$1);a__7509__auto__.push(arg__7510__auto___10046);
{
var G__10047 = cljs.core.next.call(null,seq__8718_10040__$1);
var G__10048 = null;
var G__10049 = 0;
var G__10050 = 0;
seq__8718_10030 = G__10047;
chunk__8719_10031 = G__10048;
count__8720_10032 = G__10049;
i__8721_10033 = G__10050;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.details.apply(null,a__7509__auto__);
};
var details = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return details__delegate.call(this,args__7508__auto__);};
details.cljs$lang$maxFixedArity = 0;
details.cljs$lang$applyTo = (function (arglist__10051){
var args__7508__auto__ = cljs.core.seq(arglist__10051);
return details__delegate(args__7508__auto__);
});
details.cljs$core$IFn$_invoke$arity$variadic = details__delegate;
return details;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.dfn = (function() {
var dfn__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8726_10052 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8727_10053 = null;var count__8728_10054 = 0;var i__8729_10055 = 0;while(true){
if((i__8729_10055 < count__8728_10054))
{var arg__7510__auto___10056 = cljs.core._nth.call(null,chunk__8727_10053,i__8729_10055);a__7509__auto__.push(arg__7510__auto___10056);
{
var G__10057 = seq__8726_10052;
var G__10058 = chunk__8727_10053;
var G__10059 = count__8728_10054;
var G__10060 = (i__8729_10055 + 1);
seq__8726_10052 = G__10057;
chunk__8727_10053 = G__10058;
count__8728_10054 = G__10059;
i__8729_10055 = G__10060;
continue;
}
} else
{var temp__4092__auto___10061 = cljs.core.seq.call(null,seq__8726_10052);if(temp__4092__auto___10061)
{var seq__8726_10062__$1 = temp__4092__auto___10061;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8726_10062__$1))
{var c__5632__auto___10063 = cljs.core.chunk_first.call(null,seq__8726_10062__$1);{
var G__10064 = cljs.core.chunk_rest.call(null,seq__8726_10062__$1);
var G__10065 = c__5632__auto___10063;
var G__10066 = cljs.core.count.call(null,c__5632__auto___10063);
var G__10067 = 0;
seq__8726_10052 = G__10064;
chunk__8727_10053 = G__10065;
count__8728_10054 = G__10066;
i__8729_10055 = G__10067;
continue;
}
} else
{var arg__7510__auto___10068 = cljs.core.first.call(null,seq__8726_10062__$1);a__7509__auto__.push(arg__7510__auto___10068);
{
var G__10069 = cljs.core.next.call(null,seq__8726_10062__$1);
var G__10070 = null;
var G__10071 = 0;
var G__10072 = 0;
seq__8726_10052 = G__10069;
chunk__8727_10053 = G__10070;
count__8728_10054 = G__10071;
i__8729_10055 = G__10072;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.dfn.apply(null,a__7509__auto__);
};
var dfn = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return dfn__delegate.call(this,args__7508__auto__);};
dfn.cljs$lang$maxFixedArity = 0;
dfn.cljs$lang$applyTo = (function (arglist__10073){
var args__7508__auto__ = cljs.core.seq(arglist__10073);
return dfn__delegate(args__7508__auto__);
});
dfn.cljs$core$IFn$_invoke$arity$variadic = dfn__delegate;
return dfn;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.div = (function() {
var div__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8734_10074 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8735_10075 = null;var count__8736_10076 = 0;var i__8737_10077 = 0;while(true){
if((i__8737_10077 < count__8736_10076))
{var arg__7510__auto___10078 = cljs.core._nth.call(null,chunk__8735_10075,i__8737_10077);a__7509__auto__.push(arg__7510__auto___10078);
{
var G__10079 = seq__8734_10074;
var G__10080 = chunk__8735_10075;
var G__10081 = count__8736_10076;
var G__10082 = (i__8737_10077 + 1);
seq__8734_10074 = G__10079;
chunk__8735_10075 = G__10080;
count__8736_10076 = G__10081;
i__8737_10077 = G__10082;
continue;
}
} else
{var temp__4092__auto___10083 = cljs.core.seq.call(null,seq__8734_10074);if(temp__4092__auto___10083)
{var seq__8734_10084__$1 = temp__4092__auto___10083;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8734_10084__$1))
{var c__5632__auto___10085 = cljs.core.chunk_first.call(null,seq__8734_10084__$1);{
var G__10086 = cljs.core.chunk_rest.call(null,seq__8734_10084__$1);
var G__10087 = c__5632__auto___10085;
var G__10088 = cljs.core.count.call(null,c__5632__auto___10085);
var G__10089 = 0;
seq__8734_10074 = G__10086;
chunk__8735_10075 = G__10087;
count__8736_10076 = G__10088;
i__8737_10077 = G__10089;
continue;
}
} else
{var arg__7510__auto___10090 = cljs.core.first.call(null,seq__8734_10084__$1);a__7509__auto__.push(arg__7510__auto___10090);
{
var G__10091 = cljs.core.next.call(null,seq__8734_10084__$1);
var G__10092 = null;
var G__10093 = 0;
var G__10094 = 0;
seq__8734_10074 = G__10091;
chunk__8735_10075 = G__10092;
count__8736_10076 = G__10093;
i__8737_10077 = G__10094;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.div.apply(null,a__7509__auto__);
};
var div = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return div__delegate.call(this,args__7508__auto__);};
div.cljs$lang$maxFixedArity = 0;
div.cljs$lang$applyTo = (function (arglist__10095){
var args__7508__auto__ = cljs.core.seq(arglist__10095);
return div__delegate(args__7508__auto__);
});
div.cljs$core$IFn$_invoke$arity$variadic = div__delegate;
return div;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.dl = (function() {
var dl__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8742_10096 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8743_10097 = null;var count__8744_10098 = 0;var i__8745_10099 = 0;while(true){
if((i__8745_10099 < count__8744_10098))
{var arg__7510__auto___10100 = cljs.core._nth.call(null,chunk__8743_10097,i__8745_10099);a__7509__auto__.push(arg__7510__auto___10100);
{
var G__10101 = seq__8742_10096;
var G__10102 = chunk__8743_10097;
var G__10103 = count__8744_10098;
var G__10104 = (i__8745_10099 + 1);
seq__8742_10096 = G__10101;
chunk__8743_10097 = G__10102;
count__8744_10098 = G__10103;
i__8745_10099 = G__10104;
continue;
}
} else
{var temp__4092__auto___10105 = cljs.core.seq.call(null,seq__8742_10096);if(temp__4092__auto___10105)
{var seq__8742_10106__$1 = temp__4092__auto___10105;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8742_10106__$1))
{var c__5632__auto___10107 = cljs.core.chunk_first.call(null,seq__8742_10106__$1);{
var G__10108 = cljs.core.chunk_rest.call(null,seq__8742_10106__$1);
var G__10109 = c__5632__auto___10107;
var G__10110 = cljs.core.count.call(null,c__5632__auto___10107);
var G__10111 = 0;
seq__8742_10096 = G__10108;
chunk__8743_10097 = G__10109;
count__8744_10098 = G__10110;
i__8745_10099 = G__10111;
continue;
}
} else
{var arg__7510__auto___10112 = cljs.core.first.call(null,seq__8742_10106__$1);a__7509__auto__.push(arg__7510__auto___10112);
{
var G__10113 = cljs.core.next.call(null,seq__8742_10106__$1);
var G__10114 = null;
var G__10115 = 0;
var G__10116 = 0;
seq__8742_10096 = G__10113;
chunk__8743_10097 = G__10114;
count__8744_10098 = G__10115;
i__8745_10099 = G__10116;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.dl.apply(null,a__7509__auto__);
};
var dl = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return dl__delegate.call(this,args__7508__auto__);};
dl.cljs$lang$maxFixedArity = 0;
dl.cljs$lang$applyTo = (function (arglist__10117){
var args__7508__auto__ = cljs.core.seq(arglist__10117);
return dl__delegate(args__7508__auto__);
});
dl.cljs$core$IFn$_invoke$arity$variadic = dl__delegate;
return dl;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.dt = (function() {
var dt__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8750_10118 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8751_10119 = null;var count__8752_10120 = 0;var i__8753_10121 = 0;while(true){
if((i__8753_10121 < count__8752_10120))
{var arg__7510__auto___10122 = cljs.core._nth.call(null,chunk__8751_10119,i__8753_10121);a__7509__auto__.push(arg__7510__auto___10122);
{
var G__10123 = seq__8750_10118;
var G__10124 = chunk__8751_10119;
var G__10125 = count__8752_10120;
var G__10126 = (i__8753_10121 + 1);
seq__8750_10118 = G__10123;
chunk__8751_10119 = G__10124;
count__8752_10120 = G__10125;
i__8753_10121 = G__10126;
continue;
}
} else
{var temp__4092__auto___10127 = cljs.core.seq.call(null,seq__8750_10118);if(temp__4092__auto___10127)
{var seq__8750_10128__$1 = temp__4092__auto___10127;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8750_10128__$1))
{var c__5632__auto___10129 = cljs.core.chunk_first.call(null,seq__8750_10128__$1);{
var G__10130 = cljs.core.chunk_rest.call(null,seq__8750_10128__$1);
var G__10131 = c__5632__auto___10129;
var G__10132 = cljs.core.count.call(null,c__5632__auto___10129);
var G__10133 = 0;
seq__8750_10118 = G__10130;
chunk__8751_10119 = G__10131;
count__8752_10120 = G__10132;
i__8753_10121 = G__10133;
continue;
}
} else
{var arg__7510__auto___10134 = cljs.core.first.call(null,seq__8750_10128__$1);a__7509__auto__.push(arg__7510__auto___10134);
{
var G__10135 = cljs.core.next.call(null,seq__8750_10128__$1);
var G__10136 = null;
var G__10137 = 0;
var G__10138 = 0;
seq__8750_10118 = G__10135;
chunk__8751_10119 = G__10136;
count__8752_10120 = G__10137;
i__8753_10121 = G__10138;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.dt.apply(null,a__7509__auto__);
};
var dt = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return dt__delegate.call(this,args__7508__auto__);};
dt.cljs$lang$maxFixedArity = 0;
dt.cljs$lang$applyTo = (function (arglist__10139){
var args__7508__auto__ = cljs.core.seq(arglist__10139);
return dt__delegate(args__7508__auto__);
});
dt.cljs$core$IFn$_invoke$arity$variadic = dt__delegate;
return dt;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.em = (function() {
var em__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8758_10140 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8759_10141 = null;var count__8760_10142 = 0;var i__8761_10143 = 0;while(true){
if((i__8761_10143 < count__8760_10142))
{var arg__7510__auto___10144 = cljs.core._nth.call(null,chunk__8759_10141,i__8761_10143);a__7509__auto__.push(arg__7510__auto___10144);
{
var G__10145 = seq__8758_10140;
var G__10146 = chunk__8759_10141;
var G__10147 = count__8760_10142;
var G__10148 = (i__8761_10143 + 1);
seq__8758_10140 = G__10145;
chunk__8759_10141 = G__10146;
count__8760_10142 = G__10147;
i__8761_10143 = G__10148;
continue;
}
} else
{var temp__4092__auto___10149 = cljs.core.seq.call(null,seq__8758_10140);if(temp__4092__auto___10149)
{var seq__8758_10150__$1 = temp__4092__auto___10149;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8758_10150__$1))
{var c__5632__auto___10151 = cljs.core.chunk_first.call(null,seq__8758_10150__$1);{
var G__10152 = cljs.core.chunk_rest.call(null,seq__8758_10150__$1);
var G__10153 = c__5632__auto___10151;
var G__10154 = cljs.core.count.call(null,c__5632__auto___10151);
var G__10155 = 0;
seq__8758_10140 = G__10152;
chunk__8759_10141 = G__10153;
count__8760_10142 = G__10154;
i__8761_10143 = G__10155;
continue;
}
} else
{var arg__7510__auto___10156 = cljs.core.first.call(null,seq__8758_10150__$1);a__7509__auto__.push(arg__7510__auto___10156);
{
var G__10157 = cljs.core.next.call(null,seq__8758_10150__$1);
var G__10158 = null;
var G__10159 = 0;
var G__10160 = 0;
seq__8758_10140 = G__10157;
chunk__8759_10141 = G__10158;
count__8760_10142 = G__10159;
i__8761_10143 = G__10160;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.em.apply(null,a__7509__auto__);
};
var em = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return em__delegate.call(this,args__7508__auto__);};
em.cljs$lang$maxFixedArity = 0;
em.cljs$lang$applyTo = (function (arglist__10161){
var args__7508__auto__ = cljs.core.seq(arglist__10161);
return em__delegate(args__7508__auto__);
});
em.cljs$core$IFn$_invoke$arity$variadic = em__delegate;
return em;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.embed = (function() {
var embed__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8774_10162 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8775_10163 = null;var count__8776_10164 = 0;var i__8777_10165 = 0;while(true){
if((i__8777_10165 < count__8776_10164))
{var arg__7510__auto___10166 = cljs.core._nth.call(null,chunk__8775_10163,i__8777_10165);a__7509__auto__.push(arg__7510__auto___10166);
{
var G__10167 = seq__8774_10162;
var G__10168 = chunk__8775_10163;
var G__10169 = count__8776_10164;
var G__10170 = (i__8777_10165 + 1);
seq__8774_10162 = G__10167;
chunk__8775_10163 = G__10168;
count__8776_10164 = G__10169;
i__8777_10165 = G__10170;
continue;
}
} else
{var temp__4092__auto___10171 = cljs.core.seq.call(null,seq__8774_10162);if(temp__4092__auto___10171)
{var seq__8774_10172__$1 = temp__4092__auto___10171;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8774_10172__$1))
{var c__5632__auto___10173 = cljs.core.chunk_first.call(null,seq__8774_10172__$1);{
var G__10174 = cljs.core.chunk_rest.call(null,seq__8774_10172__$1);
var G__10175 = c__5632__auto___10173;
var G__10176 = cljs.core.count.call(null,c__5632__auto___10173);
var G__10177 = 0;
seq__8774_10162 = G__10174;
chunk__8775_10163 = G__10175;
count__8776_10164 = G__10176;
i__8777_10165 = G__10177;
continue;
}
} else
{var arg__7510__auto___10178 = cljs.core.first.call(null,seq__8774_10172__$1);a__7509__auto__.push(arg__7510__auto___10178);
{
var G__10179 = cljs.core.next.call(null,seq__8774_10172__$1);
var G__10180 = null;
var G__10181 = 0;
var G__10182 = 0;
seq__8774_10162 = G__10179;
chunk__8775_10163 = G__10180;
count__8776_10164 = G__10181;
i__8777_10165 = G__10182;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.embed.apply(null,a__7509__auto__);
};
var embed = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return embed__delegate.call(this,args__7508__auto__);};
embed.cljs$lang$maxFixedArity = 0;
embed.cljs$lang$applyTo = (function (arglist__10183){
var args__7508__auto__ = cljs.core.seq(arglist__10183);
return embed__delegate(args__7508__auto__);
});
embed.cljs$core$IFn$_invoke$arity$variadic = embed__delegate;
return embed;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.fieldset = (function() {
var fieldset__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8782_10184 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8783_10185 = null;var count__8784_10186 = 0;var i__8785_10187 = 0;while(true){
if((i__8785_10187 < count__8784_10186))
{var arg__7510__auto___10188 = cljs.core._nth.call(null,chunk__8783_10185,i__8785_10187);a__7509__auto__.push(arg__7510__auto___10188);
{
var G__10189 = seq__8782_10184;
var G__10190 = chunk__8783_10185;
var G__10191 = count__8784_10186;
var G__10192 = (i__8785_10187 + 1);
seq__8782_10184 = G__10189;
chunk__8783_10185 = G__10190;
count__8784_10186 = G__10191;
i__8785_10187 = G__10192;
continue;
}
} else
{var temp__4092__auto___10193 = cljs.core.seq.call(null,seq__8782_10184);if(temp__4092__auto___10193)
{var seq__8782_10194__$1 = temp__4092__auto___10193;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8782_10194__$1))
{var c__5632__auto___10195 = cljs.core.chunk_first.call(null,seq__8782_10194__$1);{
var G__10196 = cljs.core.chunk_rest.call(null,seq__8782_10194__$1);
var G__10197 = c__5632__auto___10195;
var G__10198 = cljs.core.count.call(null,c__5632__auto___10195);
var G__10199 = 0;
seq__8782_10184 = G__10196;
chunk__8783_10185 = G__10197;
count__8784_10186 = G__10198;
i__8785_10187 = G__10199;
continue;
}
} else
{var arg__7510__auto___10200 = cljs.core.first.call(null,seq__8782_10194__$1);a__7509__auto__.push(arg__7510__auto___10200);
{
var G__10201 = cljs.core.next.call(null,seq__8782_10194__$1);
var G__10202 = null;
var G__10203 = 0;
var G__10204 = 0;
seq__8782_10184 = G__10201;
chunk__8783_10185 = G__10202;
count__8784_10186 = G__10203;
i__8785_10187 = G__10204;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.fieldset.apply(null,a__7509__auto__);
};
var fieldset = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return fieldset__delegate.call(this,args__7508__auto__);};
fieldset.cljs$lang$maxFixedArity = 0;
fieldset.cljs$lang$applyTo = (function (arglist__10205){
var args__7508__auto__ = cljs.core.seq(arglist__10205);
return fieldset__delegate(args__7508__auto__);
});
fieldset.cljs$core$IFn$_invoke$arity$variadic = fieldset__delegate;
return fieldset;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.figcaption = (function() {
var figcaption__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8790_10206 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8791_10207 = null;var count__8792_10208 = 0;var i__8793_10209 = 0;while(true){
if((i__8793_10209 < count__8792_10208))
{var arg__7510__auto___10210 = cljs.core._nth.call(null,chunk__8791_10207,i__8793_10209);a__7509__auto__.push(arg__7510__auto___10210);
{
var G__10211 = seq__8790_10206;
var G__10212 = chunk__8791_10207;
var G__10213 = count__8792_10208;
var G__10214 = (i__8793_10209 + 1);
seq__8790_10206 = G__10211;
chunk__8791_10207 = G__10212;
count__8792_10208 = G__10213;
i__8793_10209 = G__10214;
continue;
}
} else
{var temp__4092__auto___10215 = cljs.core.seq.call(null,seq__8790_10206);if(temp__4092__auto___10215)
{var seq__8790_10216__$1 = temp__4092__auto___10215;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8790_10216__$1))
{var c__5632__auto___10217 = cljs.core.chunk_first.call(null,seq__8790_10216__$1);{
var G__10218 = cljs.core.chunk_rest.call(null,seq__8790_10216__$1);
var G__10219 = c__5632__auto___10217;
var G__10220 = cljs.core.count.call(null,c__5632__auto___10217);
var G__10221 = 0;
seq__8790_10206 = G__10218;
chunk__8791_10207 = G__10219;
count__8792_10208 = G__10220;
i__8793_10209 = G__10221;
continue;
}
} else
{var arg__7510__auto___10222 = cljs.core.first.call(null,seq__8790_10216__$1);a__7509__auto__.push(arg__7510__auto___10222);
{
var G__10223 = cljs.core.next.call(null,seq__8790_10216__$1);
var G__10224 = null;
var G__10225 = 0;
var G__10226 = 0;
seq__8790_10206 = G__10223;
chunk__8791_10207 = G__10224;
count__8792_10208 = G__10225;
i__8793_10209 = G__10226;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.figcaption.apply(null,a__7509__auto__);
};
var figcaption = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return figcaption__delegate.call(this,args__7508__auto__);};
figcaption.cljs$lang$maxFixedArity = 0;
figcaption.cljs$lang$applyTo = (function (arglist__10227){
var args__7508__auto__ = cljs.core.seq(arglist__10227);
return figcaption__delegate(args__7508__auto__);
});
figcaption.cljs$core$IFn$_invoke$arity$variadic = figcaption__delegate;
return figcaption;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.figure = (function() {
var figure__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8798_10228 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8799_10229 = null;var count__8800_10230 = 0;var i__8801_10231 = 0;while(true){
if((i__8801_10231 < count__8800_10230))
{var arg__7510__auto___10232 = cljs.core._nth.call(null,chunk__8799_10229,i__8801_10231);a__7509__auto__.push(arg__7510__auto___10232);
{
var G__10233 = seq__8798_10228;
var G__10234 = chunk__8799_10229;
var G__10235 = count__8800_10230;
var G__10236 = (i__8801_10231 + 1);
seq__8798_10228 = G__10233;
chunk__8799_10229 = G__10234;
count__8800_10230 = G__10235;
i__8801_10231 = G__10236;
continue;
}
} else
{var temp__4092__auto___10237 = cljs.core.seq.call(null,seq__8798_10228);if(temp__4092__auto___10237)
{var seq__8798_10238__$1 = temp__4092__auto___10237;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8798_10238__$1))
{var c__5632__auto___10239 = cljs.core.chunk_first.call(null,seq__8798_10238__$1);{
var G__10240 = cljs.core.chunk_rest.call(null,seq__8798_10238__$1);
var G__10241 = c__5632__auto___10239;
var G__10242 = cljs.core.count.call(null,c__5632__auto___10239);
var G__10243 = 0;
seq__8798_10228 = G__10240;
chunk__8799_10229 = G__10241;
count__8800_10230 = G__10242;
i__8801_10231 = G__10243;
continue;
}
} else
{var arg__7510__auto___10244 = cljs.core.first.call(null,seq__8798_10238__$1);a__7509__auto__.push(arg__7510__auto___10244);
{
var G__10245 = cljs.core.next.call(null,seq__8798_10238__$1);
var G__10246 = null;
var G__10247 = 0;
var G__10248 = 0;
seq__8798_10228 = G__10245;
chunk__8799_10229 = G__10246;
count__8800_10230 = G__10247;
i__8801_10231 = G__10248;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.figure.apply(null,a__7509__auto__);
};
var figure = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return figure__delegate.call(this,args__7508__auto__);};
figure.cljs$lang$maxFixedArity = 0;
figure.cljs$lang$applyTo = (function (arglist__10249){
var args__7508__auto__ = cljs.core.seq(arglist__10249);
return figure__delegate(args__7508__auto__);
});
figure.cljs$core$IFn$_invoke$arity$variadic = figure__delegate;
return figure;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.footer = (function() {
var footer__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8806_10250 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8807_10251 = null;var count__8808_10252 = 0;var i__8809_10253 = 0;while(true){
if((i__8809_10253 < count__8808_10252))
{var arg__7510__auto___10254 = cljs.core._nth.call(null,chunk__8807_10251,i__8809_10253);a__7509__auto__.push(arg__7510__auto___10254);
{
var G__10255 = seq__8806_10250;
var G__10256 = chunk__8807_10251;
var G__10257 = count__8808_10252;
var G__10258 = (i__8809_10253 + 1);
seq__8806_10250 = G__10255;
chunk__8807_10251 = G__10256;
count__8808_10252 = G__10257;
i__8809_10253 = G__10258;
continue;
}
} else
{var temp__4092__auto___10259 = cljs.core.seq.call(null,seq__8806_10250);if(temp__4092__auto___10259)
{var seq__8806_10260__$1 = temp__4092__auto___10259;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8806_10260__$1))
{var c__5632__auto___10261 = cljs.core.chunk_first.call(null,seq__8806_10260__$1);{
var G__10262 = cljs.core.chunk_rest.call(null,seq__8806_10260__$1);
var G__10263 = c__5632__auto___10261;
var G__10264 = cljs.core.count.call(null,c__5632__auto___10261);
var G__10265 = 0;
seq__8806_10250 = G__10262;
chunk__8807_10251 = G__10263;
count__8808_10252 = G__10264;
i__8809_10253 = G__10265;
continue;
}
} else
{var arg__7510__auto___10266 = cljs.core.first.call(null,seq__8806_10260__$1);a__7509__auto__.push(arg__7510__auto___10266);
{
var G__10267 = cljs.core.next.call(null,seq__8806_10260__$1);
var G__10268 = null;
var G__10269 = 0;
var G__10270 = 0;
seq__8806_10250 = G__10267;
chunk__8807_10251 = G__10268;
count__8808_10252 = G__10269;
i__8809_10253 = G__10270;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.footer.apply(null,a__7509__auto__);
};
var footer = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return footer__delegate.call(this,args__7508__auto__);};
footer.cljs$lang$maxFixedArity = 0;
footer.cljs$lang$applyTo = (function (arglist__10271){
var args__7508__auto__ = cljs.core.seq(arglist__10271);
return footer__delegate(args__7508__auto__);
});
footer.cljs$core$IFn$_invoke$arity$variadic = footer__delegate;
return footer;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.form = (function() {
var form__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8814_10272 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8815_10273 = null;var count__8816_10274 = 0;var i__8817_10275 = 0;while(true){
if((i__8817_10275 < count__8816_10274))
{var arg__7510__auto___10276 = cljs.core._nth.call(null,chunk__8815_10273,i__8817_10275);a__7509__auto__.push(arg__7510__auto___10276);
{
var G__10277 = seq__8814_10272;
var G__10278 = chunk__8815_10273;
var G__10279 = count__8816_10274;
var G__10280 = (i__8817_10275 + 1);
seq__8814_10272 = G__10277;
chunk__8815_10273 = G__10278;
count__8816_10274 = G__10279;
i__8817_10275 = G__10280;
continue;
}
} else
{var temp__4092__auto___10281 = cljs.core.seq.call(null,seq__8814_10272);if(temp__4092__auto___10281)
{var seq__8814_10282__$1 = temp__4092__auto___10281;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8814_10282__$1))
{var c__5632__auto___10283 = cljs.core.chunk_first.call(null,seq__8814_10282__$1);{
var G__10284 = cljs.core.chunk_rest.call(null,seq__8814_10282__$1);
var G__10285 = c__5632__auto___10283;
var G__10286 = cljs.core.count.call(null,c__5632__auto___10283);
var G__10287 = 0;
seq__8814_10272 = G__10284;
chunk__8815_10273 = G__10285;
count__8816_10274 = G__10286;
i__8817_10275 = G__10287;
continue;
}
} else
{var arg__7510__auto___10288 = cljs.core.first.call(null,seq__8814_10282__$1);a__7509__auto__.push(arg__7510__auto___10288);
{
var G__10289 = cljs.core.next.call(null,seq__8814_10282__$1);
var G__10290 = null;
var G__10291 = 0;
var G__10292 = 0;
seq__8814_10272 = G__10289;
chunk__8815_10273 = G__10290;
count__8816_10274 = G__10291;
i__8817_10275 = G__10292;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.form.apply(null,a__7509__auto__);
};
var form = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return form__delegate.call(this,args__7508__auto__);};
form.cljs$lang$maxFixedArity = 0;
form.cljs$lang$applyTo = (function (arglist__10293){
var args__7508__auto__ = cljs.core.seq(arglist__10293);
return form__delegate(args__7508__auto__);
});
form.cljs$core$IFn$_invoke$arity$variadic = form__delegate;
return form;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.h1 = (function() {
var h1__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8822_10294 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8823_10295 = null;var count__8824_10296 = 0;var i__8825_10297 = 0;while(true){
if((i__8825_10297 < count__8824_10296))
{var arg__7510__auto___10298 = cljs.core._nth.call(null,chunk__8823_10295,i__8825_10297);a__7509__auto__.push(arg__7510__auto___10298);
{
var G__10299 = seq__8822_10294;
var G__10300 = chunk__8823_10295;
var G__10301 = count__8824_10296;
var G__10302 = (i__8825_10297 + 1);
seq__8822_10294 = G__10299;
chunk__8823_10295 = G__10300;
count__8824_10296 = G__10301;
i__8825_10297 = G__10302;
continue;
}
} else
{var temp__4092__auto___10303 = cljs.core.seq.call(null,seq__8822_10294);if(temp__4092__auto___10303)
{var seq__8822_10304__$1 = temp__4092__auto___10303;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8822_10304__$1))
{var c__5632__auto___10305 = cljs.core.chunk_first.call(null,seq__8822_10304__$1);{
var G__10306 = cljs.core.chunk_rest.call(null,seq__8822_10304__$1);
var G__10307 = c__5632__auto___10305;
var G__10308 = cljs.core.count.call(null,c__5632__auto___10305);
var G__10309 = 0;
seq__8822_10294 = G__10306;
chunk__8823_10295 = G__10307;
count__8824_10296 = G__10308;
i__8825_10297 = G__10309;
continue;
}
} else
{var arg__7510__auto___10310 = cljs.core.first.call(null,seq__8822_10304__$1);a__7509__auto__.push(arg__7510__auto___10310);
{
var G__10311 = cljs.core.next.call(null,seq__8822_10304__$1);
var G__10312 = null;
var G__10313 = 0;
var G__10314 = 0;
seq__8822_10294 = G__10311;
chunk__8823_10295 = G__10312;
count__8824_10296 = G__10313;
i__8825_10297 = G__10314;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.h1.apply(null,a__7509__auto__);
};
var h1 = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return h1__delegate.call(this,args__7508__auto__);};
h1.cljs$lang$maxFixedArity = 0;
h1.cljs$lang$applyTo = (function (arglist__10315){
var args__7508__auto__ = cljs.core.seq(arglist__10315);
return h1__delegate(args__7508__auto__);
});
h1.cljs$core$IFn$_invoke$arity$variadic = h1__delegate;
return h1;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.h2 = (function() {
var h2__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8830_10316 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8831_10317 = null;var count__8832_10318 = 0;var i__8833_10319 = 0;while(true){
if((i__8833_10319 < count__8832_10318))
{var arg__7510__auto___10320 = cljs.core._nth.call(null,chunk__8831_10317,i__8833_10319);a__7509__auto__.push(arg__7510__auto___10320);
{
var G__10321 = seq__8830_10316;
var G__10322 = chunk__8831_10317;
var G__10323 = count__8832_10318;
var G__10324 = (i__8833_10319 + 1);
seq__8830_10316 = G__10321;
chunk__8831_10317 = G__10322;
count__8832_10318 = G__10323;
i__8833_10319 = G__10324;
continue;
}
} else
{var temp__4092__auto___10325 = cljs.core.seq.call(null,seq__8830_10316);if(temp__4092__auto___10325)
{var seq__8830_10326__$1 = temp__4092__auto___10325;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8830_10326__$1))
{var c__5632__auto___10327 = cljs.core.chunk_first.call(null,seq__8830_10326__$1);{
var G__10328 = cljs.core.chunk_rest.call(null,seq__8830_10326__$1);
var G__10329 = c__5632__auto___10327;
var G__10330 = cljs.core.count.call(null,c__5632__auto___10327);
var G__10331 = 0;
seq__8830_10316 = G__10328;
chunk__8831_10317 = G__10329;
count__8832_10318 = G__10330;
i__8833_10319 = G__10331;
continue;
}
} else
{var arg__7510__auto___10332 = cljs.core.first.call(null,seq__8830_10326__$1);a__7509__auto__.push(arg__7510__auto___10332);
{
var G__10333 = cljs.core.next.call(null,seq__8830_10326__$1);
var G__10334 = null;
var G__10335 = 0;
var G__10336 = 0;
seq__8830_10316 = G__10333;
chunk__8831_10317 = G__10334;
count__8832_10318 = G__10335;
i__8833_10319 = G__10336;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.h2.apply(null,a__7509__auto__);
};
var h2 = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return h2__delegate.call(this,args__7508__auto__);};
h2.cljs$lang$maxFixedArity = 0;
h2.cljs$lang$applyTo = (function (arglist__10337){
var args__7508__auto__ = cljs.core.seq(arglist__10337);
return h2__delegate(args__7508__auto__);
});
h2.cljs$core$IFn$_invoke$arity$variadic = h2__delegate;
return h2;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.h3 = (function() {
var h3__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8838_10338 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8839_10339 = null;var count__8840_10340 = 0;var i__8841_10341 = 0;while(true){
if((i__8841_10341 < count__8840_10340))
{var arg__7510__auto___10342 = cljs.core._nth.call(null,chunk__8839_10339,i__8841_10341);a__7509__auto__.push(arg__7510__auto___10342);
{
var G__10343 = seq__8838_10338;
var G__10344 = chunk__8839_10339;
var G__10345 = count__8840_10340;
var G__10346 = (i__8841_10341 + 1);
seq__8838_10338 = G__10343;
chunk__8839_10339 = G__10344;
count__8840_10340 = G__10345;
i__8841_10341 = G__10346;
continue;
}
} else
{var temp__4092__auto___10347 = cljs.core.seq.call(null,seq__8838_10338);if(temp__4092__auto___10347)
{var seq__8838_10348__$1 = temp__4092__auto___10347;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8838_10348__$1))
{var c__5632__auto___10349 = cljs.core.chunk_first.call(null,seq__8838_10348__$1);{
var G__10350 = cljs.core.chunk_rest.call(null,seq__8838_10348__$1);
var G__10351 = c__5632__auto___10349;
var G__10352 = cljs.core.count.call(null,c__5632__auto___10349);
var G__10353 = 0;
seq__8838_10338 = G__10350;
chunk__8839_10339 = G__10351;
count__8840_10340 = G__10352;
i__8841_10341 = G__10353;
continue;
}
} else
{var arg__7510__auto___10354 = cljs.core.first.call(null,seq__8838_10348__$1);a__7509__auto__.push(arg__7510__auto___10354);
{
var G__10355 = cljs.core.next.call(null,seq__8838_10348__$1);
var G__10356 = null;
var G__10357 = 0;
var G__10358 = 0;
seq__8838_10338 = G__10355;
chunk__8839_10339 = G__10356;
count__8840_10340 = G__10357;
i__8841_10341 = G__10358;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.h3.apply(null,a__7509__auto__);
};
var h3 = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return h3__delegate.call(this,args__7508__auto__);};
h3.cljs$lang$maxFixedArity = 0;
h3.cljs$lang$applyTo = (function (arglist__10359){
var args__7508__auto__ = cljs.core.seq(arglist__10359);
return h3__delegate(args__7508__auto__);
});
h3.cljs$core$IFn$_invoke$arity$variadic = h3__delegate;
return h3;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.h4 = (function() {
var h4__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8846_10360 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8847_10361 = null;var count__8848_10362 = 0;var i__8849_10363 = 0;while(true){
if((i__8849_10363 < count__8848_10362))
{var arg__7510__auto___10364 = cljs.core._nth.call(null,chunk__8847_10361,i__8849_10363);a__7509__auto__.push(arg__7510__auto___10364);
{
var G__10365 = seq__8846_10360;
var G__10366 = chunk__8847_10361;
var G__10367 = count__8848_10362;
var G__10368 = (i__8849_10363 + 1);
seq__8846_10360 = G__10365;
chunk__8847_10361 = G__10366;
count__8848_10362 = G__10367;
i__8849_10363 = G__10368;
continue;
}
} else
{var temp__4092__auto___10369 = cljs.core.seq.call(null,seq__8846_10360);if(temp__4092__auto___10369)
{var seq__8846_10370__$1 = temp__4092__auto___10369;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8846_10370__$1))
{var c__5632__auto___10371 = cljs.core.chunk_first.call(null,seq__8846_10370__$1);{
var G__10372 = cljs.core.chunk_rest.call(null,seq__8846_10370__$1);
var G__10373 = c__5632__auto___10371;
var G__10374 = cljs.core.count.call(null,c__5632__auto___10371);
var G__10375 = 0;
seq__8846_10360 = G__10372;
chunk__8847_10361 = G__10373;
count__8848_10362 = G__10374;
i__8849_10363 = G__10375;
continue;
}
} else
{var arg__7510__auto___10376 = cljs.core.first.call(null,seq__8846_10370__$1);a__7509__auto__.push(arg__7510__auto___10376);
{
var G__10377 = cljs.core.next.call(null,seq__8846_10370__$1);
var G__10378 = null;
var G__10379 = 0;
var G__10380 = 0;
seq__8846_10360 = G__10377;
chunk__8847_10361 = G__10378;
count__8848_10362 = G__10379;
i__8849_10363 = G__10380;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.h4.apply(null,a__7509__auto__);
};
var h4 = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return h4__delegate.call(this,args__7508__auto__);};
h4.cljs$lang$maxFixedArity = 0;
h4.cljs$lang$applyTo = (function (arglist__10381){
var args__7508__auto__ = cljs.core.seq(arglist__10381);
return h4__delegate(args__7508__auto__);
});
h4.cljs$core$IFn$_invoke$arity$variadic = h4__delegate;
return h4;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.h5 = (function() {
var h5__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8854_10382 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8855_10383 = null;var count__8856_10384 = 0;var i__8857_10385 = 0;while(true){
if((i__8857_10385 < count__8856_10384))
{var arg__7510__auto___10386 = cljs.core._nth.call(null,chunk__8855_10383,i__8857_10385);a__7509__auto__.push(arg__7510__auto___10386);
{
var G__10387 = seq__8854_10382;
var G__10388 = chunk__8855_10383;
var G__10389 = count__8856_10384;
var G__10390 = (i__8857_10385 + 1);
seq__8854_10382 = G__10387;
chunk__8855_10383 = G__10388;
count__8856_10384 = G__10389;
i__8857_10385 = G__10390;
continue;
}
} else
{var temp__4092__auto___10391 = cljs.core.seq.call(null,seq__8854_10382);if(temp__4092__auto___10391)
{var seq__8854_10392__$1 = temp__4092__auto___10391;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8854_10392__$1))
{var c__5632__auto___10393 = cljs.core.chunk_first.call(null,seq__8854_10392__$1);{
var G__10394 = cljs.core.chunk_rest.call(null,seq__8854_10392__$1);
var G__10395 = c__5632__auto___10393;
var G__10396 = cljs.core.count.call(null,c__5632__auto___10393);
var G__10397 = 0;
seq__8854_10382 = G__10394;
chunk__8855_10383 = G__10395;
count__8856_10384 = G__10396;
i__8857_10385 = G__10397;
continue;
}
} else
{var arg__7510__auto___10398 = cljs.core.first.call(null,seq__8854_10392__$1);a__7509__auto__.push(arg__7510__auto___10398);
{
var G__10399 = cljs.core.next.call(null,seq__8854_10392__$1);
var G__10400 = null;
var G__10401 = 0;
var G__10402 = 0;
seq__8854_10382 = G__10399;
chunk__8855_10383 = G__10400;
count__8856_10384 = G__10401;
i__8857_10385 = G__10402;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.h5.apply(null,a__7509__auto__);
};
var h5 = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return h5__delegate.call(this,args__7508__auto__);};
h5.cljs$lang$maxFixedArity = 0;
h5.cljs$lang$applyTo = (function (arglist__10403){
var args__7508__auto__ = cljs.core.seq(arglist__10403);
return h5__delegate(args__7508__auto__);
});
h5.cljs$core$IFn$_invoke$arity$variadic = h5__delegate;
return h5;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.h6 = (function() {
var h6__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8862_10404 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8863_10405 = null;var count__8864_10406 = 0;var i__8865_10407 = 0;while(true){
if((i__8865_10407 < count__8864_10406))
{var arg__7510__auto___10408 = cljs.core._nth.call(null,chunk__8863_10405,i__8865_10407);a__7509__auto__.push(arg__7510__auto___10408);
{
var G__10409 = seq__8862_10404;
var G__10410 = chunk__8863_10405;
var G__10411 = count__8864_10406;
var G__10412 = (i__8865_10407 + 1);
seq__8862_10404 = G__10409;
chunk__8863_10405 = G__10410;
count__8864_10406 = G__10411;
i__8865_10407 = G__10412;
continue;
}
} else
{var temp__4092__auto___10413 = cljs.core.seq.call(null,seq__8862_10404);if(temp__4092__auto___10413)
{var seq__8862_10414__$1 = temp__4092__auto___10413;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8862_10414__$1))
{var c__5632__auto___10415 = cljs.core.chunk_first.call(null,seq__8862_10414__$1);{
var G__10416 = cljs.core.chunk_rest.call(null,seq__8862_10414__$1);
var G__10417 = c__5632__auto___10415;
var G__10418 = cljs.core.count.call(null,c__5632__auto___10415);
var G__10419 = 0;
seq__8862_10404 = G__10416;
chunk__8863_10405 = G__10417;
count__8864_10406 = G__10418;
i__8865_10407 = G__10419;
continue;
}
} else
{var arg__7510__auto___10420 = cljs.core.first.call(null,seq__8862_10414__$1);a__7509__auto__.push(arg__7510__auto___10420);
{
var G__10421 = cljs.core.next.call(null,seq__8862_10414__$1);
var G__10422 = null;
var G__10423 = 0;
var G__10424 = 0;
seq__8862_10404 = G__10421;
chunk__8863_10405 = G__10422;
count__8864_10406 = G__10423;
i__8865_10407 = G__10424;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.h6.apply(null,a__7509__auto__);
};
var h6 = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return h6__delegate.call(this,args__7508__auto__);};
h6.cljs$lang$maxFixedArity = 0;
h6.cljs$lang$applyTo = (function (arglist__10425){
var args__7508__auto__ = cljs.core.seq(arglist__10425);
return h6__delegate(args__7508__auto__);
});
h6.cljs$core$IFn$_invoke$arity$variadic = h6__delegate;
return h6;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.head = (function() {
var head__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8870_10426 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8871_10427 = null;var count__8872_10428 = 0;var i__8873_10429 = 0;while(true){
if((i__8873_10429 < count__8872_10428))
{var arg__7510__auto___10430 = cljs.core._nth.call(null,chunk__8871_10427,i__8873_10429);a__7509__auto__.push(arg__7510__auto___10430);
{
var G__10431 = seq__8870_10426;
var G__10432 = chunk__8871_10427;
var G__10433 = count__8872_10428;
var G__10434 = (i__8873_10429 + 1);
seq__8870_10426 = G__10431;
chunk__8871_10427 = G__10432;
count__8872_10428 = G__10433;
i__8873_10429 = G__10434;
continue;
}
} else
{var temp__4092__auto___10435 = cljs.core.seq.call(null,seq__8870_10426);if(temp__4092__auto___10435)
{var seq__8870_10436__$1 = temp__4092__auto___10435;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8870_10436__$1))
{var c__5632__auto___10437 = cljs.core.chunk_first.call(null,seq__8870_10436__$1);{
var G__10438 = cljs.core.chunk_rest.call(null,seq__8870_10436__$1);
var G__10439 = c__5632__auto___10437;
var G__10440 = cljs.core.count.call(null,c__5632__auto___10437);
var G__10441 = 0;
seq__8870_10426 = G__10438;
chunk__8871_10427 = G__10439;
count__8872_10428 = G__10440;
i__8873_10429 = G__10441;
continue;
}
} else
{var arg__7510__auto___10442 = cljs.core.first.call(null,seq__8870_10436__$1);a__7509__auto__.push(arg__7510__auto___10442);
{
var G__10443 = cljs.core.next.call(null,seq__8870_10436__$1);
var G__10444 = null;
var G__10445 = 0;
var G__10446 = 0;
seq__8870_10426 = G__10443;
chunk__8871_10427 = G__10444;
count__8872_10428 = G__10445;
i__8873_10429 = G__10446;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.head.apply(null,a__7509__auto__);
};
var head = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return head__delegate.call(this,args__7508__auto__);};
head.cljs$lang$maxFixedArity = 0;
head.cljs$lang$applyTo = (function (arglist__10447){
var args__7508__auto__ = cljs.core.seq(arglist__10447);
return head__delegate(args__7508__auto__);
});
head.cljs$core$IFn$_invoke$arity$variadic = head__delegate;
return head;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.header = (function() {
var header__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8878_10448 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8879_10449 = null;var count__8880_10450 = 0;var i__8881_10451 = 0;while(true){
if((i__8881_10451 < count__8880_10450))
{var arg__7510__auto___10452 = cljs.core._nth.call(null,chunk__8879_10449,i__8881_10451);a__7509__auto__.push(arg__7510__auto___10452);
{
var G__10453 = seq__8878_10448;
var G__10454 = chunk__8879_10449;
var G__10455 = count__8880_10450;
var G__10456 = (i__8881_10451 + 1);
seq__8878_10448 = G__10453;
chunk__8879_10449 = G__10454;
count__8880_10450 = G__10455;
i__8881_10451 = G__10456;
continue;
}
} else
{var temp__4092__auto___10457 = cljs.core.seq.call(null,seq__8878_10448);if(temp__4092__auto___10457)
{var seq__8878_10458__$1 = temp__4092__auto___10457;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8878_10458__$1))
{var c__5632__auto___10459 = cljs.core.chunk_first.call(null,seq__8878_10458__$1);{
var G__10460 = cljs.core.chunk_rest.call(null,seq__8878_10458__$1);
var G__10461 = c__5632__auto___10459;
var G__10462 = cljs.core.count.call(null,c__5632__auto___10459);
var G__10463 = 0;
seq__8878_10448 = G__10460;
chunk__8879_10449 = G__10461;
count__8880_10450 = G__10462;
i__8881_10451 = G__10463;
continue;
}
} else
{var arg__7510__auto___10464 = cljs.core.first.call(null,seq__8878_10458__$1);a__7509__auto__.push(arg__7510__auto___10464);
{
var G__10465 = cljs.core.next.call(null,seq__8878_10458__$1);
var G__10466 = null;
var G__10467 = 0;
var G__10468 = 0;
seq__8878_10448 = G__10465;
chunk__8879_10449 = G__10466;
count__8880_10450 = G__10467;
i__8881_10451 = G__10468;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.header.apply(null,a__7509__auto__);
};
var header = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return header__delegate.call(this,args__7508__auto__);};
header.cljs$lang$maxFixedArity = 0;
header.cljs$lang$applyTo = (function (arglist__10469){
var args__7508__auto__ = cljs.core.seq(arglist__10469);
return header__delegate(args__7508__auto__);
});
header.cljs$core$IFn$_invoke$arity$variadic = header__delegate;
return header;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.hr = (function() {
var hr__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8886_10470 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8887_10471 = null;var count__8888_10472 = 0;var i__8889_10473 = 0;while(true){
if((i__8889_10473 < count__8888_10472))
{var arg__7510__auto___10474 = cljs.core._nth.call(null,chunk__8887_10471,i__8889_10473);a__7509__auto__.push(arg__7510__auto___10474);
{
var G__10475 = seq__8886_10470;
var G__10476 = chunk__8887_10471;
var G__10477 = count__8888_10472;
var G__10478 = (i__8889_10473 + 1);
seq__8886_10470 = G__10475;
chunk__8887_10471 = G__10476;
count__8888_10472 = G__10477;
i__8889_10473 = G__10478;
continue;
}
} else
{var temp__4092__auto___10479 = cljs.core.seq.call(null,seq__8886_10470);if(temp__4092__auto___10479)
{var seq__8886_10480__$1 = temp__4092__auto___10479;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8886_10480__$1))
{var c__5632__auto___10481 = cljs.core.chunk_first.call(null,seq__8886_10480__$1);{
var G__10482 = cljs.core.chunk_rest.call(null,seq__8886_10480__$1);
var G__10483 = c__5632__auto___10481;
var G__10484 = cljs.core.count.call(null,c__5632__auto___10481);
var G__10485 = 0;
seq__8886_10470 = G__10482;
chunk__8887_10471 = G__10483;
count__8888_10472 = G__10484;
i__8889_10473 = G__10485;
continue;
}
} else
{var arg__7510__auto___10486 = cljs.core.first.call(null,seq__8886_10480__$1);a__7509__auto__.push(arg__7510__auto___10486);
{
var G__10487 = cljs.core.next.call(null,seq__8886_10480__$1);
var G__10488 = null;
var G__10489 = 0;
var G__10490 = 0;
seq__8886_10470 = G__10487;
chunk__8887_10471 = G__10488;
count__8888_10472 = G__10489;
i__8889_10473 = G__10490;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.hr.apply(null,a__7509__auto__);
};
var hr = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return hr__delegate.call(this,args__7508__auto__);};
hr.cljs$lang$maxFixedArity = 0;
hr.cljs$lang$applyTo = (function (arglist__10491){
var args__7508__auto__ = cljs.core.seq(arglist__10491);
return hr__delegate(args__7508__auto__);
});
hr.cljs$core$IFn$_invoke$arity$variadic = hr__delegate;
return hr;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.html = (function() {
var html__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8894_10492 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8895_10493 = null;var count__8896_10494 = 0;var i__8897_10495 = 0;while(true){
if((i__8897_10495 < count__8896_10494))
{var arg__7510__auto___10496 = cljs.core._nth.call(null,chunk__8895_10493,i__8897_10495);a__7509__auto__.push(arg__7510__auto___10496);
{
var G__10497 = seq__8894_10492;
var G__10498 = chunk__8895_10493;
var G__10499 = count__8896_10494;
var G__10500 = (i__8897_10495 + 1);
seq__8894_10492 = G__10497;
chunk__8895_10493 = G__10498;
count__8896_10494 = G__10499;
i__8897_10495 = G__10500;
continue;
}
} else
{var temp__4092__auto___10501 = cljs.core.seq.call(null,seq__8894_10492);if(temp__4092__auto___10501)
{var seq__8894_10502__$1 = temp__4092__auto___10501;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8894_10502__$1))
{var c__5632__auto___10503 = cljs.core.chunk_first.call(null,seq__8894_10502__$1);{
var G__10504 = cljs.core.chunk_rest.call(null,seq__8894_10502__$1);
var G__10505 = c__5632__auto___10503;
var G__10506 = cljs.core.count.call(null,c__5632__auto___10503);
var G__10507 = 0;
seq__8894_10492 = G__10504;
chunk__8895_10493 = G__10505;
count__8896_10494 = G__10506;
i__8897_10495 = G__10507;
continue;
}
} else
{var arg__7510__auto___10508 = cljs.core.first.call(null,seq__8894_10502__$1);a__7509__auto__.push(arg__7510__auto___10508);
{
var G__10509 = cljs.core.next.call(null,seq__8894_10502__$1);
var G__10510 = null;
var G__10511 = 0;
var G__10512 = 0;
seq__8894_10492 = G__10509;
chunk__8895_10493 = G__10510;
count__8896_10494 = G__10511;
i__8897_10495 = G__10512;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.html.apply(null,a__7509__auto__);
};
var html = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return html__delegate.call(this,args__7508__auto__);};
html.cljs$lang$maxFixedArity = 0;
html.cljs$lang$applyTo = (function (arglist__10513){
var args__7508__auto__ = cljs.core.seq(arglist__10513);
return html__delegate(args__7508__auto__);
});
html.cljs$core$IFn$_invoke$arity$variadic = html__delegate;
return html;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.i = (function() {
var i__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8902_10514 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8903_10515 = null;var count__8904_10516 = 0;var i__8905_10517 = 0;while(true){
if((i__8905_10517 < count__8904_10516))
{var arg__7510__auto___10518 = cljs.core._nth.call(null,chunk__8903_10515,i__8905_10517);a__7509__auto__.push(arg__7510__auto___10518);
{
var G__10519 = seq__8902_10514;
var G__10520 = chunk__8903_10515;
var G__10521 = count__8904_10516;
var G__10522 = (i__8905_10517 + 1);
seq__8902_10514 = G__10519;
chunk__8903_10515 = G__10520;
count__8904_10516 = G__10521;
i__8905_10517 = G__10522;
continue;
}
} else
{var temp__4092__auto___10523 = cljs.core.seq.call(null,seq__8902_10514);if(temp__4092__auto___10523)
{var seq__8902_10524__$1 = temp__4092__auto___10523;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8902_10524__$1))
{var c__5632__auto___10525 = cljs.core.chunk_first.call(null,seq__8902_10524__$1);{
var G__10526 = cljs.core.chunk_rest.call(null,seq__8902_10524__$1);
var G__10527 = c__5632__auto___10525;
var G__10528 = cljs.core.count.call(null,c__5632__auto___10525);
var G__10529 = 0;
seq__8902_10514 = G__10526;
chunk__8903_10515 = G__10527;
count__8904_10516 = G__10528;
i__8905_10517 = G__10529;
continue;
}
} else
{var arg__7510__auto___10530 = cljs.core.first.call(null,seq__8902_10524__$1);a__7509__auto__.push(arg__7510__auto___10530);
{
var G__10531 = cljs.core.next.call(null,seq__8902_10524__$1);
var G__10532 = null;
var G__10533 = 0;
var G__10534 = 0;
seq__8902_10514 = G__10531;
chunk__8903_10515 = G__10532;
count__8904_10516 = G__10533;
i__8905_10517 = G__10534;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.i.apply(null,a__7509__auto__);
};
var i = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return i__delegate.call(this,args__7508__auto__);};
i.cljs$lang$maxFixedArity = 0;
i.cljs$lang$applyTo = (function (arglist__10535){
var args__7508__auto__ = cljs.core.seq(arglist__10535);
return i__delegate(args__7508__auto__);
});
i.cljs$core$IFn$_invoke$arity$variadic = i__delegate;
return i;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.iframe = (function() {
var iframe__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8910_10536 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8911_10537 = null;var count__8912_10538 = 0;var i__8913_10539 = 0;while(true){
if((i__8913_10539 < count__8912_10538))
{var arg__7510__auto___10540 = cljs.core._nth.call(null,chunk__8911_10537,i__8913_10539);a__7509__auto__.push(arg__7510__auto___10540);
{
var G__10541 = seq__8910_10536;
var G__10542 = chunk__8911_10537;
var G__10543 = count__8912_10538;
var G__10544 = (i__8913_10539 + 1);
seq__8910_10536 = G__10541;
chunk__8911_10537 = G__10542;
count__8912_10538 = G__10543;
i__8913_10539 = G__10544;
continue;
}
} else
{var temp__4092__auto___10545 = cljs.core.seq.call(null,seq__8910_10536);if(temp__4092__auto___10545)
{var seq__8910_10546__$1 = temp__4092__auto___10545;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8910_10546__$1))
{var c__5632__auto___10547 = cljs.core.chunk_first.call(null,seq__8910_10546__$1);{
var G__10548 = cljs.core.chunk_rest.call(null,seq__8910_10546__$1);
var G__10549 = c__5632__auto___10547;
var G__10550 = cljs.core.count.call(null,c__5632__auto___10547);
var G__10551 = 0;
seq__8910_10536 = G__10548;
chunk__8911_10537 = G__10549;
count__8912_10538 = G__10550;
i__8913_10539 = G__10551;
continue;
}
} else
{var arg__7510__auto___10552 = cljs.core.first.call(null,seq__8910_10546__$1);a__7509__auto__.push(arg__7510__auto___10552);
{
var G__10553 = cljs.core.next.call(null,seq__8910_10546__$1);
var G__10554 = null;
var G__10555 = 0;
var G__10556 = 0;
seq__8910_10536 = G__10553;
chunk__8911_10537 = G__10554;
count__8912_10538 = G__10555;
i__8913_10539 = G__10556;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.iframe.apply(null,a__7509__auto__);
};
var iframe = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return iframe__delegate.call(this,args__7508__auto__);};
iframe.cljs$lang$maxFixedArity = 0;
iframe.cljs$lang$applyTo = (function (arglist__10557){
var args__7508__auto__ = cljs.core.seq(arglist__10557);
return iframe__delegate(args__7508__auto__);
});
iframe.cljs$core$IFn$_invoke$arity$variadic = iframe__delegate;
return iframe;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.img = (function() {
var img__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8918_10558 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8919_10559 = null;var count__8920_10560 = 0;var i__8921_10561 = 0;while(true){
if((i__8921_10561 < count__8920_10560))
{var arg__7510__auto___10562 = cljs.core._nth.call(null,chunk__8919_10559,i__8921_10561);a__7509__auto__.push(arg__7510__auto___10562);
{
var G__10563 = seq__8918_10558;
var G__10564 = chunk__8919_10559;
var G__10565 = count__8920_10560;
var G__10566 = (i__8921_10561 + 1);
seq__8918_10558 = G__10563;
chunk__8919_10559 = G__10564;
count__8920_10560 = G__10565;
i__8921_10561 = G__10566;
continue;
}
} else
{var temp__4092__auto___10567 = cljs.core.seq.call(null,seq__8918_10558);if(temp__4092__auto___10567)
{var seq__8918_10568__$1 = temp__4092__auto___10567;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8918_10568__$1))
{var c__5632__auto___10569 = cljs.core.chunk_first.call(null,seq__8918_10568__$1);{
var G__10570 = cljs.core.chunk_rest.call(null,seq__8918_10568__$1);
var G__10571 = c__5632__auto___10569;
var G__10572 = cljs.core.count.call(null,c__5632__auto___10569);
var G__10573 = 0;
seq__8918_10558 = G__10570;
chunk__8919_10559 = G__10571;
count__8920_10560 = G__10572;
i__8921_10561 = G__10573;
continue;
}
} else
{var arg__7510__auto___10574 = cljs.core.first.call(null,seq__8918_10568__$1);a__7509__auto__.push(arg__7510__auto___10574);
{
var G__10575 = cljs.core.next.call(null,seq__8918_10568__$1);
var G__10576 = null;
var G__10577 = 0;
var G__10578 = 0;
seq__8918_10558 = G__10575;
chunk__8919_10559 = G__10576;
count__8920_10560 = G__10577;
i__8921_10561 = G__10578;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.img.apply(null,a__7509__auto__);
};
var img = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return img__delegate.call(this,args__7508__auto__);};
img.cljs$lang$maxFixedArity = 0;
img.cljs$lang$applyTo = (function (arglist__10579){
var args__7508__auto__ = cljs.core.seq(arglist__10579);
return img__delegate(args__7508__auto__);
});
img.cljs$core$IFn$_invoke$arity$variadic = img__delegate;
return img;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.input = (function() {
var input__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8926_10580 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8927_10581 = null;var count__8928_10582 = 0;var i__8929_10583 = 0;while(true){
if((i__8929_10583 < count__8928_10582))
{var arg__7510__auto___10584 = cljs.core._nth.call(null,chunk__8927_10581,i__8929_10583);a__7509__auto__.push(arg__7510__auto___10584);
{
var G__10585 = seq__8926_10580;
var G__10586 = chunk__8927_10581;
var G__10587 = count__8928_10582;
var G__10588 = (i__8929_10583 + 1);
seq__8926_10580 = G__10585;
chunk__8927_10581 = G__10586;
count__8928_10582 = G__10587;
i__8929_10583 = G__10588;
continue;
}
} else
{var temp__4092__auto___10589 = cljs.core.seq.call(null,seq__8926_10580);if(temp__4092__auto___10589)
{var seq__8926_10590__$1 = temp__4092__auto___10589;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8926_10590__$1))
{var c__5632__auto___10591 = cljs.core.chunk_first.call(null,seq__8926_10590__$1);{
var G__10592 = cljs.core.chunk_rest.call(null,seq__8926_10590__$1);
var G__10593 = c__5632__auto___10591;
var G__10594 = cljs.core.count.call(null,c__5632__auto___10591);
var G__10595 = 0;
seq__8926_10580 = G__10592;
chunk__8927_10581 = G__10593;
count__8928_10582 = G__10594;
i__8929_10583 = G__10595;
continue;
}
} else
{var arg__7510__auto___10596 = cljs.core.first.call(null,seq__8926_10590__$1);a__7509__auto__.push(arg__7510__auto___10596);
{
var G__10597 = cljs.core.next.call(null,seq__8926_10590__$1);
var G__10598 = null;
var G__10599 = 0;
var G__10600 = 0;
seq__8926_10580 = G__10597;
chunk__8927_10581 = G__10598;
count__8928_10582 = G__10599;
i__8929_10583 = G__10600;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.input.apply(null,a__7509__auto__);
};
var input = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return input__delegate.call(this,args__7508__auto__);};
input.cljs$lang$maxFixedArity = 0;
input.cljs$lang$applyTo = (function (arglist__10601){
var args__7508__auto__ = cljs.core.seq(arglist__10601);
return input__delegate(args__7508__auto__);
});
input.cljs$core$IFn$_invoke$arity$variadic = input__delegate;
return input;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.ins = (function() {
var ins__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8934_10602 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8935_10603 = null;var count__8936_10604 = 0;var i__8937_10605 = 0;while(true){
if((i__8937_10605 < count__8936_10604))
{var arg__7510__auto___10606 = cljs.core._nth.call(null,chunk__8935_10603,i__8937_10605);a__7509__auto__.push(arg__7510__auto___10606);
{
var G__10607 = seq__8934_10602;
var G__10608 = chunk__8935_10603;
var G__10609 = count__8936_10604;
var G__10610 = (i__8937_10605 + 1);
seq__8934_10602 = G__10607;
chunk__8935_10603 = G__10608;
count__8936_10604 = G__10609;
i__8937_10605 = G__10610;
continue;
}
} else
{var temp__4092__auto___10611 = cljs.core.seq.call(null,seq__8934_10602);if(temp__4092__auto___10611)
{var seq__8934_10612__$1 = temp__4092__auto___10611;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8934_10612__$1))
{var c__5632__auto___10613 = cljs.core.chunk_first.call(null,seq__8934_10612__$1);{
var G__10614 = cljs.core.chunk_rest.call(null,seq__8934_10612__$1);
var G__10615 = c__5632__auto___10613;
var G__10616 = cljs.core.count.call(null,c__5632__auto___10613);
var G__10617 = 0;
seq__8934_10602 = G__10614;
chunk__8935_10603 = G__10615;
count__8936_10604 = G__10616;
i__8937_10605 = G__10617;
continue;
}
} else
{var arg__7510__auto___10618 = cljs.core.first.call(null,seq__8934_10612__$1);a__7509__auto__.push(arg__7510__auto___10618);
{
var G__10619 = cljs.core.next.call(null,seq__8934_10612__$1);
var G__10620 = null;
var G__10621 = 0;
var G__10622 = 0;
seq__8934_10602 = G__10619;
chunk__8935_10603 = G__10620;
count__8936_10604 = G__10621;
i__8937_10605 = G__10622;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.ins.apply(null,a__7509__auto__);
};
var ins = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return ins__delegate.call(this,args__7508__auto__);};
ins.cljs$lang$maxFixedArity = 0;
ins.cljs$lang$applyTo = (function (arglist__10623){
var args__7508__auto__ = cljs.core.seq(arglist__10623);
return ins__delegate(args__7508__auto__);
});
ins.cljs$core$IFn$_invoke$arity$variadic = ins__delegate;
return ins;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.kbd = (function() {
var kbd__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8942_10624 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8943_10625 = null;var count__8944_10626 = 0;var i__8945_10627 = 0;while(true){
if((i__8945_10627 < count__8944_10626))
{var arg__7510__auto___10628 = cljs.core._nth.call(null,chunk__8943_10625,i__8945_10627);a__7509__auto__.push(arg__7510__auto___10628);
{
var G__10629 = seq__8942_10624;
var G__10630 = chunk__8943_10625;
var G__10631 = count__8944_10626;
var G__10632 = (i__8945_10627 + 1);
seq__8942_10624 = G__10629;
chunk__8943_10625 = G__10630;
count__8944_10626 = G__10631;
i__8945_10627 = G__10632;
continue;
}
} else
{var temp__4092__auto___10633 = cljs.core.seq.call(null,seq__8942_10624);if(temp__4092__auto___10633)
{var seq__8942_10634__$1 = temp__4092__auto___10633;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8942_10634__$1))
{var c__5632__auto___10635 = cljs.core.chunk_first.call(null,seq__8942_10634__$1);{
var G__10636 = cljs.core.chunk_rest.call(null,seq__8942_10634__$1);
var G__10637 = c__5632__auto___10635;
var G__10638 = cljs.core.count.call(null,c__5632__auto___10635);
var G__10639 = 0;
seq__8942_10624 = G__10636;
chunk__8943_10625 = G__10637;
count__8944_10626 = G__10638;
i__8945_10627 = G__10639;
continue;
}
} else
{var arg__7510__auto___10640 = cljs.core.first.call(null,seq__8942_10634__$1);a__7509__auto__.push(arg__7510__auto___10640);
{
var G__10641 = cljs.core.next.call(null,seq__8942_10634__$1);
var G__10642 = null;
var G__10643 = 0;
var G__10644 = 0;
seq__8942_10624 = G__10641;
chunk__8943_10625 = G__10642;
count__8944_10626 = G__10643;
i__8945_10627 = G__10644;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.kbd.apply(null,a__7509__auto__);
};
var kbd = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return kbd__delegate.call(this,args__7508__auto__);};
kbd.cljs$lang$maxFixedArity = 0;
kbd.cljs$lang$applyTo = (function (arglist__10645){
var args__7508__auto__ = cljs.core.seq(arglist__10645);
return kbd__delegate(args__7508__auto__);
});
kbd.cljs$core$IFn$_invoke$arity$variadic = kbd__delegate;
return kbd;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.keygen = (function() {
var keygen__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8950_10646 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8951_10647 = null;var count__8952_10648 = 0;var i__8953_10649 = 0;while(true){
if((i__8953_10649 < count__8952_10648))
{var arg__7510__auto___10650 = cljs.core._nth.call(null,chunk__8951_10647,i__8953_10649);a__7509__auto__.push(arg__7510__auto___10650);
{
var G__10651 = seq__8950_10646;
var G__10652 = chunk__8951_10647;
var G__10653 = count__8952_10648;
var G__10654 = (i__8953_10649 + 1);
seq__8950_10646 = G__10651;
chunk__8951_10647 = G__10652;
count__8952_10648 = G__10653;
i__8953_10649 = G__10654;
continue;
}
} else
{var temp__4092__auto___10655 = cljs.core.seq.call(null,seq__8950_10646);if(temp__4092__auto___10655)
{var seq__8950_10656__$1 = temp__4092__auto___10655;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8950_10656__$1))
{var c__5632__auto___10657 = cljs.core.chunk_first.call(null,seq__8950_10656__$1);{
var G__10658 = cljs.core.chunk_rest.call(null,seq__8950_10656__$1);
var G__10659 = c__5632__auto___10657;
var G__10660 = cljs.core.count.call(null,c__5632__auto___10657);
var G__10661 = 0;
seq__8950_10646 = G__10658;
chunk__8951_10647 = G__10659;
count__8952_10648 = G__10660;
i__8953_10649 = G__10661;
continue;
}
} else
{var arg__7510__auto___10662 = cljs.core.first.call(null,seq__8950_10656__$1);a__7509__auto__.push(arg__7510__auto___10662);
{
var G__10663 = cljs.core.next.call(null,seq__8950_10656__$1);
var G__10664 = null;
var G__10665 = 0;
var G__10666 = 0;
seq__8950_10646 = G__10663;
chunk__8951_10647 = G__10664;
count__8952_10648 = G__10665;
i__8953_10649 = G__10666;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.keygen.apply(null,a__7509__auto__);
};
var keygen = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return keygen__delegate.call(this,args__7508__auto__);};
keygen.cljs$lang$maxFixedArity = 0;
keygen.cljs$lang$applyTo = (function (arglist__10667){
var args__7508__auto__ = cljs.core.seq(arglist__10667);
return keygen__delegate(args__7508__auto__);
});
keygen.cljs$core$IFn$_invoke$arity$variadic = keygen__delegate;
return keygen;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.label = (function() {
var label__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8958_10668 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8959_10669 = null;var count__8960_10670 = 0;var i__8961_10671 = 0;while(true){
if((i__8961_10671 < count__8960_10670))
{var arg__7510__auto___10672 = cljs.core._nth.call(null,chunk__8959_10669,i__8961_10671);a__7509__auto__.push(arg__7510__auto___10672);
{
var G__10673 = seq__8958_10668;
var G__10674 = chunk__8959_10669;
var G__10675 = count__8960_10670;
var G__10676 = (i__8961_10671 + 1);
seq__8958_10668 = G__10673;
chunk__8959_10669 = G__10674;
count__8960_10670 = G__10675;
i__8961_10671 = G__10676;
continue;
}
} else
{var temp__4092__auto___10677 = cljs.core.seq.call(null,seq__8958_10668);if(temp__4092__auto___10677)
{var seq__8958_10678__$1 = temp__4092__auto___10677;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8958_10678__$1))
{var c__5632__auto___10679 = cljs.core.chunk_first.call(null,seq__8958_10678__$1);{
var G__10680 = cljs.core.chunk_rest.call(null,seq__8958_10678__$1);
var G__10681 = c__5632__auto___10679;
var G__10682 = cljs.core.count.call(null,c__5632__auto___10679);
var G__10683 = 0;
seq__8958_10668 = G__10680;
chunk__8959_10669 = G__10681;
count__8960_10670 = G__10682;
i__8961_10671 = G__10683;
continue;
}
} else
{var arg__7510__auto___10684 = cljs.core.first.call(null,seq__8958_10678__$1);a__7509__auto__.push(arg__7510__auto___10684);
{
var G__10685 = cljs.core.next.call(null,seq__8958_10678__$1);
var G__10686 = null;
var G__10687 = 0;
var G__10688 = 0;
seq__8958_10668 = G__10685;
chunk__8959_10669 = G__10686;
count__8960_10670 = G__10687;
i__8961_10671 = G__10688;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.label.apply(null,a__7509__auto__);
};
var label = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return label__delegate.call(this,args__7508__auto__);};
label.cljs$lang$maxFixedArity = 0;
label.cljs$lang$applyTo = (function (arglist__10689){
var args__7508__auto__ = cljs.core.seq(arglist__10689);
return label__delegate(args__7508__auto__);
});
label.cljs$core$IFn$_invoke$arity$variadic = label__delegate;
return label;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.legend = (function() {
var legend__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8966_10690 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8967_10691 = null;var count__8968_10692 = 0;var i__8969_10693 = 0;while(true){
if((i__8969_10693 < count__8968_10692))
{var arg__7510__auto___10694 = cljs.core._nth.call(null,chunk__8967_10691,i__8969_10693);a__7509__auto__.push(arg__7510__auto___10694);
{
var G__10695 = seq__8966_10690;
var G__10696 = chunk__8967_10691;
var G__10697 = count__8968_10692;
var G__10698 = (i__8969_10693 + 1);
seq__8966_10690 = G__10695;
chunk__8967_10691 = G__10696;
count__8968_10692 = G__10697;
i__8969_10693 = G__10698;
continue;
}
} else
{var temp__4092__auto___10699 = cljs.core.seq.call(null,seq__8966_10690);if(temp__4092__auto___10699)
{var seq__8966_10700__$1 = temp__4092__auto___10699;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8966_10700__$1))
{var c__5632__auto___10701 = cljs.core.chunk_first.call(null,seq__8966_10700__$1);{
var G__10702 = cljs.core.chunk_rest.call(null,seq__8966_10700__$1);
var G__10703 = c__5632__auto___10701;
var G__10704 = cljs.core.count.call(null,c__5632__auto___10701);
var G__10705 = 0;
seq__8966_10690 = G__10702;
chunk__8967_10691 = G__10703;
count__8968_10692 = G__10704;
i__8969_10693 = G__10705;
continue;
}
} else
{var arg__7510__auto___10706 = cljs.core.first.call(null,seq__8966_10700__$1);a__7509__auto__.push(arg__7510__auto___10706);
{
var G__10707 = cljs.core.next.call(null,seq__8966_10700__$1);
var G__10708 = null;
var G__10709 = 0;
var G__10710 = 0;
seq__8966_10690 = G__10707;
chunk__8967_10691 = G__10708;
count__8968_10692 = G__10709;
i__8969_10693 = G__10710;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.legend.apply(null,a__7509__auto__);
};
var legend = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return legend__delegate.call(this,args__7508__auto__);};
legend.cljs$lang$maxFixedArity = 0;
legend.cljs$lang$applyTo = (function (arglist__10711){
var args__7508__auto__ = cljs.core.seq(arglist__10711);
return legend__delegate(args__7508__auto__);
});
legend.cljs$core$IFn$_invoke$arity$variadic = legend__delegate;
return legend;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.li = (function() {
var li__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8974_10712 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8975_10713 = null;var count__8976_10714 = 0;var i__8977_10715 = 0;while(true){
if((i__8977_10715 < count__8976_10714))
{var arg__7510__auto___10716 = cljs.core._nth.call(null,chunk__8975_10713,i__8977_10715);a__7509__auto__.push(arg__7510__auto___10716);
{
var G__10717 = seq__8974_10712;
var G__10718 = chunk__8975_10713;
var G__10719 = count__8976_10714;
var G__10720 = (i__8977_10715 + 1);
seq__8974_10712 = G__10717;
chunk__8975_10713 = G__10718;
count__8976_10714 = G__10719;
i__8977_10715 = G__10720;
continue;
}
} else
{var temp__4092__auto___10721 = cljs.core.seq.call(null,seq__8974_10712);if(temp__4092__auto___10721)
{var seq__8974_10722__$1 = temp__4092__auto___10721;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8974_10722__$1))
{var c__5632__auto___10723 = cljs.core.chunk_first.call(null,seq__8974_10722__$1);{
var G__10724 = cljs.core.chunk_rest.call(null,seq__8974_10722__$1);
var G__10725 = c__5632__auto___10723;
var G__10726 = cljs.core.count.call(null,c__5632__auto___10723);
var G__10727 = 0;
seq__8974_10712 = G__10724;
chunk__8975_10713 = G__10725;
count__8976_10714 = G__10726;
i__8977_10715 = G__10727;
continue;
}
} else
{var arg__7510__auto___10728 = cljs.core.first.call(null,seq__8974_10722__$1);a__7509__auto__.push(arg__7510__auto___10728);
{
var G__10729 = cljs.core.next.call(null,seq__8974_10722__$1);
var G__10730 = null;
var G__10731 = 0;
var G__10732 = 0;
seq__8974_10712 = G__10729;
chunk__8975_10713 = G__10730;
count__8976_10714 = G__10731;
i__8977_10715 = G__10732;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.li.apply(null,a__7509__auto__);
};
var li = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return li__delegate.call(this,args__7508__auto__);};
li.cljs$lang$maxFixedArity = 0;
li.cljs$lang$applyTo = (function (arglist__10733){
var args__7508__auto__ = cljs.core.seq(arglist__10733);
return li__delegate(args__7508__auto__);
});
li.cljs$core$IFn$_invoke$arity$variadic = li__delegate;
return li;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.link = (function() {
var link__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8982_10734 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8983_10735 = null;var count__8984_10736 = 0;var i__8985_10737 = 0;while(true){
if((i__8985_10737 < count__8984_10736))
{var arg__7510__auto___10738 = cljs.core._nth.call(null,chunk__8983_10735,i__8985_10737);a__7509__auto__.push(arg__7510__auto___10738);
{
var G__10739 = seq__8982_10734;
var G__10740 = chunk__8983_10735;
var G__10741 = count__8984_10736;
var G__10742 = (i__8985_10737 + 1);
seq__8982_10734 = G__10739;
chunk__8983_10735 = G__10740;
count__8984_10736 = G__10741;
i__8985_10737 = G__10742;
continue;
}
} else
{var temp__4092__auto___10743 = cljs.core.seq.call(null,seq__8982_10734);if(temp__4092__auto___10743)
{var seq__8982_10744__$1 = temp__4092__auto___10743;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8982_10744__$1))
{var c__5632__auto___10745 = cljs.core.chunk_first.call(null,seq__8982_10744__$1);{
var G__10746 = cljs.core.chunk_rest.call(null,seq__8982_10744__$1);
var G__10747 = c__5632__auto___10745;
var G__10748 = cljs.core.count.call(null,c__5632__auto___10745);
var G__10749 = 0;
seq__8982_10734 = G__10746;
chunk__8983_10735 = G__10747;
count__8984_10736 = G__10748;
i__8985_10737 = G__10749;
continue;
}
} else
{var arg__7510__auto___10750 = cljs.core.first.call(null,seq__8982_10744__$1);a__7509__auto__.push(arg__7510__auto___10750);
{
var G__10751 = cljs.core.next.call(null,seq__8982_10744__$1);
var G__10752 = null;
var G__10753 = 0;
var G__10754 = 0;
seq__8982_10734 = G__10751;
chunk__8983_10735 = G__10752;
count__8984_10736 = G__10753;
i__8985_10737 = G__10754;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.link.apply(null,a__7509__auto__);
};
var link = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return link__delegate.call(this,args__7508__auto__);};
link.cljs$lang$maxFixedArity = 0;
link.cljs$lang$applyTo = (function (arglist__10755){
var args__7508__auto__ = cljs.core.seq(arglist__10755);
return link__delegate(args__7508__auto__);
});
link.cljs$core$IFn$_invoke$arity$variadic = link__delegate;
return link;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.main = (function() {
var main__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8990_10756 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8991_10757 = null;var count__8992_10758 = 0;var i__8993_10759 = 0;while(true){
if((i__8993_10759 < count__8992_10758))
{var arg__7510__auto___10760 = cljs.core._nth.call(null,chunk__8991_10757,i__8993_10759);a__7509__auto__.push(arg__7510__auto___10760);
{
var G__10761 = seq__8990_10756;
var G__10762 = chunk__8991_10757;
var G__10763 = count__8992_10758;
var G__10764 = (i__8993_10759 + 1);
seq__8990_10756 = G__10761;
chunk__8991_10757 = G__10762;
count__8992_10758 = G__10763;
i__8993_10759 = G__10764;
continue;
}
} else
{var temp__4092__auto___10765 = cljs.core.seq.call(null,seq__8990_10756);if(temp__4092__auto___10765)
{var seq__8990_10766__$1 = temp__4092__auto___10765;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8990_10766__$1))
{var c__5632__auto___10767 = cljs.core.chunk_first.call(null,seq__8990_10766__$1);{
var G__10768 = cljs.core.chunk_rest.call(null,seq__8990_10766__$1);
var G__10769 = c__5632__auto___10767;
var G__10770 = cljs.core.count.call(null,c__5632__auto___10767);
var G__10771 = 0;
seq__8990_10756 = G__10768;
chunk__8991_10757 = G__10769;
count__8992_10758 = G__10770;
i__8993_10759 = G__10771;
continue;
}
} else
{var arg__7510__auto___10772 = cljs.core.first.call(null,seq__8990_10766__$1);a__7509__auto__.push(arg__7510__auto___10772);
{
var G__10773 = cljs.core.next.call(null,seq__8990_10766__$1);
var G__10774 = null;
var G__10775 = 0;
var G__10776 = 0;
seq__8990_10756 = G__10773;
chunk__8991_10757 = G__10774;
count__8992_10758 = G__10775;
i__8993_10759 = G__10776;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.main.apply(null,a__7509__auto__);
};
var main = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return main__delegate.call(this,args__7508__auto__);};
main.cljs$lang$maxFixedArity = 0;
main.cljs$lang$applyTo = (function (arglist__10777){
var args__7508__auto__ = cljs.core.seq(arglist__10777);
return main__delegate(args__7508__auto__);
});
main.cljs$core$IFn$_invoke$arity$variadic = main__delegate;
return main;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.map = (function() {
var map__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8998_10778 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8999_10779 = null;var count__9000_10780 = 0;var i__9001_10781 = 0;while(true){
if((i__9001_10781 < count__9000_10780))
{var arg__7510__auto___10782 = cljs.core._nth.call(null,chunk__8999_10779,i__9001_10781);a__7509__auto__.push(arg__7510__auto___10782);
{
var G__10783 = seq__8998_10778;
var G__10784 = chunk__8999_10779;
var G__10785 = count__9000_10780;
var G__10786 = (i__9001_10781 + 1);
seq__8998_10778 = G__10783;
chunk__8999_10779 = G__10784;
count__9000_10780 = G__10785;
i__9001_10781 = G__10786;
continue;
}
} else
{var temp__4092__auto___10787 = cljs.core.seq.call(null,seq__8998_10778);if(temp__4092__auto___10787)
{var seq__8998_10788__$1 = temp__4092__auto___10787;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8998_10788__$1))
{var c__5632__auto___10789 = cljs.core.chunk_first.call(null,seq__8998_10788__$1);{
var G__10790 = cljs.core.chunk_rest.call(null,seq__8998_10788__$1);
var G__10791 = c__5632__auto___10789;
var G__10792 = cljs.core.count.call(null,c__5632__auto___10789);
var G__10793 = 0;
seq__8998_10778 = G__10790;
chunk__8999_10779 = G__10791;
count__9000_10780 = G__10792;
i__9001_10781 = G__10793;
continue;
}
} else
{var arg__7510__auto___10794 = cljs.core.first.call(null,seq__8998_10788__$1);a__7509__auto__.push(arg__7510__auto___10794);
{
var G__10795 = cljs.core.next.call(null,seq__8998_10788__$1);
var G__10796 = null;
var G__10797 = 0;
var G__10798 = 0;
seq__8998_10778 = G__10795;
chunk__8999_10779 = G__10796;
count__9000_10780 = G__10797;
i__9001_10781 = G__10798;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.map.apply(null,a__7509__auto__);
};
var map = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return map__delegate.call(this,args__7508__auto__);};
map.cljs$lang$maxFixedArity = 0;
map.cljs$lang$applyTo = (function (arglist__10799){
var args__7508__auto__ = cljs.core.seq(arglist__10799);
return map__delegate(args__7508__auto__);
});
map.cljs$core$IFn$_invoke$arity$variadic = map__delegate;
return map;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.mark = (function() {
var mark__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9006_10800 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9007_10801 = null;var count__9008_10802 = 0;var i__9009_10803 = 0;while(true){
if((i__9009_10803 < count__9008_10802))
{var arg__7510__auto___10804 = cljs.core._nth.call(null,chunk__9007_10801,i__9009_10803);a__7509__auto__.push(arg__7510__auto___10804);
{
var G__10805 = seq__9006_10800;
var G__10806 = chunk__9007_10801;
var G__10807 = count__9008_10802;
var G__10808 = (i__9009_10803 + 1);
seq__9006_10800 = G__10805;
chunk__9007_10801 = G__10806;
count__9008_10802 = G__10807;
i__9009_10803 = G__10808;
continue;
}
} else
{var temp__4092__auto___10809 = cljs.core.seq.call(null,seq__9006_10800);if(temp__4092__auto___10809)
{var seq__9006_10810__$1 = temp__4092__auto___10809;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9006_10810__$1))
{var c__5632__auto___10811 = cljs.core.chunk_first.call(null,seq__9006_10810__$1);{
var G__10812 = cljs.core.chunk_rest.call(null,seq__9006_10810__$1);
var G__10813 = c__5632__auto___10811;
var G__10814 = cljs.core.count.call(null,c__5632__auto___10811);
var G__10815 = 0;
seq__9006_10800 = G__10812;
chunk__9007_10801 = G__10813;
count__9008_10802 = G__10814;
i__9009_10803 = G__10815;
continue;
}
} else
{var arg__7510__auto___10816 = cljs.core.first.call(null,seq__9006_10810__$1);a__7509__auto__.push(arg__7510__auto___10816);
{
var G__10817 = cljs.core.next.call(null,seq__9006_10810__$1);
var G__10818 = null;
var G__10819 = 0;
var G__10820 = 0;
seq__9006_10800 = G__10817;
chunk__9007_10801 = G__10818;
count__9008_10802 = G__10819;
i__9009_10803 = G__10820;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.mark.apply(null,a__7509__auto__);
};
var mark = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return mark__delegate.call(this,args__7508__auto__);};
mark.cljs$lang$maxFixedArity = 0;
mark.cljs$lang$applyTo = (function (arglist__10821){
var args__7508__auto__ = cljs.core.seq(arglist__10821);
return mark__delegate(args__7508__auto__);
});
mark.cljs$core$IFn$_invoke$arity$variadic = mark__delegate;
return mark;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.menu = (function() {
var menu__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9014_10822 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9015_10823 = null;var count__9016_10824 = 0;var i__9017_10825 = 0;while(true){
if((i__9017_10825 < count__9016_10824))
{var arg__7510__auto___10826 = cljs.core._nth.call(null,chunk__9015_10823,i__9017_10825);a__7509__auto__.push(arg__7510__auto___10826);
{
var G__10827 = seq__9014_10822;
var G__10828 = chunk__9015_10823;
var G__10829 = count__9016_10824;
var G__10830 = (i__9017_10825 + 1);
seq__9014_10822 = G__10827;
chunk__9015_10823 = G__10828;
count__9016_10824 = G__10829;
i__9017_10825 = G__10830;
continue;
}
} else
{var temp__4092__auto___10831 = cljs.core.seq.call(null,seq__9014_10822);if(temp__4092__auto___10831)
{var seq__9014_10832__$1 = temp__4092__auto___10831;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9014_10832__$1))
{var c__5632__auto___10833 = cljs.core.chunk_first.call(null,seq__9014_10832__$1);{
var G__10834 = cljs.core.chunk_rest.call(null,seq__9014_10832__$1);
var G__10835 = c__5632__auto___10833;
var G__10836 = cljs.core.count.call(null,c__5632__auto___10833);
var G__10837 = 0;
seq__9014_10822 = G__10834;
chunk__9015_10823 = G__10835;
count__9016_10824 = G__10836;
i__9017_10825 = G__10837;
continue;
}
} else
{var arg__7510__auto___10838 = cljs.core.first.call(null,seq__9014_10832__$1);a__7509__auto__.push(arg__7510__auto___10838);
{
var G__10839 = cljs.core.next.call(null,seq__9014_10832__$1);
var G__10840 = null;
var G__10841 = 0;
var G__10842 = 0;
seq__9014_10822 = G__10839;
chunk__9015_10823 = G__10840;
count__9016_10824 = G__10841;
i__9017_10825 = G__10842;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.menu.apply(null,a__7509__auto__);
};
var menu = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return menu__delegate.call(this,args__7508__auto__);};
menu.cljs$lang$maxFixedArity = 0;
menu.cljs$lang$applyTo = (function (arglist__10843){
var args__7508__auto__ = cljs.core.seq(arglist__10843);
return menu__delegate(args__7508__auto__);
});
menu.cljs$core$IFn$_invoke$arity$variadic = menu__delegate;
return menu;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.menuitem = (function() {
var menuitem__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9022_10844 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9023_10845 = null;var count__9024_10846 = 0;var i__9025_10847 = 0;while(true){
if((i__9025_10847 < count__9024_10846))
{var arg__7510__auto___10848 = cljs.core._nth.call(null,chunk__9023_10845,i__9025_10847);a__7509__auto__.push(arg__7510__auto___10848);
{
var G__10849 = seq__9022_10844;
var G__10850 = chunk__9023_10845;
var G__10851 = count__9024_10846;
var G__10852 = (i__9025_10847 + 1);
seq__9022_10844 = G__10849;
chunk__9023_10845 = G__10850;
count__9024_10846 = G__10851;
i__9025_10847 = G__10852;
continue;
}
} else
{var temp__4092__auto___10853 = cljs.core.seq.call(null,seq__9022_10844);if(temp__4092__auto___10853)
{var seq__9022_10854__$1 = temp__4092__auto___10853;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9022_10854__$1))
{var c__5632__auto___10855 = cljs.core.chunk_first.call(null,seq__9022_10854__$1);{
var G__10856 = cljs.core.chunk_rest.call(null,seq__9022_10854__$1);
var G__10857 = c__5632__auto___10855;
var G__10858 = cljs.core.count.call(null,c__5632__auto___10855);
var G__10859 = 0;
seq__9022_10844 = G__10856;
chunk__9023_10845 = G__10857;
count__9024_10846 = G__10858;
i__9025_10847 = G__10859;
continue;
}
} else
{var arg__7510__auto___10860 = cljs.core.first.call(null,seq__9022_10854__$1);a__7509__auto__.push(arg__7510__auto___10860);
{
var G__10861 = cljs.core.next.call(null,seq__9022_10854__$1);
var G__10862 = null;
var G__10863 = 0;
var G__10864 = 0;
seq__9022_10844 = G__10861;
chunk__9023_10845 = G__10862;
count__9024_10846 = G__10863;
i__9025_10847 = G__10864;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.menuitem.apply(null,a__7509__auto__);
};
var menuitem = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return menuitem__delegate.call(this,args__7508__auto__);};
menuitem.cljs$lang$maxFixedArity = 0;
menuitem.cljs$lang$applyTo = (function (arglist__10865){
var args__7508__auto__ = cljs.core.seq(arglist__10865);
return menuitem__delegate(args__7508__auto__);
});
menuitem.cljs$core$IFn$_invoke$arity$variadic = menuitem__delegate;
return menuitem;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.meta = (function() {
var meta__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9030_10866 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9031_10867 = null;var count__9032_10868 = 0;var i__9033_10869 = 0;while(true){
if((i__9033_10869 < count__9032_10868))
{var arg__7510__auto___10870 = cljs.core._nth.call(null,chunk__9031_10867,i__9033_10869);a__7509__auto__.push(arg__7510__auto___10870);
{
var G__10871 = seq__9030_10866;
var G__10872 = chunk__9031_10867;
var G__10873 = count__9032_10868;
var G__10874 = (i__9033_10869 + 1);
seq__9030_10866 = G__10871;
chunk__9031_10867 = G__10872;
count__9032_10868 = G__10873;
i__9033_10869 = G__10874;
continue;
}
} else
{var temp__4092__auto___10875 = cljs.core.seq.call(null,seq__9030_10866);if(temp__4092__auto___10875)
{var seq__9030_10876__$1 = temp__4092__auto___10875;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9030_10876__$1))
{var c__5632__auto___10877 = cljs.core.chunk_first.call(null,seq__9030_10876__$1);{
var G__10878 = cljs.core.chunk_rest.call(null,seq__9030_10876__$1);
var G__10879 = c__5632__auto___10877;
var G__10880 = cljs.core.count.call(null,c__5632__auto___10877);
var G__10881 = 0;
seq__9030_10866 = G__10878;
chunk__9031_10867 = G__10879;
count__9032_10868 = G__10880;
i__9033_10869 = G__10881;
continue;
}
} else
{var arg__7510__auto___10882 = cljs.core.first.call(null,seq__9030_10876__$1);a__7509__auto__.push(arg__7510__auto___10882);
{
var G__10883 = cljs.core.next.call(null,seq__9030_10876__$1);
var G__10884 = null;
var G__10885 = 0;
var G__10886 = 0;
seq__9030_10866 = G__10883;
chunk__9031_10867 = G__10884;
count__9032_10868 = G__10885;
i__9033_10869 = G__10886;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.meta.apply(null,a__7509__auto__);
};
var meta = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return meta__delegate.call(this,args__7508__auto__);};
meta.cljs$lang$maxFixedArity = 0;
meta.cljs$lang$applyTo = (function (arglist__10887){
var args__7508__auto__ = cljs.core.seq(arglist__10887);
return meta__delegate(args__7508__auto__);
});
meta.cljs$core$IFn$_invoke$arity$variadic = meta__delegate;
return meta;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.meter = (function() {
var meter__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9038_10888 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9039_10889 = null;var count__9040_10890 = 0;var i__9041_10891 = 0;while(true){
if((i__9041_10891 < count__9040_10890))
{var arg__7510__auto___10892 = cljs.core._nth.call(null,chunk__9039_10889,i__9041_10891);a__7509__auto__.push(arg__7510__auto___10892);
{
var G__10893 = seq__9038_10888;
var G__10894 = chunk__9039_10889;
var G__10895 = count__9040_10890;
var G__10896 = (i__9041_10891 + 1);
seq__9038_10888 = G__10893;
chunk__9039_10889 = G__10894;
count__9040_10890 = G__10895;
i__9041_10891 = G__10896;
continue;
}
} else
{var temp__4092__auto___10897 = cljs.core.seq.call(null,seq__9038_10888);if(temp__4092__auto___10897)
{var seq__9038_10898__$1 = temp__4092__auto___10897;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9038_10898__$1))
{var c__5632__auto___10899 = cljs.core.chunk_first.call(null,seq__9038_10898__$1);{
var G__10900 = cljs.core.chunk_rest.call(null,seq__9038_10898__$1);
var G__10901 = c__5632__auto___10899;
var G__10902 = cljs.core.count.call(null,c__5632__auto___10899);
var G__10903 = 0;
seq__9038_10888 = G__10900;
chunk__9039_10889 = G__10901;
count__9040_10890 = G__10902;
i__9041_10891 = G__10903;
continue;
}
} else
{var arg__7510__auto___10904 = cljs.core.first.call(null,seq__9038_10898__$1);a__7509__auto__.push(arg__7510__auto___10904);
{
var G__10905 = cljs.core.next.call(null,seq__9038_10898__$1);
var G__10906 = null;
var G__10907 = 0;
var G__10908 = 0;
seq__9038_10888 = G__10905;
chunk__9039_10889 = G__10906;
count__9040_10890 = G__10907;
i__9041_10891 = G__10908;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.meter.apply(null,a__7509__auto__);
};
var meter = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return meter__delegate.call(this,args__7508__auto__);};
meter.cljs$lang$maxFixedArity = 0;
meter.cljs$lang$applyTo = (function (arglist__10909){
var args__7508__auto__ = cljs.core.seq(arglist__10909);
return meter__delegate(args__7508__auto__);
});
meter.cljs$core$IFn$_invoke$arity$variadic = meter__delegate;
return meter;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.nav = (function() {
var nav__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9046_10910 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9047_10911 = null;var count__9048_10912 = 0;var i__9049_10913 = 0;while(true){
if((i__9049_10913 < count__9048_10912))
{var arg__7510__auto___10914 = cljs.core._nth.call(null,chunk__9047_10911,i__9049_10913);a__7509__auto__.push(arg__7510__auto___10914);
{
var G__10915 = seq__9046_10910;
var G__10916 = chunk__9047_10911;
var G__10917 = count__9048_10912;
var G__10918 = (i__9049_10913 + 1);
seq__9046_10910 = G__10915;
chunk__9047_10911 = G__10916;
count__9048_10912 = G__10917;
i__9049_10913 = G__10918;
continue;
}
} else
{var temp__4092__auto___10919 = cljs.core.seq.call(null,seq__9046_10910);if(temp__4092__auto___10919)
{var seq__9046_10920__$1 = temp__4092__auto___10919;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9046_10920__$1))
{var c__5632__auto___10921 = cljs.core.chunk_first.call(null,seq__9046_10920__$1);{
var G__10922 = cljs.core.chunk_rest.call(null,seq__9046_10920__$1);
var G__10923 = c__5632__auto___10921;
var G__10924 = cljs.core.count.call(null,c__5632__auto___10921);
var G__10925 = 0;
seq__9046_10910 = G__10922;
chunk__9047_10911 = G__10923;
count__9048_10912 = G__10924;
i__9049_10913 = G__10925;
continue;
}
} else
{var arg__7510__auto___10926 = cljs.core.first.call(null,seq__9046_10920__$1);a__7509__auto__.push(arg__7510__auto___10926);
{
var G__10927 = cljs.core.next.call(null,seq__9046_10920__$1);
var G__10928 = null;
var G__10929 = 0;
var G__10930 = 0;
seq__9046_10910 = G__10927;
chunk__9047_10911 = G__10928;
count__9048_10912 = G__10929;
i__9049_10913 = G__10930;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.nav.apply(null,a__7509__auto__);
};
var nav = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return nav__delegate.call(this,args__7508__auto__);};
nav.cljs$lang$maxFixedArity = 0;
nav.cljs$lang$applyTo = (function (arglist__10931){
var args__7508__auto__ = cljs.core.seq(arglist__10931);
return nav__delegate(args__7508__auto__);
});
nav.cljs$core$IFn$_invoke$arity$variadic = nav__delegate;
return nav;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.noscript = (function() {
var noscript__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9054_10932 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9055_10933 = null;var count__9056_10934 = 0;var i__9057_10935 = 0;while(true){
if((i__9057_10935 < count__9056_10934))
{var arg__7510__auto___10936 = cljs.core._nth.call(null,chunk__9055_10933,i__9057_10935);a__7509__auto__.push(arg__7510__auto___10936);
{
var G__10937 = seq__9054_10932;
var G__10938 = chunk__9055_10933;
var G__10939 = count__9056_10934;
var G__10940 = (i__9057_10935 + 1);
seq__9054_10932 = G__10937;
chunk__9055_10933 = G__10938;
count__9056_10934 = G__10939;
i__9057_10935 = G__10940;
continue;
}
} else
{var temp__4092__auto___10941 = cljs.core.seq.call(null,seq__9054_10932);if(temp__4092__auto___10941)
{var seq__9054_10942__$1 = temp__4092__auto___10941;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9054_10942__$1))
{var c__5632__auto___10943 = cljs.core.chunk_first.call(null,seq__9054_10942__$1);{
var G__10944 = cljs.core.chunk_rest.call(null,seq__9054_10942__$1);
var G__10945 = c__5632__auto___10943;
var G__10946 = cljs.core.count.call(null,c__5632__auto___10943);
var G__10947 = 0;
seq__9054_10932 = G__10944;
chunk__9055_10933 = G__10945;
count__9056_10934 = G__10946;
i__9057_10935 = G__10947;
continue;
}
} else
{var arg__7510__auto___10948 = cljs.core.first.call(null,seq__9054_10942__$1);a__7509__auto__.push(arg__7510__auto___10948);
{
var G__10949 = cljs.core.next.call(null,seq__9054_10942__$1);
var G__10950 = null;
var G__10951 = 0;
var G__10952 = 0;
seq__9054_10932 = G__10949;
chunk__9055_10933 = G__10950;
count__9056_10934 = G__10951;
i__9057_10935 = G__10952;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.noscript.apply(null,a__7509__auto__);
};
var noscript = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return noscript__delegate.call(this,args__7508__auto__);};
noscript.cljs$lang$maxFixedArity = 0;
noscript.cljs$lang$applyTo = (function (arglist__10953){
var args__7508__auto__ = cljs.core.seq(arglist__10953);
return noscript__delegate(args__7508__auto__);
});
noscript.cljs$core$IFn$_invoke$arity$variadic = noscript__delegate;
return noscript;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.object = (function() {
var object__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9062_10954 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9063_10955 = null;var count__9064_10956 = 0;var i__9065_10957 = 0;while(true){
if((i__9065_10957 < count__9064_10956))
{var arg__7510__auto___10958 = cljs.core._nth.call(null,chunk__9063_10955,i__9065_10957);a__7509__auto__.push(arg__7510__auto___10958);
{
var G__10959 = seq__9062_10954;
var G__10960 = chunk__9063_10955;
var G__10961 = count__9064_10956;
var G__10962 = (i__9065_10957 + 1);
seq__9062_10954 = G__10959;
chunk__9063_10955 = G__10960;
count__9064_10956 = G__10961;
i__9065_10957 = G__10962;
continue;
}
} else
{var temp__4092__auto___10963 = cljs.core.seq.call(null,seq__9062_10954);if(temp__4092__auto___10963)
{var seq__9062_10964__$1 = temp__4092__auto___10963;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9062_10964__$1))
{var c__5632__auto___10965 = cljs.core.chunk_first.call(null,seq__9062_10964__$1);{
var G__10966 = cljs.core.chunk_rest.call(null,seq__9062_10964__$1);
var G__10967 = c__5632__auto___10965;
var G__10968 = cljs.core.count.call(null,c__5632__auto___10965);
var G__10969 = 0;
seq__9062_10954 = G__10966;
chunk__9063_10955 = G__10967;
count__9064_10956 = G__10968;
i__9065_10957 = G__10969;
continue;
}
} else
{var arg__7510__auto___10970 = cljs.core.first.call(null,seq__9062_10964__$1);a__7509__auto__.push(arg__7510__auto___10970);
{
var G__10971 = cljs.core.next.call(null,seq__9062_10964__$1);
var G__10972 = null;
var G__10973 = 0;
var G__10974 = 0;
seq__9062_10954 = G__10971;
chunk__9063_10955 = G__10972;
count__9064_10956 = G__10973;
i__9065_10957 = G__10974;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.object.apply(null,a__7509__auto__);
};
var object = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return object__delegate.call(this,args__7508__auto__);};
object.cljs$lang$maxFixedArity = 0;
object.cljs$lang$applyTo = (function (arglist__10975){
var args__7508__auto__ = cljs.core.seq(arglist__10975);
return object__delegate(args__7508__auto__);
});
object.cljs$core$IFn$_invoke$arity$variadic = object__delegate;
return object;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.ol = (function() {
var ol__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9070_10976 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9071_10977 = null;var count__9072_10978 = 0;var i__9073_10979 = 0;while(true){
if((i__9073_10979 < count__9072_10978))
{var arg__7510__auto___10980 = cljs.core._nth.call(null,chunk__9071_10977,i__9073_10979);a__7509__auto__.push(arg__7510__auto___10980);
{
var G__10981 = seq__9070_10976;
var G__10982 = chunk__9071_10977;
var G__10983 = count__9072_10978;
var G__10984 = (i__9073_10979 + 1);
seq__9070_10976 = G__10981;
chunk__9071_10977 = G__10982;
count__9072_10978 = G__10983;
i__9073_10979 = G__10984;
continue;
}
} else
{var temp__4092__auto___10985 = cljs.core.seq.call(null,seq__9070_10976);if(temp__4092__auto___10985)
{var seq__9070_10986__$1 = temp__4092__auto___10985;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9070_10986__$1))
{var c__5632__auto___10987 = cljs.core.chunk_first.call(null,seq__9070_10986__$1);{
var G__10988 = cljs.core.chunk_rest.call(null,seq__9070_10986__$1);
var G__10989 = c__5632__auto___10987;
var G__10990 = cljs.core.count.call(null,c__5632__auto___10987);
var G__10991 = 0;
seq__9070_10976 = G__10988;
chunk__9071_10977 = G__10989;
count__9072_10978 = G__10990;
i__9073_10979 = G__10991;
continue;
}
} else
{var arg__7510__auto___10992 = cljs.core.first.call(null,seq__9070_10986__$1);a__7509__auto__.push(arg__7510__auto___10992);
{
var G__10993 = cljs.core.next.call(null,seq__9070_10986__$1);
var G__10994 = null;
var G__10995 = 0;
var G__10996 = 0;
seq__9070_10976 = G__10993;
chunk__9071_10977 = G__10994;
count__9072_10978 = G__10995;
i__9073_10979 = G__10996;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.ol.apply(null,a__7509__auto__);
};
var ol = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return ol__delegate.call(this,args__7508__auto__);};
ol.cljs$lang$maxFixedArity = 0;
ol.cljs$lang$applyTo = (function (arglist__10997){
var args__7508__auto__ = cljs.core.seq(arglist__10997);
return ol__delegate(args__7508__auto__);
});
ol.cljs$core$IFn$_invoke$arity$variadic = ol__delegate;
return ol;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.optgroup = (function() {
var optgroup__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9078_10998 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9079_10999 = null;var count__9080_11000 = 0;var i__9081_11001 = 0;while(true){
if((i__9081_11001 < count__9080_11000))
{var arg__7510__auto___11002 = cljs.core._nth.call(null,chunk__9079_10999,i__9081_11001);a__7509__auto__.push(arg__7510__auto___11002);
{
var G__11003 = seq__9078_10998;
var G__11004 = chunk__9079_10999;
var G__11005 = count__9080_11000;
var G__11006 = (i__9081_11001 + 1);
seq__9078_10998 = G__11003;
chunk__9079_10999 = G__11004;
count__9080_11000 = G__11005;
i__9081_11001 = G__11006;
continue;
}
} else
{var temp__4092__auto___11007 = cljs.core.seq.call(null,seq__9078_10998);if(temp__4092__auto___11007)
{var seq__9078_11008__$1 = temp__4092__auto___11007;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9078_11008__$1))
{var c__5632__auto___11009 = cljs.core.chunk_first.call(null,seq__9078_11008__$1);{
var G__11010 = cljs.core.chunk_rest.call(null,seq__9078_11008__$1);
var G__11011 = c__5632__auto___11009;
var G__11012 = cljs.core.count.call(null,c__5632__auto___11009);
var G__11013 = 0;
seq__9078_10998 = G__11010;
chunk__9079_10999 = G__11011;
count__9080_11000 = G__11012;
i__9081_11001 = G__11013;
continue;
}
} else
{var arg__7510__auto___11014 = cljs.core.first.call(null,seq__9078_11008__$1);a__7509__auto__.push(arg__7510__auto___11014);
{
var G__11015 = cljs.core.next.call(null,seq__9078_11008__$1);
var G__11016 = null;
var G__11017 = 0;
var G__11018 = 0;
seq__9078_10998 = G__11015;
chunk__9079_10999 = G__11016;
count__9080_11000 = G__11017;
i__9081_11001 = G__11018;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.optgroup.apply(null,a__7509__auto__);
};
var optgroup = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return optgroup__delegate.call(this,args__7508__auto__);};
optgroup.cljs$lang$maxFixedArity = 0;
optgroup.cljs$lang$applyTo = (function (arglist__11019){
var args__7508__auto__ = cljs.core.seq(arglist__11019);
return optgroup__delegate(args__7508__auto__);
});
optgroup.cljs$core$IFn$_invoke$arity$variadic = optgroup__delegate;
return optgroup;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.option = (function() {
var option__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9086_11020 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9087_11021 = null;var count__9088_11022 = 0;var i__9089_11023 = 0;while(true){
if((i__9089_11023 < count__9088_11022))
{var arg__7510__auto___11024 = cljs.core._nth.call(null,chunk__9087_11021,i__9089_11023);a__7509__auto__.push(arg__7510__auto___11024);
{
var G__11025 = seq__9086_11020;
var G__11026 = chunk__9087_11021;
var G__11027 = count__9088_11022;
var G__11028 = (i__9089_11023 + 1);
seq__9086_11020 = G__11025;
chunk__9087_11021 = G__11026;
count__9088_11022 = G__11027;
i__9089_11023 = G__11028;
continue;
}
} else
{var temp__4092__auto___11029 = cljs.core.seq.call(null,seq__9086_11020);if(temp__4092__auto___11029)
{var seq__9086_11030__$1 = temp__4092__auto___11029;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9086_11030__$1))
{var c__5632__auto___11031 = cljs.core.chunk_first.call(null,seq__9086_11030__$1);{
var G__11032 = cljs.core.chunk_rest.call(null,seq__9086_11030__$1);
var G__11033 = c__5632__auto___11031;
var G__11034 = cljs.core.count.call(null,c__5632__auto___11031);
var G__11035 = 0;
seq__9086_11020 = G__11032;
chunk__9087_11021 = G__11033;
count__9088_11022 = G__11034;
i__9089_11023 = G__11035;
continue;
}
} else
{var arg__7510__auto___11036 = cljs.core.first.call(null,seq__9086_11030__$1);a__7509__auto__.push(arg__7510__auto___11036);
{
var G__11037 = cljs.core.next.call(null,seq__9086_11030__$1);
var G__11038 = null;
var G__11039 = 0;
var G__11040 = 0;
seq__9086_11020 = G__11037;
chunk__9087_11021 = G__11038;
count__9088_11022 = G__11039;
i__9089_11023 = G__11040;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.option.apply(null,a__7509__auto__);
};
var option = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return option__delegate.call(this,args__7508__auto__);};
option.cljs$lang$maxFixedArity = 0;
option.cljs$lang$applyTo = (function (arglist__11041){
var args__7508__auto__ = cljs.core.seq(arglist__11041);
return option__delegate(args__7508__auto__);
});
option.cljs$core$IFn$_invoke$arity$variadic = option__delegate;
return option;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.output = (function() {
var output__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9094_11042 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9095_11043 = null;var count__9096_11044 = 0;var i__9097_11045 = 0;while(true){
if((i__9097_11045 < count__9096_11044))
{var arg__7510__auto___11046 = cljs.core._nth.call(null,chunk__9095_11043,i__9097_11045);a__7509__auto__.push(arg__7510__auto___11046);
{
var G__11047 = seq__9094_11042;
var G__11048 = chunk__9095_11043;
var G__11049 = count__9096_11044;
var G__11050 = (i__9097_11045 + 1);
seq__9094_11042 = G__11047;
chunk__9095_11043 = G__11048;
count__9096_11044 = G__11049;
i__9097_11045 = G__11050;
continue;
}
} else
{var temp__4092__auto___11051 = cljs.core.seq.call(null,seq__9094_11042);if(temp__4092__auto___11051)
{var seq__9094_11052__$1 = temp__4092__auto___11051;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9094_11052__$1))
{var c__5632__auto___11053 = cljs.core.chunk_first.call(null,seq__9094_11052__$1);{
var G__11054 = cljs.core.chunk_rest.call(null,seq__9094_11052__$1);
var G__11055 = c__5632__auto___11053;
var G__11056 = cljs.core.count.call(null,c__5632__auto___11053);
var G__11057 = 0;
seq__9094_11042 = G__11054;
chunk__9095_11043 = G__11055;
count__9096_11044 = G__11056;
i__9097_11045 = G__11057;
continue;
}
} else
{var arg__7510__auto___11058 = cljs.core.first.call(null,seq__9094_11052__$1);a__7509__auto__.push(arg__7510__auto___11058);
{
var G__11059 = cljs.core.next.call(null,seq__9094_11052__$1);
var G__11060 = null;
var G__11061 = 0;
var G__11062 = 0;
seq__9094_11042 = G__11059;
chunk__9095_11043 = G__11060;
count__9096_11044 = G__11061;
i__9097_11045 = G__11062;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.output.apply(null,a__7509__auto__);
};
var output = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return output__delegate.call(this,args__7508__auto__);};
output.cljs$lang$maxFixedArity = 0;
output.cljs$lang$applyTo = (function (arglist__11063){
var args__7508__auto__ = cljs.core.seq(arglist__11063);
return output__delegate(args__7508__auto__);
});
output.cljs$core$IFn$_invoke$arity$variadic = output__delegate;
return output;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.p = (function() {
var p__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9102_11064 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9103_11065 = null;var count__9104_11066 = 0;var i__9105_11067 = 0;while(true){
if((i__9105_11067 < count__9104_11066))
{var arg__7510__auto___11068 = cljs.core._nth.call(null,chunk__9103_11065,i__9105_11067);a__7509__auto__.push(arg__7510__auto___11068);
{
var G__11069 = seq__9102_11064;
var G__11070 = chunk__9103_11065;
var G__11071 = count__9104_11066;
var G__11072 = (i__9105_11067 + 1);
seq__9102_11064 = G__11069;
chunk__9103_11065 = G__11070;
count__9104_11066 = G__11071;
i__9105_11067 = G__11072;
continue;
}
} else
{var temp__4092__auto___11073 = cljs.core.seq.call(null,seq__9102_11064);if(temp__4092__auto___11073)
{var seq__9102_11074__$1 = temp__4092__auto___11073;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9102_11074__$1))
{var c__5632__auto___11075 = cljs.core.chunk_first.call(null,seq__9102_11074__$1);{
var G__11076 = cljs.core.chunk_rest.call(null,seq__9102_11074__$1);
var G__11077 = c__5632__auto___11075;
var G__11078 = cljs.core.count.call(null,c__5632__auto___11075);
var G__11079 = 0;
seq__9102_11064 = G__11076;
chunk__9103_11065 = G__11077;
count__9104_11066 = G__11078;
i__9105_11067 = G__11079;
continue;
}
} else
{var arg__7510__auto___11080 = cljs.core.first.call(null,seq__9102_11074__$1);a__7509__auto__.push(arg__7510__auto___11080);
{
var G__11081 = cljs.core.next.call(null,seq__9102_11074__$1);
var G__11082 = null;
var G__11083 = 0;
var G__11084 = 0;
seq__9102_11064 = G__11081;
chunk__9103_11065 = G__11082;
count__9104_11066 = G__11083;
i__9105_11067 = G__11084;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.p.apply(null,a__7509__auto__);
};
var p = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return p__delegate.call(this,args__7508__auto__);};
p.cljs$lang$maxFixedArity = 0;
p.cljs$lang$applyTo = (function (arglist__11085){
var args__7508__auto__ = cljs.core.seq(arglist__11085);
return p__delegate(args__7508__auto__);
});
p.cljs$core$IFn$_invoke$arity$variadic = p__delegate;
return p;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.param = (function() {
var param__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9110_11086 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9111_11087 = null;var count__9112_11088 = 0;var i__9113_11089 = 0;while(true){
if((i__9113_11089 < count__9112_11088))
{var arg__7510__auto___11090 = cljs.core._nth.call(null,chunk__9111_11087,i__9113_11089);a__7509__auto__.push(arg__7510__auto___11090);
{
var G__11091 = seq__9110_11086;
var G__11092 = chunk__9111_11087;
var G__11093 = count__9112_11088;
var G__11094 = (i__9113_11089 + 1);
seq__9110_11086 = G__11091;
chunk__9111_11087 = G__11092;
count__9112_11088 = G__11093;
i__9113_11089 = G__11094;
continue;
}
} else
{var temp__4092__auto___11095 = cljs.core.seq.call(null,seq__9110_11086);if(temp__4092__auto___11095)
{var seq__9110_11096__$1 = temp__4092__auto___11095;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9110_11096__$1))
{var c__5632__auto___11097 = cljs.core.chunk_first.call(null,seq__9110_11096__$1);{
var G__11098 = cljs.core.chunk_rest.call(null,seq__9110_11096__$1);
var G__11099 = c__5632__auto___11097;
var G__11100 = cljs.core.count.call(null,c__5632__auto___11097);
var G__11101 = 0;
seq__9110_11086 = G__11098;
chunk__9111_11087 = G__11099;
count__9112_11088 = G__11100;
i__9113_11089 = G__11101;
continue;
}
} else
{var arg__7510__auto___11102 = cljs.core.first.call(null,seq__9110_11096__$1);a__7509__auto__.push(arg__7510__auto___11102);
{
var G__11103 = cljs.core.next.call(null,seq__9110_11096__$1);
var G__11104 = null;
var G__11105 = 0;
var G__11106 = 0;
seq__9110_11086 = G__11103;
chunk__9111_11087 = G__11104;
count__9112_11088 = G__11105;
i__9113_11089 = G__11106;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.param.apply(null,a__7509__auto__);
};
var param = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return param__delegate.call(this,args__7508__auto__);};
param.cljs$lang$maxFixedArity = 0;
param.cljs$lang$applyTo = (function (arglist__11107){
var args__7508__auto__ = cljs.core.seq(arglist__11107);
return param__delegate(args__7508__auto__);
});
param.cljs$core$IFn$_invoke$arity$variadic = param__delegate;
return param;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.pre = (function() {
var pre__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9118_11108 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9119_11109 = null;var count__9120_11110 = 0;var i__9121_11111 = 0;while(true){
if((i__9121_11111 < count__9120_11110))
{var arg__7510__auto___11112 = cljs.core._nth.call(null,chunk__9119_11109,i__9121_11111);a__7509__auto__.push(arg__7510__auto___11112);
{
var G__11113 = seq__9118_11108;
var G__11114 = chunk__9119_11109;
var G__11115 = count__9120_11110;
var G__11116 = (i__9121_11111 + 1);
seq__9118_11108 = G__11113;
chunk__9119_11109 = G__11114;
count__9120_11110 = G__11115;
i__9121_11111 = G__11116;
continue;
}
} else
{var temp__4092__auto___11117 = cljs.core.seq.call(null,seq__9118_11108);if(temp__4092__auto___11117)
{var seq__9118_11118__$1 = temp__4092__auto___11117;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9118_11118__$1))
{var c__5632__auto___11119 = cljs.core.chunk_first.call(null,seq__9118_11118__$1);{
var G__11120 = cljs.core.chunk_rest.call(null,seq__9118_11118__$1);
var G__11121 = c__5632__auto___11119;
var G__11122 = cljs.core.count.call(null,c__5632__auto___11119);
var G__11123 = 0;
seq__9118_11108 = G__11120;
chunk__9119_11109 = G__11121;
count__9120_11110 = G__11122;
i__9121_11111 = G__11123;
continue;
}
} else
{var arg__7510__auto___11124 = cljs.core.first.call(null,seq__9118_11118__$1);a__7509__auto__.push(arg__7510__auto___11124);
{
var G__11125 = cljs.core.next.call(null,seq__9118_11118__$1);
var G__11126 = null;
var G__11127 = 0;
var G__11128 = 0;
seq__9118_11108 = G__11125;
chunk__9119_11109 = G__11126;
count__9120_11110 = G__11127;
i__9121_11111 = G__11128;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.pre.apply(null,a__7509__auto__);
};
var pre = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return pre__delegate.call(this,args__7508__auto__);};
pre.cljs$lang$maxFixedArity = 0;
pre.cljs$lang$applyTo = (function (arglist__11129){
var args__7508__auto__ = cljs.core.seq(arglist__11129);
return pre__delegate(args__7508__auto__);
});
pre.cljs$core$IFn$_invoke$arity$variadic = pre__delegate;
return pre;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.progress = (function() {
var progress__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9126_11130 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9127_11131 = null;var count__9128_11132 = 0;var i__9129_11133 = 0;while(true){
if((i__9129_11133 < count__9128_11132))
{var arg__7510__auto___11134 = cljs.core._nth.call(null,chunk__9127_11131,i__9129_11133);a__7509__auto__.push(arg__7510__auto___11134);
{
var G__11135 = seq__9126_11130;
var G__11136 = chunk__9127_11131;
var G__11137 = count__9128_11132;
var G__11138 = (i__9129_11133 + 1);
seq__9126_11130 = G__11135;
chunk__9127_11131 = G__11136;
count__9128_11132 = G__11137;
i__9129_11133 = G__11138;
continue;
}
} else
{var temp__4092__auto___11139 = cljs.core.seq.call(null,seq__9126_11130);if(temp__4092__auto___11139)
{var seq__9126_11140__$1 = temp__4092__auto___11139;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9126_11140__$1))
{var c__5632__auto___11141 = cljs.core.chunk_first.call(null,seq__9126_11140__$1);{
var G__11142 = cljs.core.chunk_rest.call(null,seq__9126_11140__$1);
var G__11143 = c__5632__auto___11141;
var G__11144 = cljs.core.count.call(null,c__5632__auto___11141);
var G__11145 = 0;
seq__9126_11130 = G__11142;
chunk__9127_11131 = G__11143;
count__9128_11132 = G__11144;
i__9129_11133 = G__11145;
continue;
}
} else
{var arg__7510__auto___11146 = cljs.core.first.call(null,seq__9126_11140__$1);a__7509__auto__.push(arg__7510__auto___11146);
{
var G__11147 = cljs.core.next.call(null,seq__9126_11140__$1);
var G__11148 = null;
var G__11149 = 0;
var G__11150 = 0;
seq__9126_11130 = G__11147;
chunk__9127_11131 = G__11148;
count__9128_11132 = G__11149;
i__9129_11133 = G__11150;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.progress.apply(null,a__7509__auto__);
};
var progress = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return progress__delegate.call(this,args__7508__auto__);};
progress.cljs$lang$maxFixedArity = 0;
progress.cljs$lang$applyTo = (function (arglist__11151){
var args__7508__auto__ = cljs.core.seq(arglist__11151);
return progress__delegate(args__7508__auto__);
});
progress.cljs$core$IFn$_invoke$arity$variadic = progress__delegate;
return progress;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.q = (function() {
var q__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9134_11152 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9135_11153 = null;var count__9136_11154 = 0;var i__9137_11155 = 0;while(true){
if((i__9137_11155 < count__9136_11154))
{var arg__7510__auto___11156 = cljs.core._nth.call(null,chunk__9135_11153,i__9137_11155);a__7509__auto__.push(arg__7510__auto___11156);
{
var G__11157 = seq__9134_11152;
var G__11158 = chunk__9135_11153;
var G__11159 = count__9136_11154;
var G__11160 = (i__9137_11155 + 1);
seq__9134_11152 = G__11157;
chunk__9135_11153 = G__11158;
count__9136_11154 = G__11159;
i__9137_11155 = G__11160;
continue;
}
} else
{var temp__4092__auto___11161 = cljs.core.seq.call(null,seq__9134_11152);if(temp__4092__auto___11161)
{var seq__9134_11162__$1 = temp__4092__auto___11161;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9134_11162__$1))
{var c__5632__auto___11163 = cljs.core.chunk_first.call(null,seq__9134_11162__$1);{
var G__11164 = cljs.core.chunk_rest.call(null,seq__9134_11162__$1);
var G__11165 = c__5632__auto___11163;
var G__11166 = cljs.core.count.call(null,c__5632__auto___11163);
var G__11167 = 0;
seq__9134_11152 = G__11164;
chunk__9135_11153 = G__11165;
count__9136_11154 = G__11166;
i__9137_11155 = G__11167;
continue;
}
} else
{var arg__7510__auto___11168 = cljs.core.first.call(null,seq__9134_11162__$1);a__7509__auto__.push(arg__7510__auto___11168);
{
var G__11169 = cljs.core.next.call(null,seq__9134_11162__$1);
var G__11170 = null;
var G__11171 = 0;
var G__11172 = 0;
seq__9134_11152 = G__11169;
chunk__9135_11153 = G__11170;
count__9136_11154 = G__11171;
i__9137_11155 = G__11172;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.q.apply(null,a__7509__auto__);
};
var q = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return q__delegate.call(this,args__7508__auto__);};
q.cljs$lang$maxFixedArity = 0;
q.cljs$lang$applyTo = (function (arglist__11173){
var args__7508__auto__ = cljs.core.seq(arglist__11173);
return q__delegate(args__7508__auto__);
});
q.cljs$core$IFn$_invoke$arity$variadic = q__delegate;
return q;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.rp = (function() {
var rp__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9142_11174 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9143_11175 = null;var count__9144_11176 = 0;var i__9145_11177 = 0;while(true){
if((i__9145_11177 < count__9144_11176))
{var arg__7510__auto___11178 = cljs.core._nth.call(null,chunk__9143_11175,i__9145_11177);a__7509__auto__.push(arg__7510__auto___11178);
{
var G__11179 = seq__9142_11174;
var G__11180 = chunk__9143_11175;
var G__11181 = count__9144_11176;
var G__11182 = (i__9145_11177 + 1);
seq__9142_11174 = G__11179;
chunk__9143_11175 = G__11180;
count__9144_11176 = G__11181;
i__9145_11177 = G__11182;
continue;
}
} else
{var temp__4092__auto___11183 = cljs.core.seq.call(null,seq__9142_11174);if(temp__4092__auto___11183)
{var seq__9142_11184__$1 = temp__4092__auto___11183;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9142_11184__$1))
{var c__5632__auto___11185 = cljs.core.chunk_first.call(null,seq__9142_11184__$1);{
var G__11186 = cljs.core.chunk_rest.call(null,seq__9142_11184__$1);
var G__11187 = c__5632__auto___11185;
var G__11188 = cljs.core.count.call(null,c__5632__auto___11185);
var G__11189 = 0;
seq__9142_11174 = G__11186;
chunk__9143_11175 = G__11187;
count__9144_11176 = G__11188;
i__9145_11177 = G__11189;
continue;
}
} else
{var arg__7510__auto___11190 = cljs.core.first.call(null,seq__9142_11184__$1);a__7509__auto__.push(arg__7510__auto___11190);
{
var G__11191 = cljs.core.next.call(null,seq__9142_11184__$1);
var G__11192 = null;
var G__11193 = 0;
var G__11194 = 0;
seq__9142_11174 = G__11191;
chunk__9143_11175 = G__11192;
count__9144_11176 = G__11193;
i__9145_11177 = G__11194;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.rp.apply(null,a__7509__auto__);
};
var rp = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return rp__delegate.call(this,args__7508__auto__);};
rp.cljs$lang$maxFixedArity = 0;
rp.cljs$lang$applyTo = (function (arglist__11195){
var args__7508__auto__ = cljs.core.seq(arglist__11195);
return rp__delegate(args__7508__auto__);
});
rp.cljs$core$IFn$_invoke$arity$variadic = rp__delegate;
return rp;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.rt = (function() {
var rt__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9150_11196 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9151_11197 = null;var count__9152_11198 = 0;var i__9153_11199 = 0;while(true){
if((i__9153_11199 < count__9152_11198))
{var arg__7510__auto___11200 = cljs.core._nth.call(null,chunk__9151_11197,i__9153_11199);a__7509__auto__.push(arg__7510__auto___11200);
{
var G__11201 = seq__9150_11196;
var G__11202 = chunk__9151_11197;
var G__11203 = count__9152_11198;
var G__11204 = (i__9153_11199 + 1);
seq__9150_11196 = G__11201;
chunk__9151_11197 = G__11202;
count__9152_11198 = G__11203;
i__9153_11199 = G__11204;
continue;
}
} else
{var temp__4092__auto___11205 = cljs.core.seq.call(null,seq__9150_11196);if(temp__4092__auto___11205)
{var seq__9150_11206__$1 = temp__4092__auto___11205;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9150_11206__$1))
{var c__5632__auto___11207 = cljs.core.chunk_first.call(null,seq__9150_11206__$1);{
var G__11208 = cljs.core.chunk_rest.call(null,seq__9150_11206__$1);
var G__11209 = c__5632__auto___11207;
var G__11210 = cljs.core.count.call(null,c__5632__auto___11207);
var G__11211 = 0;
seq__9150_11196 = G__11208;
chunk__9151_11197 = G__11209;
count__9152_11198 = G__11210;
i__9153_11199 = G__11211;
continue;
}
} else
{var arg__7510__auto___11212 = cljs.core.first.call(null,seq__9150_11206__$1);a__7509__auto__.push(arg__7510__auto___11212);
{
var G__11213 = cljs.core.next.call(null,seq__9150_11206__$1);
var G__11214 = null;
var G__11215 = 0;
var G__11216 = 0;
seq__9150_11196 = G__11213;
chunk__9151_11197 = G__11214;
count__9152_11198 = G__11215;
i__9153_11199 = G__11216;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.rt.apply(null,a__7509__auto__);
};
var rt = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return rt__delegate.call(this,args__7508__auto__);};
rt.cljs$lang$maxFixedArity = 0;
rt.cljs$lang$applyTo = (function (arglist__11217){
var args__7508__auto__ = cljs.core.seq(arglist__11217);
return rt__delegate(args__7508__auto__);
});
rt.cljs$core$IFn$_invoke$arity$variadic = rt__delegate;
return rt;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.ruby = (function() {
var ruby__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9158_11218 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9159_11219 = null;var count__9160_11220 = 0;var i__9161_11221 = 0;while(true){
if((i__9161_11221 < count__9160_11220))
{var arg__7510__auto___11222 = cljs.core._nth.call(null,chunk__9159_11219,i__9161_11221);a__7509__auto__.push(arg__7510__auto___11222);
{
var G__11223 = seq__9158_11218;
var G__11224 = chunk__9159_11219;
var G__11225 = count__9160_11220;
var G__11226 = (i__9161_11221 + 1);
seq__9158_11218 = G__11223;
chunk__9159_11219 = G__11224;
count__9160_11220 = G__11225;
i__9161_11221 = G__11226;
continue;
}
} else
{var temp__4092__auto___11227 = cljs.core.seq.call(null,seq__9158_11218);if(temp__4092__auto___11227)
{var seq__9158_11228__$1 = temp__4092__auto___11227;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9158_11228__$1))
{var c__5632__auto___11229 = cljs.core.chunk_first.call(null,seq__9158_11228__$1);{
var G__11230 = cljs.core.chunk_rest.call(null,seq__9158_11228__$1);
var G__11231 = c__5632__auto___11229;
var G__11232 = cljs.core.count.call(null,c__5632__auto___11229);
var G__11233 = 0;
seq__9158_11218 = G__11230;
chunk__9159_11219 = G__11231;
count__9160_11220 = G__11232;
i__9161_11221 = G__11233;
continue;
}
} else
{var arg__7510__auto___11234 = cljs.core.first.call(null,seq__9158_11228__$1);a__7509__auto__.push(arg__7510__auto___11234);
{
var G__11235 = cljs.core.next.call(null,seq__9158_11228__$1);
var G__11236 = null;
var G__11237 = 0;
var G__11238 = 0;
seq__9158_11218 = G__11235;
chunk__9159_11219 = G__11236;
count__9160_11220 = G__11237;
i__9161_11221 = G__11238;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.ruby.apply(null,a__7509__auto__);
};
var ruby = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return ruby__delegate.call(this,args__7508__auto__);};
ruby.cljs$lang$maxFixedArity = 0;
ruby.cljs$lang$applyTo = (function (arglist__11239){
var args__7508__auto__ = cljs.core.seq(arglist__11239);
return ruby__delegate(args__7508__auto__);
});
ruby.cljs$core$IFn$_invoke$arity$variadic = ruby__delegate;
return ruby;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.s = (function() {
var s__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9166_11240 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9167_11241 = null;var count__9168_11242 = 0;var i__9169_11243 = 0;while(true){
if((i__9169_11243 < count__9168_11242))
{var arg__7510__auto___11244 = cljs.core._nth.call(null,chunk__9167_11241,i__9169_11243);a__7509__auto__.push(arg__7510__auto___11244);
{
var G__11245 = seq__9166_11240;
var G__11246 = chunk__9167_11241;
var G__11247 = count__9168_11242;
var G__11248 = (i__9169_11243 + 1);
seq__9166_11240 = G__11245;
chunk__9167_11241 = G__11246;
count__9168_11242 = G__11247;
i__9169_11243 = G__11248;
continue;
}
} else
{var temp__4092__auto___11249 = cljs.core.seq.call(null,seq__9166_11240);if(temp__4092__auto___11249)
{var seq__9166_11250__$1 = temp__4092__auto___11249;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9166_11250__$1))
{var c__5632__auto___11251 = cljs.core.chunk_first.call(null,seq__9166_11250__$1);{
var G__11252 = cljs.core.chunk_rest.call(null,seq__9166_11250__$1);
var G__11253 = c__5632__auto___11251;
var G__11254 = cljs.core.count.call(null,c__5632__auto___11251);
var G__11255 = 0;
seq__9166_11240 = G__11252;
chunk__9167_11241 = G__11253;
count__9168_11242 = G__11254;
i__9169_11243 = G__11255;
continue;
}
} else
{var arg__7510__auto___11256 = cljs.core.first.call(null,seq__9166_11250__$1);a__7509__auto__.push(arg__7510__auto___11256);
{
var G__11257 = cljs.core.next.call(null,seq__9166_11250__$1);
var G__11258 = null;
var G__11259 = 0;
var G__11260 = 0;
seq__9166_11240 = G__11257;
chunk__9167_11241 = G__11258;
count__9168_11242 = G__11259;
i__9169_11243 = G__11260;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.s.apply(null,a__7509__auto__);
};
var s = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return s__delegate.call(this,args__7508__auto__);};
s.cljs$lang$maxFixedArity = 0;
s.cljs$lang$applyTo = (function (arglist__11261){
var args__7508__auto__ = cljs.core.seq(arglist__11261);
return s__delegate(args__7508__auto__);
});
s.cljs$core$IFn$_invoke$arity$variadic = s__delegate;
return s;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.samp = (function() {
var samp__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9174_11262 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9175_11263 = null;var count__9176_11264 = 0;var i__9177_11265 = 0;while(true){
if((i__9177_11265 < count__9176_11264))
{var arg__7510__auto___11266 = cljs.core._nth.call(null,chunk__9175_11263,i__9177_11265);a__7509__auto__.push(arg__7510__auto___11266);
{
var G__11267 = seq__9174_11262;
var G__11268 = chunk__9175_11263;
var G__11269 = count__9176_11264;
var G__11270 = (i__9177_11265 + 1);
seq__9174_11262 = G__11267;
chunk__9175_11263 = G__11268;
count__9176_11264 = G__11269;
i__9177_11265 = G__11270;
continue;
}
} else
{var temp__4092__auto___11271 = cljs.core.seq.call(null,seq__9174_11262);if(temp__4092__auto___11271)
{var seq__9174_11272__$1 = temp__4092__auto___11271;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9174_11272__$1))
{var c__5632__auto___11273 = cljs.core.chunk_first.call(null,seq__9174_11272__$1);{
var G__11274 = cljs.core.chunk_rest.call(null,seq__9174_11272__$1);
var G__11275 = c__5632__auto___11273;
var G__11276 = cljs.core.count.call(null,c__5632__auto___11273);
var G__11277 = 0;
seq__9174_11262 = G__11274;
chunk__9175_11263 = G__11275;
count__9176_11264 = G__11276;
i__9177_11265 = G__11277;
continue;
}
} else
{var arg__7510__auto___11278 = cljs.core.first.call(null,seq__9174_11272__$1);a__7509__auto__.push(arg__7510__auto___11278);
{
var G__11279 = cljs.core.next.call(null,seq__9174_11272__$1);
var G__11280 = null;
var G__11281 = 0;
var G__11282 = 0;
seq__9174_11262 = G__11279;
chunk__9175_11263 = G__11280;
count__9176_11264 = G__11281;
i__9177_11265 = G__11282;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.samp.apply(null,a__7509__auto__);
};
var samp = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return samp__delegate.call(this,args__7508__auto__);};
samp.cljs$lang$maxFixedArity = 0;
samp.cljs$lang$applyTo = (function (arglist__11283){
var args__7508__auto__ = cljs.core.seq(arglist__11283);
return samp__delegate(args__7508__auto__);
});
samp.cljs$core$IFn$_invoke$arity$variadic = samp__delegate;
return samp;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.script = (function() {
var script__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9182_11284 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9183_11285 = null;var count__9184_11286 = 0;var i__9185_11287 = 0;while(true){
if((i__9185_11287 < count__9184_11286))
{var arg__7510__auto___11288 = cljs.core._nth.call(null,chunk__9183_11285,i__9185_11287);a__7509__auto__.push(arg__7510__auto___11288);
{
var G__11289 = seq__9182_11284;
var G__11290 = chunk__9183_11285;
var G__11291 = count__9184_11286;
var G__11292 = (i__9185_11287 + 1);
seq__9182_11284 = G__11289;
chunk__9183_11285 = G__11290;
count__9184_11286 = G__11291;
i__9185_11287 = G__11292;
continue;
}
} else
{var temp__4092__auto___11293 = cljs.core.seq.call(null,seq__9182_11284);if(temp__4092__auto___11293)
{var seq__9182_11294__$1 = temp__4092__auto___11293;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9182_11294__$1))
{var c__5632__auto___11295 = cljs.core.chunk_first.call(null,seq__9182_11294__$1);{
var G__11296 = cljs.core.chunk_rest.call(null,seq__9182_11294__$1);
var G__11297 = c__5632__auto___11295;
var G__11298 = cljs.core.count.call(null,c__5632__auto___11295);
var G__11299 = 0;
seq__9182_11284 = G__11296;
chunk__9183_11285 = G__11297;
count__9184_11286 = G__11298;
i__9185_11287 = G__11299;
continue;
}
} else
{var arg__7510__auto___11300 = cljs.core.first.call(null,seq__9182_11294__$1);a__7509__auto__.push(arg__7510__auto___11300);
{
var G__11301 = cljs.core.next.call(null,seq__9182_11294__$1);
var G__11302 = null;
var G__11303 = 0;
var G__11304 = 0;
seq__9182_11284 = G__11301;
chunk__9183_11285 = G__11302;
count__9184_11286 = G__11303;
i__9185_11287 = G__11304;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.script.apply(null,a__7509__auto__);
};
var script = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return script__delegate.call(this,args__7508__auto__);};
script.cljs$lang$maxFixedArity = 0;
script.cljs$lang$applyTo = (function (arglist__11305){
var args__7508__auto__ = cljs.core.seq(arglist__11305);
return script__delegate(args__7508__auto__);
});
script.cljs$core$IFn$_invoke$arity$variadic = script__delegate;
return script;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.section = (function() {
var section__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9190_11306 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9191_11307 = null;var count__9192_11308 = 0;var i__9193_11309 = 0;while(true){
if((i__9193_11309 < count__9192_11308))
{var arg__7510__auto___11310 = cljs.core._nth.call(null,chunk__9191_11307,i__9193_11309);a__7509__auto__.push(arg__7510__auto___11310);
{
var G__11311 = seq__9190_11306;
var G__11312 = chunk__9191_11307;
var G__11313 = count__9192_11308;
var G__11314 = (i__9193_11309 + 1);
seq__9190_11306 = G__11311;
chunk__9191_11307 = G__11312;
count__9192_11308 = G__11313;
i__9193_11309 = G__11314;
continue;
}
} else
{var temp__4092__auto___11315 = cljs.core.seq.call(null,seq__9190_11306);if(temp__4092__auto___11315)
{var seq__9190_11316__$1 = temp__4092__auto___11315;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9190_11316__$1))
{var c__5632__auto___11317 = cljs.core.chunk_first.call(null,seq__9190_11316__$1);{
var G__11318 = cljs.core.chunk_rest.call(null,seq__9190_11316__$1);
var G__11319 = c__5632__auto___11317;
var G__11320 = cljs.core.count.call(null,c__5632__auto___11317);
var G__11321 = 0;
seq__9190_11306 = G__11318;
chunk__9191_11307 = G__11319;
count__9192_11308 = G__11320;
i__9193_11309 = G__11321;
continue;
}
} else
{var arg__7510__auto___11322 = cljs.core.first.call(null,seq__9190_11316__$1);a__7509__auto__.push(arg__7510__auto___11322);
{
var G__11323 = cljs.core.next.call(null,seq__9190_11316__$1);
var G__11324 = null;
var G__11325 = 0;
var G__11326 = 0;
seq__9190_11306 = G__11323;
chunk__9191_11307 = G__11324;
count__9192_11308 = G__11325;
i__9193_11309 = G__11326;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.section.apply(null,a__7509__auto__);
};
var section = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return section__delegate.call(this,args__7508__auto__);};
section.cljs$lang$maxFixedArity = 0;
section.cljs$lang$applyTo = (function (arglist__11327){
var args__7508__auto__ = cljs.core.seq(arglist__11327);
return section__delegate(args__7508__auto__);
});
section.cljs$core$IFn$_invoke$arity$variadic = section__delegate;
return section;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.select = (function() {
var select__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9198_11328 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9199_11329 = null;var count__9200_11330 = 0;var i__9201_11331 = 0;while(true){
if((i__9201_11331 < count__9200_11330))
{var arg__7510__auto___11332 = cljs.core._nth.call(null,chunk__9199_11329,i__9201_11331);a__7509__auto__.push(arg__7510__auto___11332);
{
var G__11333 = seq__9198_11328;
var G__11334 = chunk__9199_11329;
var G__11335 = count__9200_11330;
var G__11336 = (i__9201_11331 + 1);
seq__9198_11328 = G__11333;
chunk__9199_11329 = G__11334;
count__9200_11330 = G__11335;
i__9201_11331 = G__11336;
continue;
}
} else
{var temp__4092__auto___11337 = cljs.core.seq.call(null,seq__9198_11328);if(temp__4092__auto___11337)
{var seq__9198_11338__$1 = temp__4092__auto___11337;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9198_11338__$1))
{var c__5632__auto___11339 = cljs.core.chunk_first.call(null,seq__9198_11338__$1);{
var G__11340 = cljs.core.chunk_rest.call(null,seq__9198_11338__$1);
var G__11341 = c__5632__auto___11339;
var G__11342 = cljs.core.count.call(null,c__5632__auto___11339);
var G__11343 = 0;
seq__9198_11328 = G__11340;
chunk__9199_11329 = G__11341;
count__9200_11330 = G__11342;
i__9201_11331 = G__11343;
continue;
}
} else
{var arg__7510__auto___11344 = cljs.core.first.call(null,seq__9198_11338__$1);a__7509__auto__.push(arg__7510__auto___11344);
{
var G__11345 = cljs.core.next.call(null,seq__9198_11338__$1);
var G__11346 = null;
var G__11347 = 0;
var G__11348 = 0;
seq__9198_11328 = G__11345;
chunk__9199_11329 = G__11346;
count__9200_11330 = G__11347;
i__9201_11331 = G__11348;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.select.apply(null,a__7509__auto__);
};
var select = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return select__delegate.call(this,args__7508__auto__);};
select.cljs$lang$maxFixedArity = 0;
select.cljs$lang$applyTo = (function (arglist__11349){
var args__7508__auto__ = cljs.core.seq(arglist__11349);
return select__delegate(args__7508__auto__);
});
select.cljs$core$IFn$_invoke$arity$variadic = select__delegate;
return select;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.small = (function() {
var small__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9206_11350 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9207_11351 = null;var count__9208_11352 = 0;var i__9209_11353 = 0;while(true){
if((i__9209_11353 < count__9208_11352))
{var arg__7510__auto___11354 = cljs.core._nth.call(null,chunk__9207_11351,i__9209_11353);a__7509__auto__.push(arg__7510__auto___11354);
{
var G__11355 = seq__9206_11350;
var G__11356 = chunk__9207_11351;
var G__11357 = count__9208_11352;
var G__11358 = (i__9209_11353 + 1);
seq__9206_11350 = G__11355;
chunk__9207_11351 = G__11356;
count__9208_11352 = G__11357;
i__9209_11353 = G__11358;
continue;
}
} else
{var temp__4092__auto___11359 = cljs.core.seq.call(null,seq__9206_11350);if(temp__4092__auto___11359)
{var seq__9206_11360__$1 = temp__4092__auto___11359;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9206_11360__$1))
{var c__5632__auto___11361 = cljs.core.chunk_first.call(null,seq__9206_11360__$1);{
var G__11362 = cljs.core.chunk_rest.call(null,seq__9206_11360__$1);
var G__11363 = c__5632__auto___11361;
var G__11364 = cljs.core.count.call(null,c__5632__auto___11361);
var G__11365 = 0;
seq__9206_11350 = G__11362;
chunk__9207_11351 = G__11363;
count__9208_11352 = G__11364;
i__9209_11353 = G__11365;
continue;
}
} else
{var arg__7510__auto___11366 = cljs.core.first.call(null,seq__9206_11360__$1);a__7509__auto__.push(arg__7510__auto___11366);
{
var G__11367 = cljs.core.next.call(null,seq__9206_11360__$1);
var G__11368 = null;
var G__11369 = 0;
var G__11370 = 0;
seq__9206_11350 = G__11367;
chunk__9207_11351 = G__11368;
count__9208_11352 = G__11369;
i__9209_11353 = G__11370;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.small.apply(null,a__7509__auto__);
};
var small = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return small__delegate.call(this,args__7508__auto__);};
small.cljs$lang$maxFixedArity = 0;
small.cljs$lang$applyTo = (function (arglist__11371){
var args__7508__auto__ = cljs.core.seq(arglist__11371);
return small__delegate(args__7508__auto__);
});
small.cljs$core$IFn$_invoke$arity$variadic = small__delegate;
return small;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.source = (function() {
var source__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9214_11372 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9215_11373 = null;var count__9216_11374 = 0;var i__9217_11375 = 0;while(true){
if((i__9217_11375 < count__9216_11374))
{var arg__7510__auto___11376 = cljs.core._nth.call(null,chunk__9215_11373,i__9217_11375);a__7509__auto__.push(arg__7510__auto___11376);
{
var G__11377 = seq__9214_11372;
var G__11378 = chunk__9215_11373;
var G__11379 = count__9216_11374;
var G__11380 = (i__9217_11375 + 1);
seq__9214_11372 = G__11377;
chunk__9215_11373 = G__11378;
count__9216_11374 = G__11379;
i__9217_11375 = G__11380;
continue;
}
} else
{var temp__4092__auto___11381 = cljs.core.seq.call(null,seq__9214_11372);if(temp__4092__auto___11381)
{var seq__9214_11382__$1 = temp__4092__auto___11381;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9214_11382__$1))
{var c__5632__auto___11383 = cljs.core.chunk_first.call(null,seq__9214_11382__$1);{
var G__11384 = cljs.core.chunk_rest.call(null,seq__9214_11382__$1);
var G__11385 = c__5632__auto___11383;
var G__11386 = cljs.core.count.call(null,c__5632__auto___11383);
var G__11387 = 0;
seq__9214_11372 = G__11384;
chunk__9215_11373 = G__11385;
count__9216_11374 = G__11386;
i__9217_11375 = G__11387;
continue;
}
} else
{var arg__7510__auto___11388 = cljs.core.first.call(null,seq__9214_11382__$1);a__7509__auto__.push(arg__7510__auto___11388);
{
var G__11389 = cljs.core.next.call(null,seq__9214_11382__$1);
var G__11390 = null;
var G__11391 = 0;
var G__11392 = 0;
seq__9214_11372 = G__11389;
chunk__9215_11373 = G__11390;
count__9216_11374 = G__11391;
i__9217_11375 = G__11392;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.source.apply(null,a__7509__auto__);
};
var source = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return source__delegate.call(this,args__7508__auto__);};
source.cljs$lang$maxFixedArity = 0;
source.cljs$lang$applyTo = (function (arglist__11393){
var args__7508__auto__ = cljs.core.seq(arglist__11393);
return source__delegate(args__7508__auto__);
});
source.cljs$core$IFn$_invoke$arity$variadic = source__delegate;
return source;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.span = (function() {
var span__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9222_11394 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9223_11395 = null;var count__9224_11396 = 0;var i__9225_11397 = 0;while(true){
if((i__9225_11397 < count__9224_11396))
{var arg__7510__auto___11398 = cljs.core._nth.call(null,chunk__9223_11395,i__9225_11397);a__7509__auto__.push(arg__7510__auto___11398);
{
var G__11399 = seq__9222_11394;
var G__11400 = chunk__9223_11395;
var G__11401 = count__9224_11396;
var G__11402 = (i__9225_11397 + 1);
seq__9222_11394 = G__11399;
chunk__9223_11395 = G__11400;
count__9224_11396 = G__11401;
i__9225_11397 = G__11402;
continue;
}
} else
{var temp__4092__auto___11403 = cljs.core.seq.call(null,seq__9222_11394);if(temp__4092__auto___11403)
{var seq__9222_11404__$1 = temp__4092__auto___11403;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9222_11404__$1))
{var c__5632__auto___11405 = cljs.core.chunk_first.call(null,seq__9222_11404__$1);{
var G__11406 = cljs.core.chunk_rest.call(null,seq__9222_11404__$1);
var G__11407 = c__5632__auto___11405;
var G__11408 = cljs.core.count.call(null,c__5632__auto___11405);
var G__11409 = 0;
seq__9222_11394 = G__11406;
chunk__9223_11395 = G__11407;
count__9224_11396 = G__11408;
i__9225_11397 = G__11409;
continue;
}
} else
{var arg__7510__auto___11410 = cljs.core.first.call(null,seq__9222_11404__$1);a__7509__auto__.push(arg__7510__auto___11410);
{
var G__11411 = cljs.core.next.call(null,seq__9222_11404__$1);
var G__11412 = null;
var G__11413 = 0;
var G__11414 = 0;
seq__9222_11394 = G__11411;
chunk__9223_11395 = G__11412;
count__9224_11396 = G__11413;
i__9225_11397 = G__11414;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.span.apply(null,a__7509__auto__);
};
var span = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return span__delegate.call(this,args__7508__auto__);};
span.cljs$lang$maxFixedArity = 0;
span.cljs$lang$applyTo = (function (arglist__11415){
var args__7508__auto__ = cljs.core.seq(arglist__11415);
return span__delegate(args__7508__auto__);
});
span.cljs$core$IFn$_invoke$arity$variadic = span__delegate;
return span;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.strong = (function() {
var strong__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9230_11416 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9231_11417 = null;var count__9232_11418 = 0;var i__9233_11419 = 0;while(true){
if((i__9233_11419 < count__9232_11418))
{var arg__7510__auto___11420 = cljs.core._nth.call(null,chunk__9231_11417,i__9233_11419);a__7509__auto__.push(arg__7510__auto___11420);
{
var G__11421 = seq__9230_11416;
var G__11422 = chunk__9231_11417;
var G__11423 = count__9232_11418;
var G__11424 = (i__9233_11419 + 1);
seq__9230_11416 = G__11421;
chunk__9231_11417 = G__11422;
count__9232_11418 = G__11423;
i__9233_11419 = G__11424;
continue;
}
} else
{var temp__4092__auto___11425 = cljs.core.seq.call(null,seq__9230_11416);if(temp__4092__auto___11425)
{var seq__9230_11426__$1 = temp__4092__auto___11425;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9230_11426__$1))
{var c__5632__auto___11427 = cljs.core.chunk_first.call(null,seq__9230_11426__$1);{
var G__11428 = cljs.core.chunk_rest.call(null,seq__9230_11426__$1);
var G__11429 = c__5632__auto___11427;
var G__11430 = cljs.core.count.call(null,c__5632__auto___11427);
var G__11431 = 0;
seq__9230_11416 = G__11428;
chunk__9231_11417 = G__11429;
count__9232_11418 = G__11430;
i__9233_11419 = G__11431;
continue;
}
} else
{var arg__7510__auto___11432 = cljs.core.first.call(null,seq__9230_11426__$1);a__7509__auto__.push(arg__7510__auto___11432);
{
var G__11433 = cljs.core.next.call(null,seq__9230_11426__$1);
var G__11434 = null;
var G__11435 = 0;
var G__11436 = 0;
seq__9230_11416 = G__11433;
chunk__9231_11417 = G__11434;
count__9232_11418 = G__11435;
i__9233_11419 = G__11436;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.strong.apply(null,a__7509__auto__);
};
var strong = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return strong__delegate.call(this,args__7508__auto__);};
strong.cljs$lang$maxFixedArity = 0;
strong.cljs$lang$applyTo = (function (arglist__11437){
var args__7508__auto__ = cljs.core.seq(arglist__11437);
return strong__delegate(args__7508__auto__);
});
strong.cljs$core$IFn$_invoke$arity$variadic = strong__delegate;
return strong;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.style = (function() {
var style__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9238_11438 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9239_11439 = null;var count__9240_11440 = 0;var i__9241_11441 = 0;while(true){
if((i__9241_11441 < count__9240_11440))
{var arg__7510__auto___11442 = cljs.core._nth.call(null,chunk__9239_11439,i__9241_11441);a__7509__auto__.push(arg__7510__auto___11442);
{
var G__11443 = seq__9238_11438;
var G__11444 = chunk__9239_11439;
var G__11445 = count__9240_11440;
var G__11446 = (i__9241_11441 + 1);
seq__9238_11438 = G__11443;
chunk__9239_11439 = G__11444;
count__9240_11440 = G__11445;
i__9241_11441 = G__11446;
continue;
}
} else
{var temp__4092__auto___11447 = cljs.core.seq.call(null,seq__9238_11438);if(temp__4092__auto___11447)
{var seq__9238_11448__$1 = temp__4092__auto___11447;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9238_11448__$1))
{var c__5632__auto___11449 = cljs.core.chunk_first.call(null,seq__9238_11448__$1);{
var G__11450 = cljs.core.chunk_rest.call(null,seq__9238_11448__$1);
var G__11451 = c__5632__auto___11449;
var G__11452 = cljs.core.count.call(null,c__5632__auto___11449);
var G__11453 = 0;
seq__9238_11438 = G__11450;
chunk__9239_11439 = G__11451;
count__9240_11440 = G__11452;
i__9241_11441 = G__11453;
continue;
}
} else
{var arg__7510__auto___11454 = cljs.core.first.call(null,seq__9238_11448__$1);a__7509__auto__.push(arg__7510__auto___11454);
{
var G__11455 = cljs.core.next.call(null,seq__9238_11448__$1);
var G__11456 = null;
var G__11457 = 0;
var G__11458 = 0;
seq__9238_11438 = G__11455;
chunk__9239_11439 = G__11456;
count__9240_11440 = G__11457;
i__9241_11441 = G__11458;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.style.apply(null,a__7509__auto__);
};
var style = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return style__delegate.call(this,args__7508__auto__);};
style.cljs$lang$maxFixedArity = 0;
style.cljs$lang$applyTo = (function (arglist__11459){
var args__7508__auto__ = cljs.core.seq(arglist__11459);
return style__delegate(args__7508__auto__);
});
style.cljs$core$IFn$_invoke$arity$variadic = style__delegate;
return style;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.sub = (function() {
var sub__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9246_11460 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9247_11461 = null;var count__9248_11462 = 0;var i__9249_11463 = 0;while(true){
if((i__9249_11463 < count__9248_11462))
{var arg__7510__auto___11464 = cljs.core._nth.call(null,chunk__9247_11461,i__9249_11463);a__7509__auto__.push(arg__7510__auto___11464);
{
var G__11465 = seq__9246_11460;
var G__11466 = chunk__9247_11461;
var G__11467 = count__9248_11462;
var G__11468 = (i__9249_11463 + 1);
seq__9246_11460 = G__11465;
chunk__9247_11461 = G__11466;
count__9248_11462 = G__11467;
i__9249_11463 = G__11468;
continue;
}
} else
{var temp__4092__auto___11469 = cljs.core.seq.call(null,seq__9246_11460);if(temp__4092__auto___11469)
{var seq__9246_11470__$1 = temp__4092__auto___11469;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9246_11470__$1))
{var c__5632__auto___11471 = cljs.core.chunk_first.call(null,seq__9246_11470__$1);{
var G__11472 = cljs.core.chunk_rest.call(null,seq__9246_11470__$1);
var G__11473 = c__5632__auto___11471;
var G__11474 = cljs.core.count.call(null,c__5632__auto___11471);
var G__11475 = 0;
seq__9246_11460 = G__11472;
chunk__9247_11461 = G__11473;
count__9248_11462 = G__11474;
i__9249_11463 = G__11475;
continue;
}
} else
{var arg__7510__auto___11476 = cljs.core.first.call(null,seq__9246_11470__$1);a__7509__auto__.push(arg__7510__auto___11476);
{
var G__11477 = cljs.core.next.call(null,seq__9246_11470__$1);
var G__11478 = null;
var G__11479 = 0;
var G__11480 = 0;
seq__9246_11460 = G__11477;
chunk__9247_11461 = G__11478;
count__9248_11462 = G__11479;
i__9249_11463 = G__11480;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.sub.apply(null,a__7509__auto__);
};
var sub = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return sub__delegate.call(this,args__7508__auto__);};
sub.cljs$lang$maxFixedArity = 0;
sub.cljs$lang$applyTo = (function (arglist__11481){
var args__7508__auto__ = cljs.core.seq(arglist__11481);
return sub__delegate(args__7508__auto__);
});
sub.cljs$core$IFn$_invoke$arity$variadic = sub__delegate;
return sub;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.summary = (function() {
var summary__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9254_11482 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9255_11483 = null;var count__9256_11484 = 0;var i__9257_11485 = 0;while(true){
if((i__9257_11485 < count__9256_11484))
{var arg__7510__auto___11486 = cljs.core._nth.call(null,chunk__9255_11483,i__9257_11485);a__7509__auto__.push(arg__7510__auto___11486);
{
var G__11487 = seq__9254_11482;
var G__11488 = chunk__9255_11483;
var G__11489 = count__9256_11484;
var G__11490 = (i__9257_11485 + 1);
seq__9254_11482 = G__11487;
chunk__9255_11483 = G__11488;
count__9256_11484 = G__11489;
i__9257_11485 = G__11490;
continue;
}
} else
{var temp__4092__auto___11491 = cljs.core.seq.call(null,seq__9254_11482);if(temp__4092__auto___11491)
{var seq__9254_11492__$1 = temp__4092__auto___11491;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9254_11492__$1))
{var c__5632__auto___11493 = cljs.core.chunk_first.call(null,seq__9254_11492__$1);{
var G__11494 = cljs.core.chunk_rest.call(null,seq__9254_11492__$1);
var G__11495 = c__5632__auto___11493;
var G__11496 = cljs.core.count.call(null,c__5632__auto___11493);
var G__11497 = 0;
seq__9254_11482 = G__11494;
chunk__9255_11483 = G__11495;
count__9256_11484 = G__11496;
i__9257_11485 = G__11497;
continue;
}
} else
{var arg__7510__auto___11498 = cljs.core.first.call(null,seq__9254_11492__$1);a__7509__auto__.push(arg__7510__auto___11498);
{
var G__11499 = cljs.core.next.call(null,seq__9254_11492__$1);
var G__11500 = null;
var G__11501 = 0;
var G__11502 = 0;
seq__9254_11482 = G__11499;
chunk__9255_11483 = G__11500;
count__9256_11484 = G__11501;
i__9257_11485 = G__11502;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.summary.apply(null,a__7509__auto__);
};
var summary = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return summary__delegate.call(this,args__7508__auto__);};
summary.cljs$lang$maxFixedArity = 0;
summary.cljs$lang$applyTo = (function (arglist__11503){
var args__7508__auto__ = cljs.core.seq(arglist__11503);
return summary__delegate(args__7508__auto__);
});
summary.cljs$core$IFn$_invoke$arity$variadic = summary__delegate;
return summary;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.sup = (function() {
var sup__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9262_11504 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9263_11505 = null;var count__9264_11506 = 0;var i__9265_11507 = 0;while(true){
if((i__9265_11507 < count__9264_11506))
{var arg__7510__auto___11508 = cljs.core._nth.call(null,chunk__9263_11505,i__9265_11507);a__7509__auto__.push(arg__7510__auto___11508);
{
var G__11509 = seq__9262_11504;
var G__11510 = chunk__9263_11505;
var G__11511 = count__9264_11506;
var G__11512 = (i__9265_11507 + 1);
seq__9262_11504 = G__11509;
chunk__9263_11505 = G__11510;
count__9264_11506 = G__11511;
i__9265_11507 = G__11512;
continue;
}
} else
{var temp__4092__auto___11513 = cljs.core.seq.call(null,seq__9262_11504);if(temp__4092__auto___11513)
{var seq__9262_11514__$1 = temp__4092__auto___11513;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9262_11514__$1))
{var c__5632__auto___11515 = cljs.core.chunk_first.call(null,seq__9262_11514__$1);{
var G__11516 = cljs.core.chunk_rest.call(null,seq__9262_11514__$1);
var G__11517 = c__5632__auto___11515;
var G__11518 = cljs.core.count.call(null,c__5632__auto___11515);
var G__11519 = 0;
seq__9262_11504 = G__11516;
chunk__9263_11505 = G__11517;
count__9264_11506 = G__11518;
i__9265_11507 = G__11519;
continue;
}
} else
{var arg__7510__auto___11520 = cljs.core.first.call(null,seq__9262_11514__$1);a__7509__auto__.push(arg__7510__auto___11520);
{
var G__11521 = cljs.core.next.call(null,seq__9262_11514__$1);
var G__11522 = null;
var G__11523 = 0;
var G__11524 = 0;
seq__9262_11504 = G__11521;
chunk__9263_11505 = G__11522;
count__9264_11506 = G__11523;
i__9265_11507 = G__11524;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.sup.apply(null,a__7509__auto__);
};
var sup = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return sup__delegate.call(this,args__7508__auto__);};
sup.cljs$lang$maxFixedArity = 0;
sup.cljs$lang$applyTo = (function (arglist__11525){
var args__7508__auto__ = cljs.core.seq(arglist__11525);
return sup__delegate(args__7508__auto__);
});
sup.cljs$core$IFn$_invoke$arity$variadic = sup__delegate;
return sup;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.table = (function() {
var table__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9270_11526 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9271_11527 = null;var count__9272_11528 = 0;var i__9273_11529 = 0;while(true){
if((i__9273_11529 < count__9272_11528))
{var arg__7510__auto___11530 = cljs.core._nth.call(null,chunk__9271_11527,i__9273_11529);a__7509__auto__.push(arg__7510__auto___11530);
{
var G__11531 = seq__9270_11526;
var G__11532 = chunk__9271_11527;
var G__11533 = count__9272_11528;
var G__11534 = (i__9273_11529 + 1);
seq__9270_11526 = G__11531;
chunk__9271_11527 = G__11532;
count__9272_11528 = G__11533;
i__9273_11529 = G__11534;
continue;
}
} else
{var temp__4092__auto___11535 = cljs.core.seq.call(null,seq__9270_11526);if(temp__4092__auto___11535)
{var seq__9270_11536__$1 = temp__4092__auto___11535;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9270_11536__$1))
{var c__5632__auto___11537 = cljs.core.chunk_first.call(null,seq__9270_11536__$1);{
var G__11538 = cljs.core.chunk_rest.call(null,seq__9270_11536__$1);
var G__11539 = c__5632__auto___11537;
var G__11540 = cljs.core.count.call(null,c__5632__auto___11537);
var G__11541 = 0;
seq__9270_11526 = G__11538;
chunk__9271_11527 = G__11539;
count__9272_11528 = G__11540;
i__9273_11529 = G__11541;
continue;
}
} else
{var arg__7510__auto___11542 = cljs.core.first.call(null,seq__9270_11536__$1);a__7509__auto__.push(arg__7510__auto___11542);
{
var G__11543 = cljs.core.next.call(null,seq__9270_11536__$1);
var G__11544 = null;
var G__11545 = 0;
var G__11546 = 0;
seq__9270_11526 = G__11543;
chunk__9271_11527 = G__11544;
count__9272_11528 = G__11545;
i__9273_11529 = G__11546;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.table.apply(null,a__7509__auto__);
};
var table = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return table__delegate.call(this,args__7508__auto__);};
table.cljs$lang$maxFixedArity = 0;
table.cljs$lang$applyTo = (function (arglist__11547){
var args__7508__auto__ = cljs.core.seq(arglist__11547);
return table__delegate(args__7508__auto__);
});
table.cljs$core$IFn$_invoke$arity$variadic = table__delegate;
return table;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.tbody = (function() {
var tbody__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9278_11548 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9279_11549 = null;var count__9280_11550 = 0;var i__9281_11551 = 0;while(true){
if((i__9281_11551 < count__9280_11550))
{var arg__7510__auto___11552 = cljs.core._nth.call(null,chunk__9279_11549,i__9281_11551);a__7509__auto__.push(arg__7510__auto___11552);
{
var G__11553 = seq__9278_11548;
var G__11554 = chunk__9279_11549;
var G__11555 = count__9280_11550;
var G__11556 = (i__9281_11551 + 1);
seq__9278_11548 = G__11553;
chunk__9279_11549 = G__11554;
count__9280_11550 = G__11555;
i__9281_11551 = G__11556;
continue;
}
} else
{var temp__4092__auto___11557 = cljs.core.seq.call(null,seq__9278_11548);if(temp__4092__auto___11557)
{var seq__9278_11558__$1 = temp__4092__auto___11557;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9278_11558__$1))
{var c__5632__auto___11559 = cljs.core.chunk_first.call(null,seq__9278_11558__$1);{
var G__11560 = cljs.core.chunk_rest.call(null,seq__9278_11558__$1);
var G__11561 = c__5632__auto___11559;
var G__11562 = cljs.core.count.call(null,c__5632__auto___11559);
var G__11563 = 0;
seq__9278_11548 = G__11560;
chunk__9279_11549 = G__11561;
count__9280_11550 = G__11562;
i__9281_11551 = G__11563;
continue;
}
} else
{var arg__7510__auto___11564 = cljs.core.first.call(null,seq__9278_11558__$1);a__7509__auto__.push(arg__7510__auto___11564);
{
var G__11565 = cljs.core.next.call(null,seq__9278_11558__$1);
var G__11566 = null;
var G__11567 = 0;
var G__11568 = 0;
seq__9278_11548 = G__11565;
chunk__9279_11549 = G__11566;
count__9280_11550 = G__11567;
i__9281_11551 = G__11568;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.tbody.apply(null,a__7509__auto__);
};
var tbody = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return tbody__delegate.call(this,args__7508__auto__);};
tbody.cljs$lang$maxFixedArity = 0;
tbody.cljs$lang$applyTo = (function (arglist__11569){
var args__7508__auto__ = cljs.core.seq(arglist__11569);
return tbody__delegate(args__7508__auto__);
});
tbody.cljs$core$IFn$_invoke$arity$variadic = tbody__delegate;
return tbody;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.td = (function() {
var td__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9286_11570 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9287_11571 = null;var count__9288_11572 = 0;var i__9289_11573 = 0;while(true){
if((i__9289_11573 < count__9288_11572))
{var arg__7510__auto___11574 = cljs.core._nth.call(null,chunk__9287_11571,i__9289_11573);a__7509__auto__.push(arg__7510__auto___11574);
{
var G__11575 = seq__9286_11570;
var G__11576 = chunk__9287_11571;
var G__11577 = count__9288_11572;
var G__11578 = (i__9289_11573 + 1);
seq__9286_11570 = G__11575;
chunk__9287_11571 = G__11576;
count__9288_11572 = G__11577;
i__9289_11573 = G__11578;
continue;
}
} else
{var temp__4092__auto___11579 = cljs.core.seq.call(null,seq__9286_11570);if(temp__4092__auto___11579)
{var seq__9286_11580__$1 = temp__4092__auto___11579;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9286_11580__$1))
{var c__5632__auto___11581 = cljs.core.chunk_first.call(null,seq__9286_11580__$1);{
var G__11582 = cljs.core.chunk_rest.call(null,seq__9286_11580__$1);
var G__11583 = c__5632__auto___11581;
var G__11584 = cljs.core.count.call(null,c__5632__auto___11581);
var G__11585 = 0;
seq__9286_11570 = G__11582;
chunk__9287_11571 = G__11583;
count__9288_11572 = G__11584;
i__9289_11573 = G__11585;
continue;
}
} else
{var arg__7510__auto___11586 = cljs.core.first.call(null,seq__9286_11580__$1);a__7509__auto__.push(arg__7510__auto___11586);
{
var G__11587 = cljs.core.next.call(null,seq__9286_11580__$1);
var G__11588 = null;
var G__11589 = 0;
var G__11590 = 0;
seq__9286_11570 = G__11587;
chunk__9287_11571 = G__11588;
count__9288_11572 = G__11589;
i__9289_11573 = G__11590;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.td.apply(null,a__7509__auto__);
};
var td = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return td__delegate.call(this,args__7508__auto__);};
td.cljs$lang$maxFixedArity = 0;
td.cljs$lang$applyTo = (function (arglist__11591){
var args__7508__auto__ = cljs.core.seq(arglist__11591);
return td__delegate(args__7508__auto__);
});
td.cljs$core$IFn$_invoke$arity$variadic = td__delegate;
return td;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.textarea = (function() {
var textarea__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9294_11592 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9295_11593 = null;var count__9296_11594 = 0;var i__9297_11595 = 0;while(true){
if((i__9297_11595 < count__9296_11594))
{var arg__7510__auto___11596 = cljs.core._nth.call(null,chunk__9295_11593,i__9297_11595);a__7509__auto__.push(arg__7510__auto___11596);
{
var G__11597 = seq__9294_11592;
var G__11598 = chunk__9295_11593;
var G__11599 = count__9296_11594;
var G__11600 = (i__9297_11595 + 1);
seq__9294_11592 = G__11597;
chunk__9295_11593 = G__11598;
count__9296_11594 = G__11599;
i__9297_11595 = G__11600;
continue;
}
} else
{var temp__4092__auto___11601 = cljs.core.seq.call(null,seq__9294_11592);if(temp__4092__auto___11601)
{var seq__9294_11602__$1 = temp__4092__auto___11601;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9294_11602__$1))
{var c__5632__auto___11603 = cljs.core.chunk_first.call(null,seq__9294_11602__$1);{
var G__11604 = cljs.core.chunk_rest.call(null,seq__9294_11602__$1);
var G__11605 = c__5632__auto___11603;
var G__11606 = cljs.core.count.call(null,c__5632__auto___11603);
var G__11607 = 0;
seq__9294_11592 = G__11604;
chunk__9295_11593 = G__11605;
count__9296_11594 = G__11606;
i__9297_11595 = G__11607;
continue;
}
} else
{var arg__7510__auto___11608 = cljs.core.first.call(null,seq__9294_11602__$1);a__7509__auto__.push(arg__7510__auto___11608);
{
var G__11609 = cljs.core.next.call(null,seq__9294_11602__$1);
var G__11610 = null;
var G__11611 = 0;
var G__11612 = 0;
seq__9294_11592 = G__11609;
chunk__9295_11593 = G__11610;
count__9296_11594 = G__11611;
i__9297_11595 = G__11612;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.textarea.apply(null,a__7509__auto__);
};
var textarea = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return textarea__delegate.call(this,args__7508__auto__);};
textarea.cljs$lang$maxFixedArity = 0;
textarea.cljs$lang$applyTo = (function (arglist__11613){
var args__7508__auto__ = cljs.core.seq(arglist__11613);
return textarea__delegate(args__7508__auto__);
});
textarea.cljs$core$IFn$_invoke$arity$variadic = textarea__delegate;
return textarea;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.tfoot = (function() {
var tfoot__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9302_11614 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9303_11615 = null;var count__9304_11616 = 0;var i__9305_11617 = 0;while(true){
if((i__9305_11617 < count__9304_11616))
{var arg__7510__auto___11618 = cljs.core._nth.call(null,chunk__9303_11615,i__9305_11617);a__7509__auto__.push(arg__7510__auto___11618);
{
var G__11619 = seq__9302_11614;
var G__11620 = chunk__9303_11615;
var G__11621 = count__9304_11616;
var G__11622 = (i__9305_11617 + 1);
seq__9302_11614 = G__11619;
chunk__9303_11615 = G__11620;
count__9304_11616 = G__11621;
i__9305_11617 = G__11622;
continue;
}
} else
{var temp__4092__auto___11623 = cljs.core.seq.call(null,seq__9302_11614);if(temp__4092__auto___11623)
{var seq__9302_11624__$1 = temp__4092__auto___11623;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9302_11624__$1))
{var c__5632__auto___11625 = cljs.core.chunk_first.call(null,seq__9302_11624__$1);{
var G__11626 = cljs.core.chunk_rest.call(null,seq__9302_11624__$1);
var G__11627 = c__5632__auto___11625;
var G__11628 = cljs.core.count.call(null,c__5632__auto___11625);
var G__11629 = 0;
seq__9302_11614 = G__11626;
chunk__9303_11615 = G__11627;
count__9304_11616 = G__11628;
i__9305_11617 = G__11629;
continue;
}
} else
{var arg__7510__auto___11630 = cljs.core.first.call(null,seq__9302_11624__$1);a__7509__auto__.push(arg__7510__auto___11630);
{
var G__11631 = cljs.core.next.call(null,seq__9302_11624__$1);
var G__11632 = null;
var G__11633 = 0;
var G__11634 = 0;
seq__9302_11614 = G__11631;
chunk__9303_11615 = G__11632;
count__9304_11616 = G__11633;
i__9305_11617 = G__11634;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.tfoot.apply(null,a__7509__auto__);
};
var tfoot = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return tfoot__delegate.call(this,args__7508__auto__);};
tfoot.cljs$lang$maxFixedArity = 0;
tfoot.cljs$lang$applyTo = (function (arglist__11635){
var args__7508__auto__ = cljs.core.seq(arglist__11635);
return tfoot__delegate(args__7508__auto__);
});
tfoot.cljs$core$IFn$_invoke$arity$variadic = tfoot__delegate;
return tfoot;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.th = (function() {
var th__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9310_11636 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9311_11637 = null;var count__9312_11638 = 0;var i__9313_11639 = 0;while(true){
if((i__9313_11639 < count__9312_11638))
{var arg__7510__auto___11640 = cljs.core._nth.call(null,chunk__9311_11637,i__9313_11639);a__7509__auto__.push(arg__7510__auto___11640);
{
var G__11641 = seq__9310_11636;
var G__11642 = chunk__9311_11637;
var G__11643 = count__9312_11638;
var G__11644 = (i__9313_11639 + 1);
seq__9310_11636 = G__11641;
chunk__9311_11637 = G__11642;
count__9312_11638 = G__11643;
i__9313_11639 = G__11644;
continue;
}
} else
{var temp__4092__auto___11645 = cljs.core.seq.call(null,seq__9310_11636);if(temp__4092__auto___11645)
{var seq__9310_11646__$1 = temp__4092__auto___11645;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9310_11646__$1))
{var c__5632__auto___11647 = cljs.core.chunk_first.call(null,seq__9310_11646__$1);{
var G__11648 = cljs.core.chunk_rest.call(null,seq__9310_11646__$1);
var G__11649 = c__5632__auto___11647;
var G__11650 = cljs.core.count.call(null,c__5632__auto___11647);
var G__11651 = 0;
seq__9310_11636 = G__11648;
chunk__9311_11637 = G__11649;
count__9312_11638 = G__11650;
i__9313_11639 = G__11651;
continue;
}
} else
{var arg__7510__auto___11652 = cljs.core.first.call(null,seq__9310_11646__$1);a__7509__auto__.push(arg__7510__auto___11652);
{
var G__11653 = cljs.core.next.call(null,seq__9310_11646__$1);
var G__11654 = null;
var G__11655 = 0;
var G__11656 = 0;
seq__9310_11636 = G__11653;
chunk__9311_11637 = G__11654;
count__9312_11638 = G__11655;
i__9313_11639 = G__11656;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.th.apply(null,a__7509__auto__);
};
var th = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return th__delegate.call(this,args__7508__auto__);};
th.cljs$lang$maxFixedArity = 0;
th.cljs$lang$applyTo = (function (arglist__11657){
var args__7508__auto__ = cljs.core.seq(arglist__11657);
return th__delegate(args__7508__auto__);
});
th.cljs$core$IFn$_invoke$arity$variadic = th__delegate;
return th;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.thead = (function() {
var thead__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9318_11658 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9319_11659 = null;var count__9320_11660 = 0;var i__9321_11661 = 0;while(true){
if((i__9321_11661 < count__9320_11660))
{var arg__7510__auto___11662 = cljs.core._nth.call(null,chunk__9319_11659,i__9321_11661);a__7509__auto__.push(arg__7510__auto___11662);
{
var G__11663 = seq__9318_11658;
var G__11664 = chunk__9319_11659;
var G__11665 = count__9320_11660;
var G__11666 = (i__9321_11661 + 1);
seq__9318_11658 = G__11663;
chunk__9319_11659 = G__11664;
count__9320_11660 = G__11665;
i__9321_11661 = G__11666;
continue;
}
} else
{var temp__4092__auto___11667 = cljs.core.seq.call(null,seq__9318_11658);if(temp__4092__auto___11667)
{var seq__9318_11668__$1 = temp__4092__auto___11667;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9318_11668__$1))
{var c__5632__auto___11669 = cljs.core.chunk_first.call(null,seq__9318_11668__$1);{
var G__11670 = cljs.core.chunk_rest.call(null,seq__9318_11668__$1);
var G__11671 = c__5632__auto___11669;
var G__11672 = cljs.core.count.call(null,c__5632__auto___11669);
var G__11673 = 0;
seq__9318_11658 = G__11670;
chunk__9319_11659 = G__11671;
count__9320_11660 = G__11672;
i__9321_11661 = G__11673;
continue;
}
} else
{var arg__7510__auto___11674 = cljs.core.first.call(null,seq__9318_11668__$1);a__7509__auto__.push(arg__7510__auto___11674);
{
var G__11675 = cljs.core.next.call(null,seq__9318_11668__$1);
var G__11676 = null;
var G__11677 = 0;
var G__11678 = 0;
seq__9318_11658 = G__11675;
chunk__9319_11659 = G__11676;
count__9320_11660 = G__11677;
i__9321_11661 = G__11678;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.thead.apply(null,a__7509__auto__);
};
var thead = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return thead__delegate.call(this,args__7508__auto__);};
thead.cljs$lang$maxFixedArity = 0;
thead.cljs$lang$applyTo = (function (arglist__11679){
var args__7508__auto__ = cljs.core.seq(arglist__11679);
return thead__delegate(args__7508__auto__);
});
thead.cljs$core$IFn$_invoke$arity$variadic = thead__delegate;
return thead;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.time = (function() {
var time__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9326_11680 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9327_11681 = null;var count__9328_11682 = 0;var i__9329_11683 = 0;while(true){
if((i__9329_11683 < count__9328_11682))
{var arg__7510__auto___11684 = cljs.core._nth.call(null,chunk__9327_11681,i__9329_11683);a__7509__auto__.push(arg__7510__auto___11684);
{
var G__11685 = seq__9326_11680;
var G__11686 = chunk__9327_11681;
var G__11687 = count__9328_11682;
var G__11688 = (i__9329_11683 + 1);
seq__9326_11680 = G__11685;
chunk__9327_11681 = G__11686;
count__9328_11682 = G__11687;
i__9329_11683 = G__11688;
continue;
}
} else
{var temp__4092__auto___11689 = cljs.core.seq.call(null,seq__9326_11680);if(temp__4092__auto___11689)
{var seq__9326_11690__$1 = temp__4092__auto___11689;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9326_11690__$1))
{var c__5632__auto___11691 = cljs.core.chunk_first.call(null,seq__9326_11690__$1);{
var G__11692 = cljs.core.chunk_rest.call(null,seq__9326_11690__$1);
var G__11693 = c__5632__auto___11691;
var G__11694 = cljs.core.count.call(null,c__5632__auto___11691);
var G__11695 = 0;
seq__9326_11680 = G__11692;
chunk__9327_11681 = G__11693;
count__9328_11682 = G__11694;
i__9329_11683 = G__11695;
continue;
}
} else
{var arg__7510__auto___11696 = cljs.core.first.call(null,seq__9326_11690__$1);a__7509__auto__.push(arg__7510__auto___11696);
{
var G__11697 = cljs.core.next.call(null,seq__9326_11690__$1);
var G__11698 = null;
var G__11699 = 0;
var G__11700 = 0;
seq__9326_11680 = G__11697;
chunk__9327_11681 = G__11698;
count__9328_11682 = G__11699;
i__9329_11683 = G__11700;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.time.apply(null,a__7509__auto__);
};
var time = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return time__delegate.call(this,args__7508__auto__);};
time.cljs$lang$maxFixedArity = 0;
time.cljs$lang$applyTo = (function (arglist__11701){
var args__7508__auto__ = cljs.core.seq(arglist__11701);
return time__delegate(args__7508__auto__);
});
time.cljs$core$IFn$_invoke$arity$variadic = time__delegate;
return time;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.title = (function() {
var title__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9334_11702 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9335_11703 = null;var count__9336_11704 = 0;var i__9337_11705 = 0;while(true){
if((i__9337_11705 < count__9336_11704))
{var arg__7510__auto___11706 = cljs.core._nth.call(null,chunk__9335_11703,i__9337_11705);a__7509__auto__.push(arg__7510__auto___11706);
{
var G__11707 = seq__9334_11702;
var G__11708 = chunk__9335_11703;
var G__11709 = count__9336_11704;
var G__11710 = (i__9337_11705 + 1);
seq__9334_11702 = G__11707;
chunk__9335_11703 = G__11708;
count__9336_11704 = G__11709;
i__9337_11705 = G__11710;
continue;
}
} else
{var temp__4092__auto___11711 = cljs.core.seq.call(null,seq__9334_11702);if(temp__4092__auto___11711)
{var seq__9334_11712__$1 = temp__4092__auto___11711;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9334_11712__$1))
{var c__5632__auto___11713 = cljs.core.chunk_first.call(null,seq__9334_11712__$1);{
var G__11714 = cljs.core.chunk_rest.call(null,seq__9334_11712__$1);
var G__11715 = c__5632__auto___11713;
var G__11716 = cljs.core.count.call(null,c__5632__auto___11713);
var G__11717 = 0;
seq__9334_11702 = G__11714;
chunk__9335_11703 = G__11715;
count__9336_11704 = G__11716;
i__9337_11705 = G__11717;
continue;
}
} else
{var arg__7510__auto___11718 = cljs.core.first.call(null,seq__9334_11712__$1);a__7509__auto__.push(arg__7510__auto___11718);
{
var G__11719 = cljs.core.next.call(null,seq__9334_11712__$1);
var G__11720 = null;
var G__11721 = 0;
var G__11722 = 0;
seq__9334_11702 = G__11719;
chunk__9335_11703 = G__11720;
count__9336_11704 = G__11721;
i__9337_11705 = G__11722;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.title.apply(null,a__7509__auto__);
};
var title = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return title__delegate.call(this,args__7508__auto__);};
title.cljs$lang$maxFixedArity = 0;
title.cljs$lang$applyTo = (function (arglist__11723){
var args__7508__auto__ = cljs.core.seq(arglist__11723);
return title__delegate(args__7508__auto__);
});
title.cljs$core$IFn$_invoke$arity$variadic = title__delegate;
return title;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.tr = (function() {
var tr__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9342_11724 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9343_11725 = null;var count__9344_11726 = 0;var i__9345_11727 = 0;while(true){
if((i__9345_11727 < count__9344_11726))
{var arg__7510__auto___11728 = cljs.core._nth.call(null,chunk__9343_11725,i__9345_11727);a__7509__auto__.push(arg__7510__auto___11728);
{
var G__11729 = seq__9342_11724;
var G__11730 = chunk__9343_11725;
var G__11731 = count__9344_11726;
var G__11732 = (i__9345_11727 + 1);
seq__9342_11724 = G__11729;
chunk__9343_11725 = G__11730;
count__9344_11726 = G__11731;
i__9345_11727 = G__11732;
continue;
}
} else
{var temp__4092__auto___11733 = cljs.core.seq.call(null,seq__9342_11724);if(temp__4092__auto___11733)
{var seq__9342_11734__$1 = temp__4092__auto___11733;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9342_11734__$1))
{var c__5632__auto___11735 = cljs.core.chunk_first.call(null,seq__9342_11734__$1);{
var G__11736 = cljs.core.chunk_rest.call(null,seq__9342_11734__$1);
var G__11737 = c__5632__auto___11735;
var G__11738 = cljs.core.count.call(null,c__5632__auto___11735);
var G__11739 = 0;
seq__9342_11724 = G__11736;
chunk__9343_11725 = G__11737;
count__9344_11726 = G__11738;
i__9345_11727 = G__11739;
continue;
}
} else
{var arg__7510__auto___11740 = cljs.core.first.call(null,seq__9342_11734__$1);a__7509__auto__.push(arg__7510__auto___11740);
{
var G__11741 = cljs.core.next.call(null,seq__9342_11734__$1);
var G__11742 = null;
var G__11743 = 0;
var G__11744 = 0;
seq__9342_11724 = G__11741;
chunk__9343_11725 = G__11742;
count__9344_11726 = G__11743;
i__9345_11727 = G__11744;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.tr.apply(null,a__7509__auto__);
};
var tr = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return tr__delegate.call(this,args__7508__auto__);};
tr.cljs$lang$maxFixedArity = 0;
tr.cljs$lang$applyTo = (function (arglist__11745){
var args__7508__auto__ = cljs.core.seq(arglist__11745);
return tr__delegate(args__7508__auto__);
});
tr.cljs$core$IFn$_invoke$arity$variadic = tr__delegate;
return tr;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.track = (function() {
var track__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9350_11746 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9351_11747 = null;var count__9352_11748 = 0;var i__9353_11749 = 0;while(true){
if((i__9353_11749 < count__9352_11748))
{var arg__7510__auto___11750 = cljs.core._nth.call(null,chunk__9351_11747,i__9353_11749);a__7509__auto__.push(arg__7510__auto___11750);
{
var G__11751 = seq__9350_11746;
var G__11752 = chunk__9351_11747;
var G__11753 = count__9352_11748;
var G__11754 = (i__9353_11749 + 1);
seq__9350_11746 = G__11751;
chunk__9351_11747 = G__11752;
count__9352_11748 = G__11753;
i__9353_11749 = G__11754;
continue;
}
} else
{var temp__4092__auto___11755 = cljs.core.seq.call(null,seq__9350_11746);if(temp__4092__auto___11755)
{var seq__9350_11756__$1 = temp__4092__auto___11755;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9350_11756__$1))
{var c__5632__auto___11757 = cljs.core.chunk_first.call(null,seq__9350_11756__$1);{
var G__11758 = cljs.core.chunk_rest.call(null,seq__9350_11756__$1);
var G__11759 = c__5632__auto___11757;
var G__11760 = cljs.core.count.call(null,c__5632__auto___11757);
var G__11761 = 0;
seq__9350_11746 = G__11758;
chunk__9351_11747 = G__11759;
count__9352_11748 = G__11760;
i__9353_11749 = G__11761;
continue;
}
} else
{var arg__7510__auto___11762 = cljs.core.first.call(null,seq__9350_11756__$1);a__7509__auto__.push(arg__7510__auto___11762);
{
var G__11763 = cljs.core.next.call(null,seq__9350_11756__$1);
var G__11764 = null;
var G__11765 = 0;
var G__11766 = 0;
seq__9350_11746 = G__11763;
chunk__9351_11747 = G__11764;
count__9352_11748 = G__11765;
i__9353_11749 = G__11766;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.track.apply(null,a__7509__auto__);
};
var track = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return track__delegate.call(this,args__7508__auto__);};
track.cljs$lang$maxFixedArity = 0;
track.cljs$lang$applyTo = (function (arglist__11767){
var args__7508__auto__ = cljs.core.seq(arglist__11767);
return track__delegate(args__7508__auto__);
});
track.cljs$core$IFn$_invoke$arity$variadic = track__delegate;
return track;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.u = (function() {
var u__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9358_11768 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9359_11769 = null;var count__9360_11770 = 0;var i__9361_11771 = 0;while(true){
if((i__9361_11771 < count__9360_11770))
{var arg__7510__auto___11772 = cljs.core._nth.call(null,chunk__9359_11769,i__9361_11771);a__7509__auto__.push(arg__7510__auto___11772);
{
var G__11773 = seq__9358_11768;
var G__11774 = chunk__9359_11769;
var G__11775 = count__9360_11770;
var G__11776 = (i__9361_11771 + 1);
seq__9358_11768 = G__11773;
chunk__9359_11769 = G__11774;
count__9360_11770 = G__11775;
i__9361_11771 = G__11776;
continue;
}
} else
{var temp__4092__auto___11777 = cljs.core.seq.call(null,seq__9358_11768);if(temp__4092__auto___11777)
{var seq__9358_11778__$1 = temp__4092__auto___11777;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9358_11778__$1))
{var c__5632__auto___11779 = cljs.core.chunk_first.call(null,seq__9358_11778__$1);{
var G__11780 = cljs.core.chunk_rest.call(null,seq__9358_11778__$1);
var G__11781 = c__5632__auto___11779;
var G__11782 = cljs.core.count.call(null,c__5632__auto___11779);
var G__11783 = 0;
seq__9358_11768 = G__11780;
chunk__9359_11769 = G__11781;
count__9360_11770 = G__11782;
i__9361_11771 = G__11783;
continue;
}
} else
{var arg__7510__auto___11784 = cljs.core.first.call(null,seq__9358_11778__$1);a__7509__auto__.push(arg__7510__auto___11784);
{
var G__11785 = cljs.core.next.call(null,seq__9358_11778__$1);
var G__11786 = null;
var G__11787 = 0;
var G__11788 = 0;
seq__9358_11768 = G__11785;
chunk__9359_11769 = G__11786;
count__9360_11770 = G__11787;
i__9361_11771 = G__11788;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.u.apply(null,a__7509__auto__);
};
var u = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return u__delegate.call(this,args__7508__auto__);};
u.cljs$lang$maxFixedArity = 0;
u.cljs$lang$applyTo = (function (arglist__11789){
var args__7508__auto__ = cljs.core.seq(arglist__11789);
return u__delegate(args__7508__auto__);
});
u.cljs$core$IFn$_invoke$arity$variadic = u__delegate;
return u;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.ul = (function() {
var ul__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9366_11790 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9367_11791 = null;var count__9368_11792 = 0;var i__9369_11793 = 0;while(true){
if((i__9369_11793 < count__9368_11792))
{var arg__7510__auto___11794 = cljs.core._nth.call(null,chunk__9367_11791,i__9369_11793);a__7509__auto__.push(arg__7510__auto___11794);
{
var G__11795 = seq__9366_11790;
var G__11796 = chunk__9367_11791;
var G__11797 = count__9368_11792;
var G__11798 = (i__9369_11793 + 1);
seq__9366_11790 = G__11795;
chunk__9367_11791 = G__11796;
count__9368_11792 = G__11797;
i__9369_11793 = G__11798;
continue;
}
} else
{var temp__4092__auto___11799 = cljs.core.seq.call(null,seq__9366_11790);if(temp__4092__auto___11799)
{var seq__9366_11800__$1 = temp__4092__auto___11799;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9366_11800__$1))
{var c__5632__auto___11801 = cljs.core.chunk_first.call(null,seq__9366_11800__$1);{
var G__11802 = cljs.core.chunk_rest.call(null,seq__9366_11800__$1);
var G__11803 = c__5632__auto___11801;
var G__11804 = cljs.core.count.call(null,c__5632__auto___11801);
var G__11805 = 0;
seq__9366_11790 = G__11802;
chunk__9367_11791 = G__11803;
count__9368_11792 = G__11804;
i__9369_11793 = G__11805;
continue;
}
} else
{var arg__7510__auto___11806 = cljs.core.first.call(null,seq__9366_11800__$1);a__7509__auto__.push(arg__7510__auto___11806);
{
var G__11807 = cljs.core.next.call(null,seq__9366_11800__$1);
var G__11808 = null;
var G__11809 = 0;
var G__11810 = 0;
seq__9366_11790 = G__11807;
chunk__9367_11791 = G__11808;
count__9368_11792 = G__11809;
i__9369_11793 = G__11810;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.ul.apply(null,a__7509__auto__);
};
var ul = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return ul__delegate.call(this,args__7508__auto__);};
ul.cljs$lang$maxFixedArity = 0;
ul.cljs$lang$applyTo = (function (arglist__11811){
var args__7508__auto__ = cljs.core.seq(arglist__11811);
return ul__delegate(args__7508__auto__);
});
ul.cljs$core$IFn$_invoke$arity$variadic = ul__delegate;
return ul;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.var$ = (function() {
var var$__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9374_11812 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9375_11813 = null;var count__9376_11814 = 0;var i__9377_11815 = 0;while(true){
if((i__9377_11815 < count__9376_11814))
{var arg__7510__auto___11816 = cljs.core._nth.call(null,chunk__9375_11813,i__9377_11815);a__7509__auto__.push(arg__7510__auto___11816);
{
var G__11817 = seq__9374_11812;
var G__11818 = chunk__9375_11813;
var G__11819 = count__9376_11814;
var G__11820 = (i__9377_11815 + 1);
seq__9374_11812 = G__11817;
chunk__9375_11813 = G__11818;
count__9376_11814 = G__11819;
i__9377_11815 = G__11820;
continue;
}
} else
{var temp__4092__auto___11821 = cljs.core.seq.call(null,seq__9374_11812);if(temp__4092__auto___11821)
{var seq__9374_11822__$1 = temp__4092__auto___11821;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9374_11822__$1))
{var c__5632__auto___11823 = cljs.core.chunk_first.call(null,seq__9374_11822__$1);{
var G__11824 = cljs.core.chunk_rest.call(null,seq__9374_11822__$1);
var G__11825 = c__5632__auto___11823;
var G__11826 = cljs.core.count.call(null,c__5632__auto___11823);
var G__11827 = 0;
seq__9374_11812 = G__11824;
chunk__9375_11813 = G__11825;
count__9376_11814 = G__11826;
i__9377_11815 = G__11827;
continue;
}
} else
{var arg__7510__auto___11828 = cljs.core.first.call(null,seq__9374_11822__$1);a__7509__auto__.push(arg__7510__auto___11828);
{
var G__11829 = cljs.core.next.call(null,seq__9374_11822__$1);
var G__11830 = null;
var G__11831 = 0;
var G__11832 = 0;
seq__9374_11812 = G__11829;
chunk__9375_11813 = G__11830;
count__9376_11814 = G__11831;
i__9377_11815 = G__11832;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.var$.apply(null,a__7509__auto__);
};
var var$ = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return var$__delegate.call(this,args__7508__auto__);};
var$.cljs$lang$maxFixedArity = 0;
var$.cljs$lang$applyTo = (function (arglist__11833){
var args__7508__auto__ = cljs.core.seq(arglist__11833);
return var$__delegate(args__7508__auto__);
});
var$.cljs$core$IFn$_invoke$arity$variadic = var$__delegate;
return var$;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.video = (function() {
var video__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9382_11834 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9383_11835 = null;var count__9384_11836 = 0;var i__9385_11837 = 0;while(true){
if((i__9385_11837 < count__9384_11836))
{var arg__7510__auto___11838 = cljs.core._nth.call(null,chunk__9383_11835,i__9385_11837);a__7509__auto__.push(arg__7510__auto___11838);
{
var G__11839 = seq__9382_11834;
var G__11840 = chunk__9383_11835;
var G__11841 = count__9384_11836;
var G__11842 = (i__9385_11837 + 1);
seq__9382_11834 = G__11839;
chunk__9383_11835 = G__11840;
count__9384_11836 = G__11841;
i__9385_11837 = G__11842;
continue;
}
} else
{var temp__4092__auto___11843 = cljs.core.seq.call(null,seq__9382_11834);if(temp__4092__auto___11843)
{var seq__9382_11844__$1 = temp__4092__auto___11843;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9382_11844__$1))
{var c__5632__auto___11845 = cljs.core.chunk_first.call(null,seq__9382_11844__$1);{
var G__11846 = cljs.core.chunk_rest.call(null,seq__9382_11844__$1);
var G__11847 = c__5632__auto___11845;
var G__11848 = cljs.core.count.call(null,c__5632__auto___11845);
var G__11849 = 0;
seq__9382_11834 = G__11846;
chunk__9383_11835 = G__11847;
count__9384_11836 = G__11848;
i__9385_11837 = G__11849;
continue;
}
} else
{var arg__7510__auto___11850 = cljs.core.first.call(null,seq__9382_11844__$1);a__7509__auto__.push(arg__7510__auto___11850);
{
var G__11851 = cljs.core.next.call(null,seq__9382_11844__$1);
var G__11852 = null;
var G__11853 = 0;
var G__11854 = 0;
seq__9382_11834 = G__11851;
chunk__9383_11835 = G__11852;
count__9384_11836 = G__11853;
i__9385_11837 = G__11854;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.video.apply(null,a__7509__auto__);
};
var video = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return video__delegate.call(this,args__7508__auto__);};
video.cljs$lang$maxFixedArity = 0;
video.cljs$lang$applyTo = (function (arglist__11855){
var args__7508__auto__ = cljs.core.seq(arglist__11855);
return video__delegate(args__7508__auto__);
});
video.cljs$core$IFn$_invoke$arity$variadic = video__delegate;
return video;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.wbr = (function() {
var wbr__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9390_11856 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9391_11857 = null;var count__9392_11858 = 0;var i__9393_11859 = 0;while(true){
if((i__9393_11859 < count__9392_11858))
{var arg__7510__auto___11860 = cljs.core._nth.call(null,chunk__9391_11857,i__9393_11859);a__7509__auto__.push(arg__7510__auto___11860);
{
var G__11861 = seq__9390_11856;
var G__11862 = chunk__9391_11857;
var G__11863 = count__9392_11858;
var G__11864 = (i__9393_11859 + 1);
seq__9390_11856 = G__11861;
chunk__9391_11857 = G__11862;
count__9392_11858 = G__11863;
i__9393_11859 = G__11864;
continue;
}
} else
{var temp__4092__auto___11865 = cljs.core.seq.call(null,seq__9390_11856);if(temp__4092__auto___11865)
{var seq__9390_11866__$1 = temp__4092__auto___11865;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9390_11866__$1))
{var c__5632__auto___11867 = cljs.core.chunk_first.call(null,seq__9390_11866__$1);{
var G__11868 = cljs.core.chunk_rest.call(null,seq__9390_11866__$1);
var G__11869 = c__5632__auto___11867;
var G__11870 = cljs.core.count.call(null,c__5632__auto___11867);
var G__11871 = 0;
seq__9390_11856 = G__11868;
chunk__9391_11857 = G__11869;
count__9392_11858 = G__11870;
i__9393_11859 = G__11871;
continue;
}
} else
{var arg__7510__auto___11872 = cljs.core.first.call(null,seq__9390_11866__$1);a__7509__auto__.push(arg__7510__auto___11872);
{
var G__11873 = cljs.core.next.call(null,seq__9390_11866__$1);
var G__11874 = null;
var G__11875 = 0;
var G__11876 = 0;
seq__9390_11856 = G__11873;
chunk__9391_11857 = G__11874;
count__9392_11858 = G__11875;
i__9393_11859 = G__11876;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.wbr.apply(null,a__7509__auto__);
};
var wbr = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return wbr__delegate.call(this,args__7508__auto__);};
wbr.cljs$lang$maxFixedArity = 0;
wbr.cljs$lang$applyTo = (function (arglist__11877){
var args__7508__auto__ = cljs.core.seq(arglist__11877);
return wbr__delegate(args__7508__auto__);
});
wbr.cljs$core$IFn$_invoke$arity$variadic = wbr__delegate;
return wbr;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.circle = (function() {
var circle__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9398_11878 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9399_11879 = null;var count__9400_11880 = 0;var i__9401_11881 = 0;while(true){
if((i__9401_11881 < count__9400_11880))
{var arg__7510__auto___11882 = cljs.core._nth.call(null,chunk__9399_11879,i__9401_11881);a__7509__auto__.push(arg__7510__auto___11882);
{
var G__11883 = seq__9398_11878;
var G__11884 = chunk__9399_11879;
var G__11885 = count__9400_11880;
var G__11886 = (i__9401_11881 + 1);
seq__9398_11878 = G__11883;
chunk__9399_11879 = G__11884;
count__9400_11880 = G__11885;
i__9401_11881 = G__11886;
continue;
}
} else
{var temp__4092__auto___11887 = cljs.core.seq.call(null,seq__9398_11878);if(temp__4092__auto___11887)
{var seq__9398_11888__$1 = temp__4092__auto___11887;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9398_11888__$1))
{var c__5632__auto___11889 = cljs.core.chunk_first.call(null,seq__9398_11888__$1);{
var G__11890 = cljs.core.chunk_rest.call(null,seq__9398_11888__$1);
var G__11891 = c__5632__auto___11889;
var G__11892 = cljs.core.count.call(null,c__5632__auto___11889);
var G__11893 = 0;
seq__9398_11878 = G__11890;
chunk__9399_11879 = G__11891;
count__9400_11880 = G__11892;
i__9401_11881 = G__11893;
continue;
}
} else
{var arg__7510__auto___11894 = cljs.core.first.call(null,seq__9398_11888__$1);a__7509__auto__.push(arg__7510__auto___11894);
{
var G__11895 = cljs.core.next.call(null,seq__9398_11888__$1);
var G__11896 = null;
var G__11897 = 0;
var G__11898 = 0;
seq__9398_11878 = G__11895;
chunk__9399_11879 = G__11896;
count__9400_11880 = G__11897;
i__9401_11881 = G__11898;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.circle.apply(null,a__7509__auto__);
};
var circle = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return circle__delegate.call(this,args__7508__auto__);};
circle.cljs$lang$maxFixedArity = 0;
circle.cljs$lang$applyTo = (function (arglist__11899){
var args__7508__auto__ = cljs.core.seq(arglist__11899);
return circle__delegate(args__7508__auto__);
});
circle.cljs$core$IFn$_invoke$arity$variadic = circle__delegate;
return circle;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.g = (function() {
var g__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9406_11900 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9407_11901 = null;var count__9408_11902 = 0;var i__9409_11903 = 0;while(true){
if((i__9409_11903 < count__9408_11902))
{var arg__7510__auto___11904 = cljs.core._nth.call(null,chunk__9407_11901,i__9409_11903);a__7509__auto__.push(arg__7510__auto___11904);
{
var G__11905 = seq__9406_11900;
var G__11906 = chunk__9407_11901;
var G__11907 = count__9408_11902;
var G__11908 = (i__9409_11903 + 1);
seq__9406_11900 = G__11905;
chunk__9407_11901 = G__11906;
count__9408_11902 = G__11907;
i__9409_11903 = G__11908;
continue;
}
} else
{var temp__4092__auto___11909 = cljs.core.seq.call(null,seq__9406_11900);if(temp__4092__auto___11909)
{var seq__9406_11910__$1 = temp__4092__auto___11909;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9406_11910__$1))
{var c__5632__auto___11911 = cljs.core.chunk_first.call(null,seq__9406_11910__$1);{
var G__11912 = cljs.core.chunk_rest.call(null,seq__9406_11910__$1);
var G__11913 = c__5632__auto___11911;
var G__11914 = cljs.core.count.call(null,c__5632__auto___11911);
var G__11915 = 0;
seq__9406_11900 = G__11912;
chunk__9407_11901 = G__11913;
count__9408_11902 = G__11914;
i__9409_11903 = G__11915;
continue;
}
} else
{var arg__7510__auto___11916 = cljs.core.first.call(null,seq__9406_11910__$1);a__7509__auto__.push(arg__7510__auto___11916);
{
var G__11917 = cljs.core.next.call(null,seq__9406_11910__$1);
var G__11918 = null;
var G__11919 = 0;
var G__11920 = 0;
seq__9406_11900 = G__11917;
chunk__9407_11901 = G__11918;
count__9408_11902 = G__11919;
i__9409_11903 = G__11920;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.g.apply(null,a__7509__auto__);
};
var g = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return g__delegate.call(this,args__7508__auto__);};
g.cljs$lang$maxFixedArity = 0;
g.cljs$lang$applyTo = (function (arglist__11921){
var args__7508__auto__ = cljs.core.seq(arglist__11921);
return g__delegate(args__7508__auto__);
});
g.cljs$core$IFn$_invoke$arity$variadic = g__delegate;
return g;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.line = (function() {
var line__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9414_11922 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9415_11923 = null;var count__9416_11924 = 0;var i__9417_11925 = 0;while(true){
if((i__9417_11925 < count__9416_11924))
{var arg__7510__auto___11926 = cljs.core._nth.call(null,chunk__9415_11923,i__9417_11925);a__7509__auto__.push(arg__7510__auto___11926);
{
var G__11927 = seq__9414_11922;
var G__11928 = chunk__9415_11923;
var G__11929 = count__9416_11924;
var G__11930 = (i__9417_11925 + 1);
seq__9414_11922 = G__11927;
chunk__9415_11923 = G__11928;
count__9416_11924 = G__11929;
i__9417_11925 = G__11930;
continue;
}
} else
{var temp__4092__auto___11931 = cljs.core.seq.call(null,seq__9414_11922);if(temp__4092__auto___11931)
{var seq__9414_11932__$1 = temp__4092__auto___11931;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9414_11932__$1))
{var c__5632__auto___11933 = cljs.core.chunk_first.call(null,seq__9414_11932__$1);{
var G__11934 = cljs.core.chunk_rest.call(null,seq__9414_11932__$1);
var G__11935 = c__5632__auto___11933;
var G__11936 = cljs.core.count.call(null,c__5632__auto___11933);
var G__11937 = 0;
seq__9414_11922 = G__11934;
chunk__9415_11923 = G__11935;
count__9416_11924 = G__11936;
i__9417_11925 = G__11937;
continue;
}
} else
{var arg__7510__auto___11938 = cljs.core.first.call(null,seq__9414_11932__$1);a__7509__auto__.push(arg__7510__auto___11938);
{
var G__11939 = cljs.core.next.call(null,seq__9414_11932__$1);
var G__11940 = null;
var G__11941 = 0;
var G__11942 = 0;
seq__9414_11922 = G__11939;
chunk__9415_11923 = G__11940;
count__9416_11924 = G__11941;
i__9417_11925 = G__11942;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.line.apply(null,a__7509__auto__);
};
var line = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return line__delegate.call(this,args__7508__auto__);};
line.cljs$lang$maxFixedArity = 0;
line.cljs$lang$applyTo = (function (arglist__11943){
var args__7508__auto__ = cljs.core.seq(arglist__11943);
return line__delegate(args__7508__auto__);
});
line.cljs$core$IFn$_invoke$arity$variadic = line__delegate;
return line;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.path = (function() {
var path__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9422_11944 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9423_11945 = null;var count__9424_11946 = 0;var i__9425_11947 = 0;while(true){
if((i__9425_11947 < count__9424_11946))
{var arg__7510__auto___11948 = cljs.core._nth.call(null,chunk__9423_11945,i__9425_11947);a__7509__auto__.push(arg__7510__auto___11948);
{
var G__11949 = seq__9422_11944;
var G__11950 = chunk__9423_11945;
var G__11951 = count__9424_11946;
var G__11952 = (i__9425_11947 + 1);
seq__9422_11944 = G__11949;
chunk__9423_11945 = G__11950;
count__9424_11946 = G__11951;
i__9425_11947 = G__11952;
continue;
}
} else
{var temp__4092__auto___11953 = cljs.core.seq.call(null,seq__9422_11944);if(temp__4092__auto___11953)
{var seq__9422_11954__$1 = temp__4092__auto___11953;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9422_11954__$1))
{var c__5632__auto___11955 = cljs.core.chunk_first.call(null,seq__9422_11954__$1);{
var G__11956 = cljs.core.chunk_rest.call(null,seq__9422_11954__$1);
var G__11957 = c__5632__auto___11955;
var G__11958 = cljs.core.count.call(null,c__5632__auto___11955);
var G__11959 = 0;
seq__9422_11944 = G__11956;
chunk__9423_11945 = G__11957;
count__9424_11946 = G__11958;
i__9425_11947 = G__11959;
continue;
}
} else
{var arg__7510__auto___11960 = cljs.core.first.call(null,seq__9422_11954__$1);a__7509__auto__.push(arg__7510__auto___11960);
{
var G__11961 = cljs.core.next.call(null,seq__9422_11954__$1);
var G__11962 = null;
var G__11963 = 0;
var G__11964 = 0;
seq__9422_11944 = G__11961;
chunk__9423_11945 = G__11962;
count__9424_11946 = G__11963;
i__9425_11947 = G__11964;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.path.apply(null,a__7509__auto__);
};
var path = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return path__delegate.call(this,args__7508__auto__);};
path.cljs$lang$maxFixedArity = 0;
path.cljs$lang$applyTo = (function (arglist__11965){
var args__7508__auto__ = cljs.core.seq(arglist__11965);
return path__delegate(args__7508__auto__);
});
path.cljs$core$IFn$_invoke$arity$variadic = path__delegate;
return path;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.polygon = (function() {
var polygon__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9430_11966 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9431_11967 = null;var count__9432_11968 = 0;var i__9433_11969 = 0;while(true){
if((i__9433_11969 < count__9432_11968))
{var arg__7510__auto___11970 = cljs.core._nth.call(null,chunk__9431_11967,i__9433_11969);a__7509__auto__.push(arg__7510__auto___11970);
{
var G__11971 = seq__9430_11966;
var G__11972 = chunk__9431_11967;
var G__11973 = count__9432_11968;
var G__11974 = (i__9433_11969 + 1);
seq__9430_11966 = G__11971;
chunk__9431_11967 = G__11972;
count__9432_11968 = G__11973;
i__9433_11969 = G__11974;
continue;
}
} else
{var temp__4092__auto___11975 = cljs.core.seq.call(null,seq__9430_11966);if(temp__4092__auto___11975)
{var seq__9430_11976__$1 = temp__4092__auto___11975;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9430_11976__$1))
{var c__5632__auto___11977 = cljs.core.chunk_first.call(null,seq__9430_11976__$1);{
var G__11978 = cljs.core.chunk_rest.call(null,seq__9430_11976__$1);
var G__11979 = c__5632__auto___11977;
var G__11980 = cljs.core.count.call(null,c__5632__auto___11977);
var G__11981 = 0;
seq__9430_11966 = G__11978;
chunk__9431_11967 = G__11979;
count__9432_11968 = G__11980;
i__9433_11969 = G__11981;
continue;
}
} else
{var arg__7510__auto___11982 = cljs.core.first.call(null,seq__9430_11976__$1);a__7509__auto__.push(arg__7510__auto___11982);
{
var G__11983 = cljs.core.next.call(null,seq__9430_11976__$1);
var G__11984 = null;
var G__11985 = 0;
var G__11986 = 0;
seq__9430_11966 = G__11983;
chunk__9431_11967 = G__11984;
count__9432_11968 = G__11985;
i__9433_11969 = G__11986;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.polygon.apply(null,a__7509__auto__);
};
var polygon = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return polygon__delegate.call(this,args__7508__auto__);};
polygon.cljs$lang$maxFixedArity = 0;
polygon.cljs$lang$applyTo = (function (arglist__11987){
var args__7508__auto__ = cljs.core.seq(arglist__11987);
return polygon__delegate(args__7508__auto__);
});
polygon.cljs$core$IFn$_invoke$arity$variadic = polygon__delegate;
return polygon;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.polyline = (function() {
var polyline__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9438_11988 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9439_11989 = null;var count__9440_11990 = 0;var i__9441_11991 = 0;while(true){
if((i__9441_11991 < count__9440_11990))
{var arg__7510__auto___11992 = cljs.core._nth.call(null,chunk__9439_11989,i__9441_11991);a__7509__auto__.push(arg__7510__auto___11992);
{
var G__11993 = seq__9438_11988;
var G__11994 = chunk__9439_11989;
var G__11995 = count__9440_11990;
var G__11996 = (i__9441_11991 + 1);
seq__9438_11988 = G__11993;
chunk__9439_11989 = G__11994;
count__9440_11990 = G__11995;
i__9441_11991 = G__11996;
continue;
}
} else
{var temp__4092__auto___11997 = cljs.core.seq.call(null,seq__9438_11988);if(temp__4092__auto___11997)
{var seq__9438_11998__$1 = temp__4092__auto___11997;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9438_11998__$1))
{var c__5632__auto___11999 = cljs.core.chunk_first.call(null,seq__9438_11998__$1);{
var G__12000 = cljs.core.chunk_rest.call(null,seq__9438_11998__$1);
var G__12001 = c__5632__auto___11999;
var G__12002 = cljs.core.count.call(null,c__5632__auto___11999);
var G__12003 = 0;
seq__9438_11988 = G__12000;
chunk__9439_11989 = G__12001;
count__9440_11990 = G__12002;
i__9441_11991 = G__12003;
continue;
}
} else
{var arg__7510__auto___12004 = cljs.core.first.call(null,seq__9438_11998__$1);a__7509__auto__.push(arg__7510__auto___12004);
{
var G__12005 = cljs.core.next.call(null,seq__9438_11998__$1);
var G__12006 = null;
var G__12007 = 0;
var G__12008 = 0;
seq__9438_11988 = G__12005;
chunk__9439_11989 = G__12006;
count__9440_11990 = G__12007;
i__9441_11991 = G__12008;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.polyline.apply(null,a__7509__auto__);
};
var polyline = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return polyline__delegate.call(this,args__7508__auto__);};
polyline.cljs$lang$maxFixedArity = 0;
polyline.cljs$lang$applyTo = (function (arglist__12009){
var args__7508__auto__ = cljs.core.seq(arglist__12009);
return polyline__delegate(args__7508__auto__);
});
polyline.cljs$core$IFn$_invoke$arity$variadic = polyline__delegate;
return polyline;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.rect = (function() {
var rect__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9446_12010 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9447_12011 = null;var count__9448_12012 = 0;var i__9449_12013 = 0;while(true){
if((i__9449_12013 < count__9448_12012))
{var arg__7510__auto___12014 = cljs.core._nth.call(null,chunk__9447_12011,i__9449_12013);a__7509__auto__.push(arg__7510__auto___12014);
{
var G__12015 = seq__9446_12010;
var G__12016 = chunk__9447_12011;
var G__12017 = count__9448_12012;
var G__12018 = (i__9449_12013 + 1);
seq__9446_12010 = G__12015;
chunk__9447_12011 = G__12016;
count__9448_12012 = G__12017;
i__9449_12013 = G__12018;
continue;
}
} else
{var temp__4092__auto___12019 = cljs.core.seq.call(null,seq__9446_12010);if(temp__4092__auto___12019)
{var seq__9446_12020__$1 = temp__4092__auto___12019;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9446_12020__$1))
{var c__5632__auto___12021 = cljs.core.chunk_first.call(null,seq__9446_12020__$1);{
var G__12022 = cljs.core.chunk_rest.call(null,seq__9446_12020__$1);
var G__12023 = c__5632__auto___12021;
var G__12024 = cljs.core.count.call(null,c__5632__auto___12021);
var G__12025 = 0;
seq__9446_12010 = G__12022;
chunk__9447_12011 = G__12023;
count__9448_12012 = G__12024;
i__9449_12013 = G__12025;
continue;
}
} else
{var arg__7510__auto___12026 = cljs.core.first.call(null,seq__9446_12020__$1);a__7509__auto__.push(arg__7510__auto___12026);
{
var G__12027 = cljs.core.next.call(null,seq__9446_12020__$1);
var G__12028 = null;
var G__12029 = 0;
var G__12030 = 0;
seq__9446_12010 = G__12027;
chunk__9447_12011 = G__12028;
count__9448_12012 = G__12029;
i__9449_12013 = G__12030;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.rect.apply(null,a__7509__auto__);
};
var rect = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return rect__delegate.call(this,args__7508__auto__);};
rect.cljs$lang$maxFixedArity = 0;
rect.cljs$lang$applyTo = (function (arglist__12031){
var args__7508__auto__ = cljs.core.seq(arglist__12031);
return rect__delegate(args__7508__auto__);
});
rect.cljs$core$IFn$_invoke$arity$variadic = rect__delegate;
return rect;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.svg = (function() {
var svg__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__9454_12032 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__9455_12033 = null;var count__9456_12034 = 0;var i__9457_12035 = 0;while(true){
if((i__9457_12035 < count__9456_12034))
{var arg__7510__auto___12036 = cljs.core._nth.call(null,chunk__9455_12033,i__9457_12035);a__7509__auto__.push(arg__7510__auto___12036);
{
var G__12037 = seq__9454_12032;
var G__12038 = chunk__9455_12033;
var G__12039 = count__9456_12034;
var G__12040 = (i__9457_12035 + 1);
seq__9454_12032 = G__12037;
chunk__9455_12033 = G__12038;
count__9456_12034 = G__12039;
i__9457_12035 = G__12040;
continue;
}
} else
{var temp__4092__auto___12041 = cljs.core.seq.call(null,seq__9454_12032);if(temp__4092__auto___12041)
{var seq__9454_12042__$1 = temp__4092__auto___12041;if(cljs.core.chunked_seq_QMARK_.call(null,seq__9454_12042__$1))
{var c__5632__auto___12043 = cljs.core.chunk_first.call(null,seq__9454_12042__$1);{
var G__12044 = cljs.core.chunk_rest.call(null,seq__9454_12042__$1);
var G__12045 = c__5632__auto___12043;
var G__12046 = cljs.core.count.call(null,c__5632__auto___12043);
var G__12047 = 0;
seq__9454_12032 = G__12044;
chunk__9455_12033 = G__12045;
count__9456_12034 = G__12046;
i__9457_12035 = G__12047;
continue;
}
} else
{var arg__7510__auto___12048 = cljs.core.first.call(null,seq__9454_12042__$1);a__7509__auto__.push(arg__7510__auto___12048);
{
var G__12049 = cljs.core.next.call(null,seq__9454_12042__$1);
var G__12050 = null;
var G__12051 = 0;
var G__12052 = 0;
seq__9454_12032 = G__12049;
chunk__9455_12033 = G__12050;
count__9456_12034 = G__12051;
i__9457_12035 = G__12052;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.svg.apply(null,a__7509__auto__);
};
var svg = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return svg__delegate.call(this,args__7508__auto__);};
svg.cljs$lang$maxFixedArity = 0;
svg.cljs$lang$applyTo = (function (arglist__12053){
var args__7508__auto__ = cljs.core.seq(arglist__12053);
return svg__delegate(args__7508__auto__);
});
svg.cljs$core$IFn$_invoke$arity$variadic = svg__delegate;
return svg;
})()
;
/**
* @param {...*} var_args
*/
quiescent.dom.text = (function() {
var text__delegate = function (args__7508__auto__){var a__7509__auto__ = [];a__7509__auto__.push(quiescent.js_props.call(null,cljs.core.first.call(null,args__7508__auto__)));
var seq__8766_12054 = cljs.core.seq.call(null,cljs.core.rest.call(null,args__7508__auto__));var chunk__8767_12055 = null;var count__8768_12056 = 0;var i__8769_12057 = 0;while(true){
if((i__8769_12057 < count__8768_12056))
{var arg__7510__auto___12058 = cljs.core._nth.call(null,chunk__8767_12055,i__8769_12057);a__7509__auto__.push(arg__7510__auto___12058);
{
var G__12059 = seq__8766_12054;
var G__12060 = chunk__8767_12055;
var G__12061 = count__8768_12056;
var G__12062 = (i__8769_12057 + 1);
seq__8766_12054 = G__12059;
chunk__8767_12055 = G__12060;
count__8768_12056 = G__12061;
i__8769_12057 = G__12062;
continue;
}
} else
{var temp__4092__auto___12063 = cljs.core.seq.call(null,seq__8766_12054);if(temp__4092__auto___12063)
{var seq__8766_12064__$1 = temp__4092__auto___12063;if(cljs.core.chunked_seq_QMARK_.call(null,seq__8766_12064__$1))
{var c__5632__auto___12065 = cljs.core.chunk_first.call(null,seq__8766_12064__$1);{
var G__12066 = cljs.core.chunk_rest.call(null,seq__8766_12064__$1);
var G__12067 = c__5632__auto___12065;
var G__12068 = cljs.core.count.call(null,c__5632__auto___12065);
var G__12069 = 0;
seq__8766_12054 = G__12066;
chunk__8767_12055 = G__12067;
count__8768_12056 = G__12068;
i__8769_12057 = G__12069;
continue;
}
} else
{var arg__7510__auto___12070 = cljs.core.first.call(null,seq__8766_12064__$1);a__7509__auto__.push(arg__7510__auto___12070);
{
var G__12071 = cljs.core.next.call(null,seq__8766_12064__$1);
var G__12072 = null;
var G__12073 = 0;
var G__12074 = 0;
seq__8766_12054 = G__12071;
chunk__8767_12055 = G__12072;
count__8768_12056 = G__12073;
i__8769_12057 = G__12074;
continue;
}
}
} else
{}
}
break;
}
return React.DOM.text.apply(null,a__7509__auto__);
};
var text = function (var_args){
var args__7508__auto__ = null;if (arguments.length > 0) {
args__7508__auto__ = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0);}
return text__delegate.call(this,args__7508__auto__);};
text.cljs$lang$maxFixedArity = 0;
text.cljs$lang$applyTo = (function (arglist__12075){
var args__7508__auto__ = cljs.core.seq(arglist__12075);
return text__delegate(args__7508__auto__);
});
text.cljs$core$IFn$_invoke$arity$variadic = text__delegate;
return text;
})()
;
quiescent.dom.defined_tags = cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"colgroup","colgroup",4672673905),new cljs.core.Keyword(null,"path","path",1017337751),new cljs.core.Keyword(null,"menuitem","menuitem",4705729636),new cljs.core.Keyword(null,"optgroup","optgroup",933131038),new cljs.core.Keyword(null,"tbody","tbody",1124062088),new cljs.core.Keyword(null,"html","html",1017117469),new cljs.core.Keyword(null,"dfn","dfn",1014003614),new cljs.core.Keyword(null,"sub","sub",1014018482),new cljs.core.Keyword(null,"text","text",1017460895),new cljs.core.Keyword(null,"strong","strong",4416891401),new cljs.core.Keyword(null,"data","data",1016980252),new cljs.core.Keyword(null,"progress","progress",4307793311),new cljs.core.Keyword(null,"polyline","polyline",1575843122),new cljs.core.Keyword(null,"ul","ul",1013907977),new cljs.core.Keyword(null,"img","img",1014008629),new cljs.core.Keyword(null,"em","em",1013907482),new cljs.core.Keyword(null,"rt","rt",1013907892),new cljs.core.Keyword(null,"details","details",2571625908),new cljs.core.Keyword(null,"fieldset","fieldset",4379882650),new cljs.core.Keyword(null,"keygen","keygen",4174205955),new cljs.core.Keyword(null,"map","map",1014012110),new cljs.core.Keyword(null,"div","div",1014003715),new cljs.core.Keyword(null,"video","video",1126107117),new cljs.core.Keyword(null,"link","link",1017226092),new cljs.core.Keyword(null,"dt","dt",1013907458),new cljs.core.Keyword(null,"ol","ol",1013907791),new cljs.core.Keyword(null,"form","form",1017053238),new cljs.core.Keyword(null,"menu","menu",1017252049),new cljs.core.Keyword(null,"a","a",1013904339),new cljs.core.Keyword(null,"del","del",1014003581),new cljs.core.Keyword(null,"hr","hr",1013907580),new cljs.core.Keyword(null,"header","header",4087600639),new cljs.core.Keyword(null,"param","param",1120340991),new cljs.core.Keyword(null,"head","head",1017102674),new cljs.core.Keyword(null,"area","area",1016906751),new cljs.core.Keyword(null,"legend","legend",4202297215),new cljs.core.Keyword(null,"meter","meter",1117691643),new cljs.core.Keyword(null,"dl","dl",1013907450),new cljs.core.Keyword(null,"figcaption","figcaption",1313617108),new cljs.core.Keyword(null,"tfoot","tfoot",1124181588),new cljs.core.Keyword(null,"blockquote","blockquote",2317106561),new cljs.core.Keyword(null,"b","b",1013904340),new cljs.core.Keyword(null,"abbr","abbr",1016891299),new cljs.core.Keyword(null,"caption","caption",1566477656),new cljs.core.Keyword(null,"style","style",1123684643),new cljs.core.Keyword(null,"bdi","bdi",1014001625),new cljs.core.Keyword(null,"g","g",1013904345),new cljs.core.Keyword(null,"ruby","ruby",1017416012),new cljs.core.Keyword(null,"rp","rp",1013907888),new cljs.core.Keyword(null,"figure","figure",4034231894),new cljs.core.Keyword(null,"svg","svg",1014018518),new cljs.core.Keyword(null,"rect","rect",1017400662),new cljs.core.Keyword(null,"embed","embed",1110524491),new cljs.core.Keyword(null,"button","button",3931183780),new cljs.core.Keyword(null,"canvas","canvas",3941165258),new cljs.core.Keyword(null,"section","section",2984145495),new cljs.core.Keyword(null,"object","object",4285503153),new cljs.core.Keyword(null,"title","title",1124275658),new cljs.core.Keyword(null,"output","output",4303359091),new cljs.core.Keyword(null,"audio","audio",1107070792),new cljs.core.Keyword(null,"col","col",1014002930),new cljs.core.Keyword(null,"dd","dd",1013907442),new cljs.core.Keyword(null,"bdo","bdo",1014001631),new cljs.core.Keyword(null,"cite","cite",1016958153),new cljs.core.Keyword(null,"code","code",1016963423),new cljs.core.Keyword(null,"kbd","kbd",1014010207),new cljs.core.Keyword(null,"big","big",1014001778),new cljs.core.Keyword(null,"thead","thead",1124231110),new cljs.core.Keyword(null,"i","i",1013904347),new cljs.core.Keyword(null,"ins","ins",1014008672),new cljs.core.Keyword(null,"base","base",1016920643),new cljs.core.Keyword(null,"circle","circle",3948654658),new cljs.core.Keyword(null,"br","br",1013907394),new cljs.core.Keyword(null,"polygon","polygon",616384684),new cljs.core.Keyword(null,"wbr","wbr",1014021753),new cljs.core.Keyword(null,"textarea","textarea",4305627820),new cljs.core.Keyword(null,"small","small",1123453049),new cljs.core.Keyword(null,"main","main",1017248043),new cljs.core.Keyword(null,"meta","meta",1017252215),new cljs.core.Keyword(null,"aside","aside",1107015850),new cljs.core.Keyword(null,"article","article",4576493672),new cljs.core.Keyword(null,"noscript","noscript",2565455166),new cljs.core.Keyword(null,"h4","h4",1013907518),new cljs.core.Keyword(null,"h3","h3",1013907517),new cljs.core.Keyword(null,"script","script",4401185853),new cljs.core.Keyword(null,"track","track",1124525245),new cljs.core.Keyword(null,"time","time",1017464383),new cljs.core.Keyword(null,"h2","h2",1013907516),new cljs.core.Keyword(null,"mark","mark",1017248319),new cljs.core.Keyword(null,"h5","h5",1013907519),new cljs.core.Keyword(null,"span","span",1017440956),new cljs.core.Keyword(null,"input","input",1114262332),new cljs.core.Keyword(null,"sup","sup",1014018496),new cljs.core.Keyword(null,"h1","h1",1013907515),new cljs.core.Keyword(null,"table","table",1124020032),new cljs.core.Keyword(null,"th","th",1013907942),new cljs.core.Keyword(null,"label","label",1116631654),new cljs.core.Keyword(null,"h6","h6",1013907520),new cljs.core.Keyword(null,"line","line",1017226086),new cljs.core.Keyword(null,"pre","pre",1014015509),new cljs.core.Keyword(null,"nav","nav",1014013077),new cljs.core.Keyword(null,"address","address",4161179494),new cljs.core.Keyword(null,"u","u",1013904359),new cljs.core.Keyword(null,"body","body",1016933652),new cljs.core.Keyword(null,"option","option",4298734567),new cljs.core.Keyword(null,"datalist","datalist",2803674810),new cljs.core.Keyword(null,"q","q",1013904355),new cljs.core.Keyword(null,"samp","samp",1017426915),new cljs.core.Keyword(null,"source","source",4412365709),new cljs.core.Keyword(null,"summary","summary",3451231000),new cljs.core.Keyword(null,"footer","footer",4040009997),new cljs.core.Keyword(null,"select","select",4402849902),new cljs.core.Keyword(null,"var","var",1014020761),new cljs.core.Keyword(null,"td","td",1013907938),new cljs.core.Keyword(null,"li","li",1013907695),new cljs.core.Keyword(null,"p","p",1013904354),new cljs.core.Keyword(null,"tr","tr",1013907952),new cljs.core.Keyword(null,"s","s",1013904357),new cljs.core.Keyword(null,"iframe","iframe",4117657110)],[quiescent.dom.colgroup,quiescent.dom.path,quiescent.dom.menuitem,quiescent.dom.optgroup,quiescent.dom.tbody,quiescent.dom.html,quiescent.dom.dfn,quiescent.dom.sub,quiescent.dom.text,quiescent.dom.strong,quiescent.dom.data,quiescent.dom.progress,quiescent.dom.polyline,quiescent.dom.ul,quiescent.dom.img,quiescent.dom.em,quiescent.dom.rt,quiescent.dom.details,quiescent.dom.fieldset,quiescent.dom.keygen,quiescent.dom.map,quiescent.dom.div,quiescent.dom.video,quiescent.dom.link,quiescent.dom.dt,quiescent.dom.ol,quiescent.dom.form,quiescent.dom.menu,quiescent.dom.a,quiescent.dom.del,quiescent.dom.hr,quiescent.dom.header,quiescent.dom.param,quiescent.dom.head,quiescent.dom.area,quiescent.dom.legend,quiescent.dom.meter,quiescent.dom.dl,quiescent.dom.figcaption,quiescent.dom.tfoot,quiescent.dom.blockquote,quiescent.dom.b,quiescent.dom.abbr,quiescent.dom.caption,quiescent.dom.style,quiescent.dom.bdi,quiescent.dom.g,quiescent.dom.ruby,quiescent.dom.rp,quiescent.dom.figure,quiescent.dom.svg,quiescent.dom.rect,quiescent.dom.embed,quiescent.dom.button,quiescent.dom.canvas,quiescent.dom.section,quiescent.dom.object,quiescent.dom.title,quiescent.dom.output,quiescent.dom.audio,quiescent.dom.col,quiescent.dom.dd,quiescent.dom.bdo,quiescent.dom.cite,quiescent.dom.code,quiescent.dom.kbd,quiescent.dom.big,quiescent.dom.thead,quiescent.dom.i,quiescent.dom.ins,quiescent.dom.base,quiescent.dom.circle,quiescent.dom.br,quiescent.dom.polygon,quiescent.dom.wbr,quiescent.dom.textarea,quiescent.dom.small,quiescent.dom.main,quiescent.dom.meta,quiescent.dom.aside,quiescent.dom.article,quiescent.dom.noscript,quiescent.dom.h4,quiescent.dom.h3,quiescent.dom.script,quiescent.dom.track,quiescent.dom.time,quiescent.dom.h2,quiescent.dom.mark,quiescent.dom.h5,quiescent.dom.span,quiescent.dom.input,quiescent.dom.sup,quiescent.dom.h1,quiescent.dom.table,quiescent.dom.th,quiescent.dom.label,quiescent.dom.h6,quiescent.dom.line,quiescent.dom.pre,quiescent.dom.nav,quiescent.dom.address,quiescent.dom.u,quiescent.dom.body,quiescent.dom.option,quiescent.dom.datalist,quiescent.dom.q,quiescent.dom.samp,quiescent.dom.source,quiescent.dom.summary,quiescent.dom.footer,quiescent.dom.select,quiescent.dom.var$,quiescent.dom.td,quiescent.dom.li,quiescent.dom.p,quiescent.dom.tr,quiescent.dom.s,quiescent.dom.iframe]);
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.autocompleter')) {
goog.provide('lt.plugins.elm_light.autocompleter');
goog.require('cljs.core');
goog.require('quiescent.dom');
goog.require('quiescent.dom');
goog.require('quiescent');
goog.require('quiescent');
lt.plugins.elm_light.autocompleter.find_active = (function find_active(items){return cljs.core.first.call(null,cljs.core.filter.call(null,new cljs.core.Keyword(null,"active","active",3885920888),items));
});
lt.plugins.elm_light.autocompleter.handle_keypress = (function handle_keypress(p__8484,ev){var map__8487 = p__8484;var map__8487__$1 = ((cljs.core.seq_QMARK_.call(null,map__8487))?cljs.core.apply.call(null,cljs.core.hash_map,map__8487):map__8487);var props = map__8487__$1;var on_cancel = cljs.core.get.call(null,map__8487__$1,new cljs.core.Keyword(null,"on-cancel","on-cancel",600765850));var on_select = cljs.core.get.call(null,map__8487__$1,new cljs.core.Keyword(null,"on-select","on-select",1062468636));var on_down = cljs.core.get.call(null,map__8487__$1,new cljs.core.Keyword(null,"on-down","on-down",3936419650));var on_up = cljs.core.get.call(null,map__8487__$1,new cljs.core.Keyword(null,"on-up","on-up",1119739067));var kk = ev.which;var G__8488 = kk;if(cljs.core._EQ_.call(null,27,G__8488))
{ev.preventDefault();
ev.target.value = "";
return on_cancel.call(null);
} else
{if(cljs.core._EQ_.call(null,13,G__8488))
{ev.preventDefault();
var temp__4092__auto___8504 = lt.plugins.elm_light.autocompleter.find_active.call(null,new cljs.core.Keyword(null,"items","items",1114430258).cljs$core$IFn$_invoke$arity$1(props));if(cljs.core.truth_(temp__4092__auto___8504))
{var active_8505 = temp__4092__auto___8504;ev.target.value = new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(active_8505);
} else
{}
return on_select.call(null);
} else
{if(cljs.core._EQ_.call(null,40,G__8488))
{ev.preventDefault();
return on_down.call(null);
} else
{if(cljs.core._EQ_.call(null,38,G__8488))
{ev.preventDefault();
return on_up.call(null);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return new cljs.core.Keyword(null,"default","default",2558708147);
} else
{return null;
}
}
}
}
}
});
/**
*
*/
lt.plugins.elm_light.autocompleter.AutoCompleteMenu = quiescent.component.call(null,(function (props){var items = new cljs.core.Keyword(null,"items","items",1114430258).cljs$core$IFn$_invoke$arity$1(props);var style = ((cljs.core.seq.call(null,items))?null:new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"display","display",2685668404),"none"], null));var item_classes = ((function (items,style){
return (function (p1__8489_SHARP_){return "autocomplete-dropdown-item row".concat((cljs.core.truth_(new cljs.core.Keyword(null,"active","active",3885920888).cljs$core$IFn$_invoke$arity$1(p1__8489_SHARP_))?" autocomplete-active":""));
});})(items,style))
;return cljs.core.apply.call(null,quiescent.dom.div,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"onMouseDown","onMouseDown",1569008442),((function (items,style,item_classes){
return (function (e){e.preventDefault();
return e.stopPropagation();
});})(items,style,item_classes))
,new cljs.core.Keyword(null,"className","className",1004015509),"autocomplete-dropdown-menu",new cljs.core.Keyword(null,"style","style",1123684643),style], null),cljs.core.map.call(null,((function (items,style,item_classes){
return (function (item){return quiescent.dom.div.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"className","className",1004015509),item_classes.call(null,item)], null),quiescent.dom.div.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(item)));
});})(items,style,item_classes))
,items));
}));
/**
*
*/
lt.plugins.elm_light.autocompleter.Adder = quiescent.component.call(null,(function (p__8490){var map__8491 = p__8490;var map__8491__$1 = ((cljs.core.seq_QMARK_.call(null,map__8491))?cljs.core.apply.call(null,cljs.core.hash_map,map__8491):map__8491);var props = map__8491__$1;var disabled = cljs.core.get.call(null,map__8491__$1,new cljs.core.Keyword(null,"disabled","disabled",1284845038));var on_add_package = cljs.core.get.call(null,map__8491__$1,new cljs.core.Keyword(null,"on-add-package","on-add-package",3601701790));return quiescent.dom.button.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"className","className",1004015509),"btn",new cljs.core.Keyword(null,"disabled","disabled",1284845038),disabled,new cljs.core.Keyword(null,"onClick","onClick",3956969051),((function (map__8491,map__8491__$1,props,disabled,on_add_package){
return (function (){return on_add_package.call(null);
});})(map__8491,map__8491__$1,props,disabled,on_add_package))
], null),"Add package");
}));
/**
*
*/
lt.plugins.elm_light.autocompleter.Versions = quiescent.component.call(null,(function (props){return cljs.core.apply.call(null,quiescent.dom.select,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"className","className",1004015509),"versions",new cljs.core.Keyword(null,"value","value",1125876963),new cljs.core.Keyword(null,"version","version",1365512266).cljs$core$IFn$_invoke$arity$1(props),new cljs.core.Keyword(null,"onChange","onChange",2050678241),(function (p1__8492_SHARP_){return new cljs.core.Keyword(null,"on-change-version","on-change-version",822058203).cljs$core$IFn$_invoke$arity$1(props).call(null,p1__8492_SHARP_.target.value);
})], null),cljs.core.map.call(null,(function (p1__8493_SHARP_){return quiescent.dom.option.call(null,cljs.core.PersistentArrayMap.EMPTY,p1__8493_SHARP_);
}),new cljs.core.Keyword(null,"versions","versions",3323818509).cljs$core$IFn$_invoke$arity$1(props)));
}));
/**
*
*/
lt.plugins.elm_light.autocompleter.AutoComplete = quiescent.component.call(null,(function (props){return quiescent.dom.span.call(null,cljs.core.PersistentArrayMap.EMPTY,quiescent.dom.input.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"onKeyDown","onKeyDown",1534256180),new cljs.core.Keyword(null,"name","name",1017277949),new cljs.core.Keyword(null,"autoComplete","autoComplete",4535568250),new cljs.core.Keyword(null,"onBlur","onBlur",4295401048),new cljs.core.Keyword(null,"style","style",1123684643),new cljs.core.Keyword(null,"autoFocus","autoFocus",2651959259),new cljs.core.Keyword(null,"onChange","onChange",2050678241),new cljs.core.Keyword(null,"type","type",1017479852),new cljs.core.Keyword(null,"value","value",1125876963)],[cljs.core.partial.call(null,lt.plugins.elm_light.autocompleter.handle_keypress,props),"package-search","off",(function (_){return new cljs.core.Keyword(null,"on-blur","on-blur",3936357127).cljs$core$IFn$_invoke$arity$1(props).call(null);
}),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"width","width",1127031096),"250px"], null),true,(function (ev){return new cljs.core.Keyword(null,"on-change","on-change",606853840).cljs$core$IFn$_invoke$arity$1(props).call(null,(ev["target"]["value"]));
}),"text",new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(props)])),lt.plugins.elm_light.autocompleter.Versions.call(null,props),lt.plugins.elm_light.autocompleter.Adder.call(null,cljs.core.assoc.call(null,props,new cljs.core.Keyword(null,"disabled","disabled",1284845038),(new cljs.core.Keyword(null,"version","version",1365512266).cljs$core$IFn$_invoke$arity$1(props) == null))),quiescent.dom.div.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"className","className",1004015509),"autocomplete-dropdown"], null),lt.plugins.elm_light.autocompleter.AutoCompleteMenu.call(null,props)));
}));
}
if(!lt.util.load.provided_QMARK_('clojure.walk')) {
goog.provide('clojure.walk');
goog.require('cljs.core');
/**
* Traverses form, an arbitrary data structure. inner and outer are
* functions. Applies inner to each element of form, building up a
* data structure of the same type, then applies outer to the result.
* Recognizes all Clojure data structures. Consumes seqs as with doall.
*/
clojure.walk.walk = (function walk(inner,outer,form){if(cljs.core.seq_QMARK_.call(null,form))
{return outer.call(null,cljs.core.doall.call(null,cljs.core.map.call(null,inner,form)));
} else
{if(cljs.core.coll_QMARK_.call(null,form))
{return outer.call(null,cljs.core.into.call(null,cljs.core.empty.call(null,form),cljs.core.map.call(null,inner,form)));
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return outer.call(null,form);
} else
{return null;
}
}
}
});
/**
* Performs a depth-first, post-order traversal of form. Calls f on
* each sub-form, uses f's return value in place of the original.
* Recognizes all Clojure data structures. Consumes seqs as with doall.
*/
clojure.walk.postwalk = (function postwalk(f,form){return clojure.walk.walk.call(null,cljs.core.partial.call(null,postwalk,f),f,form);
});
/**
* Like postwalk, but does pre-order traversal.
*/
clojure.walk.prewalk = (function prewalk(f,form){return clojure.walk.walk.call(null,cljs.core.partial.call(null,prewalk,f),cljs.core.identity,f.call(null,form));
});
/**
* Recursively transforms all map keys from strings to keywords.
*/
clojure.walk.keywordize_keys = (function keywordize_keys(m){var f = (function (p__19817){var vec__19818 = p__19817;var k = cljs.core.nth.call(null,vec__19818,0,null);var v = cljs.core.nth.call(null,vec__19818,1,null);if(typeof k === 'string')
{return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.call(null,k),v], null);
} else
{return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null);
}
});return clojure.walk.postwalk.call(null,((function (f){
return (function (x){if(cljs.core.map_QMARK_.call(null,x))
{return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,f,x));
} else
{return x;
}
});})(f))
,m);
});
/**
* Recursively transforms all map keys from keywords to strings.
*/
clojure.walk.stringify_keys = (function stringify_keys(m){var f = (function (p__19821){var vec__19822 = p__19821;var k = cljs.core.nth.call(null,vec__19822,0,null);var v = cljs.core.nth.call(null,vec__19822,1,null);if((k instanceof cljs.core.Keyword))
{return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.name.call(null,k),v], null);
} else
{return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null);
}
});return clojure.walk.postwalk.call(null,((function (f){
return (function (x){if(cljs.core.map_QMARK_.call(null,x))
{return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,f,x));
} else
{return x;
}
});})(f))
,m);
});
/**
* Recursively transforms form by replacing keys in smap with their
* values. Like clojure/replace but works on any data structure. Does
* replacement at the root of the tree first.
*/
clojure.walk.prewalk_replace = (function prewalk_replace(smap,form){return clojure.walk.prewalk.call(null,(function (x){if(cljs.core.contains_QMARK_.call(null,smap,x))
{return smap.call(null,x);
} else
{return x;
}
}),form);
});
/**
* Recursively transforms form by replacing keys in smap with their
* values. Like clojure/replace but works on any data structure. Does
* replacement at the leaves of the tree first.
*/
clojure.walk.postwalk_replace = (function postwalk_replace(smap,form){return clojure.walk.postwalk.call(null,(function (x){if(cljs.core.contains_QMARK_.call(null,smap,x))
{return smap.call(null,x);
} else
{return x;
}
}),form);
});
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.graph')) {
goog.provide('lt.plugins.elm_light.graph');
goog.require('cljs.core');
goog.require('clojure.set');
goog.require('lt.objs.files');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.util.dom');
goog.require('lt.objs.tabs');
goog.require('clojure.string');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.objs.notifos');
goog.require('lt.objs.notifos');
goog.require('lt.util.dom');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
goog.require('lt.objs.files');
goog.require('clojure.string');
goog.require('lt.object');
goog.require('lt.object');
goog.require('clojure.set');
goog.require('lt.objs.console');
goog.require('lt.objs.tabs');
goog.require('lt.objs.console');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
goog.require('fetch.core');
goog.require('fetch.core');
lt.plugins.elm_light.graph.dagreD3 = require(lt.objs.files.join.call(null,lt.plugins.elm_light.utils.elm_plugin_dir,"node_modules/dagre-d3"));
lt.plugins.elm_light.graph.d3 = require(lt.objs.files.join.call(null,lt.plugins.elm_light.utils.elm_plugin_dir,"node_modules/d3"));
lt.plugins.elm_light.graph.lower = (function lower(term){return clojure.string.lower_case.call(null,term);
});
lt.plugins.elm_light.graph.find_package_by_name = (function find_package_by_name(this$,name){return cljs.core.some.call(null,(function (p1__12486_SHARP_){if(cljs.core._EQ_.call(null,lt.plugins.elm_light.graph.lower.call(null,new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(p1__12486_SHARP_)),lt.plugins.elm_light.graph.lower.call(null,name)))
{return p1__12486_SHARP_;
} else
{return null;
}
}),new cljs.core.Keyword(null,"all-packages","all-packages",1123981067).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)));
});
lt.plugins.elm_light.graph.dependency_graph_ui = (function dependency_graph_ui(this$){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.graph","div.graph",2030351651),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.dependency-graph","div.dependency-graph",3039800187),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"svg:svg","svg:svg",3472817088),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"width","width",1127031096),"650",new cljs.core.Keyword(null,"height","height",4087841945),"680"], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"svg:g","svg:g",1123725379),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"transform","transform",2066570974),"translate(20,20)"], null)], null)], null)], null)], null));var seq__12493_12544 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__12494_12545 = null;var count__12495_12546 = 0;var i__12496_12547 = 0;while(true){
if((i__12496_12547 < count__12495_12546))
{var vec__12497_12548 = cljs.core._nth.call(null,chunk__12494_12545,i__12496_12547);var ev__6318__auto___12549 = cljs.core.nth.call(null,vec__12497_12548,0,null);var func__6319__auto___12550 = cljs.core.nth.call(null,vec__12497_12548,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___12549,func__6319__auto___12550);
{
var G__12551 = seq__12493_12544;
var G__12552 = chunk__12494_12545;
var G__12553 = count__12495_12546;
var G__12554 = (i__12496_12547 + 1);
seq__12493_12544 = G__12551;
chunk__12494_12545 = G__12552;
count__12495_12546 = G__12553;
i__12496_12547 = G__12554;
continue;
}
} else
{var temp__4092__auto___12555 = cljs.core.seq.call(null,seq__12493_12544);if(temp__4092__auto___12555)
{var seq__12493_12556__$1 = temp__4092__auto___12555;if(cljs.core.chunked_seq_QMARK_.call(null,seq__12493_12556__$1))
{var c__5632__auto___12557 = cljs.core.chunk_first.call(null,seq__12493_12556__$1);{
var G__12558 = cljs.core.chunk_rest.call(null,seq__12493_12556__$1);
var G__12559 = c__5632__auto___12557;
var G__12560 = cljs.core.count.call(null,c__5632__auto___12557);
var G__12561 = 0;
seq__12493_12544 = G__12558;
chunk__12494_12545 = G__12559;
count__12495_12546 = G__12560;
i__12496_12547 = G__12561;
continue;
}
} else
{var vec__12498_12562 = cljs.core.first.call(null,seq__12493_12556__$1);var ev__6318__auto___12563 = cljs.core.nth.call(null,vec__12498_12562,0,null);var func__6319__auto___12564 = cljs.core.nth.call(null,vec__12498_12562,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___12563,func__6319__auto___12564);
{
var G__12565 = cljs.core.next.call(null,seq__12493_12556__$1);
var G__12566 = null;
var G__12567 = 0;
var G__12568 = 0;
seq__12493_12544 = G__12565;
chunk__12494_12545 = G__12566;
count__12495_12546 = G__12567;
i__12496_12547 = G__12568;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.object.object_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.graph","dependency-graph","lt.plugins.elm-light.graph/dependency-graph",2371711049),new cljs.core.Keyword(null,"tags","tags",1017456523),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"elm.graph.dependency","elm.graph.dependency",658564005)], null),new cljs.core.Keyword(null,"name","name",1017277949),"Dependency graph",new cljs.core.Keyword(null,"init","init",1017141378),(function (this$){lt.plugins.elm_light.utils.fetch_all_packages.call(null,(function (p1__12499_SHARP_){return lt.object.merge_BANG_.call(null,this$,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"all-packages","all-packages",1123981067),p1__12499_SHARP_], null));
}));
return lt.plugins.elm_light.graph.dependency_graph_ui.call(null,this$);
}));
lt.plugins.elm_light.graph.__BEH__on_close_destroy = (function __BEH__on_close_destroy(this$){var temp__4092__auto___12569 = new cljs.core.Keyword("lt.objs.tabs","tabset","lt.objs.tabs/tabset",3378091779).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$));if(cljs.core.truth_(temp__4092__auto___12569))
{var ts_12570 = temp__4092__auto___12569;if(cljs.core._EQ_.call(null,cljs.core.count.call(null,new cljs.core.Keyword(null,"objs","objs",1017308622).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ts_12570))),1))
{lt.objs.tabs.rem_tabset.call(null,ts_12570);
} else
{}
} else
{}
return lt.object.raise.call(null,this$,new cljs.core.Keyword(null,"destroy","destroy",2571277164));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.graph","on-close-destroy","lt.plugins.elm-light.graph/on-close-destroy",4331265958),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.graph.__BEH__on_close_destroy,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"close","close",1108660586),null], null), null));
lt.plugins.elm_light.graph.select_values = cljs.core.comp.call(null,cljs.core.vals,cljs.core.select_keys);
lt.plugins.elm_light.graph.dep_id = (function dep_id(dep){return clojure.string.join.call(null,":",lt.plugins.elm_light.graph.select_values.call(null,dep,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"package","package",4501809080),new cljs.core.Keyword(null,"version","version",1365512266)], null)));
});
lt.plugins.elm_light.graph.node_label = (function node_label(x){return {"label": [cljs.core.str(""),cljs.core.str(new cljs.core.Keyword(null,"package","package",4501809080).cljs$core$IFn$_invoke$arity$1(x)),cljs.core.str("
"),cljs.core.str(new cljs.core.Keyword(null,"version","version",1365512266).cljs$core$IFn$_invoke$arity$1(x)),cljs.core.str("
")].join(''), "labelType": "html", "style": (cljs.core.truth_(new cljs.core.Keyword(null,"version","version",1365512266).cljs$core$IFn$_invoke$arity$1(x))?null:"fill: #73404c"), "shape": (function (){var temp__4090__auto__ = new cljs.core.Keyword(null,"shape","shape",1123304211).cljs$core$IFn$_invoke$arity$1(x);if(cljs.core.truth_(temp__4090__auto__))
{var shape = temp__4090__auto__;return shape;
} else
{return "rect";
}
})()};
});
lt.plugins.elm_light.graph.create_graph = (function create_graph(data){var g = (new lt.plugins.elm_light.graph.dagreD3.graphlib.Graph()).setGraph({});var seq__12508_12571 = cljs.core.seq.call(null,new cljs.core.Keyword(null,"nodes","nodes",1118897699).cljs$core$IFn$_invoke$arity$1(data));var chunk__12509_12572 = null;var count__12510_12573 = 0;var i__12511_12574 = 0;while(true){
if((i__12511_12574 < count__12510_12573))
{var x_12575 = cljs.core._nth.call(null,chunk__12509_12572,i__12511_12574);g.setNode(lt.plugins.elm_light.graph.dep_id.call(null,x_12575),lt.plugins.elm_light.graph.node_label.call(null,x_12575));
{
var G__12576 = seq__12508_12571;
var G__12577 = chunk__12509_12572;
var G__12578 = count__12510_12573;
var G__12579 = (i__12511_12574 + 1);
seq__12508_12571 = G__12576;
chunk__12509_12572 = G__12577;
count__12510_12573 = G__12578;
i__12511_12574 = G__12579;
continue;
}
} else
{var temp__4092__auto___12580 = cljs.core.seq.call(null,seq__12508_12571);if(temp__4092__auto___12580)
{var seq__12508_12581__$1 = temp__4092__auto___12580;if(cljs.core.chunked_seq_QMARK_.call(null,seq__12508_12581__$1))
{var c__5632__auto___12582 = cljs.core.chunk_first.call(null,seq__12508_12581__$1);{
var G__12583 = cljs.core.chunk_rest.call(null,seq__12508_12581__$1);
var G__12584 = c__5632__auto___12582;
var G__12585 = cljs.core.count.call(null,c__5632__auto___12582);
var G__12586 = 0;
seq__12508_12571 = G__12583;
chunk__12509_12572 = G__12584;
count__12510_12573 = G__12585;
i__12511_12574 = G__12586;
continue;
}
} else
{var x_12587 = cljs.core.first.call(null,seq__12508_12581__$1);g.setNode(lt.plugins.elm_light.graph.dep_id.call(null,x_12587),lt.plugins.elm_light.graph.node_label.call(null,x_12587));
{
var G__12588 = cljs.core.next.call(null,seq__12508_12581__$1);
var G__12589 = null;
var G__12590 = 0;
var G__12591 = 0;
seq__12508_12571 = G__12588;
chunk__12509_12572 = G__12589;
count__12510_12573 = G__12590;
i__12511_12574 = G__12591;
continue;
}
}
} else
{}
}
break;
}
var seq__12512_12592 = cljs.core.seq.call(null,new cljs.core.Keyword(null,"edges","edges",1110261192).cljs$core$IFn$_invoke$arity$1(data));var chunk__12513_12593 = null;var count__12514_12594 = 0;var i__12515_12595 = 0;while(true){
if((i__12515_12595 < count__12514_12594))
{var x_12596 = cljs.core._nth.call(null,chunk__12513_12593,i__12515_12595);g.setEdge(new cljs.core.Keyword(null,"a","a",1013904339).cljs$core$IFn$_invoke$arity$1(x_12596),new cljs.core.Keyword(null,"b","b",1013904340).cljs$core$IFn$_invoke$arity$1(x_12596),{"style": (cljs.core.truth_(new cljs.core.Keyword(null,"transitive","transitive",3584713111).cljs$core$IFn$_invoke$arity$1(x_12596))?"stroke-dasharray: 5, 5;":null), "label": new cljs.core.Keyword(null,"label","label",1116631654).cljs$core$IFn$_invoke$arity$1(x_12596)});
{
var G__12597 = seq__12512_12592;
var G__12598 = chunk__12513_12593;
var G__12599 = count__12514_12594;
var G__12600 = (i__12515_12595 + 1);
seq__12512_12592 = G__12597;
chunk__12513_12593 = G__12598;
count__12514_12594 = G__12599;
i__12515_12595 = G__12600;
continue;
}
} else
{var temp__4092__auto___12601 = cljs.core.seq.call(null,seq__12512_12592);if(temp__4092__auto___12601)
{var seq__12512_12602__$1 = temp__4092__auto___12601;if(cljs.core.chunked_seq_QMARK_.call(null,seq__12512_12602__$1))
{var c__5632__auto___12603 = cljs.core.chunk_first.call(null,seq__12512_12602__$1);{
var G__12604 = cljs.core.chunk_rest.call(null,seq__12512_12602__$1);
var G__12605 = c__5632__auto___12603;
var G__12606 = cljs.core.count.call(null,c__5632__auto___12603);
var G__12607 = 0;
seq__12512_12592 = G__12604;
chunk__12513_12593 = G__12605;
count__12514_12594 = G__12606;
i__12515_12595 = G__12607;
continue;
}
} else
{var x_12608 = cljs.core.first.call(null,seq__12512_12602__$1);g.setEdge(new cljs.core.Keyword(null,"a","a",1013904339).cljs$core$IFn$_invoke$arity$1(x_12608),new cljs.core.Keyword(null,"b","b",1013904340).cljs$core$IFn$_invoke$arity$1(x_12608),{"style": (cljs.core.truth_(new cljs.core.Keyword(null,"transitive","transitive",3584713111).cljs$core$IFn$_invoke$arity$1(x_12608))?"stroke-dasharray: 5, 5;":null), "label": new cljs.core.Keyword(null,"label","label",1116631654).cljs$core$IFn$_invoke$arity$1(x_12608)});
{
var G__12609 = cljs.core.next.call(null,seq__12512_12602__$1);
var G__12610 = null;
var G__12611 = 0;
var G__12612 = 0;
seq__12512_12592 = G__12609;
chunk__12513_12593 = G__12610;
count__12514_12594 = G__12611;
i__12515_12595 = G__12612;
continue;
}
}
} else
{}
}
break;
}
return g;
});
lt.plugins.elm_light.graph.d3_sel = (function d3_sel(selector){console.log(lt.plugins.elm_light.graph.d3.select(selector));
return lt.plugins.elm_light.graph.d3.select(selector);
});
lt.plugins.elm_light.graph.dimensions = (function dimensions(this$){return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"w","w",1013904361),new cljs.core.Keyword(null,"content","content",1965434859).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)).clientWidth,new cljs.core.Keyword(null,"h","h",1013904346),new cljs.core.Keyword(null,"content","content",1965434859).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)).clientHeight], null);
});
lt.plugins.elm_light.graph.init_zoom = (function init_zoom(svg,g){var zoom = lt.plugins.elm_light.graph.d3.behavior.zoom().on("zoom",(function (){return g.attr("transform",[cljs.core.str("translate("),cljs.core.str(lt.plugins.elm_light.graph.d3.event.translate),cljs.core.str(")"),cljs.core.str("scale("),cljs.core.str(lt.plugins.elm_light.graph.d3.event.scale),cljs.core.str(")")].join(''));
}));return svg.call(zoom);
});
lt.plugins.elm_light.graph.resize_graph = (function resize_graph(this$,svg){var dim = lt.plugins.elm_light.graph.dimensions.call(null,this$);svg.attr("width",(new cljs.core.Keyword(null,"w","w",1013904361).cljs$core$IFn$_invoke$arity$1(dim) + 20));
return svg.attr("height",(new cljs.core.Keyword(null,"h","h",1013904346).cljs$core$IFn$_invoke$arity$1(dim) + 20));
});
lt.plugins.elm_light.graph.__BEH__on_render = (function __BEH__on_render(this$){var svg = lt.plugins.elm_light.graph.d3.select("svg");var g = svg.select("g");var renderer = lt.plugins.elm_light.graph.dagreD3.render();renderer.call(null,g,lt.plugins.elm_light.graph.create_graph.call(null,new cljs.core.Keyword(null,"data","data",1016980252).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$))));
lt.plugins.elm_light.graph.init_zoom.call(null,svg,g);
return lt.plugins.elm_light.graph.resize_graph.call(null,this$,svg);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.graph","on-render","lt.plugins.elm-light.graph/on-render",4390043473),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.graph.__BEH__on_render,new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm render dependencies",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.graph.render","elm.graph.render",2076182000),null], null), null));
lt.plugins.elm_light.graph.get_package_json = (function get_package_json(dep,callback){var url = [cljs.core.str("http://package.elm-lang.org/packages/"),cljs.core.str(new cljs.core.Keyword(null,"package","package",4501809080).cljs$core$IFn$_invoke$arity$1(dep)),cljs.core.str("/"),cljs.core.str(new cljs.core.Keyword(null,"version","version",1365512266).cljs$core$IFn$_invoke$arity$1(dep)),cljs.core.str("/"),cljs.core.str("elm-package.json")].join('');return fetch.core.xhr.call(null,url,cljs.core.PersistentArrayMap.EMPTY,((function (url){
return (function (data){return callback.call(null,cljs.core.js__GT_clj.call(null,JSON.parse(data),new cljs.core.Keyword(null,"keywordize-keys","keywordize-keys",4191781672),true));
});})(url))
);
});
lt.plugins.elm_light.graph.add_edges_for_dep = (function add_edges_for_dep(this$,origin,pkg_json){var temp__4092__auto__ = cljs.core.seq.call(null,cljs.core.map.call(null,(function (dep){return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"a","a",1013904339),lt.plugins.elm_light.graph.dep_id.call(null,origin),new cljs.core.Keyword(null,"b","b",1013904340),lt.plugins.elm_light.graph.dep_id.call(null,dep),new cljs.core.Keyword(null,"transitive","transitive",3584713111),true,new cljs.core.Keyword(null,"label","label",1116631654),new cljs.core.Keyword(null,"range","range",1122184367).cljs$core$IFn$_invoke$arity$1(dep)], null);
}),cljs.core.map.call(null,(function (p__12520){var vec__12521 = p__12520;var k = cljs.core.nth.call(null,vec__12521,0,null);var v = cljs.core.nth.call(null,vec__12521,1,null);return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"package","package",4501809080),new cljs.core.Keyword(null,"range","range",1122184367),new cljs.core.Keyword(null,"version","version",1365512266)],[lt.plugins.elm_light.utils.nskw__GT_name.call(null,k),v,new cljs.core.Keyword(null,"version","version",1365512266).cljs$core$IFn$_invoke$arity$1(cljs.core.some.call(null,((function (vec__12521,k,v){
return (function (p1__12516_SHARP_){if(cljs.core._EQ_.call(null,lt.plugins.elm_light.utils.nskw__GT_name.call(null,k),new cljs.core.Keyword(null,"package","package",4501809080).cljs$core$IFn$_invoke$arity$1(p1__12516_SHARP_)))
{return p1__12516_SHARP_;
} else
{return null;
}
});})(vec__12521,k,v))
,new cljs.core.Keyword(null,"packages","packages",1764771935).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"data","data",1016980252).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)))))]);
}),new cljs.core.Keyword(null,"dependencies","dependencies",1517678747).cljs$core$IFn$_invoke$arity$1(pkg_json))));if(temp__4092__auto__)
{var edges = temp__4092__auto__;lt.object.update_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"data","data",1016980252),new cljs.core.Keyword(null,"edges","edges",1110261192)], null),((function (edges,temp__4092__auto__){
return (function (p1__12517_SHARP_){return cljs.core.concat.call(null,p1__12517_SHARP_,edges);
});})(edges,temp__4092__auto__))
);
return lt.object.raise.call(null,this$,new cljs.core.Keyword(null,"elm.graph.render","elm.graph.render",2076182000));
} else
{return null;
}
});
lt.plugins.elm_light.graph.__BEH__on_get_transitives = (function __BEH__on_get_transitives(this$){var transitives = cljs.core.remove.call(null,new cljs.core.Keyword(null,"range","range",1122184367),new cljs.core.Keyword(null,"packages","packages",1764771935).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"data","data",1016980252).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$))));lt.object.update_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"data","data",1016980252),new cljs.core.Keyword(null,"nodes","nodes",1118897699)], null),((function (transitives){
return (function (p1__12522_SHARP_){return cljs.core.concat.call(null,p1__12522_SHARP_,transitives);
});})(transitives))
);
lt.object.raise.call(null,this$,new cljs.core.Keyword(null,"elm.graph.render","elm.graph.render",2076182000));
var seq__12527 = cljs.core.seq.call(null,cljs.core.filter.call(null,new cljs.core.Keyword(null,"version","version",1365512266),new cljs.core.Keyword(null,"packages","packages",1764771935).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"data","data",1016980252).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)))));var chunk__12528 = null;var count__12529 = 0;var i__12530 = 0;while(true){
if((i__12530 < count__12529))
{var x = cljs.core._nth.call(null,chunk__12528,i__12530);lt.plugins.elm_light.graph.get_package_json.call(null,x,cljs.core.partial.call(null,lt.plugins.elm_light.graph.add_edges_for_dep,this$,x));
{
var G__12613 = seq__12527;
var G__12614 = chunk__12528;
var G__12615 = count__12529;
var G__12616 = (i__12530 + 1);
seq__12527 = G__12613;
chunk__12528 = G__12614;
count__12529 = G__12615;
i__12530 = G__12616;
continue;
}
} else
{var temp__4092__auto__ = cljs.core.seq.call(null,seq__12527);if(temp__4092__auto__)
{var seq__12527__$1 = temp__4092__auto__;if(cljs.core.chunked_seq_QMARK_.call(null,seq__12527__$1))
{var c__5632__auto__ = cljs.core.chunk_first.call(null,seq__12527__$1);{
var G__12617 = cljs.core.chunk_rest.call(null,seq__12527__$1);
var G__12618 = c__5632__auto__;
var G__12619 = cljs.core.count.call(null,c__5632__auto__);
var G__12620 = 0;
seq__12527 = G__12617;
chunk__12528 = G__12618;
count__12529 = G__12619;
i__12530 = G__12620;
continue;
}
} else
{var x = cljs.core.first.call(null,seq__12527__$1);lt.plugins.elm_light.graph.get_package_json.call(null,x,cljs.core.partial.call(null,lt.plugins.elm_light.graph.add_edges_for_dep,this$,x));
{
var G__12621 = cljs.core.next.call(null,seq__12527__$1);
var G__12622 = null;
var G__12623 = 0;
var G__12624 = 0;
seq__12527 = G__12621;
chunk__12528 = G__12622;
count__12529 = G__12623;
i__12530 = G__12624;
continue;
}
}
} else
{return null;
}
}
break;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.graph","on-get-transitives","lt.plugins.elm-light.graph/on-get-transitives",3355428108),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.graph.__BEH__on_get_transitives,new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm get 1.st level transitive dependencies",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.graph.get-transitives","elm.graph.get-transitives",689262209),null], null), null));
lt.plugins.elm_light.graph.get_dependency_data = (function get_dependency_data(project_path){var pkgs = cljs.core.map.call(null,(function (p1__12532_SHARP_){return cljs.core.assoc.call(null,p1__12532_SHARP_,new cljs.core.Keyword(null,"summary","summary",3451231000),new cljs.core.Keyword(null,"summary","summary",3451231000).cljs$core$IFn$_invoke$arity$1(lt.plugins.elm_light.graph.find_package_by_name.call(null,lt.plugins.elm_light.graph.dependency_graph,new cljs.core.Keyword(null,"package","package",4501809080).cljs$core$IFn$_invoke$arity$1(p1__12532_SHARP_))));
}),cljs.core.map.call(null,(function (p1__12531_SHARP_){return clojure.set.rename_keys.call(null,p1__12531_SHARP_,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"exact","exact",1110851185),new cljs.core.Keyword(null,"version","version",1365512266)], null));
}),lt.plugins.elm_light.utils.get_project_deps.call(null,project_path)));var direct = cljs.core.filter.call(null,new cljs.core.Keyword(null,"range","range",1122184367),pkgs);var rootVersion = new cljs.core.Keyword(null,"version","version",1365512266).cljs$core$IFn$_invoke$arity$1(lt.plugins.elm_light.utils.parse_json_file.call(null,lt.objs.files.join.call(null,project_path,"elm-package.json")));var root = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"package","package",4501809080),lt.objs.files.basename.call(null,project_path),new cljs.core.Keyword(null,"version","version",1365512266),rootVersion,new cljs.core.Keyword(null,"shape","shape",1123304211),"ellipse"], null);return new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"packages","packages",1764771935),pkgs,new cljs.core.Keyword(null,"nodes","nodes",1118897699),cljs.core.conj.call(null,direct,root),new cljs.core.Keyword(null,"edges","edges",1110261192),cljs.core.map.call(null,((function (pkgs,direct,rootVersion,root){
return (function (p1__12533_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"a","a",1013904339),new cljs.core.Keyword(null,"b","b",1013904340),new cljs.core.Keyword(null,"label","label",1116631654)],[lt.plugins.elm_light.graph.dep_id.call(null,root),lt.plugins.elm_light.graph.dep_id.call(null,p1__12533_SHARP_),new cljs.core.Keyword(null,"range","range",1122184367).cljs$core$IFn$_invoke$arity$1(p1__12533_SHARP_)]);
});})(pkgs,direct,rootVersion,root))
,direct)], null);
});
lt.plugins.elm_light.graph.__BEH__on_get_data = (function __BEH__on_get_data(this$){var data = lt.plugins.elm_light.graph.get_dependency_data.call(null,new cljs.core.Keyword(null,"project-path","project-path",1907176907).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)));lt.object.assoc_in_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"data","data",1016980252)], null),data);
lt.object.raise.call(null,this$,new cljs.core.Keyword(null,"elm.graph.render","elm.graph.render",2076182000));
return lt.object.raise.call(null,this$,new cljs.core.Keyword(null,"elm.graph.get-transitives","elm.graph.get-transitives",689262209));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.graph","on-get-data","lt.plugins.elm-light.graph/on-get-data",4501730286),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.graph.__BEH__on_get_data,new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm retrieve dependency data for project",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.graph.get-data","elm.graph.get-data",2085474843),null], null), null));
lt.plugins.elm_light.graph.__BEH__on_show_dependencies = (function __BEH__on_show_dependencies(this$,project_path,focus_tab_QMARK_){if(cljs.core.truth_(focus_tab_QMARK_))
{lt.objs.tabs.add_or_focus_BANG_.call(null,this$);
} else
{}
lt.object.assoc_in_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"project-path","project-path",1907176907)], null),project_path);
lt.object.assoc_in_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"data","data",1016980252)], null),cljs.core.PersistentArrayMap.EMPTY);
return lt.object.raise.call(null,this$,new cljs.core.Keyword(null,"elm.graph.get-data","elm.graph.get-data",2085474843));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.graph","on-show-dependencies","lt.plugins.elm-light.graph/on-show-dependencies",928753546),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.graph.__BEH__on_show_dependencies,new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm show dependency graph",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.graph.show-dependencies","elm.graph.show-dependencies",3464547203),null], null), null));
lt.plugins.elm_light.graph.__BEH__on_tab_resized = (function __BEH__on_tab_resized(_){var svg = lt.plugins.elm_light.graph.d3.select("svg");return lt.plugins.elm_light.graph.resize_graph.call(null,lt.plugins.elm_light.graph.dependency_graph,svg);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.graph","on-tab-resized","lt.plugins.elm-light.graph/on-tab-resized",4543261451),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.graph.__BEH__on_tab_resized,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"end-drag","end-drag",2692811352),null], null), null));
lt.plugins.elm_light.graph.dependency_graph = lt.object.create.call(null,new cljs.core.Keyword("lt.plugins.elm-light.graph","dependency-graph","lt.plugins.elm-light.graph/dependency-graph",2371711049));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"show-elm-dep-graph","show-elm-dep-graph",2736186955),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Show dependency graph",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;var temp__4092__auto____$1 = lt.plugins.elm_light.utils.project_path.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed))));if(cljs.core.truth_(temp__4092__auto____$1))
{var path = temp__4092__auto____$1;return lt.object.raise.call(null,lt.plugins.elm_light.graph.dependency_graph,new cljs.core.Keyword(null,"elm.graph.show-dependencies","elm.graph.show-dependencies",3464547203),path,true);
} else
{return null;
}
} else
{return null;
}
})], null));
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.packages')) {
goog.provide('lt.plugins.elm_light.packages');
goog.require('cljs.core');
goog.require('clojure.walk');
goog.require('lt.objs.files');
goog.require('lt.plugins.elm_light.graph');
goog.require('lt.plugins.elm_light.autocompleter');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.util.dom');
goog.require('lt.plugins.elm_light.graph');
goog.require('quiescent');
goog.require('lt.objs.tabs');
goog.require('clojure.string');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.objs.notifos');
goog.require('quiescent.dom');
goog.require('lt.objs.browser');
goog.require('lt.objs.notifos');
goog.require('lt.util.dom');
goog.require('lt.objs.editor.pool');
goog.require('clojure.walk');
goog.require('lt.objs.command');
goog.require('lt.objs.files');
goog.require('clojure.string');
goog.require('quiescent');
goog.require('lt.objs.browser');
goog.require('quiescent.dom');
goog.require('lt.object');
goog.require('lt.object');
goog.require('lt.objs.console');
goog.require('lt.objs.tabs');
goog.require('lt.objs.console');
goog.require('lt.plugins.elm_light.autocompleter');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
lt.plugins.elm_light.packages.remove_pkg = (function remove_pkg(path,pkg){var pkg_file = lt.objs.files.join.call(null,path,"elm-package.json");return cljs.core.partial.call(null,lt.objs.files.save,pkg_file).call(null,lt.plugins.elm_light.utils.pretty_json.call(null,cljs.core.update_in.call(null,lt.plugins.elm_light.utils.parse_json_file.call(null,pkg_file),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"dependencies","dependencies",1517678747)], null),((function (pkg_file){
return (function (deps){return cljs.core.dissoc.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,((function (pkg_file){
return (function (p__19754){var vec__19755 = p__19754;var k = cljs.core.nth.call(null,vec__19755,0,null);var v = cljs.core.nth.call(null,vec__19755,1,null);return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [lt.plugins.elm_light.utils.nskw__GT_name.call(null,k),v], null);
});})(pkg_file))
,deps)),pkg);
});})(pkg_file))
)));
});
lt.plugins.elm_light.packages.project_wrapper = (function project_wrapper(this$){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.elm","div.elm",2686466363),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1014003715),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"id","id",1013907597),"project-packages-wrapper"], null),"Retrieving project package info..."], null)], null));var seq__19762_19787 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__19763_19788 = null;var count__19764_19789 = 0;var i__19765_19790 = 0;while(true){
if((i__19765_19790 < count__19764_19789))
{var vec__19766_19791 = cljs.core._nth.call(null,chunk__19763_19788,i__19765_19790);var ev__6318__auto___19792 = cljs.core.nth.call(null,vec__19766_19791,0,null);var func__6319__auto___19793 = cljs.core.nth.call(null,vec__19766_19791,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19792,func__6319__auto___19793);
{
var G__19794 = seq__19762_19787;
var G__19795 = chunk__19763_19788;
var G__19796 = count__19764_19789;
var G__19797 = (i__19765_19790 + 1);
seq__19762_19787 = G__19794;
chunk__19763_19788 = G__19795;
count__19764_19789 = G__19796;
i__19765_19790 = G__19797;
continue;
}
} else
{var temp__4092__auto___19798 = cljs.core.seq.call(null,seq__19762_19787);if(temp__4092__auto___19798)
{var seq__19762_19799__$1 = temp__4092__auto___19798;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19762_19799__$1))
{var c__5632__auto___19800 = cljs.core.chunk_first.call(null,seq__19762_19799__$1);{
var G__19801 = cljs.core.chunk_rest.call(null,seq__19762_19799__$1);
var G__19802 = c__5632__auto___19800;
var G__19803 = cljs.core.count.call(null,c__5632__auto___19800);
var G__19804 = 0;
seq__19762_19787 = G__19801;
chunk__19763_19788 = G__19802;
count__19764_19789 = G__19803;
i__19765_19790 = G__19804;
continue;
}
} else
{var vec__19767_19805 = cljs.core.first.call(null,seq__19762_19799__$1);var ev__6318__auto___19806 = cljs.core.nth.call(null,vec__19767_19805,0,null);var func__6319__auto___19807 = cljs.core.nth.call(null,vec__19767_19805,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19806,func__6319__auto___19807);
{
var G__19808 = cljs.core.next.call(null,seq__19762_19799__$1);
var G__19809 = null;
var G__19810 = 0;
var G__19811 = 0;
seq__19762_19787 = G__19808;
chunk__19763_19788 = G__19809;
count__19764_19789 = G__19810;
i__19765_19790 = G__19811;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.object.object_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.packages","elm-packages","lt.plugins.elm-light.packages/elm-packages",4552372902),new cljs.core.Keyword(null,"tags","tags",1017456523),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.packages","elm.packages",3931311271),null], null), null),new cljs.core.Keyword(null,"label","label",1116631654),"Elm project packages",new cljs.core.Keyword(null,"name","name",1017277949),"Elm project packages",new cljs.core.Keyword(null,"init","init",1017141378),(function (this$){lt.plugins.elm_light.utils.fetch_all_packages.call(null,(function (p1__19768_SHARP_){return lt.object.merge_BANG_.call(null,this$,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"all-packages","all-packages",1123981067),p1__19768_SHARP_], null));
}));
return lt.plugins.elm_light.packages.project_wrapper.call(null,this$);
}));
lt.plugins.elm_light.packages.ensure_visible = (function ensure_visible(this$){var list = lt.util.dom.$.call(null,".autocomplete-dropdown-menu",lt.object.__GT_content.call(null,this$));var elem = lt.util.dom.$.call(null,".autocomplete-active",list);if((elem.offsetTop < list.scrollTop))
{return list.scrollTop = (elem.offsetTop - 15);
} else
{if(((elem.offsetTop + elem.offsetHeight) > (list.scrollTop + list.clientHeight)))
{return list.scrollTop = (((elem.offsetTop + elem.offsetHeight) + 15) - list.clientHeight);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return null;
} else
{return null;
}
}
}
});
lt.plugins.elm_light.packages.filter_packages = (function filter_packages(token,pkgs){return cljs.core.vec.call(null,cljs.core.filter.call(null,(function (pkg){return (clojure.string.lower_case.call(null,new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(pkg)).indexOf(clojure.string.lower_case.call(null,token)) > -1);
}),pkgs));
});
lt.plugins.elm_light.packages.idx_active = (function idx_active(items){return cljs.core.first.call(null,cljs.core.keep_indexed.call(null,(function (p1__19770_SHARP_,p2__19769_SHARP_){if(cljs.core.truth_(new cljs.core.Keyword(null,"active","active",3885920888).cljs$core$IFn$_invoke$arity$1(p2__19769_SHARP_)))
{return p1__19770_SHARP_;
} else
{return null;
}
}),items));
});
lt.plugins.elm_light.packages.move_down = (function move_down(items){if(cljs.core.empty_QMARK_.call(null,items))
{return null;
} else
{return cljs.core.assoc_in.call(null,cljs.core.assoc_in.call(null,items,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [lt.plugins.elm_light.packages.idx_active.call(null,items),new cljs.core.Keyword(null,"active","active",3885920888)], null),false),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var x__5198__auto__ = (cljs.core.count.call(null,items) - 1);var y__5199__auto__ = (lt.plugins.elm_light.packages.idx_active.call(null,items) + 1);return ((x__5198__auto__ < y__5199__auto__) ? x__5198__auto__ : y__5199__auto__);
})(),new cljs.core.Keyword(null,"active","active",3885920888)], null),true);
}
});
lt.plugins.elm_light.packages.move_up = (function move_up(items){if(cljs.core.empty_QMARK_.call(null,items))
{return null;
} else
{return cljs.core.assoc_in.call(null,cljs.core.assoc_in.call(null,items,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [lt.plugins.elm_light.packages.idx_active.call(null,items),new cljs.core.Keyword(null,"active","active",3885920888)], null),false),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var x__5191__auto__ = 0;var y__5192__auto__ = (lt.plugins.elm_light.packages.idx_active.call(null,items) - 1);return ((x__5191__auto__ > y__5192__auto__) ? x__5191__auto__ : y__5192__auto__);
})(),new cljs.core.Keyword(null,"active","active",3885920888)], null),true);
}
});
lt.plugins.elm_light.packages.on_pkg_down = (function on_pkg_down(){lt.object.update_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ac-packages","ac-packages",1548109226)], null),lt.plugins.elm_light.packages.move_down);
lt.plugins.elm_light.packages.render.call(null,cljs.core.PersistentArrayMap.EMPTY);
return lt.plugins.elm_light.packages.ensure_visible.call(null,lt.plugins.elm_light.packages.elm_packages);
});
lt.plugins.elm_light.packages.on_pkg_up = (function on_pkg_up(){lt.object.update_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ac-packages","ac-packages",1548109226)], null),lt.plugins.elm_light.packages.move_up);
lt.plugins.elm_light.packages.render.call(null,cljs.core.PersistentArrayMap.EMPTY);
return lt.plugins.elm_light.packages.ensure_visible.call(null,lt.plugins.elm_light.packages.elm_packages);
});
lt.plugins.elm_light.packages.on_pkg_sel = (function on_pkg_sel(){var items_19812 = new cljs.core.Keyword(null,"ac-packages","ac-packages",1548109226).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.packages.elm_packages));var temp__4090__auto___19813 = lt.plugins.elm_light.packages.idx_active.call(null,items_19812);if(cljs.core.truth_(temp__4090__auto___19813))
{var idx_19814 = temp__4090__auto___19813;lt.object.assoc_in_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ac-versions","ac-versions",3107155800)], null),new cljs.core.Keyword(null,"versions","versions",3323818509).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,items_19812,idx_19814)));
lt.object.assoc_in_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ac-version","ac-version",2051259807)], null),cljs.core.first.call(null,new cljs.core.Keyword(null,"versions","versions",3323818509).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,items_19812,idx_19814))));
lt.object.assoc_in_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ac-package","ac-package",892589325)], null),new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.call(null,items_19812,idx_19814)));
} else
{lt.object.assoc_in_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ac-versions","ac-versions",3107155800)], null),cljs.core.PersistentVector.EMPTY);
}
lt.object.merge_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"ac-packages","ac-packages",1548109226),null], null));
return lt.plugins.elm_light.packages.render.call(null,cljs.core.PersistentArrayMap.EMPTY);
});
lt.plugins.elm_light.packages.on_pkg_cancel = (function on_pkg_cancel(){lt.object.merge_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"ac-packages","ac-packages",1548109226),null,new cljs.core.Keyword(null,"ac-versions","ac-versions",3107155800),cljs.core.PersistentVector.EMPTY], null));
return lt.plugins.elm_light.packages.render.call(null,cljs.core.PersistentArrayMap.EMPTY);
});
lt.plugins.elm_light.packages.on_pkg_blur = (function on_pkg_blur(){lt.object.merge_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"ac-packages","ac-packages",1548109226),null], null));
return lt.plugins.elm_light.packages.render.call(null,cljs.core.PersistentArrayMap.EMPTY);
});
lt.plugins.elm_light.packages.on_pkg_change = (function on_pkg_change(v){var items = lt.plugins.elm_light.packages.filter_packages.call(null,v,new cljs.core.Keyword(null,"all-packages","all-packages",1123981067).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.packages.elm_packages)));lt.object.merge_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"ac-packages","ac-packages",1548109226),items,new cljs.core.Keyword(null,"ac-package","ac-package",892589325),v,new cljs.core.Keyword(null,"ac-versions","ac-versions",3107155800),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,"ac-version","ac-version",2051259807),null], null));
if(cljs.core.empty_QMARK_.call(null,items))
{} else
{lt.object.assoc_in_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ac-packages","ac-packages",1548109226),0,new cljs.core.Keyword(null,"active","active",3885920888)], null),true);
}
return lt.plugins.elm_light.packages.render.call(null,cljs.core.PersistentArrayMap.EMPTY);
});
lt.plugins.elm_light.packages.pkg_install = (function pkg_install(pkg,v){var args = cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["install","--yes"], null),(cljs.core.truth_(pkg)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [pkg,v], null):cljs.core.PersistentVector.EMPTY));lt.objs.notifos.working.call(null,clojure.string.join.call(null," ",cljs.core.cons.call(null,"elm-package",args)));
var proc = require("child_process").spawn("elm-package",cljs.core.clj__GT_js.call(null,args),{"cwd": new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.packages.elm_packages))});proc.on("exit",((function (proc,args){
return (function (p1__19771_SHARP_){if(cljs.core._EQ_.call(null,p1__19771_SHARP_,0))
{lt.objs.notifos.done_working.call(null);
} else
{lt.objs.notifos.set_msg_BANG_.call(null,"Error installing elm package",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"class","class",1108647146),"error",new cljs.core.Keyword(null,"timeout","timeout",3994960083),5000], null));
}
lt.object.raise.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.Keyword(null,"elm.show.project.packages","elm.show.project.packages",3385102109),new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.packages.elm_packages)));
return lt.object.raise.call(null,lt.plugins.elm_light.graph.dependency_graph,new cljs.core.Keyword(null,"elm.graph.show-dependencies","elm.graph.show-dependencies",3464547203),new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.packages.elm_packages)),false);
});})(proc,args))
);
proc.stdout.on("data",((function (proc,args){
return (function (p1__19772_SHARP_){return lt.objs.notifos.msg_STAR_.call(null,[cljs.core.str("Package install: "),cljs.core.str(p1__19772_SHARP_)].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"timeout","timeout",3994960083),5000], null));
});})(proc,args))
);
return proc.stderr.on("data",((function (proc,args){
return (function (p1__19773_SHARP_){return lt.objs.console.error.call(null,[cljs.core.str(p1__19773_SHARP_)].join(''));
});})(proc,args))
);
});
lt.plugins.elm_light.packages.on_add_package = (function on_add_package(){return lt.plugins.elm_light.packages.pkg_install.call(null,new cljs.core.Keyword(null,"ac-package","ac-package",892589325).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.packages.elm_packages)),new cljs.core.Keyword(null,"ac-version","ac-version",2051259807).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.packages.elm_packages)));
});
lt.plugins.elm_light.packages.on_pkg_refresh = (function on_pkg_refresh(){return lt.plugins.elm_light.packages.pkg_install.call(null,null,null);
});
lt.plugins.elm_light.packages.on_remove_pkg = (function on_remove_pkg(pkg){lt.plugins.elm_light.packages.remove_pkg.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.packages.elm_packages)),pkg);
return lt.plugins.elm_light.packages.pkg_install.call(null,null,null);
});
lt.plugins.elm_light.packages.on_change_version = (function on_change_version(v){lt.object.assoc_in_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ac-version","ac-version",2051259807)], null),v);
return lt.plugins.elm_light.packages.render.call(null,cljs.core.PersistentArrayMap.EMPTY);
});
lt.plugins.elm_light.packages.on_pkg_browse = (function on_pkg_browse(pkg,version){var url = [cljs.core.str("http://package.elm-lang.org/packages/"),cljs.core.str(pkg),cljs.core.str("/"),cljs.core.str(version)].join('');var b = (function (){var or__4884__auto__ = cljs.core.first.call(null,lt.object.by_tag.call(null,new cljs.core.Keyword(null,"browser","browser",1164844698)));if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return lt.objs.browser.add.call(null);
}
})();lt.objs.tabs.add_or_focus_BANG_.call(null,b);
return lt.object.raise.call(null,b,new cljs.core.Keyword(null,"navigate!","navigate!",1766726722),url);
});
lt.plugins.elm_light.packages.on_show_graph = (function on_show_graph(){return lt.object.raise.call(null,lt.plugins.elm_light.graph.dependency_graph,new cljs.core.Keyword(null,"elm.graph.show-dependencies","elm.graph.show-dependencies",3464547203),new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.packages.elm_packages)),true);
});
/**
*
*/
lt.plugins.elm_light.packages.AddPackageForm = quiescent.component.call(null,(function (props){return quiescent.dom.div.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"className","className",1004015509),"add-package"], null),quiescent.dom.h3.call(null,cljs.core.PersistentArrayMap.EMPTY,"Add package:"),lt.plugins.elm_light.autocompleter.AutoComplete.call(null,new cljs.core.Keyword(null,"ac-props","ac-props",1626585975).cljs$core$IFn$_invoke$arity$1(props)));
}));
/**
*
*/
lt.plugins.elm_light.packages.PackageRow = quiescent.component.call(null,(function (p__19774){var map__19775 = p__19774;var map__19775__$1 = ((cljs.core.seq_QMARK_.call(null,map__19775))?cljs.core.apply.call(null,cljs.core.hash_map,map__19775):map__19775);var on_browse = cljs.core.get.call(null,map__19775__$1,new cljs.core.Keyword(null,"on-browse","on-browse",587885994));var on_remove = cljs.core.get.call(null,map__19775__$1,new cljs.core.Keyword(null,"on-remove","on-remove",1033879460));var exact = cljs.core.get.call(null,map__19775__$1,new cljs.core.Keyword(null,"exact","exact",1110851185));var range = cljs.core.get.call(null,map__19775__$1,new cljs.core.Keyword(null,"range","range",1122184367));var package$ = cljs.core.get.call(null,map__19775__$1,new cljs.core.Keyword(null,"package","package",4501809080));return quiescent.dom.tr.call(null,cljs.core.PersistentArrayMap.EMPTY,quiescent.dom.td.call(null,cljs.core.PersistentArrayMap.EMPTY,(cljs.core.truth_((function (){var and__4872__auto__ = package$;if(cljs.core.truth_(and__4872__auto__))
{return exact;
} else
{return and__4872__auto__;
}
})())?quiescent.dom.span.call(null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"className","className",1004015509),"link",new cljs.core.Keyword(null,"onClick","onClick",3956969051),((function (map__19775,map__19775__$1,on_browse,on_remove,exact,range,package$){
return (function (){return on_browse.call(null,package$,exact);
});})(map__19775,map__19775__$1,on_browse,on_remove,exact,range,package$))
], null),package$):package$)),quiescent.dom.td.call(null,cljs.core.PersistentArrayMap.EMPTY,range),quiescent.dom.td.call(null,cljs.core.PersistentArrayMap.EMPTY,exact),quiescent.dom.td.call(null,cljs.core.PersistentArrayMap.EMPTY,(cljs.core.truth_(range)?quiescent.dom.button.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"onClick","onClick",3956969051),((function (map__19775,map__19775__$1,on_browse,on_remove,exact,range,package$){
return (function (){return on_remove.call(null,package$);
});})(map__19775,map__19775__$1,on_browse,on_remove,exact,range,package$))
], null),"remove"):null)));
}));
/**
*
*/
lt.plugins.elm_light.packages.PackageTable = quiescent.component.call(null,(function (props){return quiescent.dom.table.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"className","className",1004015509),"package-table"], null),quiescent.dom.thead.call(null,cljs.core.PersistentArrayMap.EMPTY,quiescent.dom.tr.call(null,cljs.core.PersistentArrayMap.EMPTY,quiescent.dom.th.call(null,cljs.core.PersistentArrayMap.EMPTY,"Package"),quiescent.dom.th.call(null,cljs.core.PersistentArrayMap.EMPTY,"Range"),quiescent.dom.th.call(null,cljs.core.PersistentArrayMap.EMPTY,"Exact"),quiescent.dom.th.call(null,cljs.core.PersistentArrayMap.EMPTY,""))),cljs.core.apply.call(null,quiescent.dom.tbody,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,(function (p1__19776_SHARP_){return lt.plugins.elm_light.packages.PackageRow.call(null,cljs.core.assoc.call(null,p1__19776_SHARP_,new cljs.core.Keyword(null,"on-remove","on-remove",1033879460),new cljs.core.Keyword(null,"on-remove","on-remove",1033879460).cljs$core$IFn$_invoke$arity$1(props),new cljs.core.Keyword(null,"on-browse","on-browse",587885994),new cljs.core.Keyword(null,"on-browse","on-browse",587885994).cljs$core$IFn$_invoke$arity$1(props)));
}),new cljs.core.Keyword(null,"packages","packages",1764771935).cljs$core$IFn$_invoke$arity$1(props))));
}));
/**
*
*/
lt.plugins.elm_light.packages.ProjectPackages = quiescent.component.call(null,(function (props){return quiescent.dom.div.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"className","className",1004015509),"project-packages"], null),quiescent.dom.h1.call(null,cljs.core.PersistentArrayMap.EMPTY,[cljs.core.str(lt.objs.files.basename.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(props))),cljs.core.str(" - packages")].join('')),lt.plugins.elm_light.packages.PackageTable.call(null,props),quiescent.dom.button.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"onClick","onClick",3956969051),(function (){return new cljs.core.Keyword(null,"on-pkg-refresh","on-pkg-refresh",1806751838).cljs$core$IFn$_invoke$arity$1(props).call(null);
})], null),"Refresh packages"),quiescent.dom.button.call(null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"onClick","onClick",3956969051),(function (){return new cljs.core.Keyword(null,"on-show-graph","on-show-graph",4544855710).cljs$core$IFn$_invoke$arity$1(props).call(null);
}),new cljs.core.Keyword(null,"style","style",1123684643),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"marginLeft","marginLeft",2984838727),"10px"], null)], null),"Show dependency graph"),lt.plugins.elm_light.packages.AddPackageForm.call(null,props));
}));
lt.plugins.elm_light.packages.render = (function render(props){return quiescent.render.call(null,lt.plugins.elm_light.packages.ProjectPackages.call(null,cljs.core.merge.call(null,props,new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,"path","path",1017337751),new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.packages.elm_packages)),new cljs.core.Keyword(null,"packages","packages",1764771935),new cljs.core.Keyword(null,"packages","packages",1764771935).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.packages.elm_packages)),new cljs.core.Keyword(null,"on-pkg-refresh","on-pkg-refresh",1806751838),lt.plugins.elm_light.packages.on_pkg_refresh,new cljs.core.Keyword(null,"on-remove","on-remove",1033879460),lt.plugins.elm_light.packages.on_remove_pkg,new cljs.core.Keyword(null,"on-browse","on-browse",587885994),lt.plugins.elm_light.packages.on_pkg_browse,new cljs.core.Keyword(null,"on-show-graph","on-show-graph",4544855710),lt.plugins.elm_light.packages.on_show_graph,new cljs.core.Keyword(null,"ac-props","ac-props",1626585975),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"on-add-package","on-add-package",3601701790),new cljs.core.Keyword(null,"on-select","on-select",1062468636),new cljs.core.Keyword(null,"items","items",1114430258),new cljs.core.Keyword(null,"on-cancel","on-cancel",600765850),new cljs.core.Keyword(null,"on-blur","on-blur",3936357127),new cljs.core.Keyword(null,"on-change","on-change",606853840),new cljs.core.Keyword(null,"version","version",1365512266),new cljs.core.Keyword(null,"on-change-version","on-change-version",822058203),new cljs.core.Keyword(null,"on-down","on-down",3936419650),new cljs.core.Keyword(null,"on-up","on-up",1119739067),new cljs.core.Keyword(null,"versions","versions",3323818509),new cljs.core.Keyword(null,"value","value",1125876963)],[lt.plugins.elm_light.packages.on_add_package,lt.plugins.elm_light.packages.on_pkg_sel,new cljs.core.Keyword(null,"ac-packages","ac-packages",1548109226).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.packages.elm_packages)),lt.plugins.elm_light.packages.on_pkg_cancel,lt.plugins.elm_light.packages.on_pkg_blur,lt.plugins.elm_light.packages.on_pkg_change,new cljs.core.Keyword(null,"ac-version","ac-version",2051259807).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.packages.elm_packages)),lt.plugins.elm_light.packages.on_change_version,lt.plugins.elm_light.packages.on_pkg_down,lt.plugins.elm_light.packages.on_pkg_up,new cljs.core.Keyword(null,"ac-versions","ac-versions",3107155800).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.packages.elm_packages)),new cljs.core.Keyword(null,"ac-package","ac-package",892589325).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.packages.elm_packages))]),new cljs.core.Keyword(null,"all-packages","all-packages",1123981067),new cljs.core.Keyword(null,"all-packages","all-packages",1123981067).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.packages.elm_packages))], null))),document.getElementById("project-packages-wrapper"));
});
lt.plugins.elm_light.packages.__BEH__on_close_project_packages = (function __BEH__on_close_project_packages(this$){return lt.objs.tabs.rem_BANG_.call(null,this$);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.packages","on-close-project-packages","lt.plugins.elm-light.packages/on-close-project-packages",801429622),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.packages.__BEH__on_close_project_packages,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"close","close",1108660586),null], null), null));
lt.plugins.elm_light.packages.__BEH__show_project_packages = (function __BEH__show_project_packages(this$,path){lt.objs.tabs.add_or_focus_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages);
lt.object.assoc_in_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ac-packages","ac-packages",1548109226)], null),null);
lt.object.assoc_in_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ac-package","ac-package",892589325)], null),null);
lt.object.assoc_in_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ac-versions","ac-versions",3107155800)], null),cljs.core.PersistentVector.EMPTY);
lt.object.assoc_in_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ac-version","ac-version",2051259807)], null),null);
lt.object.assoc_in_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"path","path",1017337751)], null),path);
lt.object.assoc_in_BANG_.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"packages","packages",1764771935)], null),lt.plugins.elm_light.utils.get_project_deps.call(null,path));
return lt.plugins.elm_light.packages.render.call(null,cljs.core.PersistentArrayMap.EMPTY);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.packages","show-project-packages","lt.plugins.elm-light.packages/show-project-packages",999583331),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.packages.__BEH__show_project_packages,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.show.project.packages","elm.show.project.packages",3385102109),null], null), null));
lt.plugins.elm_light.packages.elm_packages = lt.object.create.call(null,new cljs.core.Keyword("lt.plugins.elm-light.packages","elm-packages","lt.plugins.elm-light.packages/elm-packages",4552372902));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"show-elm-project-packages","show-elm-project-packages",3767469994),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Show project packages",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;var temp__4092__auto____$1 = lt.plugins.elm_light.utils.project_path.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed))));if(cljs.core.truth_(temp__4092__auto____$1))
{var path = temp__4092__auto____$1;return lt.object.raise.call(null,lt.plugins.elm_light.packages.elm_packages,new cljs.core.Keyword(null,"elm.show.project.packages","elm.show.project.packages",3385102109),path);
} else
{return null;
}
} else
{return null;
}
})], null));
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.inline-doc')) {
goog.provide('lt.plugins.elm_light.inline_doc');
goog.require('cljs.core');
goog.require('lt.objs.files');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.util.dom');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.objs.browser');
goog.require('lt.util.dom');
goog.require('lt.objs.files');
goog.require('lt.objs.browser');
goog.require('lt.objs.editor');
goog.require('lt.object');
goog.require('lt.object');
goog.require('lt.objs.editor');
lt.plugins.elm_light.inline_doc.marked = require(lt.objs.files.join.call(null,lt.plugins.elm_light.utils.elm_plugin_dir,"node_modules","marked"));
lt.plugins.elm_light.inline_doc.doc_ui_header = (function doc_ui_header(doc){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.inline-doc","div.inline-doc",3323486451),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"h1","h1",1013907515),new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(doc)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"h2","h2",1013907516),new cljs.core.Keyword(null,"ns","ns",1013907767).cljs$core$IFn$_invoke$arity$1(doc)], null),(cljs.core.truth_((function (){var and__4872__auto__ = new cljs.core.Keyword(null,"args","args",1016906831).cljs$core$IFn$_invoke$arity$1(doc);if(cljs.core.truth_(and__4872__auto__))
{return cljs.core.not_EQ_.call(null,new cljs.core.Keyword(null,"args","args",1016906831).cljs$core$IFn$_invoke$arity$1(doc),"nil");
} else
{return and__4872__auto__;
}
})())?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"h3","h3",1013907517),new cljs.core.Keyword(null,"args","args",1016906831).cljs$core$IFn$_invoke$arity$1(doc)], null):null)], null));var seq__19041_19073 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__19042_19074 = null;var count__19043_19075 = 0;var i__19044_19076 = 0;while(true){
if((i__19044_19076 < count__19043_19075))
{var vec__19045_19077 = cljs.core._nth.call(null,chunk__19042_19074,i__19044_19076);var ev__6318__auto___19078 = cljs.core.nth.call(null,vec__19045_19077,0,null);var func__6319__auto___19079 = cljs.core.nth.call(null,vec__19045_19077,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19078,func__6319__auto___19079);
{
var G__19080 = seq__19041_19073;
var G__19081 = chunk__19042_19074;
var G__19082 = count__19043_19075;
var G__19083 = (i__19044_19076 + 1);
seq__19041_19073 = G__19080;
chunk__19042_19074 = G__19081;
count__19043_19075 = G__19082;
i__19044_19076 = G__19083;
continue;
}
} else
{var temp__4092__auto___19084 = cljs.core.seq.call(null,seq__19041_19073);if(temp__4092__auto___19084)
{var seq__19041_19085__$1 = temp__4092__auto___19084;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19041_19085__$1))
{var c__5632__auto___19086 = cljs.core.chunk_first.call(null,seq__19041_19085__$1);{
var G__19087 = cljs.core.chunk_rest.call(null,seq__19041_19085__$1);
var G__19088 = c__5632__auto___19086;
var G__19089 = cljs.core.count.call(null,c__5632__auto___19086);
var G__19090 = 0;
seq__19041_19073 = G__19087;
chunk__19042_19074 = G__19088;
count__19043_19075 = G__19089;
i__19044_19076 = G__19090;
continue;
}
} else
{var vec__19046_19091 = cljs.core.first.call(null,seq__19041_19085__$1);var ev__6318__auto___19092 = cljs.core.nth.call(null,vec__19046_19091,0,null);var func__6319__auto___19093 = cljs.core.nth.call(null,vec__19046_19091,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19092,func__6319__auto___19093);
{
var G__19094 = cljs.core.next.call(null,seq__19041_19085__$1);
var G__19095 = null;
var G__19096 = 0;
var G__19097 = 0;
seq__19041_19073 = G__19094;
chunk__19042_19074 = G__19095;
count__19043_19075 = G__19096;
i__19044_19076 = G__19097;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.inline_doc.marked_doc = (function marked_doc(md_doc){var elem = document.createElement("div");lt.util.dom.add_class.call(null,elem,"elm-inline-doc");
elem.innerHTML = lt.plugins.elm_light.inline_doc.marked.call(null,md_doc,cljs.core.clj__GT_js.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"sanitize","sanitize",3011877851),false], null)));
return elem;
});
lt.plugins.elm_light.inline_doc.maybe_append_marked_doc = (function maybe_append_marked_doc(elem,doc){var temp__4090__auto__ = new cljs.core.Keyword(null,"doc","doc",1014003882).cljs$core$IFn$_invoke$arity$1(doc);if(cljs.core.truth_(temp__4090__auto__))
{var md_str = temp__4090__auto__;lt.util.dom.append.call(null,elem,lt.plugins.elm_light.inline_doc.marked_doc.call(null,md_str));
return elem;
} else
{return elem;
}
});
lt.plugins.elm_light.inline_doc.highlight_code = (function highlight_code(container_elem){var seq__19051 = cljs.core.seq.call(null,lt.util.dom.$$.call(null,"pre > code",container_elem));var chunk__19052 = null;var count__19053 = 0;var i__19054 = 0;while(true){
if((i__19054 < count__19053))
{var code = cljs.core._nth.call(null,chunk__19052,i__19054);hljs.highlightBlock(code);
{
var G__19098 = seq__19051;
var G__19099 = chunk__19052;
var G__19100 = count__19053;
var G__19101 = (i__19054 + 1);
seq__19051 = G__19098;
chunk__19052 = G__19099;
count__19053 = G__19100;
i__19054 = G__19101;
continue;
}
} else
{var temp__4092__auto__ = cljs.core.seq.call(null,seq__19051);if(temp__4092__auto__)
{var seq__19051__$1 = temp__4092__auto__;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19051__$1))
{var c__5632__auto__ = cljs.core.chunk_first.call(null,seq__19051__$1);{
var G__19102 = cljs.core.chunk_rest.call(null,seq__19051__$1);
var G__19103 = c__5632__auto__;
var G__19104 = cljs.core.count.call(null,c__5632__auto__);
var G__19105 = 0;
seq__19051 = G__19102;
chunk__19052 = G__19103;
count__19053 = G__19104;
i__19054 = G__19105;
continue;
}
} else
{var code = cljs.core.first.call(null,seq__19051__$1);hljs.highlightBlock(code);
{
var G__19106 = cljs.core.next.call(null,seq__19051__$1);
var G__19107 = null;
var G__19108 = 0;
var G__19109 = 0;
seq__19051 = G__19106;
chunk__19052 = G__19107;
count__19053 = G__19108;
i__19054 = G__19109;
continue;
}
}
} else
{return null;
}
}
break;
}
});
lt.plugins.elm_light.inline_doc.handle_url_click = (function handle_url_click(url){var b = (function (){var or__4884__auto__ = cljs.core.first.call(null,lt.object.by_tag.call(null,new cljs.core.Keyword(null,"browser","browser",1164844698)));if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return lt.objs.browser.add.call(null);
}
})();return lt.object.raise.call(null,b,new cljs.core.Keyword(null,"navigate!","navigate!",1766726722),url);
});
lt.plugins.elm_light.inline_doc.add_click_handlers = (function add_click_handlers(elem){var seq__19059 = cljs.core.seq.call(null,lt.util.dom.$$.call(null,"a",elem));var chunk__19060 = null;var count__19061 = 0;var i__19062 = 0;while(true){
if((i__19062 < count__19061))
{var link = cljs.core._nth.call(null,chunk__19060,i__19062);lt.util.dom.on.call(null,link,"click",((function (seq__19059,chunk__19060,count__19061,i__19062,link){
return (function (){return lt.plugins.elm_light.inline_doc.handle_url_click.call(null,lt.util.dom.attr.call(null,link,new cljs.core.Keyword(null,"href","href",1017115293)));
});})(seq__19059,chunk__19060,count__19061,i__19062,link))
);
{
var G__19110 = seq__19059;
var G__19111 = chunk__19060;
var G__19112 = count__19061;
var G__19113 = (i__19062 + 1);
seq__19059 = G__19110;
chunk__19060 = G__19111;
count__19061 = G__19112;
i__19062 = G__19113;
continue;
}
} else
{var temp__4092__auto__ = cljs.core.seq.call(null,seq__19059);if(temp__4092__auto__)
{var seq__19059__$1 = temp__4092__auto__;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19059__$1))
{var c__5632__auto__ = cljs.core.chunk_first.call(null,seq__19059__$1);{
var G__19114 = cljs.core.chunk_rest.call(null,seq__19059__$1);
var G__19115 = c__5632__auto__;
var G__19116 = cljs.core.count.call(null,c__5632__auto__);
var G__19117 = 0;
seq__19059 = G__19114;
chunk__19060 = G__19115;
count__19061 = G__19116;
i__19062 = G__19117;
continue;
}
} else
{var link = cljs.core.first.call(null,seq__19059__$1);lt.util.dom.on.call(null,link,"click",((function (seq__19059,chunk__19060,count__19061,i__19062,link,seq__19059__$1,temp__4092__auto__){
return (function (){return lt.plugins.elm_light.inline_doc.handle_url_click.call(null,lt.util.dom.attr.call(null,link,new cljs.core.Keyword(null,"href","href",1017115293)));
});})(seq__19059,chunk__19060,count__19061,i__19062,link,seq__19059__$1,temp__4092__auto__))
);
{
var G__19118 = cljs.core.next.call(null,seq__19059__$1);
var G__19119 = null;
var G__19120 = 0;
var G__19121 = 0;
seq__19059 = G__19118;
chunk__19060 = G__19119;
count__19061 = G__19120;
i__19062 = G__19121;
continue;
}
}
} else
{return null;
}
}
break;
}
});
lt.plugins.elm_light.inline_doc.__BEH__editor__DOT__elm__DOT__doc__DOT__show_BANG_ = (function __BEH__editor__DOT__elm__DOT__doc__DOT__show_BANG_(ed,doc){if(cljs.core.not_EQ_.call(null,new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(doc),""))
{var doc_elem = lt.plugins.elm_light.inline_doc.maybe_append_marked_doc.call(null,lt.plugins.elm_light.inline_doc.doc_ui_header.call(null,doc),doc);lt.plugins.elm_light.inline_doc.inline_doc.call(null,ed,doc_elem,new cljs.core.Keyword(null,"loc","loc",1014011570).cljs$core$IFn$_invoke$arity$1(doc));
lt.plugins.elm_light.inline_doc.highlight_code.call(null,doc_elem);
return lt.plugins.elm_light.inline_doc.add_click_handlers.call(null,doc_elem);
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.inline-doc","editor.elm.doc.show!","lt.plugins.elm-light.inline-doc/editor.elm.doc.show!",1579757949),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.inline_doc.__BEH__editor__DOT__elm__DOT__doc__DOT__show_BANG_,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"editor.elm.doc.show!","editor.elm.doc.show!",3977559543),null], null), null));
lt.plugins.elm_light.inline_doc.inline_doc = (function inline_doc(this$,doc_elem,loc){var ed = new cljs.core.Keyword(null,"ed","ed",1013907473).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$));var type = new cljs.core.Keyword(null,"underline","underline",4281907774);var line = lt.objs.editor.line_handle.call(null,ed,new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(loc));var res_obj = lt.object.create.call(null,new cljs.core.Keyword("lt.objs.eval","underline-result","lt.objs.eval/underline-result",1485297066),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"ed","ed",1013907473),this$,new cljs.core.Keyword(null,"class","class",1108647146),"underline",new cljs.core.Keyword(null,"opts","opts",1017322386),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"result","result",4374444943),doc_elem,new cljs.core.Keyword(null,"loc","loc",1014011570),loc,new cljs.core.Keyword(null,"line","line",1017226086),line], null));lt.object.add_tags.call(null,res_obj,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"inline.doc","inline.doc",1790840789)], null));
lt.object.update_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"widgets","widgets",2354242081)], null),cljs.core.assoc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [line,new cljs.core.Keyword(null,"underline","underline",4281907774)], null),res_obj);
return res_obj;
});
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.autocompleter.core')) {
goog.provide('lt.plugins.elm_light.autocompleter.core');
goog.require('cljs.core');
goog.require('cljs.core.async');
goog.require('lt.util.js');
goog.require('lt.util.js');
goog.require('lt.util.dom');
goog.require('cljs.core.async');
goog.require('lt.objs.context');
goog.require('lt.objs.context');
goog.require('lt.util.dom');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
goog.require('lt.objs.keyboard');
goog.require('lt.objs.editor');
goog.require('lt.object');
goog.require('lt.object');
goog.require('lt.objs.editor');
goog.require('cljs.core.async');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
goog.require('lt.objs.keyboard');
lt.plugins.elm_light.autocompleter.core.curr_time = (function curr_time(){return (new Date()).getTime();
});
lt.plugins.elm_light.autocompleter.core.elapsed = (function elapsed(start){return [cljs.core.str((lt.plugins.elm_light.autocompleter.core.curr_time.call(null) - start)),cljs.core.str(" ms")].join('');
});
lt.plugins.elm_light.autocompleter.core.default_options = new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"async","async",1107031534),true,new cljs.core.Keyword(null,"completeSingle","completeSingle",2100037203),false,new cljs.core.Keyword(null,"supportsSelection","supportsSelection",3475218138),true,new cljs.core.Keyword(null,"closeOnUnfocus","closeOnUnfocus",2215570266),true,new cljs.core.Keyword(null,"customKeys","customKeys",3726901367),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"Up","Up",1013906989),(function (p1__20624_SHARP_,p2__20623_SHARP_){return p2__20623_SHARP_.moveFocus.call(null,-1);
}),new cljs.core.Keyword(null,"Down","Down",1016040500),(function (p1__20626_SHARP_,p2__20625_SHARP_){return p2__20625_SHARP_.moveFocus.call(null,1);
}),new cljs.core.Keyword(null,"Enter","Enter",1081018922),(function (a,b){return b.pick();
}),new cljs.core.Keyword(null,"Tab","Tab",1013988071),(function (a,b){return b.pick();
}),new cljs.core.Keyword(null,"Esc","Esc",1013974215),(function (p1__20628_SHARP_,p2__20627_SHARP_){return p2__20627_SHARP_.close.call(null);
})], null)], null);
lt.plugins.elm_light.autocompleter.core.distinct_completions = (function distinct_completions(hints){var seen = {};return cljs.core.filter.call(null,((function (seen){
return (function (hint){if((seen[[cljs.core.str(new cljs.core.Keyword(null,"moduleName","moduleName",4438520457).cljs$core$IFn$_invoke$arity$1(hint)),cljs.core.str("_"),cljs.core.str(new cljs.core.Keyword(null,"text","text",1017460895).cljs$core$IFn$_invoke$arity$1(hint))].join('')]) === true)
{return false;
} else
{return (seen[[cljs.core.str(new cljs.core.Keyword(null,"moduleName","moduleName",4438520457).cljs$core$IFn$_invoke$arity$1(hint)),cljs.core.str("_"),cljs.core.str(new cljs.core.Keyword(null,"text","text",1017460895).cljs$core$IFn$_invoke$arity$1(hint))].join('')] = true);
}
});})(seen))
,hints);
});
/**
* Prepare found hints for display through CM showHint
*/
lt.plugins.elm_light.autocompleter.core.process_hint_results = (function process_hint_results(hints){if(cljs.core.seq.call(null,hints))
{return cljs.core.clj__GT_js.call(null,(function (p1__20630_SHARP_){var fst = cljs.core.first.call(null,new cljs.core.Keyword(null,"list","list",1017226256).cljs$core$IFn$_invoke$arity$1(p1__20630_SHARP_));return cljs.core.assoc.call(null,p1__20630_SHARP_,new cljs.core.Keyword(null,"from","from",1017056028),new cljs.core.Keyword(null,"from","from",1017056028).cljs$core$IFn$_invoke$arity$1(fst),new cljs.core.Keyword(null,"to","to",1013907949),new cljs.core.Keyword(null,"to","to",1013907949).cljs$core$IFn$_invoke$arity$1(fst));
}).call(null,cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"list","list",1017226256)],[cljs.core.take.call(null,25,lt.plugins.elm_light.autocompleter.core.distinct_completions.call(null,cljs.core.filter.call(null,(function (p1__20629_SHARP_){return (new cljs.core.Keyword(null,"displayText","displayText",2728236161).cljs$core$IFn$_invoke$arity$1(p1__20629_SHARP_).length < 1000);
}),hints)))])));
} else
{return null;
}
});
/**
* Listen for hint results from all given channels
* Will raise a behavior to show results when all channels have delivered a result
* or alternatively the specified timeout has elapsed
*/
lt.plugins.elm_light.autocompleter.core.listen_for_hint_results = (function listen_for_hint_results(ed,channels,hinter_ch){var t = cljs.core.async.timeout.call(null,500);var c__13951__auto__ = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto__,t){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto__,t){
return (function (state_20716){var state_val_20717 = (state_20716[1]);if((state_val_20717 === 1))
{var inst_20685 = cljs.core.conj.call(null,channels,t);var inst_20686 = cljs.core.PersistentVector.EMPTY;var inst_20687 = inst_20685;var state_20716__$1 = (function (){var statearr_20718 = state_20716;(statearr_20718[7] = inst_20686);
(statearr_20718[8] = inst_20687);
return statearr_20718;
})();var statearr_20719_20777 = state_20716__$1;(statearr_20719_20777[2] = null);
(statearr_20719_20777[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_20717 === 2))
{var inst_20687 = (state_20716[8]);var inst_20689 = cljs.core.count.call(null,inst_20687);var inst_20690 = cljs.core._EQ_.call(null,1,inst_20689);var state_20716__$1 = state_20716;if(inst_20690)
{var statearr_20720_20778 = state_20716__$1;(statearr_20720_20778[1] = 4);
} else
{var statearr_20721_20779 = state_20716__$1;(statearr_20721_20779[1] = 5);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_20717 === 3))
{var inst_20714 = (state_20716[2]);var state_20716__$1 = state_20716;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_20716__$1,inst_20714);
} else
{if((state_val_20717 === 4))
{var inst_20686 = (state_20716[7]);var inst_20692 = cljs.core.async.put_BANG_.call(null,hinter_ch,inst_20686);var state_20716__$1 = state_20716;var statearr_20722_20780 = state_20716__$1;(statearr_20722_20780[2] = inst_20692);
(statearr_20722_20780[1] = 6);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_20717 === 5))
{var inst_20687 = (state_20716[8]);var state_20716__$1 = state_20716;return cljs.core.async.impl.ioc_helpers.ioc_alts_BANG_.call(null,state_20716__$1,7,inst_20687);
} else
{if((state_val_20717 === 6))
{var inst_20712 = (state_20716[2]);var state_20716__$1 = state_20716;var statearr_20723_20781 = state_20716__$1;(statearr_20723_20781[2] = inst_20712);
(statearr_20723_20781[1] = 3);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_20717 === 7))
{var inst_20698 = (state_20716[9]);var inst_20696 = (state_20716[2]);var inst_20697 = cljs.core.nth.call(null,inst_20696,0,null);var inst_20698__$1 = cljs.core.nth.call(null,inst_20696,1,null);var inst_20699 = (inst_20698__$1 === t);var state_20716__$1 = (function (){var statearr_20724 = state_20716;(statearr_20724[10] = inst_20697);
(statearr_20724[9] = inst_20698__$1);
return statearr_20724;
})();if(cljs.core.truth_(inst_20699))
{var statearr_20725_20782 = state_20716__$1;(statearr_20725_20782[1] = 8);
} else
{var statearr_20726_20783 = state_20716__$1;(statearr_20726_20783[1] = 9);
}
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_20717 === 8))
{var inst_20686 = (state_20716[7]);var inst_20701 = cljs.core.println.call(null,"WARNING: Timeout waiting for hinter provider channel results");var inst_20702 = cljs.core.async.put_BANG_.call(null,hinter_ch,inst_20686);var state_20716__$1 = (function (){var statearr_20727 = state_20716;(statearr_20727[11] = inst_20701);
return statearr_20727;
})();var statearr_20728_20784 = state_20716__$1;(statearr_20728_20784[2] = inst_20702);
(statearr_20728_20784[1] = 10);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_20717 === 9))
{var inst_20686 = (state_20716[7]);var inst_20687 = (state_20716[8]);var inst_20697 = (state_20716[10]);var inst_20698 = (state_20716[9]);var inst_20704 = cljs.core.into.call(null,inst_20686,inst_20697);var inst_20705 = [inst_20698];var inst_20706 = cljs.core.PersistentHashSet.fromArray.call(null,inst_20705,true);var inst_20707 = cljs.core.remove.call(null,inst_20706,inst_20687);var inst_20686__$1 = inst_20704;var inst_20687__$1 = inst_20707;var state_20716__$1 = (function (){var statearr_20729 = state_20716;(statearr_20729[7] = inst_20686__$1);
(statearr_20729[8] = inst_20687__$1);
return statearr_20729;
})();var statearr_20730_20785 = state_20716__$1;(statearr_20730_20785[2] = null);
(statearr_20730_20785[1] = 2);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if((state_val_20717 === 10))
{var inst_20710 = (state_20716[2]);var state_20716__$1 = state_20716;var statearr_20731_20786 = state_20716__$1;(statearr_20731_20786[2] = inst_20710);
(statearr_20731_20786[1] = 6);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{return null;
}
}
}
}
}
}
}
}
}
}
});})(c__13951__auto__,t))
;return ((function (switch__13881__auto__,c__13951__auto__,t){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_20735 = [null,null,null,null,null,null,null,null,null,null,null,null];(statearr_20735[0] = state_machine__13882__auto__);
(statearr_20735[1] = 1);
return statearr_20735;
});
var state_machine__13882__auto____1 = (function (state_20716){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_20716);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e20736){if((e20736 instanceof Object))
{var ex__13885__auto__ = e20736;var statearr_20737_20787 = state_20716;(statearr_20737_20787[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_20716);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e20736;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__20788 = state_20716;
state_20716 = G__20788;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_20716){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_20716);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto__,t))
})();var state__13953__auto__ = (function (){var statearr_20738 = f__13952__auto__.call(null);(statearr_20738[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto__);
return statearr_20738;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto__,t))
);
return c__13951__auto__;
});
lt.plugins.elm_light.autocompleter.core.completion_active_QMARK_ = (function completion_active_QMARK_(ed){return lt.objs.editor.__GT_cm_ed.call(null,ed).state.completionActive;
});
lt.plugins.elm_light.autocompleter.core.maybe_close_hinter = (function maybe_close_hinter(ed){var temp__4092__auto__ = lt.plugins.elm_light.autocompleter.core.completion_active_QMARK_.call(null,ed);if(cljs.core.truth_(temp__4092__auto__))
{var state = temp__4092__auto__;return state.close();
} else
{return null;
}
});
lt.plugins.elm_light.autocompleter.core.on_line_change = (function on_line_change(line,ch){var ed = lt.objs.editor.pool.last_active.call(null);if(cljs.core.not.call(null,lt.plugins.elm_light.autocompleter.core.completion_active_QMARK_.call(null,ed)))
{return CodeMirror.off(line,"change",on_line_change);
} else
{if(cljs.core._EQ_.call(null,"+delete",ch.origin))
{return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"start-hinting","start-hinting",3115741442));
} else
{return null;
}
}
});
/**
* Creates a channel for writing results that are to be popped up with the hinter ui
* Displays hint results async by calling the showHint plugin callback when
* results are received on the channel
*/
lt.plugins.elm_light.autocompleter.core.init_show_hint_ch = (function init_show_hint_ch(ed){var ch = cljs.core.async.chan.call(null);CodeMirror.showHint(lt.objs.editor.__GT_cm_ed.call(null,ed),((function (ch){
return (function (_,cb){var chs = lt.object.raise_reduce.call(null,ed,new cljs.core.Keyword(null,"init-hints","init-hints",4468593473),cljs.core.PersistentVector.EMPTY);if(cljs.core.seq.call(null,chs))
{var c__13951__auto___20789 = cljs.core.async.chan.call(null,1);cljs.core.async.impl.dispatch.run.call(null,((function (c__13951__auto___20789,chs,ch){
return (function (){var f__13952__auto__ = (function (){var switch__13881__auto__ = ((function (c__13951__auto___20789,chs,ch){
return (function (state_20758){var state_val_20759 = (state_20758[1]);if((state_val_20759 === 2))
{var inst_20754 = (state_20758[2]);var inst_20755 = lt.plugins.elm_light.autocompleter.core.process_hint_results.call(null,inst_20754);var inst_20756 = cb.call(null,inst_20755);var state_20758__$1 = state_20758;return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_20758__$1,inst_20756);
} else
{if((state_val_20759 === 1))
{var state_20758__$1 = state_20758;return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_20758__$1,2,ch);
} else
{return null;
}
}
});})(c__13951__auto___20789,chs,ch))
;return ((function (switch__13881__auto__,c__13951__auto___20789,chs,ch){
return (function() {
var state_machine__13882__auto__ = null;
var state_machine__13882__auto____0 = (function (){var statearr_20763 = [null,null,null,null,null,null,null];(statearr_20763[0] = state_machine__13882__auto__);
(statearr_20763[1] = 1);
return statearr_20763;
});
var state_machine__13882__auto____1 = (function (state_20758){while(true){
var ret_value__13883__auto__ = (function (){try{while(true){
var result__13884__auto__ = switch__13881__auto__.call(null,state_20758);if(cljs.core.keyword_identical_QMARK_.call(null,result__13884__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
continue;
}
} else
{return result__13884__auto__;
}
break;
}
}catch (e20764){if((e20764 instanceof Object))
{var ex__13885__auto__ = e20764;var statearr_20765_20790 = state_20758;(statearr_20765_20790[5] = ex__13885__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_20758);
return new cljs.core.Keyword(null,"recur","recur",1122293407);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{throw e20764;
} else
{return null;
}
}
}})();if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__13883__auto__,new cljs.core.Keyword(null,"recur","recur",1122293407)))
{{
var G__20791 = state_20758;
state_20758 = G__20791;
continue;
}
} else
{return ret_value__13883__auto__;
}
break;
}
});
state_machine__13882__auto__ = function(state_20758){
switch(arguments.length){
case 0:
return state_machine__13882__auto____0.call(this);
case 1:
return state_machine__13882__auto____1.call(this,state_20758);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$0 = state_machine__13882__auto____0;
state_machine__13882__auto__.cljs$core$IFn$_invoke$arity$1 = state_machine__13882__auto____1;
return state_machine__13882__auto__;
})()
;})(switch__13881__auto__,c__13951__auto___20789,chs,ch))
})();var state__13953__auto__ = (function (){var statearr_20766 = f__13952__auto__.call(null);(statearr_20766[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__13951__auto___20789);
return statearr_20766;
})();return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__13953__auto__);
});})(c__13951__auto___20789,chs,ch))
);
return lt.plugins.elm_light.autocompleter.core.listen_for_hint_results.call(null,ed,chs,ch);
} else
{return null;
}
});})(ch))
,cljs.core.clj__GT_js.call(null,lt.plugins.elm_light.autocompleter.core.default_options));
return ch;
});
lt.plugins.elm_light.autocompleter.core.__BEH__start_hinting = (function __BEH__start_hinting(ed){var pos = lt.objs.editor.__GT_cursor.call(null,ed);var line_handle = lt.objs.editor.line_handle.call(null,ed,new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(pos));if(cljs.core.truth_(lt.plugins.elm_light.autocompleter.core.completion_active_QMARK_.call(null,ed)))
{return null;
} else
{return lt.plugins.elm_light.autocompleter.core.init_show_hint_ch.call(null,ed);
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.autocompleter.core","start-hinting","lt.plugins.elm-light.autocompleter.core/start-hinting",540241633),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.autocompleter.core.__BEH__start_hinting,new cljs.core.Keyword(null,"desc","desc",1016984067),"Autocompleter: Start hinting",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"start-hinting","start-hinting",3115741442),null], null), null));
lt.plugins.elm_light.autocompleter.core.__BEH__auto_show_on_input = (function __BEH__auto_show_on_input(ed,_,ch){return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"start-hinting","start-hinting",3115741442));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.autocompleter.core","auto-show-on-input","lt.plugins.elm-light.autocompleter.core/auto-show-on-input",3970467043),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.autocompleter.core.__BEH__auto_show_on_input,new cljs.core.Keyword(null,"desc","desc",1016984067),"Autocompleter: Show on change",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"input","input",1114262332),null], null), null),new cljs.core.Keyword(null,"debounce","debounce",1556599227),10);
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.selection')) {
goog.provide('lt.plugins.elm_light.selection');
goog.require('cljs.core');
goog.require('lt.objs.editor');
goog.require('lt.objs.editor');
lt.plugins.elm_light.selection.indented_QMARK_ = (function indented_QMARK_(s){return (cljs.core.count.call(null,cljs.core.re_find.call(null,/\s*/,s)) > 0);
});
lt.plugins.elm_light.selection.comment_line_QMARK_ = (function comment_line_QMARK_(ed,l){return cljs.core._EQ_.call(null,"comment",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(lt.objs.editor.__GT_token.call(null,ed,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"line","line",1017226086),l,new cljs.core.Keyword(null,"ch","ch",1013907415),1], null))));
});
lt.plugins.elm_light.selection.no_content_line_QMARK_ = (function no_content_line_QMARK_(s){return (!((s == null))) && (cljs.core._EQ_.call(null,0,cljs.core.count.call(null,s.trim())));
});
lt.plugins.elm_light.selection.top_level_line_QMARK_ = (function top_level_line_QMARK_(ed,l){var line_str = lt.objs.editor.line.call(null,ed,l);return (!(lt.plugins.elm_light.selection.indented_QMARK_.call(null,line_str))) && (!(lt.plugins.elm_light.selection.no_content_line_QMARK_.call(null,line_str))) && (!(lt.plugins.elm_light.selection.comment_line_QMARK_.call(null,ed,l)));
});
lt.plugins.elm_light.selection.get_top_level_line_back = (function get_top_level_line_back(ed,pos){var line = new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(pos);while(true){
if(lt.plugins.elm_light.selection.top_level_line_QMARK_.call(null,ed,line))
{return line;
} else
{if(cljs.core._EQ_.call(null,0,line))
{return null;
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{{
var G__19823 = (line - 1);
line = G__19823;
continue;
}
} else
{return null;
}
}
}
break;
}
});
lt.plugins.elm_light.selection.get_top_level_line_down = (function get_top_level_line_down(ed,start_line){var last_line = lt.objs.editor.last_line.call(null,ed);var line = start_line;while(true){
if(lt.plugins.elm_light.selection.top_level_line_QMARK_.call(null,ed,line))
{return line;
} else
{if(cljs.core._EQ_.call(null,line,last_line))
{return null;
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{{
var G__19824 = (line + 1);
line = G__19824;
continue;
}
} else
{return null;
}
}
}
break;
}
});
lt.plugins.elm_light.selection.maybe_backup = (function maybe_backup(ed,l){var line = l;while(true){
if((lt.plugins.elm_light.selection.no_content_line_QMARK_.call(null,lt.objs.editor.line.call(null,ed,line))) || (lt.plugins.elm_light.selection.comment_line_QMARK_.call(null,ed,line)))
{{
var G__19825 = (line - 1);
line = G__19825;
continue;
}
} else
{return line;
}
break;
}
});
lt.plugins.elm_light.selection.get_top_level_expr = (function get_top_level_expr(ed,pos){var temp__4092__auto__ = lt.plugins.elm_light.selection.get_top_level_line_back.call(null,ed,pos);if(cljs.core.truth_(temp__4092__auto__))
{var start_line = temp__4092__auto__;var last_line = lt.objs.editor.last_line.call(null,ed);var end_line = lt.plugins.elm_light.selection.maybe_backup.call(null,ed,((cljs.core._EQ_.call(null,last_line,start_line))?start_line:(function (){var temp__4090__auto__ = lt.plugins.elm_light.selection.get_top_level_line_down.call(null,ed,(start_line + 1));if(cljs.core.truth_(temp__4090__auto__))
{var l = temp__4090__auto__;return (l - 1);
} else
{return last_line;
}
})()));return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"from","from",1017056028),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"line","line",1017226086),start_line,new cljs.core.Keyword(null,"ch","ch",1013907415),0], null),new cljs.core.Keyword(null,"to","to",1013907949),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"line","line",1017226086),end_line,new cljs.core.Keyword(null,"ch","ch",1013907415),lt.objs.editor.line_length.call(null,ed,end_line)], null)], null);
} else
{return null;
}
});
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.clients')) {
goog.provide('lt.plugins.elm_light.clients');
goog.require('cljs.core');
goog.require('lt.objs.files');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.objs.clients');
goog.require('lt.objs.platform');
goog.require('clojure.string');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.objs.popup');
goog.require('lt.objs.dialogs');
goog.require('lt.objs.popup');
goog.require('lt.objs.notifos');
goog.require('lt.objs.proc');
goog.require('lt.objs.notifos');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.platform');
goog.require('lt.objs.files');
goog.require('lt.objs.sidebar.clients');
goog.require('lt.objs.eval');
goog.require('clojure.string');
goog.require('lt.object');
goog.require('lt.object');
goog.require('lt.objs.dialogs');
goog.require('lt.objs.console');
goog.require('lt.objs.proc');
goog.require('lt.objs.console');
goog.require('lt.plugins.elm_light.elm_ast');
goog.require('lt.plugins.elm_light.elm_ast');
goog.require('lt.objs.eval');
goog.require('lt.objs.clients');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.sidebar.clients');
lt.plugins.elm_light.clients.cp = require("child_process");
lt.plugins.elm_light.clients.os = require("os");
lt.plugins.elm_light.clients.elm_client_path = lt.objs.files.join.call(null,lt.plugins.elm_light.utils.elm_plugin_dir,"node/elm-client.js");
lt.plugins.elm_light.clients.elm_node_path = lt.objs.files.join.call(null,lt.plugins.elm_light.utils.elm_plugin_dir,"node_modules");
lt.plugins.elm_light.clients.shelljs = require(lt.objs.files.join.call(null,lt.plugins.elm_light.clients.elm_node_path,"shelljs"));
lt.plugins.elm_light.clients.harbor = require(lt.objs.files.join.call(null,lt.plugins.elm_light.clients.elm_node_path,"harbor")).call(null,3000,4000);
lt.plugins.elm_light.clients.claim_reactor_port = (function claim_reactor_port(path,cb){return lt.plugins.elm_light.clients.harbor.claim(path,cb);
});
lt.plugins.elm_light.clients.release_reactor_port = (function release_reactor_port(path){return lt.plugins.elm_light.clients.harbor.release(path);
});
lt.plugins.elm_light.clients.on_exit = (function on_exit(client){lt.plugins.elm_light.elm_ast.delete_project_ast_BANG_.call(null,new cljs.core.Keyword(null,"dir","dir",1014003711).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,client)));
var seq__12133_12174 = cljs.core.seq.call(null,lt.objs.editor.pool.containing_path.call(null,new cljs.core.Keyword(null,"dir","dir",1014003711).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,client))));var chunk__12134_12175 = null;var count__12135_12176 = 0;var i__12136_12177 = 0;while(true){
if((i__12136_12177 < count__12135_12176))
{var ed_12178 = cljs.core._nth.call(null,chunk__12134_12175,i__12136_12177);lt.object.raise.call(null,ed_12178,new cljs.core.Keyword(null,"project-disconnected","project-disconnected",2085293025));
{
var G__12179 = seq__12133_12174;
var G__12180 = chunk__12134_12175;
var G__12181 = count__12135_12176;
var G__12182 = (i__12136_12177 + 1);
seq__12133_12174 = G__12179;
chunk__12134_12175 = G__12180;
count__12135_12176 = G__12181;
i__12136_12177 = G__12182;
continue;
}
} else
{var temp__4092__auto___12183 = cljs.core.seq.call(null,seq__12133_12174);if(temp__4092__auto___12183)
{var seq__12133_12184__$1 = temp__4092__auto___12183;if(cljs.core.chunked_seq_QMARK_.call(null,seq__12133_12184__$1))
{var c__5632__auto___12185 = cljs.core.chunk_first.call(null,seq__12133_12184__$1);{
var G__12186 = cljs.core.chunk_rest.call(null,seq__12133_12184__$1);
var G__12187 = c__5632__auto___12185;
var G__12188 = cljs.core.count.call(null,c__5632__auto___12185);
var G__12189 = 0;
seq__12133_12174 = G__12186;
chunk__12134_12175 = G__12187;
count__12135_12176 = G__12188;
i__12136_12177 = G__12189;
continue;
}
} else
{var ed_12190 = cljs.core.first.call(null,seq__12133_12184__$1);lt.object.raise.call(null,ed_12190,new cljs.core.Keyword(null,"project-disconnected","project-disconnected",2085293025));
{
var G__12191 = cljs.core.next.call(null,seq__12133_12184__$1);
var G__12192 = null;
var G__12193 = 0;
var G__12194 = 0;
seq__12133_12174 = G__12191;
chunk__12134_12175 = G__12192;
count__12135_12176 = G__12193;
i__12136_12177 = G__12194;
continue;
}
}
} else
{}
}
break;
}
lt.plugins.elm_light.clients.release_reactor_port.call(null,new cljs.core.Keyword(null,"dir","dir",1014003711).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,client)));
return lt.objs.clients.rem_BANG_.call(null,client);
});
lt.plugins.elm_light.clients.on_elm_message = (function on_elm_message(client,data){var msg = lt.plugins.elm_light.utils.mod_js__GT_clj.call(null,data,new cljs.core.Keyword(null,"keywordize-keys","keywordize-keys",4191781672),true);var logTime = (new Date());var logPrefix = [cljs.core.str(logTime.getSeconds()),cljs.core.str(":"),cljs.core.str(logTime.getMilliseconds()),cljs.core.str(" >>")].join('');if(cljs.core._EQ_.call(null,cljs.core.second.call(null,msg),"elm.client.connected"))
{lt.objs.notifos.done_working.call(null,[cljs.core.str("Project connected: "),cljs.core.str(new cljs.core.Keyword(null,"dir","dir",1014003711).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,client)))].join(''));
lt.object.raise.call(null,client,new cljs.core.Keyword(null,"connect","connect",1965255772));
lt.object.raise.call(null,lt.objs.clients.clients,new cljs.core.Keyword(null,"connect","connect",1965255772),client);
var seq__12143 = cljs.core.seq.call(null,lt.objs.editor.pool.containing_path.call(null,new cljs.core.Keyword(null,"dir","dir",1014003711).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,client))));var chunk__12144 = null;var count__12145 = 0;var i__12146 = 0;while(true){
if((i__12146 < count__12145))
{var ed = cljs.core._nth.call(null,chunk__12144,i__12146);lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"project-connected","project-connected",3474311367));
{
var G__12195 = seq__12143;
var G__12196 = chunk__12144;
var G__12197 = count__12145;
var G__12198 = (i__12146 + 1);
seq__12143 = G__12195;
chunk__12144 = G__12196;
count__12145 = G__12197;
i__12146 = G__12198;
continue;
}
} else
{var temp__4092__auto__ = cljs.core.seq.call(null,seq__12143);if(temp__4092__auto__)
{var seq__12143__$1 = temp__4092__auto__;if(cljs.core.chunked_seq_QMARK_.call(null,seq__12143__$1))
{var c__5632__auto__ = cljs.core.chunk_first.call(null,seq__12143__$1);{
var G__12199 = cljs.core.chunk_rest.call(null,seq__12143__$1);
var G__12200 = c__5632__auto__;
var G__12201 = cljs.core.count.call(null,c__5632__auto__);
var G__12202 = 0;
seq__12143 = G__12199;
chunk__12144 = G__12200;
count__12145 = G__12201;
i__12146 = G__12202;
continue;
}
} else
{var ed = cljs.core.first.call(null,seq__12143__$1);lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"project-connected","project-connected",3474311367));
{
var G__12203 = cljs.core.next.call(null,seq__12143__$1);
var G__12204 = null;
var G__12205 = 0;
var G__12206 = 0;
seq__12143 = G__12203;
chunk__12144 = G__12204;
count__12145 = G__12205;
i__12146 = G__12206;
continue;
}
}
} else
{return null;
}
}
break;
}
} else
{if(cljs.core._EQ_.call(null,cljs.core.second.call(null,msg),"elm.ast.update"))
{var map__12147 = cljs.core.last.call(null,msg);var map__12147__$1 = ((cljs.core.seq_QMARK_.call(null,map__12147))?cljs.core.apply.call(null,cljs.core.hash_map,map__12147):map__12147);var package$ = cljs.core.get.call(null,map__12147__$1,new cljs.core.Keyword(null,"package","package",4501809080));var error = cljs.core.get.call(null,map__12147__$1,new cljs.core.Keyword(null,"error","error",1110689146));var ast = cljs.core.get.call(null,map__12147__$1,new cljs.core.Keyword(null,"ast","ast",1014001140));var type = cljs.core.get.call(null,map__12147__$1,new cljs.core.Keyword(null,"type","type",1017479852));var file = cljs.core.get.call(null,map__12147__$1,new cljs.core.Keyword(null,"file","file",1017047278));var G__12148 = type;if(cljs.core._EQ_.call(null,"packagesDeleted",G__12148))
{lt.plugins.elm_light.elm_ast.delete_package_asts_BANG_.call(null,new cljs.core.Keyword(null,"dir","dir",1014003711).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,client)));
return lt.objs.notifos.set_msg_BANG_.call(null,[cljs.core.str("Elm stuff for "),cljs.core.str(new cljs.core.Keyword(null,"dir","dir",1014003711).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,client))),cljs.core.str(" was nuked, all package ASTs are lost. Do a package install or lint to get them back !")].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"error"], null));
} else
{if(cljs.core._EQ_.call(null,"deleted",G__12148))
{return lt.plugins.elm_light.elm_ast.delete_ast_BANG_.call(null,new cljs.core.Keyword(null,"dir","dir",1014003711).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,client)),file);
} else
{if(cljs.core._EQ_.call(null,"parsed",G__12148))
{return lt.plugins.elm_light.elm_ast.upsert_ast_BANG_.call(null,new cljs.core.Keyword(null,"dir","dir",1014003711).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,client)),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"file","file",1017047278),file,new cljs.core.Keyword(null,"ast","ast",1014001140),ast,new cljs.core.Keyword(null,"package","package",4501809080),package$], null));
} else
{if(cljs.core._EQ_.call(null,"parseError",G__12148))
{return lt.objs.console.error.call(null,[cljs.core.str(file),cljs.core.str("\n"),cljs.core.str(error)].join(''));
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return cljs.core.println.call(null,"Unhandled ast event:",type,file);
} else
{return null;
}
}
}
}
}
} else
{if(cljs.core._EQ_.call(null,cljs.core.second.call(null,msg),"doc.search.results"))
{return lt.object.raise.call(null,lt.plugins.elm_light.clients.elm,new cljs.core.Keyword(null,"elm.doc.search.results","elm.doc.search.results",3225944800),cljs.core.assoc_in.call(null,msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [2,new cljs.core.Keyword(null,"project-dir","project-dir",4367844171)], null),new cljs.core.Keyword(null,"dir","dir",1014003711).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,client))));
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return lt.object.raise.call(null,lt.objs.clients.clients,new cljs.core.Keyword(null,"message","message",1968829305),msg);
} else
{return null;
}
}
}
}
});
lt.plugins.elm_light.clients.start_elm_worker = (function start_elm_worker(path,port,client){var worker = lt.plugins.elm_light.clients.cp.fork(lt.plugins.elm_light.clients.elm_client_path,[port],cljs.core.clj__GT_js.call(null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"execPath","execPath",3055801288),process.executable,new cljs.core.Keyword(null,"cwd","cwd",1014003170),path,new cljs.core.Keyword(null,"silent","silent",4406544327),true,new cljs.core.Keyword(null,"env","env",1014004831),((cljs.core._EQ_.call(null,lt.plugins.elm_light.clients.os.platform(),"win32"))?new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"NODE_PATH","NODE_PATH",4295742388),lt.plugins.elm_light.clients.elm_node_path], null):lt.objs.proc.merge_env.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"NODE_PATH","NODE_PATH",4295742388),lt.plugins.elm_light.clients.elm_node_path], null)))], null)));worker.stdout.on("data",((function (worker){
return (function (msg){return cljs.core.println.call(null,[cljs.core.str("out: "),cljs.core.str(msg)].join(''));
});})(worker))
);
worker.stderr.on("data",((function (worker){
return (function (err){lt.objs.notifos.set_msg_BANG_.call(null,[cljs.core.str("Elm error: "),cljs.core.str(err)].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"error"], null));
return lt.objs.console.error.call(null,err);
});})(worker))
);
worker.on("message",((function (worker){
return (function (p1__12149_SHARP_){return lt.plugins.elm_light.clients.on_elm_message.call(null,client,p1__12149_SHARP_);
});})(worker))
);
worker.on("exit",((function (worker){
return (function (){return lt.plugins.elm_light.clients.on_exit.call(null,client);
});})(worker))
);
return worker;
});
lt.plugins.elm_light.clients.__BEH__send_BANG_ = (function __BEH__send_BANG_(client,msg){return new cljs.core.Keyword(null,"worker","worker",4526786288).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,client)).send(cljs.core.clj__GT_js.call(null,msg));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.clients","send!","lt.plugins.elm-light.clients/send!",867013595),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.clients.__BEH__send_BANG_,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"send!","send!",1123226891),null], null), null));
lt.plugins.elm_light.clients.start_elm_client = (function start_elm_client(p__12150){var map__12152 = p__12150;var map__12152__$1 = ((cljs.core.seq_QMARK_.call(null,map__12152))?cljs.core.apply.call(null,cljs.core.hash_map,map__12152):map__12152);var props = map__12152__$1;var client = cljs.core.get.call(null,map__12152__$1,new cljs.core.Keyword(null,"client","client",3951159101));var proj_path = cljs.core.get.call(null,map__12152__$1,new cljs.core.Keyword(null,"proj-path","proj-path",4362692615));var path = cljs.core.get.call(null,map__12152__$1,new cljs.core.Keyword(null,"path","path",1017337751));lt.objs.notifos.working.call(null,"Connecting..");
return lt.plugins.elm_light.clients.claim_reactor_port.call(null,proj_path,((function (map__12152,map__12152__$1,props,client,proj_path,path){
return (function (_,port){var worker = lt.plugins.elm_light.clients.start_elm_worker.call(null,proj_path,port,client);lt.object.merge_BANG_.call(null,client,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1017277949),lt.objs.files.basename.call(null,proj_path),new cljs.core.Keyword(null,"dir","dir",1014003711),proj_path,new cljs.core.Keyword(null,"reactor-port","reactor-port",4649590590),port,new cljs.core.Keyword(null,"worker","worker",4526786288),worker,new cljs.core.Keyword(null,"commands","commands",4706336250),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 13, [new cljs.core.Keyword(null,"editor.elm.lint","editor.elm.lint",1086056222),null,new cljs.core.Keyword(null,"editor.elm.make","editor.elm.make",1086078217),null,new cljs.core.Keyword(null,"editor.elm.ast.passthrough","editor.elm.ast.passthrough",3082755153),null,new cljs.core.Keyword(null,"editor.eval.elm","editor.eval.elm",1083015975),null,new cljs.core.Keyword(null,"elm.test","elm.test",1176854604),null,new cljs.core.Keyword(null,"editor.elm.hint","editor.elm.hint",1085937058),null,new cljs.core.Keyword(null,"elm.test.suite","elm.test.suite",666703958),null,new cljs.core.Keyword(null,"elm.repl.restart","elm.repl.restart",2931654218),null,new cljs.core.Keyword(null,"editor.elm.ast.parsetext","editor.elm.ast.parsetext",1992138717),null,new cljs.core.Keyword(null,"docs.elm.search","docs.elm.search",737241333),null,new cljs.core.Keyword(null,"editor.elm.doc","editor.elm.doc",1570413537),null,new cljs.core.Keyword(null,"editor.elm.gendoc","editor.elm.gendoc",1485628611),null,new cljs.core.Keyword(null,"elm.reload.ast","elm.reload.ast",3046520423),null], null), null)], null));
return lt.object.add_behavior_BANG_.call(null,client,new cljs.core.Keyword("lt.plugins.elm-light.clients","send!","lt.plugins.elm-light.clients/send!",867013595));
});})(map__12152,map__12152__$1,props,client,proj_path,path))
);
});
lt.plugins.elm_light.clients.handle_no_elm = (function handle_no_elm(){lt.objs.notifos.done_working.call(null);
lt.objs.console.log.call(null,process.env.PATH);
return lt.objs.popup.popup_BANG_.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"header","header",4087600639),"We couldn't find Elm (elm-make) in your path",new cljs.core.Keyword(null,"body","body",1016933652),[cljs.core.str("In order to use elm-light, Elm must be installed and on your system PATH."),cljs.core.str("(Check the console for PATH as seen from Light Table")].join(''),new cljs.core.Keyword(null,"buttons","buttons",1255256819),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"label","label",1116631654),"Install Elm",new cljs.core.Keyword(null,"action","action",3885920680),(function (){return lt.objs.platform.open.call(null,"https://guide.elm-lang.org/install.html");
})], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"label","label",1116631654),"ok"], null)], null)], null));
});
lt.plugins.elm_light.clients.check_elm = (function check_elm(){return lt.plugins.elm_light.clients.shelljs.which("elm-make");
});
lt.plugins.elm_light.clients.try_connect = (function try_connect(p__12153){var map__12156 = p__12153;var map__12156__$1 = ((cljs.core.seq_QMARK_.call(null,map__12156))?cljs.core.apply.call(null,cljs.core.hash_map,map__12156):map__12156);var props = map__12156__$1;var command = cljs.core.get.call(null,map__12156__$1,new cljs.core.Keyword(null,"command","command",1964298941));var info = cljs.core.get.call(null,map__12156__$1,new cljs.core.Keyword(null,"info","info",1017141280));var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(info);var proj_path = lt.plugins.elm_light.utils.project_path.call(null,path);var client = lt.objs.clients.client_BANG_.call(null,new cljs.core.Keyword(null,"elm-client","elm-client",1622336068));if(cljs.core.not.call(null,cljs.core.seq.call(null,proj_path)))
{lt.objs.notifos.done_working.call(null);
lt.objs.notifos.set_msg_BANG_.call(null,[cljs.core.str("Couldn't find a elm-package.json in any parent of path: "),cljs.core.str(path)].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"error"], null));
lt.objs.clients.rem_BANG_.call(null,client);
} else
{if(cljs.core.not.call(null,lt.plugins.elm_light.clients.check_elm.call(null)))
{lt.plugins.elm_light.clients.handle_no_elm.call(null);
lt.objs.clients.rem_BANG_.call(null,client);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{var vec__12157_12207 = lt.plugins.elm_light.utils.valid_project_elm_version.call(null,proj_path);var ok_QMARK__12208 = cljs.core.nth.call(null,vec__12157_12207,0,null);var msg_12209 = cljs.core.nth.call(null,vec__12157_12207,1,null);if(cljs.core.truth_(ok_QMARK__12208))
{lt.plugins.elm_light.clients.start_elm_client.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"path","path",1017337751),path,new cljs.core.Keyword(null,"proj-path","proj-path",4362692615),proj_path,new cljs.core.Keyword(null,"client","client",3951159101),client], null));
} else
{lt.objs.notifos.done_working.call(null);
lt.objs.console.error.call(null,msg_12209);
lt.objs.notifos.set_msg_BANG_.call(null,msg_12209,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"error"], null));
lt.objs.clients.rem_BANG_.call(null,client);
}
} else
{}
}
}
return client;
});
lt.plugins.elm_light.clients.find_client = (function find_client(p__12158){var map__12164 = p__12158;var map__12164__$1 = ((cljs.core.seq_QMARK_.call(null,map__12164))?cljs.core.apply.call(null,cljs.core.hash_map,map__12164):map__12164);var opts = map__12164__$1;var create = cljs.core.get.call(null,map__12164__$1,new cljs.core.Keyword(null,"create","create",3956577390));var info = cljs.core.get.call(null,map__12164__$1,new cljs.core.Keyword(null,"info","info",1017141280));var command = cljs.core.get.call(null,map__12164__$1,new cljs.core.Keyword(null,"command","command",1964298941));var origin = cljs.core.get.call(null,map__12164__$1,new cljs.core.Keyword(null,"origin","origin",4300251800));var proj_path = lt.plugins.elm_light.utils.project_path.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(info));var vec__12165 = lt.objs.clients.discover.call(null,command,info);var result = cljs.core.nth.call(null,vec__12165,0,null);var client = cljs.core.nth.call(null,vec__12165,1,null);var pred__12166 = cljs.core._EQ_;var expr__12167 = result;if(cljs.core.truth_(pred__12166.call(null,new cljs.core.Keyword(null,"none","none",1017291434),expr__12167)))
{if(cljs.core.truth_(create))
{return create.call(null,opts);
} else
{lt.objs.notifos.done_working.call(null);
lt.object.raise.call(null,lt.objs.eval.evaler,new cljs.core.Keyword(null,"no-client","no-client",4161042633),opts);
return lt.objs.clients.placeholder.call(null);
}
} else
{if(cljs.core.truth_(pred__12166.call(null,new cljs.core.Keyword(null,"found","found",1111526132),expr__12167)))
{if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"dir","dir",1014003711).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,client)),proj_path))
{return client;
} else
{return create.call(null,opts);
}
} else
{if(cljs.core.truth_(pred__12166.call(null,new cljs.core.Keyword(null,"select","select",4402849902),expr__12167)))
{lt.object.raise.call(null,lt.objs.eval.evaler,new cljs.core.Keyword(null,"select-client","select-client",4292921646),client,((function (pred__12166,expr__12167,proj_path,vec__12165,result,client,map__12164,map__12164__$1,opts,create,info,command,origin){
return (function (client__$1){lt.objs.clients.swap_client_BANG_.call(null,new cljs.core.Keyword(null,"default","default",2558708147).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"client","client",3951159101).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,origin))),client__$1);
return lt.object.update_BANG_.call(null,origin,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"client","client",3951159101)], null),cljs.core.assoc,new cljs.core.Keyword(null,"default","default",2558708147),client__$1);
});})(pred__12166,expr__12167,proj_path,vec__12165,result,client,map__12164,map__12164__$1,opts,create,info,command,origin))
);
return lt.objs.clients.placeholder.call(null);
} else
{throw (new Error([cljs.core.str("No matching clause: "),cljs.core.str(expr__12167)].join('')));
}
}
}
});
/**
* Helper method to get eval client for a given editor and command
* If none found it will try to connect
*/
lt.plugins.elm_light.clients.get_eval_client = (function() {
var get_eval_client = null;
var get_eval_client__2 = (function (ed,cmd){return get_eval_client.call(null,ed,cmd,lt.plugins.elm_light.clients.try_connect);
});
var get_eval_client__3 = (function (ed,cmd,create){var cur = new cljs.core.Keyword(null,"default","default",2558708147).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"client","client",3951159101).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));if(cljs.core.truth_((function (){var and__4872__auto__ = cur;if(cljs.core.truth_(and__4872__auto__))
{return lt.objs.clients.available_QMARK_.call(null,cur);
} else
{return and__4872__auto__;
}
})()))
{return cur;
} else
{var neue = lt.plugins.elm_light.clients.find_client.call(null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"command","command",1964298941),cmd,new cljs.core.Keyword(null,"origin","origin",4300251800),ed,new cljs.core.Keyword(null,"info","info",1017141280),new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)),new cljs.core.Keyword(null,"create","create",3956577390),create], null));lt.object.update_BANG_.call(null,ed,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"client","client",3951159101)], null),cljs.core.assoc,new cljs.core.Keyword(null,"default","default",2558708147),neue);
lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"set-client","set-client",2248164104),neue);
return neue;
}
});
get_eval_client = function(ed,cmd,create){
switch(arguments.length){
case 2:
return get_eval_client__2.call(this,ed,cmd);
case 3:
return get_eval_client__3.call(this,ed,cmd,create);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
get_eval_client.cljs$core$IFn$_invoke$arity$2 = get_eval_client__2;
get_eval_client.cljs$core$IFn$_invoke$arity$3 = get_eval_client__3;
return get_eval_client;
})()
;
/**
* Helper method to get eval client for a given editor and command
*/
lt.plugins.elm_light.clients.get_eval_client_if_connected = (function get_eval_client_if_connected(ed,cmd){return lt.plugins.elm_light.clients.get_eval_client.call(null,ed,cmd,(function (opts){lt.objs.notifos.done_working.call(null,"");
return null;
}));
});
lt.plugins.elm_light.clients.__BEH__elm_doc_search_results = (function __BEH__elm_doc_search_results(_,p__12169){var vec__12171 = p__12169;var client_id = cljs.core.nth.call(null,vec__12171,0,null);var command = cljs.core.nth.call(null,vec__12171,1,null);var msg = cljs.core.nth.call(null,vec__12171,2,null);return lt.object.raise.call(null,lt.objs.clients.clients,new cljs.core.Keyword(null,"message","message",1968829305),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [client_id,command,lt.plugins.elm_light.elm_ast.search_docs.call(null,new cljs.core.Keyword(null,"search","search",4402534682).cljs$core$IFn$_invoke$arity$1(msg),new cljs.core.Keyword(null,"project-dir","project-dir",4367844171).cljs$core$IFn$_invoke$arity$1(msg))], null));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.clients","elm-doc-search-results","lt.plugins.elm-light.clients/elm-doc-search-results",565676279),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.clients.__BEH__elm_doc_search_results,new cljs.core.Keyword(null,"desc","desc",1016984067),"Workaround behavior for showing doc search results in sidebar",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.doc.search.results","elm.doc.search.results",3225944800),null], null), null));
lt.plugins.elm_light.clients.__BEH__eval_BANG_ = (function __BEH__eval_BANG_(this$,event){var map__12173 = event;var map__12173__$1 = ((cljs.core.seq_QMARK_.call(null,map__12173))?cljs.core.apply.call(null,cljs.core.hash_map,map__12173):map__12173);var origin = cljs.core.get.call(null,map__12173__$1,new cljs.core.Keyword(null,"origin","origin",4300251800));var info = cljs.core.get.call(null,map__12173__$1,new cljs.core.Keyword(null,"info","info",1017141280));lt.objs.notifos.working.call(null,"Evaluating elm...");
return lt.objs.clients.send.call(null,lt.objs.eval.get_client_BANG_.call(null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"editor.eval.elm","editor.eval.elm",1083015975),new cljs.core.Keyword(null,"origin","origin",4300251800),origin,new cljs.core.Keyword(null,"info","info",1017141280),info,new cljs.core.Keyword(null,"create","create",3956577390),lt.plugins.elm_light.clients.try_connect], null)),new cljs.core.Keyword(null,"editor.eval.elm","editor.eval.elm",1083015975),info,new cljs.core.Keyword(null,"only","only",1017320222),origin);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.clients","eval!","lt.plugins.elm-light.clients/eval!",845960815),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.clients.__BEH__eval_BANG_,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"eval!","eval!",1110791799),null], null), null));
lt.plugins.elm_light.clients.__BEH__connect = (function __BEH__connect(this$,path){return lt.plugins.elm_light.clients.try_connect.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"info","info",1017141280),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"path","path",1017337751),path], null)], null));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.clients","connect","lt.plugins.elm-light.clients/connect",3850263638),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.clients.__BEH__connect,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"connect","connect",1965255772),null], null), null));
lt.object.object_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.clients","elm-lang","lt.plugins.elm-light.clients/elm-lang",4404942079),new cljs.core.Keyword(null,"tags","tags",1017456523),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.lang","elm.lang",1176612264),null], null), null));
lt.plugins.elm_light.clients.elm = lt.object.create.call(null,new cljs.core.Keyword("lt.plugins.elm-light.clients","elm-lang","lt.plugins.elm-light.clients/elm-lang",4404942079));
lt.objs.sidebar.clients.add_connector.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"name","name",1017277949),"Elm",new cljs.core.Keyword(null,"desc","desc",1016984067),"Select a directory to serve as the root of your elm project.",new cljs.core.Keyword(null,"connect","connect",1965255772),(function (){return lt.objs.dialogs.dir.call(null,lt.plugins.elm_light.clients.elm,new cljs.core.Keyword(null,"connect","connect",1965255772));
})], null));
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.docpreview')) {
goog.provide('lt.plugins.elm_light.docpreview');
goog.require('cljs.core');
goog.require('lt.plugins.elm_light.clients');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.objs.files');
goog.require('lt.util.js');
goog.require('lt.util.dom');
goog.require('lt.objs.tabs');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.objs.notifos');
goog.require('lt.plugins.elm_light.clients');
goog.require('lt.objs.notifos');
goog.require('lt.util.dom');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
goog.require('lt.objs.files');
goog.require('lt.objs.eval');
goog.require('lt.objs.clients');
goog.require('lt.objs.editor');
goog.require('lt.object');
goog.require('lt.object');
goog.require('lt.util.load');
goog.require('lt.objs.tabs');
goog.require('lt.objs.editor');
goog.require('lt.util.load');
goog.require('lt.plugins.elm_light.elm_ast');
goog.require('lt.plugins.elm_light.elm_ast');
goog.require('lt.objs.eval');
goog.require('lt.objs.clients');
goog.require('lt.objs.editor.pool');
goog.require('lt.util.js');
goog.require('lt.objs.command');
lt.plugins.elm_light.docpreview.highlight_js = lt.objs.files.join.call(null,lt.plugins.elm_light.utils.elm_plugin_dir,"js","highlight.pack.js");
lt.plugins.elm_light.docpreview.preview_skeleton = (function preview_skeleton(this$){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1014003715),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"elm-doc-preview"], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"h1","h1",1013907515),"Generating elm docs, please wait a little..."], null)], null));var seq__12216_12240 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__12217_12241 = null;var count__12218_12242 = 0;var i__12219_12243 = 0;while(true){
if((i__12219_12243 < count__12218_12242))
{var vec__12220_12244 = cljs.core._nth.call(null,chunk__12217_12241,i__12219_12243);var ev__6318__auto___12245 = cljs.core.nth.call(null,vec__12220_12244,0,null);var func__6319__auto___12246 = cljs.core.nth.call(null,vec__12220_12244,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___12245,func__6319__auto___12246);
{
var G__12247 = seq__12216_12240;
var G__12248 = chunk__12217_12241;
var G__12249 = count__12218_12242;
var G__12250 = (i__12219_12243 + 1);
seq__12216_12240 = G__12247;
chunk__12217_12241 = G__12248;
count__12218_12242 = G__12249;
i__12219_12243 = G__12250;
continue;
}
} else
{var temp__4092__auto___12251 = cljs.core.seq.call(null,seq__12216_12240);if(temp__4092__auto___12251)
{var seq__12216_12252__$1 = temp__4092__auto___12251;if(cljs.core.chunked_seq_QMARK_.call(null,seq__12216_12252__$1))
{var c__5632__auto___12253 = cljs.core.chunk_first.call(null,seq__12216_12252__$1);{
var G__12254 = cljs.core.chunk_rest.call(null,seq__12216_12252__$1);
var G__12255 = c__5632__auto___12253;
var G__12256 = cljs.core.count.call(null,c__5632__auto___12253);
var G__12257 = 0;
seq__12216_12240 = G__12254;
chunk__12217_12241 = G__12255;
count__12218_12242 = G__12256;
i__12219_12243 = G__12257;
continue;
}
} else
{var vec__12221_12258 = cljs.core.first.call(null,seq__12216_12252__$1);var ev__6318__auto___12259 = cljs.core.nth.call(null,vec__12221_12258,0,null);var func__6319__auto___12260 = cljs.core.nth.call(null,vec__12221_12258,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___12259,func__6319__auto___12260);
{
var G__12261 = cljs.core.next.call(null,seq__12216_12252__$1);
var G__12262 = null;
var G__12263 = 0;
var G__12264 = 0;
seq__12216_12240 = G__12261;
chunk__12217_12241 = G__12262;
count__12218_12242 = G__12263;
i__12219_12243 = G__12264;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.object.object_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.docpreview","elmdoc","lt.plugins.elm-light.docpreview/elmdoc",1597859033),new cljs.core.Keyword(null,"tags","tags",1017456523),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"elmdoc","elmdoc",4008535620)], null),new cljs.core.Keyword(null,"name","name",1017277949),"elmdoc",new cljs.core.Keyword(null,"behaviors","behaviors",607554515),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("lt.plugins.elm-light.docpreview","on-close-destroy","lt.plugins.elm-light.docpreview/on-close-destroy",906178052)], null),new cljs.core.Keyword(null,"init","init",1017141378),(function (this$,filename){lt.object.update_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"name","name",1017277949)], null),cljs.core.constantly.call(null,[cljs.core.str(filename),cljs.core.str(" - Live")].join('')));
return lt.plugins.elm_light.docpreview.preview_skeleton.call(null,this$);
}));
lt.plugins.elm_light.docpreview.__BEH__on_close_destroy = (function __BEH__on_close_destroy(this$){var temp__4092__auto___12265 = new cljs.core.Keyword("lt.objs.tabs","tabset","lt.objs.tabs/tabset",3378091779).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$));if(cljs.core.truth_(temp__4092__auto___12265))
{var ts_12266 = temp__4092__auto___12265;if(cljs.core._EQ_.call(null,cljs.core.count.call(null,new cljs.core.Keyword(null,"objs","objs",1017308622).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ts_12266))),1))
{lt.objs.tabs.rem_tabset.call(null,ts_12266);
} else
{}
} else
{}
var temp__4092__auto___12267 = new cljs.core.Keyword(null,"owner-ed","owner-ed",2677003627).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$));if(cljs.core.truth_(temp__4092__auto___12267))
{var ed_12268 = temp__4092__auto___12267;lt.object.assoc_in_BANG_.call(null,ed_12268,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"elmdoc","elmdoc",4008535620)], null),null);
} else
{}
return lt.object.destroy_BANG_.call(null,this$);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.docpreview","on-close-destroy","lt.plugins.elm-light.docpreview/on-close-destroy",906178052),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.docpreview.__BEH__on_close_destroy,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"close","close",1108660586),null], null), null));
lt.plugins.elm_light.docpreview.__BEH__gendoc = (function __BEH__gendoc(ed){var info = new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed));var cl = lt.objs.eval.get_client_BANG_.call(null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"editor.elm.gendoc","editor.elm.gendoc",1485628611),new cljs.core.Keyword(null,"origin","origin",4300251800),ed,new cljs.core.Keyword(null,"info","info",1017141280),info,new cljs.core.Keyword(null,"create","create",3956577390),lt.plugins.elm_light.clients.try_connect], null));lt.objs.notifos.working.call(null,[cljs.core.str("Starting elm doc generation for: "),cljs.core.str(new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(info))].join(''));
return lt.objs.clients.send.call(null,cl,new cljs.core.Keyword(null,"editor.elm.gendoc","editor.elm.gendoc",1485628611),cljs.core.assoc.call(null,info,new cljs.core.Keyword(null,"project-path","project-path",1907176907),lt.plugins.elm_light.utils.project_path.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(info))),new cljs.core.Keyword(null,"only","only",1017320222),ed);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.docpreview","gendoc","lt.plugins.elm-light.docpreview/gendoc",1698030579),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.docpreview.__BEH__gendoc,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"gendoc","gendoc",4059359066),null], null), null),new cljs.core.Keyword(null,"description","description",3584325486),"Preview package doc for a given Elm file");
lt.plugins.elm_light.docpreview.maybe_create_elm_preview = (function maybe_create_elm_preview(elmdoc){var temp__4090__auto__ = new cljs.core.Keyword(null,"preview","preview",695719738).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,elmdoc));if(cljs.core.truth_(temp__4090__auto__))
{var preview = temp__4090__auto__;return preview;
} else
{var el = lt.object.__GT_content.call(null,elmdoc);var preview = Elm.embed(Elm.DocPreview,el,cljs.core.clj__GT_js.call(null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"modules","modules",2241338105),"[]",new cljs.core.Keyword(null,"selectModule","selectModule",2877951482),""], null)));lt.object.assoc_in_BANG_.call(null,elmdoc,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"preview","preview",695719738)], null),preview);
return preview;
}
});
lt.plugins.elm_light.docpreview.__BEH__elm_gendoc_res = (function __BEH__elm_gendoc_res(ed,res){lt.objs.notifos.done_working.call(null,"Elm doc generated");
var temp__4092__auto__ = new cljs.core.Keyword(null,"elmdoc","elmdoc",4008535620).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed));if(cljs.core.truth_(temp__4092__auto__))
{var elmdoc = temp__4092__auto__;var preview = lt.plugins.elm_light.docpreview.maybe_create_elm_preview.call(null,elmdoc);var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));var module_name = lt.plugins.elm_light.elm_ast.get_module_name.call(null,lt.plugins.elm_light.elm_ast.get_module_ast.call(null,lt.plugins.elm_light.utils.project_path.call(null,path),path));preview.ports.modules.send(res);
preview.ports.selectModule.send(module_name);
return window.requestAnimationFrame(((function (preview,path,module_name,elmdoc,temp__4092__auto__){
return (function (){var seq__12226 = cljs.core.seq.call(null,lt.util.dom.$$.call(null,"pre > code",lt.object.__GT_content.call(null,elmdoc)));var chunk__12227 = null;var count__12228 = 0;var i__12229 = 0;while(true){
if((i__12229 < count__12228))
{var block = cljs.core._nth.call(null,chunk__12227,i__12229);hljs.highlightBlock(block);
{
var G__12269 = seq__12226;
var G__12270 = chunk__12227;
var G__12271 = count__12228;
var G__12272 = (i__12229 + 1);
seq__12226 = G__12269;
chunk__12227 = G__12270;
count__12228 = G__12271;
i__12229 = G__12272;
continue;
}
} else
{var temp__4092__auto____$1 = cljs.core.seq.call(null,seq__12226);if(temp__4092__auto____$1)
{var seq__12226__$1 = temp__4092__auto____$1;if(cljs.core.chunked_seq_QMARK_.call(null,seq__12226__$1))
{var c__5632__auto__ = cljs.core.chunk_first.call(null,seq__12226__$1);{
var G__12273 = cljs.core.chunk_rest.call(null,seq__12226__$1);
var G__12274 = c__5632__auto__;
var G__12275 = cljs.core.count.call(null,c__5632__auto__);
var G__12276 = 0;
seq__12226 = G__12273;
chunk__12227 = G__12274;
count__12228 = G__12275;
i__12229 = G__12276;
continue;
}
} else
{var block = cljs.core.first.call(null,seq__12226__$1);hljs.highlightBlock(block);
{
var G__12277 = cljs.core.next.call(null,seq__12226__$1);
var G__12278 = null;
var G__12279 = 0;
var G__12280 = 0;
seq__12226 = G__12277;
chunk__12227 = G__12278;
count__12228 = G__12279;
i__12229 = G__12280;
continue;
}
}
} else
{return null;
}
}
break;
}
});})(preview,path,module_name,elmdoc,temp__4092__auto__))
);
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.docpreview","elm-gendoc-res","lt.plugins.elm-light.docpreview/elm-gendoc-res",871221001),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.docpreview.__BEH__elm_gendoc_res,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.gendoc.res","elm.gendoc.res",3626116948),null], null), null));
lt.plugins.elm_light.docpreview.__BEH__gen_on_save = (function __BEH__gen_on_save(ed){return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"gendoc","gendoc",4059359066));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.docpreview","gen-on-save","lt.plugins.elm-light.docpreview/gen-on-save",713063605),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.docpreview.__BEH__gen_on_save,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"save","save",1017427183),null], null), null));
lt.plugins.elm_light.docpreview.__BEH__elm_docpreview = (function __BEH__elm_docpreview(ed){var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));var elmdoc_obj = (function (){var or__4884__auto__ = new cljs.core.Keyword(null,"elmdoc","elmdoc",4008535620).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed));if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return lt.object.create.call(null,new cljs.core.Keyword("lt.plugins.elm-light.docpreview","elmdoc","lt.plugins.elm-light.docpreview/elmdoc",1597859033),path);
}
})();lt.util.load.js.call(null,lt.plugins.elm_light.docpreview.highlight_js,new cljs.core.Keyword(null,"sync","sync",1017449997));
lt.objs.tabs.add_or_focus_BANG_.call(null,elmdoc_obj);
lt.object.assoc_in_BANG_.call(null,ed,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"elmdoc","elmdoc",4008535620)], null),elmdoc_obj);
lt.object.assoc_in_BANG_.call(null,elmdoc_obj,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"owner-ed","owner-ed",2677003627)], null),ed);
lt.object.add_behavior_BANG_.call(null,ed,new cljs.core.Keyword("lt.plugins.elm-light.docpreview","gen-on-save","lt.plugins.elm-light.docpreview/gen-on-save",713063605));
return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"gendoc","gendoc",4059359066));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.docpreview","elm-docpreview","lt.plugins.elm-light.docpreview/elm-docpreview",1000581284),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.docpreview.__BEH__elm_docpreview,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.docpreview","elm.docpreview",3479917898),null], null), null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.docpreview","elm.docpreview",3479917898),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Preview doc for selected file",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.docpreview","elm.docpreview",3479917898));
} else
{return null;
}
})], null));
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.modulebrowser')) {
goog.provide('lt.plugins.elm_light.modulebrowser');
goog.require('cljs.core');
goog.require('lt.objs.sidebar.command');
goog.require('lt.objs.files');
goog.require('lt.objs.sidebar.command');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.util.dom');
goog.require('lt.objs.sidebar');
goog.require('clojure.string');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.objs.notifos');
goog.require('lt.objs.notifos');
goog.require('lt.util.dom');
goog.require('lt.objs.sidebar');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
goog.require('lt.objs.files');
goog.require('clojure.string');
goog.require('lt.object');
goog.require('lt.object');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
lt.plugins.elm_light.modulebrowser.resolve_module_file = (function resolve_module_file(project_path,pck_json,package$,module,version){return cljs.core.some.call(null,(function (p1__19691_SHARP_){if(cljs.core.truth_(lt.objs.files.exists_QMARK_.call(null,p1__19691_SHARP_)))
{return p1__19691_SHARP_;
} else
{return null;
}
}),cljs.core.map.call(null,(function (p1__19690_SHARP_){return lt.objs.files.join.call(null,project_path,"elm-stuff/packages",package$,version,p1__19690_SHARP_,[cljs.core.str(clojure.string.replace.call(null,module,".",lt.objs.files.separator)),cljs.core.str(".elm")].join(''));
}),new cljs.core.Keyword(null,"source-directories","source-directories",4475397259).cljs$core$IFn$_invoke$arity$1(pck_json)));
});
lt.plugins.elm_light.modulebrowser.get_exposed_modules = (function get_exposed_modules(project_path,p__19692){var map__19694 = p__19692;var map__19694__$1 = ((cljs.core.seq_QMARK_.call(null,map__19694))?cljs.core.apply.call(null,cljs.core.hash_map,map__19694):map__19694);var exact = cljs.core.get.call(null,map__19694__$1,new cljs.core.Keyword(null,"exact","exact",1110851185));var package$ = cljs.core.get.call(null,map__19694__$1,new cljs.core.Keyword(null,"package","package",4501809080));var pck_json = lt.plugins.elm_light.utils.parse_json_file.call(null,lt.objs.files.join.call(null,project_path,"elm-stuff/packages",package$,exact,"elm-package.json"));return cljs.core.map.call(null,((function (pck_json,map__19694,map__19694__$1,exact,package$){
return (function (x){return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"name","name",1017277949),x,new cljs.core.Keyword(null,"packageName","packageName",1922663267),package$,new cljs.core.Keyword(null,"version","version",1365512266),exact,new cljs.core.Keyword(null,"file","file",1017047278),lt.plugins.elm_light.modulebrowser.resolve_module_file.call(null,project_path,pck_json,package$,x,exact)], null);
});})(pck_json,map__19694,map__19694__$1,exact,package$))
,new cljs.core.Keyword(null,"exposed-modules","exposed-modules",4185867084).cljs$core$IFn$_invoke$arity$1(pck_json));
});
lt.plugins.elm_light.modulebrowser.get_package_modules = (function get_package_modules(project_path){return cljs.core.sort_by.call(null,new cljs.core.Keyword(null,"name","name",1017277949),cljs.core.mapcat.call(null,cljs.core.partial.call(null,lt.plugins.elm_light.modulebrowser.get_exposed_modules,project_path),cljs.core.filter.call(null,new cljs.core.Keyword(null,"exact","exact",1110851185),lt.plugins.elm_light.utils.get_project_deps.call(null,project_path))));
});
lt.plugins.elm_light.modulebrowser.deduce_module_name = (function deduce_module_name(root_path,elm_file_path){return clojure.string.replace.call(null,clojure.string.replace.call(null,clojure.string.replace.call(null,clojure.string.replace.call(null,elm_file_path,root_path,""),".elm",""),/^\//,""),lt.objs.files.separator,".");
});
lt.plugins.elm_light.modulebrowser.get_project_modules = (function get_project_modules(project_path){var pck_json = lt.plugins.elm_light.utils.parse_json_file.call(null,lt.objs.files.join.call(null,project_path,"elm-package.json"));return cljs.core.sort_by.call(null,new cljs.core.Keyword(null,"name","name",1017277949),cljs.core.map.call(null,((function (pck_json){
return (function (m){return cljs.core.assoc.call(null,m,new cljs.core.Keyword(null,"packageName","packageName",1922663267),lt.objs.files.basename.call(null,project_path),new cljs.core.Keyword(null,"version","version",1365512266),new cljs.core.Keyword(null,"version","version",1365512266).cljs$core$IFn$_invoke$arity$1(pck_json));
});})(pck_json))
,cljs.core.mapcat.call(null,((function (pck_json){
return (function (dir){if(cljs.core._EQ_.call(null,dir,"."))
{return cljs.core.map.call(null,((function (pck_json){
return (function (x){return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"name","name",1017277949),lt.plugins.elm_light.modulebrowser.deduce_module_name.call(null,"",x),new cljs.core.Keyword(null,"file","file",1017047278),lt.objs.files.join.call(null,project_path,x)], null);
});})(pck_json))
,cljs.core.filter.call(null,((function (pck_json){
return (function (p1__19695_SHARP_){return cljs.core._EQ_.call(null,lt.objs.files.ext.call(null,p1__19695_SHARP_),"elm");
});})(pck_json))
,lt.objs.files.ls.call(null,project_path)));
} else
{return cljs.core.map.call(null,((function (pck_json){
return (function (x){return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"name","name",1017277949),lt.plugins.elm_light.modulebrowser.deduce_module_name.call(null,lt.objs.files.join.call(null,project_path,dir),x),new cljs.core.Keyword(null,"file","file",1017047278),x], null);
});})(pck_json))
,lt.objs.files.filter_walk.call(null,((function (pck_json){
return (function (p1__19696_SHARP_){return cljs.core._EQ_.call(null,lt.objs.files.ext.call(null,p1__19696_SHARP_),"elm");
});})(pck_json))
,lt.objs.files.join.call(null,project_path,dir)));
}
});})(pck_json))
,new cljs.core.Keyword(null,"source-directories","source-directories",4475397259).cljs$core$IFn$_invoke$arity$1(pck_json))));
});
lt.plugins.elm_light.modulebrowser.get_all_modules = (function get_all_modules(project_path){return cljs.core.concat.call(null,lt.plugins.elm_light.modulebrowser.get_project_modules.call(null,project_path),lt.plugins.elm_light.modulebrowser.get_package_modules.call(null,project_path));
});
lt.plugins.elm_light.modulebrowser.wrapper = (function wrapper(this$){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1014003715),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"id","id",1013907597),"elm-module-browser"], null),"Retrieving modules..."], null));var seq__19703_19719 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__19704_19720 = null;var count__19705_19721 = 0;var i__19706_19722 = 0;while(true){
if((i__19706_19722 < count__19705_19721))
{var vec__19707_19723 = cljs.core._nth.call(null,chunk__19704_19720,i__19706_19722);var ev__6318__auto___19724 = cljs.core.nth.call(null,vec__19707_19723,0,null);var func__6319__auto___19725 = cljs.core.nth.call(null,vec__19707_19723,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19724,func__6319__auto___19725);
{
var G__19726 = seq__19703_19719;
var G__19727 = chunk__19704_19720;
var G__19728 = count__19705_19721;
var G__19729 = (i__19706_19722 + 1);
seq__19703_19719 = G__19726;
chunk__19704_19720 = G__19727;
count__19705_19721 = G__19728;
i__19706_19722 = G__19729;
continue;
}
} else
{var temp__4092__auto___19730 = cljs.core.seq.call(null,seq__19703_19719);if(temp__4092__auto___19730)
{var seq__19703_19731__$1 = temp__4092__auto___19730;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19703_19731__$1))
{var c__5632__auto___19732 = cljs.core.chunk_first.call(null,seq__19703_19731__$1);{
var G__19733 = cljs.core.chunk_rest.call(null,seq__19703_19731__$1);
var G__19734 = c__5632__auto___19732;
var G__19735 = cljs.core.count.call(null,c__5632__auto___19732);
var G__19736 = 0;
seq__19703_19719 = G__19733;
chunk__19704_19720 = G__19734;
count__19705_19721 = G__19735;
i__19706_19722 = G__19736;
continue;
}
} else
{var vec__19708_19737 = cljs.core.first.call(null,seq__19703_19731__$1);var ev__6318__auto___19738 = cljs.core.nth.call(null,vec__19708_19737,0,null);var func__6319__auto___19739 = cljs.core.nth.call(null,vec__19708_19737,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19738,func__6319__auto___19739);
{
var G__19740 = cljs.core.next.call(null,seq__19703_19731__$1);
var G__19741 = null;
var G__19742 = 0;
var G__19743 = 0;
seq__19703_19719 = G__19740;
chunk__19704_19720 = G__19741;
count__19705_19721 = G__19742;
i__19706_19722 = G__19743;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.modulebrowser.__BEH__clear_BANG_ = (function __BEH__clear_BANG_(this$){return lt.objs.command.exec_BANG_.call(null,new cljs.core.Keyword(null,"close-sidebar","close-sidebar",1108494329));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.modulebrowser","clear!","lt.plugins.elm-light.modulebrowser/clear!",830826271),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.modulebrowser.__BEH__clear_BANG_,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"clear!","clear!",3951036134),null], null), null));
lt.plugins.elm_light.modulebrowser.__BEH__focus_BANG_ = (function __BEH__focus_BANG_(this$){var input = lt.util.dom.$.call(null,"#elm-module-browser input");return input.focus();
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.modulebrowser","focus!","lt.plugins.elm-light.modulebrowser/focus!",876390918),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.modulebrowser.__BEH__focus_BANG_,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"focus!","focus!",4039653819),null], null), null));
lt.plugins.elm_light.modulebrowser.__BEH__ensure_visible = (function __BEH__ensure_visible(this$){return lt.objs.sidebar.command.ensure_visible.call(null,this$);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.modulebrowser","ensure-visible","lt.plugins.elm-light.modulebrowser/ensure-visible",547005840),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.modulebrowser.__BEH__ensure_visible,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"ensure-visible","ensure-visible",4239017301),null], null), null));
lt.plugins.elm_light.modulebrowser.__BEH__show_project_modules = (function __BEH__show_project_modules(this$,prj_path){var modules = lt.plugins.elm_light.modulebrowser.get_all_modules.call(null,prj_path);var el = lt.util.dom.$.call(null,"#elm-module-browser");var mod_browser = Elm.embed(Elm.ModuleBrowser,el,cljs.core.clj__GT_js.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"modzPort","modzPort",4708408779),cljs.core.PersistentVector.EMPTY], null)));mod_browser.ports.modzPort.send(cljs.core.clj__GT_js.call(null,modules));
mod_browser.ports.changeSelection.subscribe(((function (modules,el,mod_browser){
return (function (){return lt.object.raise.call(null,this$,new cljs.core.Keyword(null,"ensure-visible","ensure-visible",4239017301));
});})(modules,el,mod_browser))
);
mod_browser.ports.select.subscribe(((function (modules,el,mod_browser){
return (function (file){lt.objs.command.exec_BANG_.call(null,new cljs.core.Keyword(null,"open-path","open-path",2513940794),file);
return lt.object.raise.call(null,this$,new cljs.core.Keyword(null,"clear!","clear!",3951036134));
});})(modules,el,mod_browser))
);
mod_browser.ports.close.subscribe(((function (modules,el,mod_browser){
return (function (){return lt.object.raise.call(null,this$,new cljs.core.Keyword(null,"clear!","clear!",3951036134));
});})(modules,el,mod_browser))
);
return lt.object.raise.call(null,this$,new cljs.core.Keyword(null,"focus!","focus!",4039653819));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.modulebrowser","show-project-modules","lt.plugins.elm-light.modulebrowser/show-project-modules",4239249840),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.modulebrowser.__BEH__show_project_modules,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"show-project-modules","show-project-modules",2830590325),null], null), null));
lt.object.object_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.modulebrowser","modulebrowser","lt.plugins.elm-light.modulebrowser/modulebrowser",2756314871),new cljs.core.Keyword(null,"tags","tags",1017456523),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.modulebrowser","elm.modulebrowser",1437552486),null], null), null),new cljs.core.Keyword(null,"label","label",1116631654),"Elm module browser",new cljs.core.Keyword(null,"order","order",1119910592),2,new cljs.core.Keyword(null,"init","init",1017141378),(function (this$){return lt.plugins.elm_light.modulebrowser.wrapper.call(null,this$);
}));
lt.plugins.elm_light.modulebrowser.module_bar = lt.object.create.call(null,new cljs.core.Keyword("lt.plugins.elm-light.modulebrowser","modulebrowser","lt.plugins.elm-light.modulebrowser/modulebrowser",2756314871));
lt.objs.sidebar.add_item.call(null,lt.objs.sidebar.rightbar,lt.plugins.elm_light.modulebrowser.module_bar);
lt.plugins.elm_light.modulebrowser.__BEH__list_modules = (function __BEH__list_modules(ed){var temp__4092__auto__ = lt.plugins.elm_light.utils.project_path.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed))));if(cljs.core.truth_(temp__4092__auto__))
{var prj_path = temp__4092__auto__;lt.object.raise.call(null,lt.objs.sidebar.rightbar,new cljs.core.Keyword(null,"toggle","toggle",4440567494),lt.plugins.elm_light.modulebrowser.module_bar);
return lt.object.raise.call(null,lt.plugins.elm_light.modulebrowser.module_bar,new cljs.core.Keyword(null,"show-project-modules","show-project-modules",2830590325),prj_path);
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.modulebrowser","list-modules","lt.plugins.elm-light.modulebrowser/list-modules",1482195219),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.modulebrowser.__BEH__list_modules,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"editor.elm.list-modules","editor.elm.list-modules",4718639987),null], null), null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"show-modulebrowser","show-modulebrowser",3667882974),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Show module-browser",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"editor.elm.list-modules","editor.elm.list-modules",4718639987));
} else
{return null;
}
})], null));
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.usages')) {
goog.provide('lt.plugins.elm_light.usages');
goog.require('cljs.core');
goog.require('lt.objs.files');
goog.require('lt.util.dom');
goog.require('lt.objs.context');
goog.require('lt.objs.tabs');
goog.require('clojure.string');
goog.require('lt.plugins.elm_light.utils');
goog.require('crate.core');
goog.require('lt.objs.context');
goog.require('lt.objs.notifos');
goog.require('lt.plugins.elm_light.clients');
goog.require('lt.objs.jump_stack');
goog.require('lt.objs.notifos');
goog.require('lt.util.dom');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
goog.require('lt.objs.files');
goog.require('lt.objs.clients');
goog.require('clojure.string');
goog.require('lt.objs.jump_stack');
goog.require('lt.objs.editor');
goog.require('lt.object');
goog.require('lt.object');
goog.require('lt.objs.console');
goog.require('lt.objs.tabs');
goog.require('lt.objs.editor');
goog.require('lt.objs.console');
goog.require('crate.core');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.plugins.elm_light.elm_ast');
goog.require('lt.plugins.elm_light.elm_ast');
goog.require('lt.objs.clients');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
goog.require('lt.plugins.elm_light.clients');
lt.plugins.elm_light.usages.wrapper = (function wrapper(this$){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1014003715),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"search-results elm-usages"], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ul.res","ul.res",4464738363)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.searcher","div.searcher",3267271812),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"p","p",1013904354),""], null)], null)], null));var seq__20307_20409 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__20308_20410 = null;var count__20309_20411 = 0;var i__20310_20412 = 0;while(true){
if((i__20310_20412 < count__20309_20411))
{var vec__20311_20413 = cljs.core._nth.call(null,chunk__20308_20410,i__20310_20412);var ev__6318__auto___20414 = cljs.core.nth.call(null,vec__20311_20413,0,null);var func__6319__auto___20415 = cljs.core.nth.call(null,vec__20311_20413,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20414,func__6319__auto___20415);
{
var G__20416 = seq__20307_20409;
var G__20417 = chunk__20308_20410;
var G__20418 = count__20309_20411;
var G__20419 = (i__20310_20412 + 1);
seq__20307_20409 = G__20416;
chunk__20308_20410 = G__20417;
count__20309_20411 = G__20418;
i__20310_20412 = G__20419;
continue;
}
} else
{var temp__4092__auto___20420 = cljs.core.seq.call(null,seq__20307_20409);if(temp__4092__auto___20420)
{var seq__20307_20421__$1 = temp__4092__auto___20420;if(cljs.core.chunked_seq_QMARK_.call(null,seq__20307_20421__$1))
{var c__5632__auto___20422 = cljs.core.chunk_first.call(null,seq__20307_20421__$1);{
var G__20423 = cljs.core.chunk_rest.call(null,seq__20307_20421__$1);
var G__20424 = c__5632__auto___20422;
var G__20425 = cljs.core.count.call(null,c__5632__auto___20422);
var G__20426 = 0;
seq__20307_20409 = G__20423;
chunk__20308_20410 = G__20424;
count__20309_20411 = G__20425;
i__20310_20412 = G__20426;
continue;
}
} else
{var vec__20312_20427 = cljs.core.first.call(null,seq__20307_20421__$1);var ev__6318__auto___20428 = cljs.core.nth.call(null,vec__20312_20427,0,null);var func__6319__auto___20429 = cljs.core.nth.call(null,vec__20312_20427,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20428,func__6319__auto___20429);
{
var G__20430 = cljs.core.next.call(null,seq__20307_20421__$1);
var G__20431 = null;
var G__20432 = 0;
var G__20433 = 0;
seq__20307_20409 = G__20430;
chunk__20308_20410 = G__20431;
count__20309_20411 = G__20432;
i__20310_20412 = G__20433;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.usages.loader = (function loader(){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.bubblingG","div.bubblingG",1068758387),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1017440956),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"id","id",1013907597),"bubblingG_1"], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1017440956),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"id","id",1013907597),"bubblingG_2"], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1017440956),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"id","id",1013907597),"bubblingG_3"], null)], null)], null));var seq__20319_20434 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__20320_20435 = null;var count__20321_20436 = 0;var i__20322_20437 = 0;while(true){
if((i__20322_20437 < count__20321_20436))
{var vec__20323_20438 = cljs.core._nth.call(null,chunk__20320_20435,i__20322_20437);var ev__6318__auto___20439 = cljs.core.nth.call(null,vec__20323_20438,0,null);var func__6319__auto___20440 = cljs.core.nth.call(null,vec__20323_20438,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20439,func__6319__auto___20440);
{
var G__20441 = seq__20319_20434;
var G__20442 = chunk__20320_20435;
var G__20443 = count__20321_20436;
var G__20444 = (i__20322_20437 + 1);
seq__20319_20434 = G__20441;
chunk__20320_20435 = G__20442;
count__20321_20436 = G__20443;
i__20322_20437 = G__20444;
continue;
}
} else
{var temp__4092__auto___20445 = cljs.core.seq.call(null,seq__20319_20434);if(temp__4092__auto___20445)
{var seq__20319_20446__$1 = temp__4092__auto___20445;if(cljs.core.chunked_seq_QMARK_.call(null,seq__20319_20446__$1))
{var c__5632__auto___20447 = cljs.core.chunk_first.call(null,seq__20319_20446__$1);{
var G__20448 = cljs.core.chunk_rest.call(null,seq__20319_20446__$1);
var G__20449 = c__5632__auto___20447;
var G__20450 = cljs.core.count.call(null,c__5632__auto___20447);
var G__20451 = 0;
seq__20319_20434 = G__20448;
chunk__20320_20435 = G__20449;
count__20321_20436 = G__20450;
i__20322_20437 = G__20451;
continue;
}
} else
{var vec__20324_20452 = cljs.core.first.call(null,seq__20319_20446__$1);var ev__6318__auto___20453 = cljs.core.nth.call(null,vec__20324_20452,0,null);var func__6319__auto___20454 = cljs.core.nth.call(null,vec__20324_20452,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20453,func__6319__auto___20454);
{
var G__20455 = cljs.core.next.call(null,seq__20319_20446__$1);
var G__20456 = null;
var G__20457 = 0;
var G__20458 = 0;
seq__20319_20434 = G__20455;
chunk__20320_20435 = G__20456;
count__20321_20436 = G__20457;
i__20322_20437 = G__20458;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.usages.highlight = (function highlight(line,sym){return clojure.string.replace.call(null,line,cljs.core.re_pattern.call(null,[cljs.core.str("\\b"),cljs.core.str(sym),cljs.core.str("\\b")].join('')),[cljs.core.str(""),cljs.core.str(sym),cljs.core.str("")].join('')).substring(0,150);
});
lt.plugins.elm_light.usages.open_hit = (function open_hit(file,hit){lt.objs.command.exec_BANG_.call(null,new cljs.core.Keyword(null,"open-path","open-path",2513940794),file);
var ed = lt.objs.editor.pool.last_active.call(null);return lt.objs.editor.move_cursor.call(null,ed,new cljs.core.Keyword(null,"start","start",1123661780).cljs$core$IFn$_invoke$arity$1(hit));
});
lt.plugins.elm_light.usages.hit_entry = (function hit_entry(sym,file,hit){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"p","p",1013904354),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"entry"], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span.line","span.line",4619821962),[cljs.core.str(new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"start","start",1123661780).cljs$core$IFn$_invoke$arity$1(hit))),cljs.core.str(","),cljs.core.str(new cljs.core.Keyword(null,"ch","ch",1013907415).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"start","start",1123661780).cljs$core$IFn$_invoke$arity$1(hit)))].join('')], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"pre","pre",1014015509),crate.core.raw.call(null,lt.plugins.elm_light.usages.highlight.call(null,new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(hit),sym))], null)], null));var seq__20331_20459 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"click","click",1108654330),((function (e__6317__auto__){
return (function (){return lt.plugins.elm_light.usages.open_hit.call(null,file,hit);
});})(e__6317__auto__))
], null)));var chunk__20332_20460 = null;var count__20333_20461 = 0;var i__20334_20462 = 0;while(true){
if((i__20334_20462 < count__20333_20461))
{var vec__20335_20463 = cljs.core._nth.call(null,chunk__20332_20460,i__20334_20462);var ev__6318__auto___20464 = cljs.core.nth.call(null,vec__20335_20463,0,null);var func__6319__auto___20465 = cljs.core.nth.call(null,vec__20335_20463,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20464,func__6319__auto___20465);
{
var G__20466 = seq__20331_20459;
var G__20467 = chunk__20332_20460;
var G__20468 = count__20333_20461;
var G__20469 = (i__20334_20462 + 1);
seq__20331_20459 = G__20466;
chunk__20332_20460 = G__20467;
count__20333_20461 = G__20468;
i__20334_20462 = G__20469;
continue;
}
} else
{var temp__4092__auto___20470 = cljs.core.seq.call(null,seq__20331_20459);if(temp__4092__auto___20470)
{var seq__20331_20471__$1 = temp__4092__auto___20470;if(cljs.core.chunked_seq_QMARK_.call(null,seq__20331_20471__$1))
{var c__5632__auto___20472 = cljs.core.chunk_first.call(null,seq__20331_20471__$1);{
var G__20473 = cljs.core.chunk_rest.call(null,seq__20331_20471__$1);
var G__20474 = c__5632__auto___20472;
var G__20475 = cljs.core.count.call(null,c__5632__auto___20472);
var G__20476 = 0;
seq__20331_20459 = G__20473;
chunk__20332_20460 = G__20474;
count__20333_20461 = G__20475;
i__20334_20462 = G__20476;
continue;
}
} else
{var vec__20336_20477 = cljs.core.first.call(null,seq__20331_20471__$1);var ev__6318__auto___20478 = cljs.core.nth.call(null,vec__20336_20477,0,null);var func__6319__auto___20479 = cljs.core.nth.call(null,vec__20336_20477,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20478,func__6319__auto___20479);
{
var G__20480 = cljs.core.next.call(null,seq__20331_20471__$1);
var G__20481 = null;
var G__20482 = 0;
var G__20483 = 0;
seq__20331_20459 = G__20480;
chunk__20332_20460 = G__20481;
count__20333_20461 = G__20482;
i__20334_20462 = G__20483;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.usages.module_item = (function module_item(sym,p__20338){var map__20346 = p__20338;var map__20346__$1 = ((cljs.core.seq_QMARK_.call(null,map__20346))?cljs.core.apply.call(null,cljs.core.hash_map,map__20346):map__20346);var module = map__20346__$1;var file = cljs.core.get.call(null,map__20346__$1,new cljs.core.Keyword(null,"file","file",1017047278));var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"li","li",1013907695),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"p.path","p.path",4266284629),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span.file","span.file",4619643154),lt.objs.files.basename.call(null,file)], null),"(",lt.objs.files.parent.call(null,file),")"], null),cljs.core.map.call(null,((function (map__20346,map__20346__$1,module,file){
return (function (p1__20337_SHARP_){return lt.plugins.elm_light.usages.hit_entry.call(null,sym,file,p1__20337_SHARP_);
});})(map__20346,map__20346__$1,module,file))
,new cljs.core.Keyword(null,"hits","hits",1017107122).cljs$core$IFn$_invoke$arity$1(module))], null));var seq__20347_20484 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__20348_20485 = null;var count__20349_20486 = 0;var i__20350_20487 = 0;while(true){
if((i__20350_20487 < count__20349_20486))
{var vec__20351_20488 = cljs.core._nth.call(null,chunk__20348_20485,i__20350_20487);var ev__6318__auto___20489 = cljs.core.nth.call(null,vec__20351_20488,0,null);var func__6319__auto___20490 = cljs.core.nth.call(null,vec__20351_20488,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20489,func__6319__auto___20490);
{
var G__20491 = seq__20347_20484;
var G__20492 = chunk__20348_20485;
var G__20493 = count__20349_20486;
var G__20494 = (i__20350_20487 + 1);
seq__20347_20484 = G__20491;
chunk__20348_20485 = G__20492;
count__20349_20486 = G__20493;
i__20350_20487 = G__20494;
continue;
}
} else
{var temp__4092__auto___20495 = cljs.core.seq.call(null,seq__20347_20484);if(temp__4092__auto___20495)
{var seq__20347_20496__$1 = temp__4092__auto___20495;if(cljs.core.chunked_seq_QMARK_.call(null,seq__20347_20496__$1))
{var c__5632__auto___20497 = cljs.core.chunk_first.call(null,seq__20347_20496__$1);{
var G__20498 = cljs.core.chunk_rest.call(null,seq__20347_20496__$1);
var G__20499 = c__5632__auto___20497;
var G__20500 = cljs.core.count.call(null,c__5632__auto___20497);
var G__20501 = 0;
seq__20347_20484 = G__20498;
chunk__20348_20485 = G__20499;
count__20349_20486 = G__20500;
i__20350_20487 = G__20501;
continue;
}
} else
{var vec__20352_20502 = cljs.core.first.call(null,seq__20347_20496__$1);var ev__6318__auto___20503 = cljs.core.nth.call(null,vec__20352_20502,0,null);var func__6319__auto___20504 = cljs.core.nth.call(null,vec__20352_20502,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20503,func__6319__auto___20504);
{
var G__20505 = cljs.core.next.call(null,seq__20347_20496__$1);
var G__20506 = null;
var G__20507 = 0;
var G__20508 = 0;
seq__20347_20484 = G__20505;
chunk__20348_20485 = G__20506;
count__20349_20486 = G__20507;
i__20350_20487 = G__20508;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.usages.search_results = (function search_results(p__20354){var map__20362 = p__20354;var map__20362__$1 = ((cljs.core.seq_QMARK_.call(null,map__20362))?cljs.core.apply.call(null,cljs.core.hash_map,map__20362):map__20362);var candidate = cljs.core.get.call(null,map__20362__$1,new cljs.core.Keyword(null,"candidate","candidate",1522567413));var usages_per_module = cljs.core.get.call(null,map__20362__$1,new cljs.core.Keyword(null,"usages-per-module","usages-per-module",3285520969));var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ul.res","ul.res",4464738363),cljs.core.map.call(null,((function (map__20362,map__20362__$1,candidate,usages_per_module){
return (function (p1__20353_SHARP_){return lt.plugins.elm_light.usages.module_item.call(null,new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(candidate),p1__20353_SHARP_);
});})(map__20362,map__20362__$1,candidate,usages_per_module))
,usages_per_module)], null));var seq__20363_20509 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__20364_20510 = null;var count__20365_20511 = 0;var i__20366_20512 = 0;while(true){
if((i__20366_20512 < count__20365_20511))
{var vec__20367_20513 = cljs.core._nth.call(null,chunk__20364_20510,i__20366_20512);var ev__6318__auto___20514 = cljs.core.nth.call(null,vec__20367_20513,0,null);var func__6319__auto___20515 = cljs.core.nth.call(null,vec__20367_20513,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20514,func__6319__auto___20515);
{
var G__20516 = seq__20363_20509;
var G__20517 = chunk__20364_20510;
var G__20518 = count__20365_20511;
var G__20519 = (i__20366_20512 + 1);
seq__20363_20509 = G__20516;
chunk__20364_20510 = G__20517;
count__20365_20511 = G__20518;
i__20366_20512 = G__20519;
continue;
}
} else
{var temp__4092__auto___20520 = cljs.core.seq.call(null,seq__20363_20509);if(temp__4092__auto___20520)
{var seq__20363_20521__$1 = temp__4092__auto___20520;if(cljs.core.chunked_seq_QMARK_.call(null,seq__20363_20521__$1))
{var c__5632__auto___20522 = cljs.core.chunk_first.call(null,seq__20363_20521__$1);{
var G__20523 = cljs.core.chunk_rest.call(null,seq__20363_20521__$1);
var G__20524 = c__5632__auto___20522;
var G__20525 = cljs.core.count.call(null,c__5632__auto___20522);
var G__20526 = 0;
seq__20363_20509 = G__20523;
chunk__20364_20510 = G__20524;
count__20365_20511 = G__20525;
i__20366_20512 = G__20526;
continue;
}
} else
{var vec__20368_20527 = cljs.core.first.call(null,seq__20363_20521__$1);var ev__6318__auto___20528 = cljs.core.nth.call(null,vec__20368_20527,0,null);var func__6319__auto___20529 = cljs.core.nth.call(null,vec__20368_20527,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20528,func__6319__auto___20529);
{
var G__20530 = cljs.core.next.call(null,seq__20363_20521__$1);
var G__20531 = null;
var G__20532 = 0;
var G__20533 = 0;
seq__20363_20509 = G__20530;
chunk__20364_20510 = G__20531;
count__20365_20511 = G__20532;
i__20366_20512 = G__20533;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.usages.count_hits = (function count_hits(mods){return cljs.core.count.call(null,cljs.core.mapcat.call(null,new cljs.core.Keyword(null,"hits","hits",1017107122),mods));
});
lt.plugins.elm_light.usages.candidate_link = (function candidate_link(candidate){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span.link","span.link",4619821968),[cljs.core.str(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(candidate)),cljs.core.str(" ("),cljs.core.str(new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(candidate)),cljs.core.str(")")].join('')], null));var seq__20375_20534 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"click","click",1108654330),((function (e__6317__auto__){
return (function (){lt.objs.command.exec_BANG_.call(null,new cljs.core.Keyword(null,"open-path","open-path",2513940794),new cljs.core.Keyword(null,"file","file",1017047278).cljs$core$IFn$_invoke$arity$1(candidate));
var ed = lt.objs.editor.pool.last_active.call(null);return lt.objs.editor.move_cursor.call(null,ed,new cljs.core.Keyword(null,"start","start",1123661780).cljs$core$IFn$_invoke$arity$1(lt.plugins.elm_light.elm_ast.__GT_range.call(null,new cljs.core.Keyword(null,"location","location",2914947879).cljs$core$IFn$_invoke$arity$1(candidate))));
});})(e__6317__auto__))
], null)));var chunk__20376_20535 = null;var count__20377_20536 = 0;var i__20378_20537 = 0;while(true){
if((i__20378_20537 < count__20377_20536))
{var vec__20379_20538 = cljs.core._nth.call(null,chunk__20376_20535,i__20378_20537);var ev__6318__auto___20539 = cljs.core.nth.call(null,vec__20379_20538,0,null);var func__6319__auto___20540 = cljs.core.nth.call(null,vec__20379_20538,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20539,func__6319__auto___20540);
{
var G__20541 = seq__20375_20534;
var G__20542 = chunk__20376_20535;
var G__20543 = count__20377_20536;
var G__20544 = (i__20378_20537 + 1);
seq__20375_20534 = G__20541;
chunk__20376_20535 = G__20542;
count__20377_20536 = G__20543;
i__20378_20537 = G__20544;
continue;
}
} else
{var temp__4092__auto___20545 = cljs.core.seq.call(null,seq__20375_20534);if(temp__4092__auto___20545)
{var seq__20375_20546__$1 = temp__4092__auto___20545;if(cljs.core.chunked_seq_QMARK_.call(null,seq__20375_20546__$1))
{var c__5632__auto___20547 = cljs.core.chunk_first.call(null,seq__20375_20546__$1);{
var G__20548 = cljs.core.chunk_rest.call(null,seq__20375_20546__$1);
var G__20549 = c__5632__auto___20547;
var G__20550 = cljs.core.count.call(null,c__5632__auto___20547);
var G__20551 = 0;
seq__20375_20534 = G__20548;
chunk__20376_20535 = G__20549;
count__20377_20536 = G__20550;
i__20378_20537 = G__20551;
continue;
}
} else
{var vec__20380_20552 = cljs.core.first.call(null,seq__20375_20546__$1);var ev__6318__auto___20553 = cljs.core.nth.call(null,vec__20380_20552,0,null);var func__6319__auto___20554 = cljs.core.nth.call(null,vec__20380_20552,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20553,func__6319__auto___20554);
{
var G__20555 = cljs.core.next.call(null,seq__20375_20546__$1);
var G__20556 = null;
var G__20557 = 0;
var G__20558 = 0;
seq__20375_20534 = G__20555;
chunk__20376_20535 = G__20556;
count__20377_20536 = G__20557;
i__20378_20537 = G__20558;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.usages.searcher = (function searcher(p__20381){var map__20389 = p__20381;var map__20389__$1 = ((cljs.core.seq_QMARK_.call(null,map__20389))?cljs.core.apply.call(null,cljs.core.hash_map,map__20389):map__20389);var token = cljs.core.get.call(null,map__20389__$1,new cljs.core.Keyword(null,"token","token",1124445547));var candidate = cljs.core.get.call(null,map__20389__$1,new cljs.core.Keyword(null,"candidate","candidate",1522567413));var usages_per_module = cljs.core.get.call(null,map__20389__$1,new cljs.core.Keyword(null,"usages-per-module","usages-per-module",3285520969));var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.searcher","div.searcher",3267271812),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"p","p",1013904354),crate.core.raw.call(null,[cljs.core.str("Found "),cljs.core.str(lt.plugins.elm_light.usages.count_hits.call(null,usages_per_module)),cljs.core.str(" usages for ")].join('')),(cljs.core.truth_(candidate)?lt.plugins.elm_light.usages.candidate_link.call(null,candidate):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1017440956),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"strong","strong",4416891401),token], null)], null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.signature","div.signature",1444193037),(function (){var or__4884__auto__ = new cljs.core.Keyword(null,"signatureRaw","signatureRaw",3837738946).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"annotation","annotation",3753828001).cljs$core$IFn$_invoke$arity$1(candidate));if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = new cljs.core.Keyword(null,"signatureRaw","signatureRaw",3837738946).cljs$core$IFn$_invoke$arity$1(candidate);if(cljs.core.truth_(or__4884__auto____$1))
{return or__4884__auto____$1;
} else
{return new cljs.core.Keyword(null,"paramsRaw","paramsRaw",2968749108).cljs$core$IFn$_invoke$arity$1(candidate);
}
}
})()], null)], null));var seq__20390_20559 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__20391_20560 = null;var count__20392_20561 = 0;var i__20393_20562 = 0;while(true){
if((i__20393_20562 < count__20392_20561))
{var vec__20394_20563 = cljs.core._nth.call(null,chunk__20391_20560,i__20393_20562);var ev__6318__auto___20564 = cljs.core.nth.call(null,vec__20394_20563,0,null);var func__6319__auto___20565 = cljs.core.nth.call(null,vec__20394_20563,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20564,func__6319__auto___20565);
{
var G__20566 = seq__20390_20559;
var G__20567 = chunk__20391_20560;
var G__20568 = count__20392_20561;
var G__20569 = (i__20393_20562 + 1);
seq__20390_20559 = G__20566;
chunk__20391_20560 = G__20567;
count__20392_20561 = G__20568;
i__20393_20562 = G__20569;
continue;
}
} else
{var temp__4092__auto___20570 = cljs.core.seq.call(null,seq__20390_20559);if(temp__4092__auto___20570)
{var seq__20390_20571__$1 = temp__4092__auto___20570;if(cljs.core.chunked_seq_QMARK_.call(null,seq__20390_20571__$1))
{var c__5632__auto___20572 = cljs.core.chunk_first.call(null,seq__20390_20571__$1);{
var G__20573 = cljs.core.chunk_rest.call(null,seq__20390_20571__$1);
var G__20574 = c__5632__auto___20572;
var G__20575 = cljs.core.count.call(null,c__5632__auto___20572);
var G__20576 = 0;
seq__20390_20559 = G__20573;
chunk__20391_20560 = G__20574;
count__20392_20561 = G__20575;
i__20393_20562 = G__20576;
continue;
}
} else
{var vec__20395_20577 = cljs.core.first.call(null,seq__20390_20571__$1);var ev__6318__auto___20578 = cljs.core.nth.call(null,vec__20395_20577,0,null);var func__6319__auto___20579 = cljs.core.nth.call(null,vec__20395_20577,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20578,func__6319__auto___20579);
{
var G__20580 = cljs.core.next.call(null,seq__20390_20571__$1);
var G__20581 = null;
var G__20582 = 0;
var G__20583 = 0;
seq__20390_20559 = G__20580;
chunk__20391_20560 = G__20581;
count__20392_20561 = G__20582;
i__20393_20562 = G__20583;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.usages.show_results = (function show_results(this$,res){var container = lt.object.__GT_content.call(null,this$);var results_ul = lt.util.dom.$.call(null,new cljs.core.Keyword(null,"ul.res","ul.res",4464738363),container);var searcher_ui = lt.util.dom.$.call(null,new cljs.core.Keyword(null,"div.searcher","div.searcher",3267271812),container);lt.util.dom.replace_with.call(null,results_ul,lt.plugins.elm_light.usages.search_results.call(null,res));
return lt.util.dom.replace_with.call(null,searcher_ui,lt.plugins.elm_light.usages.searcher.call(null,res));
});
lt.plugins.elm_light.usages.add_or_focus_BANG_ = (function add_or_focus_BANG_(obj){var next_ts = lt.objs.tabs.next_tabset.call(null,lt.objs.context.__GT_obj.call(null,new cljs.core.Keyword(null,"tabset","tabset",4427500575)));var prev_ts = lt.objs.tabs.prev_tabset.call(null,lt.objs.context.__GT_obj.call(null,new cljs.core.Keyword(null,"tabset","tabset",4427500575)));if(cljs.core.truth_(lt.objs.tabs.in_tab_QMARK_.call(null,obj)))
{} else
{if(cljs.core.truth_(next_ts))
{lt.objs.tabs.add_BANG_.call(null,obj,next_ts);
} else
{if(cljs.core.truth_(prev_ts))
{lt.objs.tabs.add_BANG_.call(null,obj,prev_ts);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{var ts_20584 = lt.objs.tabs.spawn_tabset.call(null);lt.objs.tabs.equalize_tabset_widths.call(null);
lt.objs.tabs.add_BANG_.call(null,obj,ts_20584);
} else
{}
}
}
}
return lt.objs.tabs.active_BANG_.call(null,obj);
});
lt.plugins.elm_light.usages.ast_pass_through = (function ast_pass_through(this$,ed,msg){return lt.objs.clients.send.call(null,lt.plugins.elm_light.clients.get_eval_client.call(null,ed,new cljs.core.Keyword(null,"editor.elm.ast.passthrough","editor.elm.ast.passthrough",3082755153)),new cljs.core.Keyword(null,"editor.elm.ast.passthrough","editor.elm.ast.passthrough",3082755153),msg,new cljs.core.Keyword(null,"only","only",1017320222),this$);
});
lt.plugins.elm_light.usages.__BEH__elm__DOT__find_usages__DOT__complete = (function __BEH__elm__DOT__find_usages__DOT__complete(this$,p__20396){var map__20398 = p__20396;var map__20398__$1 = ((cljs.core.seq_QMARK_.call(null,map__20398))?cljs.core.apply.call(null,cljs.core.hash_map,map__20398):map__20398);var project_path = cljs.core.get.call(null,map__20398__$1,new cljs.core.Keyword(null,"project-path","project-path",1907176907));var path = cljs.core.get.call(null,map__20398__$1,new cljs.core.Keyword(null,"path","path",1017337751));var token = cljs.core.get.call(null,map__20398__$1,new cljs.core.Keyword(null,"token","token",1124445547));lt.plugins.elm_light.usages.show_results.call(null,this$,lt.plugins.elm_light.elm_ast.find_usages.call(null,token,project_path,path));
return lt.objs.notifos.done_working.call(null);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.usages","elm.find-usages.complete","lt.plugins.elm-light.usages/elm.find-usages.complete",4127058703),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.usages.__BEH__elm__DOT__find_usages__DOT__complete,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.find-usages.complete","elm.find-usages.complete",3242363995),null], null), null));
lt.plugins.elm_light.usages.__BEH__elm__DOT__find_usages = (function __BEH__elm__DOT__find_usages(this$,ed,token){lt.objs.notifos.working.call(null,[cljs.core.str("Finding usages for "),cljs.core.str(token)].join(''));
var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));lt.plugins.elm_light.usages.add_or_focus_BANG_.call(null,lt.plugins.elm_light.usages.elm_usages);
lt.object.raise.call(null,this$,new cljs.core.Keyword(null,"clear!","clear!",3951036134));
return lt.plugins.elm_light.usages.ast_pass_through.call(null,this$,ed,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"target","target",4427965699),new cljs.core.Keyword(null,"elm.find-usages.complete","elm.find-usages.complete",3242363995),new cljs.core.Keyword(null,"data","data",1016980252),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"token","token",1124445547),token,new cljs.core.Keyword(null,"path","path",1017337751),path,new cljs.core.Keyword(null,"project-path","project-path",1907176907),lt.plugins.elm_light.utils.project_path.call(null,path)], null)], null));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.usages","elm.find-usages","lt.plugins.elm-light.usages/elm.find-usages",4366307814),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.usages.__BEH__elm__DOT__find_usages,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.find-usages","elm.find-usages",3531858864),null], null), null));
lt.plugins.elm_light.usages.__BEH__on_close = (function __BEH__on_close(this$){return lt.objs.tabs.rem_BANG_.call(null,this$);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.usages","on-close","lt.plugins.elm-light.usages/on-close",2200537002),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.usages.__BEH__on_close,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"close","close",1108660586),null], null), null));
lt.plugins.elm_light.usages.__BEH__clear_BANG_ = (function __BEH__clear_BANG_(this$){lt.util.dom.empty.call(null,lt.util.dom.$.call(null,new cljs.core.Keyword(null,"ul.res","ul.res",4464738363),lt.object.__GT_content.call(null,this$)));
lt.util.dom.empty.call(null,lt.util.dom.$.call(null,new cljs.core.Keyword(null,"div.searcher","div.searcher",3267271812),lt.object.__GT_content.call(null,this$)));
return lt.util.dom.append.call(null,lt.util.dom.$.call(null,new cljs.core.Keyword(null,"div.searcher","div.searcher",3267271812),lt.object.__GT_content.call(null,this$)),lt.plugins.elm_light.usages.loader.call(null));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.usages","clear!","lt.plugins.elm-light.usages/clear!",4751978132),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.usages.__BEH__clear_BANG_,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"clear!","clear!",3951036134),null], null), null));
lt.object.object_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.usages","elm-usages","lt.plugins.elm-light.usages/elm-usages",797200415),new cljs.core.Keyword(null,"tags","tags",1017456523),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.usages","elm.usages",3031392428),null], null), null),new cljs.core.Keyword(null,"label","label",1116631654),"Elm usages",new cljs.core.Keyword(null,"name","name",1017277949),"Elm usages",new cljs.core.Keyword(null,"init","init",1017141378),(function (this$){return lt.plugins.elm_light.usages.wrapper.call(null,this$);
}));
lt.plugins.elm_light.usages.elm_usages = lt.object.create.call(null,new cljs.core.Keyword("lt.plugins.elm-light.usages","elm-usages","lt.plugins.elm-light.usages/elm-usages",797200415));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm-find-usages","elm-find-usages",3402776145),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Find usages of symbol at cursor",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;var temp__4092__auto____$1 = lt.plugins.elm_light.utils.find_symbol.call(null,ed,lt.objs.editor.__GT_cursor.call(null,ed));if(cljs.core.truth_(temp__4092__auto____$1))
{var token = temp__4092__auto____$1;return lt.object.raise.call(null,lt.plugins.elm_light.usages.elm_usages,new cljs.core.Keyword(null,"elm.find-usages","elm.find-usages",3531858864),ed,token);
} else
{return null;
}
} else
{return null;
}
})], null));
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.hinter')) {
goog.provide('lt.plugins.elm_light.hinter');
goog.require('cljs.core');
goog.require('lt.plugins.elm_light.utils');
goog.require('cljs.core.async');
goog.require('lt.util.dom');
goog.require('cljs.core.async');
goog.require('clojure.string');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.util.dom');
goog.require('lt.objs.clients');
goog.require('clojure.string');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.objs.editor');
goog.require('lt.object');
goog.require('lt.object');
goog.require('lt.objs.editor');
goog.require('cljs.core.async');
goog.require('lt.plugins.elm_light.elm_ast');
goog.require('lt.plugins.elm_light.elm_ast');
goog.require('lt.objs.clients');
lt.plugins.elm_light.hinter.curr_time = (function curr_time(){return (new Date()).getTime();
});
lt.plugins.elm_light.hinter.chan_id = (function chan_id(ch){return (lt.plugins.elm_light.hinter.curr_time.call(null) + cljs.core.hash.call(null,ch));
});
lt.plugins.elm_light.hinter.store_ch = (function store_ch(ed,ch){var chs = (function (){var or__4884__auto__ = new cljs.core.Keyword(null,"elm-async-channels","elm-async-channels",3712460666).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed));if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return cljs.core.PersistentArrayMap.EMPTY;
}
})();var ch_id = lt.plugins.elm_light.hinter.chan_id.call(null,ch);lt.object.assoc_in_BANG_.call(null,ed,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"elm-async-channels","elm-async-channels",3712460666)], null),cljs.core.assoc.call(null,chs,ch_id,ch));
return ch_id;
});
lt.plugins.elm_light.hinter.get_ch = (function get_ch(ed,ch_id){return cljs.core.get_in.call(null,cljs.core.deref.call(null,ed),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"elm-async-channels","elm-async-channels",3712460666),ch_id], null));
});
lt.plugins.elm_light.hinter.remove_ch = (function remove_ch(ed,ch_id){var chs = (function (){var or__4884__auto__ = new cljs.core.Keyword(null,"elm-async-channels","elm-async-channels",3712460666).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed));if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return cljs.core.PersistentArrayMap.EMPTY;
}
})();return lt.object.assoc_in_BANG_.call(null,ed,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"elm-async-channels","elm-async-channels",3712460666)], null),cljs.core.dissoc.call(null,chs,ch_id));
});
lt.plugins.elm_light.hinter.get_token = (function get_token(ed){var pos = lt.objs.editor.__GT_cursor.call(null,ed);var sym = lt.plugins.elm_light.utils.find_symbol.call(null,ed,pos);if(cljs.core.truth_((function (){var and__4872__auto__ = sym;if(cljs.core.truth_(and__4872__auto__))
{return cljs.core.seq.call(null,sym);
} else
{return and__4872__auto__;
}
})()))
{return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"string","string",4416885635),sym,new cljs.core.Keyword(null,"start","start",1123661780),(new cljs.core.Keyword(null,"ch","ch",1013907415).cljs$core$IFn$_invoke$arity$1(pos) - cljs.core.count.call(null,sym)),new cljs.core.Keyword(null,"end","end",1014004813),new cljs.core.Keyword(null,"ch","ch",1013907415).cljs$core$IFn$_invoke$arity$1(pos),new cljs.core.Keyword(null,"line","line",1017226086),new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(pos)], null);
} else
{return null;
}
});
lt.plugins.elm_light.hinter.trunc_str = (function trunc_str(v,max_length){if((100 > cljs.core.count.call(null,v)))
{return lt.plugins.elm_light.hinter.sig;
} else
{return [cljs.core.str(v.substring(0,lt.plugins.elm_light.hinter.max_lenght)),cljs.core.str("...")].join('');
}
});
lt.plugins.elm_light.hinter.display_text_elem = (function display_text_elem(token,completion){var elem = document.createElement("div");lt.util.dom.add_class.call(null,elem,"display-text");
lt.util.dom.html.call(null,elem,wrapMatch(completion.text,{"matched": new cljs.core.Keyword(null,"string","string",4416885635).cljs$core$IFn$_invoke$arity$1(token)}));
return elem;
});
lt.plugins.elm_light.hinter.module_elem = (function module_elem(completion){var elem = document.createElement("div");lt.util.dom.add_class.call(null,elem,"module");
lt.util.dom.html.call(null,elem,completion.moduleName);
return elem;
});
lt.plugins.elm_light.hinter.item_wrapper = (function item_wrapper(){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1014003715),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.elm-completion","div.elm-completion",1209841106),""], null)], null));var seq__16261_16283 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__16262_16284 = null;var count__16263_16285 = 0;var i__16264_16286 = 0;while(true){
if((i__16264_16286 < count__16263_16285))
{var vec__16265_16287 = cljs.core._nth.call(null,chunk__16262_16284,i__16264_16286);var ev__6318__auto___16288 = cljs.core.nth.call(null,vec__16265_16287,0,null);var func__6319__auto___16289 = cljs.core.nth.call(null,vec__16265_16287,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___16288,func__6319__auto___16289);
{
var G__16290 = seq__16261_16283;
var G__16291 = chunk__16262_16284;
var G__16292 = count__16263_16285;
var G__16293 = (i__16264_16286 + 1);
seq__16261_16283 = G__16290;
chunk__16262_16284 = G__16291;
count__16263_16285 = G__16292;
i__16264_16286 = G__16293;
continue;
}
} else
{var temp__4092__auto___16294 = cljs.core.seq.call(null,seq__16261_16283);if(temp__4092__auto___16294)
{var seq__16261_16295__$1 = temp__4092__auto___16294;if(cljs.core.chunked_seq_QMARK_.call(null,seq__16261_16295__$1))
{var c__5632__auto___16296 = cljs.core.chunk_first.call(null,seq__16261_16295__$1);{
var G__16297 = cljs.core.chunk_rest.call(null,seq__16261_16295__$1);
var G__16298 = c__5632__auto___16296;
var G__16299 = cljs.core.count.call(null,c__5632__auto___16296);
var G__16300 = 0;
seq__16261_16283 = G__16297;
chunk__16262_16284 = G__16298;
count__16263_16285 = G__16299;
i__16264_16286 = G__16300;
continue;
}
} else
{var vec__16266_16301 = cljs.core.first.call(null,seq__16261_16295__$1);var ev__6318__auto___16302 = cljs.core.nth.call(null,vec__16266_16301,0,null);var func__6319__auto___16303 = cljs.core.nth.call(null,vec__16266_16301,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___16302,func__6319__auto___16303);
{
var G__16304 = cljs.core.next.call(null,seq__16261_16295__$1);
var G__16305 = null;
var G__16306 = 0;
var G__16307 = 0;
seq__16261_16283 = G__16304;
chunk__16262_16284 = G__16305;
count__16263_16285 = G__16306;
i__16264_16286 = G__16307;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.hinter.item_ui = (function item_ui(token,completion){var item_wrapper = lt.plugins.elm_light.hinter.item_wrapper.call(null);var wrapper = lt.util.dom.$.call(null,"div.elm-completion",item_wrapper);lt.util.dom.append.call(null,wrapper,lt.plugins.elm_light.hinter.display_text_elem.call(null,token,completion));
lt.util.dom.append.call(null,wrapper,lt.plugins.elm_light.hinter.module_elem.call(null,completion));
return item_wrapper;
});
lt.plugins.elm_light.hinter.__GT_hints = (function __GT_hints(token,completions){return cljs.core.map.call(null,(function (p1__16267_SHARP_){return cljs.core.PersistentHashMap.fromArrays.call(null,[new cljs.core.Keyword(null,"text","text",1017460895),new cljs.core.Keyword(null,"displayText","displayText",2728236161),new cljs.core.Keyword(null,"moduleName","moduleName",4438520457),new cljs.core.Keyword(null,"signature","signature",2087488554),new cljs.core.Keyword(null,"render","render",4374279432),new cljs.core.Keyword(null,"from","from",1017056028),new cljs.core.Keyword(null,"to","to",1013907949)],[new cljs.core.Keyword(null,"candidate","candidate",1522567413).cljs$core$IFn$_invoke$arity$1(p1__16267_SHARP_),new cljs.core.Keyword(null,"candidate","candidate",1522567413).cljs$core$IFn$_invoke$arity$1(p1__16267_SHARP_),new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(p1__16267_SHARP_),new cljs.core.Keyword(null,"signature","signature",2087488554).cljs$core$IFn$_invoke$arity$1(p1__16267_SHARP_),(function (el,self,data){return lt.util.dom.html.call(null,el,lt.util.dom.html.call(null,lt.plugins.elm_light.hinter.item_ui.call(null,token,data)));
}),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"ch","ch",1013907415),new cljs.core.Keyword(null,"start","start",1123661780).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,"line","line",1017226086),new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(token)], null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"ch","ch",1013907415),new cljs.core.Keyword(null,"end","end",1014004813).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,"line","line",1017226086),new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(token)], null)]);
}),completions);
});
lt.plugins.elm_light.hinter.connected_QMARK_ = (function connected_QMARK_(ed){var temp__4092__auto__ = new cljs.core.Keyword(null,"default","default",2558708147).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"client","client",3951159101).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));if(cljs.core.truth_(temp__4092__auto__))
{var default_client = temp__4092__auto__;if(cljs.core.truth_(cljs.core.deref.call(null,default_client)))
{return true;
} else
{return null;
}
} else
{return null;
}
});
lt.plugins.elm_light.hinter.bg_parser = lt.objs.thread.thread_STAR_.call(null,(function tfun16268(){var orig__6390__auto__ = argsArray(arguments);var msg__6391__auto__ = orig__6390__auto__.shift();var args__6392__auto__ = orig__6390__auto__.map(cljs.reader.read_string);var raise = ((function (orig__6390__auto__,msg__6391__auto__,args__6392__auto__){
return (function (obj__6393__auto__,k__6394__auto__,v__6395__auto__){return _send(obj__6393__auto__,k__6394__auto__,cljs.core.pr_str.call(null,v__6395__auto__),"clj");
});})(orig__6390__auto__,msg__6391__auto__,args__6392__auto__))
;args__6392__auto__.unshift(msg__6391__auto__.obj);
return ((function (orig__6390__auto__,msg__6391__auto__,args__6392__auto__,raise){
return (function (obj_id,ch_id,elm_parser_path,elm_code){var parser = require(elm_parser_path);try{var res = parser.parse.call(null,elm_code,{"startRule": "headerOnly"});return _send(obj_id,new cljs.core.Keyword(null,"elm.hints.parser.results","elm.hints.parser.results",1182545987),{"module": res, "ch-id": ch_id, "status": "ok"});
}catch (e16270){var e = e16270;return _send(obj_id,new cljs.core.Keyword(null,"elm.hints.parser.results","elm.hints.parser.results",1182545987),{"error": e, "ch-id": ch_id, "status": "fail"});
}});})(orig__6390__auto__,msg__6391__auto__,args__6392__auto__,raise))
.apply(null,args__6392__auto__);
}));
lt.plugins.elm_light.hinter.__BEH__elm_hints_parser_results = (function __BEH__elm_hints_parser_results(ed,res){var pos = lt.objs.editor.__GT_cursor.call(null,ed);var token = lt.plugins.elm_light.hinter.get_token.call(null,ed);var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));var map__16272 = lt.plugins.elm_light.utils.mod_js__GT_clj.call(null,res,new cljs.core.Keyword(null,"keywordize-keys","keywordize-keys",4191781672),true);var map__16272__$1 = ((cljs.core.seq_QMARK_.call(null,map__16272))?cljs.core.apply.call(null,cljs.core.hash_map,map__16272):map__16272);var error = cljs.core.get.call(null,map__16272__$1,new cljs.core.Keyword(null,"error","error",1110689146));var status = cljs.core.get.call(null,map__16272__$1,new cljs.core.Keyword(null,"status","status",4416389988));var module = cljs.core.get.call(null,map__16272__$1,new cljs.core.Keyword(null,"module","module",4240087518));var ch_id = cljs.core.get.call(null,map__16272__$1,new cljs.core.Keyword(null,"ch-id","ch-id",1108477685));var ch = lt.plugins.elm_light.hinter.get_ch.call(null,ed,ch_id);var get_hints = cljs.core.partial.call(null,lt.plugins.elm_light.elm_ast.get_hints,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"token","token",1124445547),new cljs.core.Keyword(null,"string","string",4416885635).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,"pos","pos",1014015430),pos,new cljs.core.Keyword(null,"ed","ed",1013907473),ed], null),path,lt.plugins.elm_light.utils.project_path.call(null,path));if(cljs.core._EQ_.call(null,"ok",status))
{cljs.core.async.put_BANG_.call(null,ch,lt.plugins.elm_light.hinter.__GT_hints.call(null,token,get_hints.call(null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"ast","ast",1014001140),module,new cljs.core.Keyword(null,"file","file",1017047278),path], null))));
} else
{cljs.core.async.put_BANG_.call(null,ch,lt.plugins.elm_light.hinter.__GT_hints.call(null,token,get_hints.call(null)));
}
return lt.plugins.elm_light.hinter.remove_ch.call(null,ed,ch_id);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.hinter","elm-hints-parser-results","lt.plugins.elm-light.hinter/elm-hints-parser-results",3539628406),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.hinter.__BEH__elm_hints_parser_results,new cljs.core.Keyword(null,"desc","desc",1016984067),"Trigger hints after parsing relevant parts of editor for hinting",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.hints.parser.results","elm.hints.parser.results",1182545987),null], null), null));
lt.plugins.elm_light.hinter.__BEH__elm_hints = (function __BEH__elm_hints(ed,channels){var pos = lt.objs.editor.__GT_cursor.call(null,ed);var token = lt.plugins.elm_light.hinter.get_token.call(null,ed);var ch = cljs.core.async.chan.call(null);var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));if(cljs.core.truth_((function (){var and__4872__auto__ = token;if(cljs.core.truth_(and__4872__auto__))
{return lt.plugins.elm_light.hinter.connected_QMARK_.call(null,ed);
} else
{return and__4872__auto__;
}
})()))
{if(cljs.core.truth_(lt.plugins.elm_light.elm_ast.find_top_level_declaration_by_pos.call(null,pos,lt.plugins.elm_light.utils.project_path.call(null,path),path)))
{cljs.core.async.put_BANG_.call(null,ch,lt.plugins.elm_light.hinter.__GT_hints.call(null,token,lt.plugins.elm_light.elm_ast.get_hints.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"token","token",1124445547),new cljs.core.Keyword(null,"string","string",4416885635).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,"pos","pos",1014015430),pos,new cljs.core.Keyword(null,"ed","ed",1013907473),ed], null),path,lt.plugins.elm_light.utils.project_path.call(null,path))));
return cljs.core.conj.call(null,channels,ch);
} else
{var ch_id = lt.plugins.elm_light.hinter.store_ch.call(null,ed,ch);lt.plugins.elm_light.hinter.bg_parser.call(null,ed,ch_id,lt.plugins.elm_light.elm_ast.elm_parser_path,lt.objs.editor.__GT_val.call(null,ed));
return cljs.core.conj.call(null,channels,ch);
}
} else
{return channels;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.hinter","elm-hints","lt.plugins.elm-light.hinter/elm-hints",3388910241),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.hinter.__BEH__elm_hints,new cljs.core.Keyword(null,"desc","desc",1016984067),"Provide Elm hints for current cursor position",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"init-hints","init-hints",4468593473),null], null), null));
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.linter')) {
goog.provide('lt.plugins.elm_light.linter');
goog.require('cljs.core');
goog.require('crate.binding');
goog.require('lt.objs.statusbar');
goog.require('lt.util.dom');
goog.require('lt.util.dom');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
goog.require('lt.objs.statusbar');
goog.require('crate.binding');
goog.require('lt.objs.editor');
goog.require('lt.object');
goog.require('lt.object');
goog.require('lt.objs.editor');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
lt.plugins.elm_light.linter.status_class = (function status_class(p__19122){var map__19124 = p__19122;var map__19124__$1 = ((cljs.core.seq_QMARK_.call(null,map__19124))?cljs.core.apply.call(null,cljs.core.hash_map,map__19124):map__19124);var warnings = cljs.core.get.call(null,map__19124__$1,new cljs.core.Keyword(null,"warnings","warnings",1511995337));var errors = cljs.core.get.call(null,map__19124__$1,new cljs.core.Keyword(null,"errors","errors",4014236381));if((errors > 0))
{return "error";
} else
{if((warnings > 0))
{return "warning";
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return "";
} else
{return null;
}
}
}
});
lt.plugins.elm_light.linter.status_text = (function status_text(p__19125){var map__19127 = p__19125;var map__19127__$1 = ((cljs.core.seq_QMARK_.call(null,map__19127))?cljs.core.apply.call(null,cljs.core.hash_map,map__19127):map__19127);var warnings = cljs.core.get.call(null,map__19127__$1,new cljs.core.Keyword(null,"warnings","warnings",1511995337));var errors = cljs.core.get.call(null,map__19127__$1,new cljs.core.Keyword(null,"errors","errors",4014236381));return [cljs.core.str("Lint status: "),cljs.core.str(errors),cljs.core.str("/"),cljs.core.str(warnings)].join('');
});
lt.plugins.elm_light.linter.__GT_status_ui = (function __GT_status_ui(p__19128){var map__19130 = p__19128;var map__19130__$1 = ((cljs.core.seq_QMARK_.call(null,map__19130))?cljs.core.apply.call(null,cljs.core.hash_map,map__19130):map__19130);var lint_summary = cljs.core.get.call(null,map__19130__$1,new cljs.core.Keyword(null,"lint-summary","lint-summary",2275048270));return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1017440956),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),[cljs.core.str("lint-status "),cljs.core.str(lt.plugins.elm_light.linter.status_class.call(null,lint_summary))].join('')], null),lt.plugins.elm_light.linter.status_text.call(null,lint_summary)], null);
});
lt.plugins.elm_light.linter.__BEH__update_lint_status = (function __BEH__update_lint_status(this$,f){return lt.object.update_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"lint-summary","lint-summary",2275048270)], null),f);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.linter","update-lint-status","lt.plugins.elm-light.linter/update-lint-status",1465899355),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.linter.__BEH__update_lint_status,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"update!","update!",779473898),null], null), null));
lt.object.object_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.linter","statusbar.lint-status","lt.plugins.elm-light.linter/statusbar.lint-status",2197520852),new cljs.core.Keyword(null,"triggers","triggers",2516997421),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,"behaviors","behaviors",607554515),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("lt.plugins.elm-light.linter","update-lint-status","lt.plugins.elm-light.linter/update-lint-status",1465899355),null], null), null),new cljs.core.Keyword(null,"lint-summary","lint-summary",2275048270),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"errors","errors",4014236381),0,new cljs.core.Keyword(null,"warnings","warnings",1511995337),0], null),new cljs.core.Keyword(null,"init","init",1017141378),(function (this$){return lt.objs.statusbar.statusbar_item.call(null,crate.binding.bound.call(null,this$,lt.plugins.elm_light.linter.__GT_status_ui),"");
}));
lt.plugins.elm_light.linter.statusbar_lint_summary = lt.object.create.call(null,new cljs.core.Keyword("lt.plugins.elm-light.linter","statusbar.lint-status","lt.plugins.elm-light.linter/statusbar.lint-status",2197520852));
lt.objs.statusbar.add_statusbar_item.call(null,lt.plugins.elm_light.linter.statusbar_lint_summary);
lt.plugins.elm_light.linter.grouped_lint_count = (function grouped_lint_count(ed){var temp__4090__auto__ = new cljs.core.Keyword(null,"linter-results","linter-results",4482067083).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed));if(cljs.core.truth_(temp__4090__auto__))
{var results = temp__4090__auto__;return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,((function (results,temp__4090__auto__){
return (function (p__19133){var vec__19134 = p__19133;var k = cljs.core.nth.call(null,vec__19134,0,null);var v = cljs.core.nth.call(null,vec__19134,1,null);return new cljs.core.PersistentArrayMap.fromArray([k,cljs.core.count.call(null,v)], true, false);
});})(results,temp__4090__auto__))
,cljs.core.group_by.call(null,new cljs.core.Keyword(null,"category","category",1064415344),cljs.core.map.call(null,new cljs.core.Keyword(null,"result","result",4374444943),cljs.core.vals.call(null,results)))));
} else
{return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"error","error",1110689146),0,new cljs.core.Keyword(null,"warning","warning",2138350350),0], null);
}
});
lt.plugins.elm_light.linter.update_status_for_editor = (function update_status_for_editor(ed){var map__19137 = lt.plugins.elm_light.linter.grouped_lint_count.call(null,ed);var map__19137__$1 = ((cljs.core.seq_QMARK_.call(null,map__19137))?cljs.core.apply.call(null,cljs.core.hash_map,map__19137):map__19137);var warning = cljs.core.get.call(null,map__19137__$1,new cljs.core.Keyword(null,"warning","warning",2138350350));var error = cljs.core.get.call(null,map__19137__$1,new cljs.core.Keyword(null,"error","error",1110689146));return lt.object.raise.call(null,lt.plugins.elm_light.linter.statusbar_lint_summary,new cljs.core.Keyword(null,"update!","update!",779473898),((function (map__19137,map__19137__$1,warning,error){
return (function (p1__19135_SHARP_){return cljs.core.assoc.call(null,p1__19135_SHARP_,new cljs.core.Keyword(null,"warnings","warnings",1511995337),(function (){var or__4884__auto__ = warning;if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return 0;
}
})(),new cljs.core.Keyword(null,"errors","errors",4014236381),(function (){var or__4884__auto__ = error;if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return 0;
}
})());
});})(map__19137,map__19137__$1,warning,error))
);
});
lt.plugins.elm_light.linter.__BEH__update_linter_on_editor_change = (function __BEH__update_linter_on_editor_change(ed){return lt.plugins.elm_light.linter.update_status_for_editor.call(null,ed);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.linter","update-linter-on-editor-change","lt.plugins.elm-light.linter/update-linter-on-editor-change",2858337088),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.linter.__BEH__update_linter_on_editor_change,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"focus","focus",1111509066),null], null), null));
lt.plugins.elm_light.linter.remove_widget = (function remove_widget(ed,el){try{lt.util.dom.remove.call(null,el);
}catch (e19139){var e_19204 = e19139;}return lt.objs.editor.focus.call(null,ed);
});
lt.plugins.elm_light.linter.remove_res = (function remove_res(ed,res_id){var map__19141_19205 = cljs.core.get_in.call(null,cljs.core.deref.call(null,ed),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"linter-results","linter-results",4482067083),res_id], null));var map__19141_19206__$1 = ((cljs.core.seq_QMARK_.call(null,map__19141_19205))?cljs.core.apply.call(null,cljs.core.hash_map,map__19141_19205):map__19141_19205);var dill_19207 = map__19141_19206__$1;var result_19208 = cljs.core.get.call(null,map__19141_19206__$1,new cljs.core.Keyword(null,"result","result",4374444943));var mark_19209 = cljs.core.get.call(null,map__19141_19206__$1,new cljs.core.Keyword(null,"mark","mark",1017248319));if(cljs.core.truth_(mark_19209))
{mark_19209.clear();
} else
{}
lt.object.update_BANG_.call(null,ed,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"linter-results","linter-results",4482067083)], null),cljs.core.dissoc,res_id);
return lt.objs.editor.focus.call(null,ed);
});
lt.plugins.elm_light.linter.current_range = (function current_range(ed,mark){var rng = mark.find();var from = rng.from;var to = rng.to;return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"from","from",1017056028),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"ch","ch",1013907415),from.ch,new cljs.core.Keyword(null,"line","line",1017226086),from.line], null),new cljs.core.Keyword(null,"to","to",1013907949),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"ch","ch",1013907415),to.ch,new cljs.core.Keyword(null,"line","line",1017226086),to.line], null)], null);
});
lt.plugins.elm_light.linter.execute_action = (function execute_action(ed,res_id,action_fn,res){var map__19143 = cljs.core.get_in.call(null,cljs.core.deref.call(null,ed),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"linter-results","linter-results",4482067083),res_id], null));var map__19143__$1 = ((cljs.core.seq_QMARK_.call(null,map__19143))?cljs.core.apply.call(null,cljs.core.hash_map,map__19143):map__19143);var mark = cljs.core.get.call(null,map__19143__$1,new cljs.core.Keyword(null,"mark","mark",1017248319));action_fn.call(null,res,lt.plugins.elm_light.linter.current_range.call(null,ed,mark));
return lt.plugins.elm_light.linter.remove_res.call(null,ed,res_id);
});
lt.plugins.elm_light.linter.action_ui = (function action_ui(ed,action,res_id,res){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span.button","span.button",4282180040),[cljs.core.str(new cljs.core.Keyword(null,"text","text",1017460895).cljs$core$IFn$_invoke$arity$1(action))].join('')], null));var seq__19150_19210 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"click","click",1108654330),((function (e__6317__auto__){
return (function (){return lt.plugins.elm_light.linter.execute_action.call(null,ed,res_id,new cljs.core.Keyword(null,"action","action",3885920680).cljs$core$IFn$_invoke$arity$1(action),res);
});})(e__6317__auto__))
], null)));var chunk__19151_19211 = null;var count__19152_19212 = 0;var i__19153_19213 = 0;while(true){
if((i__19153_19213 < count__19152_19212))
{var vec__19154_19214 = cljs.core._nth.call(null,chunk__19151_19211,i__19153_19213);var ev__6318__auto___19215 = cljs.core.nth.call(null,vec__19154_19214,0,null);var func__6319__auto___19216 = cljs.core.nth.call(null,vec__19154_19214,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19215,func__6319__auto___19216);
{
var G__19217 = seq__19150_19210;
var G__19218 = chunk__19151_19211;
var G__19219 = count__19152_19212;
var G__19220 = (i__19153_19213 + 1);
seq__19150_19210 = G__19217;
chunk__19151_19211 = G__19218;
count__19152_19212 = G__19219;
i__19153_19213 = G__19220;
continue;
}
} else
{var temp__4092__auto___19221 = cljs.core.seq.call(null,seq__19150_19210);if(temp__4092__auto___19221)
{var seq__19150_19222__$1 = temp__4092__auto___19221;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19150_19222__$1))
{var c__5632__auto___19223 = cljs.core.chunk_first.call(null,seq__19150_19222__$1);{
var G__19224 = cljs.core.chunk_rest.call(null,seq__19150_19222__$1);
var G__19225 = c__5632__auto___19223;
var G__19226 = cljs.core.count.call(null,c__5632__auto___19223);
var G__19227 = 0;
seq__19150_19210 = G__19224;
chunk__19151_19211 = G__19225;
count__19152_19212 = G__19226;
i__19153_19213 = G__19227;
continue;
}
} else
{var vec__19155_19228 = cljs.core.first.call(null,seq__19150_19222__$1);var ev__6318__auto___19229 = cljs.core.nth.call(null,vec__19155_19228,0,null);var func__6319__auto___19230 = cljs.core.nth.call(null,vec__19155_19228,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19229,func__6319__auto___19230);
{
var G__19231 = cljs.core.next.call(null,seq__19150_19222__$1);
var G__19232 = null;
var G__19233 = 0;
var G__19234 = 0;
seq__19150_19210 = G__19231;
chunk__19151_19211 = G__19232;
count__19152_19212 = G__19233;
i__19153_19213 = G__19234;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.linter.inline_ui = (function inline_ui(ed,res_id,p__19159){var map__19167 = p__19159;var map__19167__$1 = ((cljs.core.seq_QMARK_.call(null,map__19167))?cljs.core.apply.call(null,cljs.core.hash_map,map__19167):map__19167);var res = map__19167__$1;var actions = cljs.core.get.call(null,map__19167__$1,new cljs.core.Keyword(null,"actions","actions",4147068015));var category = cljs.core.get.call(null,map__19167__$1,new cljs.core.Keyword(null,"category","category",1064415344));var details = cljs.core.get.call(null,map__19167__$1,new cljs.core.Keyword(null,"details","details",2571625908));var title = cljs.core.get.call(null,map__19167__$1,new cljs.core.Keyword(null,"title","title",1124275658));var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1014003715),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"tabindex","tabindex",4410954191),-1,new cljs.core.Keyword(null,"class","class",1108647146),[cljs.core.str("linter-res "),cljs.core.str((function (){var or__4884__auto__ = cljs.core.name.call(null,category);if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return "error";
}
})())].join('')], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"p.title","p.title",3057381068),title], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.details","div.details",4139669847),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"pre","pre",1014015509),details], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1014003715),cljs.core.map.call(null,((function (map__19167,map__19167__$1,res,actions,category,details,title){
return (function (p1__19156_SHARP_){return lt.plugins.elm_light.linter.action_ui.call(null,ed,p1__19156_SHARP_,res_id,res);
});})(map__19167,map__19167__$1,res,actions,category,details,title))
,actions)], null)], null)], null));var seq__19168_19235 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"blur","blur",1016931289),((function (e__6317__auto__,map__19167,map__19167__$1,res,actions,category,details,title){
return (function (p1__19157_SHARP_){return lt.plugins.elm_light.linter.remove_widget.call(null,ed,p1__19157_SHARP_.target);
});})(e__6317__auto__,map__19167,map__19167__$1,res,actions,category,details,title))
,new cljs.core.Keyword(null,"keydown","keydown",4493897459),((function (e__6317__auto__,map__19167,map__19167__$1,res,actions,category,details,title){
return (function (p1__19158_SHARP_){var kc = p1__19158_SHARP_.keyCode;if(cljs.core._EQ_.call(null,kc,27))
{lt.plugins.elm_light.linter.remove_widget.call(null,ed,p1__19158_SHARP_.target);
} else
{}
if((cljs.core._EQ_.call(null,kc,13)) && (cljs.core.seq.call(null,actions)))
{p1__19158_SHARP_.preventDefault();
p1__19158_SHARP_.stopPropagation();
return lt.plugins.elm_light.linter.execute_action.call(null,ed,res_id,new cljs.core.Keyword(null,"action","action",3885920680).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,actions)),res);
} else
{return null;
}
});})(e__6317__auto__,map__19167,map__19167__$1,res,actions,category,details,title))
], null)));var chunk__19169_19236 = null;var count__19170_19237 = 0;var i__19171_19238 = 0;while(true){
if((i__19171_19238 < count__19170_19237))
{var vec__19172_19239 = cljs.core._nth.call(null,chunk__19169_19236,i__19171_19238);var ev__6318__auto___19240 = cljs.core.nth.call(null,vec__19172_19239,0,null);var func__6319__auto___19241 = cljs.core.nth.call(null,vec__19172_19239,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19240,func__6319__auto___19241);
{
var G__19242 = seq__19168_19235;
var G__19243 = chunk__19169_19236;
var G__19244 = count__19170_19237;
var G__19245 = (i__19171_19238 + 1);
seq__19168_19235 = G__19242;
chunk__19169_19236 = G__19243;
count__19170_19237 = G__19244;
i__19171_19238 = G__19245;
continue;
}
} else
{var temp__4092__auto___19246 = cljs.core.seq.call(null,seq__19168_19235);if(temp__4092__auto___19246)
{var seq__19168_19247__$1 = temp__4092__auto___19246;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19168_19247__$1))
{var c__5632__auto___19248 = cljs.core.chunk_first.call(null,seq__19168_19247__$1);{
var G__19249 = cljs.core.chunk_rest.call(null,seq__19168_19247__$1);
var G__19250 = c__5632__auto___19248;
var G__19251 = cljs.core.count.call(null,c__5632__auto___19248);
var G__19252 = 0;
seq__19168_19235 = G__19249;
chunk__19169_19236 = G__19250;
count__19170_19237 = G__19251;
i__19171_19238 = G__19252;
continue;
}
} else
{var vec__19173_19253 = cljs.core.first.call(null,seq__19168_19247__$1);var ev__6318__auto___19254 = cljs.core.nth.call(null,vec__19173_19253,0,null);var func__6319__auto___19255 = cljs.core.nth.call(null,vec__19173_19253,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19254,func__6319__auto___19255);
{
var G__19256 = cljs.core.next.call(null,seq__19168_19247__$1);
var G__19257 = null;
var G__19258 = 0;
var G__19259 = 0;
seq__19168_19235 = G__19256;
chunk__19169_19236 = G__19257;
count__19170_19237 = G__19258;
i__19171_19238 = G__19259;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.linter.add_widget = (function add_widget(ed,res_id){var map__19175 = cljs.core.get_in.call(null,cljs.core.deref.call(null,ed),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"linter-results","linter-results",4482067083),res_id], null));var map__19175__$1 = ((cljs.core.seq_QMARK_.call(null,map__19175))?cljs.core.apply.call(null,cljs.core.hash_map,map__19175):map__19175);var result = cljs.core.get.call(null,map__19175__$1,new cljs.core.Keyword(null,"result","result",4374444943));var mark = cljs.core.get.call(null,map__19175__$1,new cljs.core.Keyword(null,"mark","mark",1017248319));var ui = lt.plugins.elm_light.linter.inline_ui.call(null,ed,res_id,result);var from = mark.find().from;lt.objs.editor.__GT_cm_ed.call(null,ed).addWidget(from,ui,{"scrollIntoView": true});
return lt.util.dom.focus.call(null,ui);
});
lt.plugins.elm_light.linter.mark_range = (function mark_range(ed,p__19176){var map__19178 = p__19176;var map__19178__$1 = ((cljs.core.seq_QMARK_.call(null,map__19178))?cljs.core.apply.call(null,cljs.core.hash_map,map__19178):map__19178);var code_range = map__19178__$1;var to = cljs.core.get.call(null,map__19178__$1,new cljs.core.Keyword(null,"to","to",1013907949));var from = cljs.core.get.call(null,map__19178__$1,new cljs.core.Keyword(null,"from","from",1017056028));if(!(cljs.core._EQ_.call(null,from,to)))
{return code_range;
} else
{return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"from","from",1017056028),cljs.core.assoc.call(null,from,new cljs.core.Keyword(null,"ch","ch",1013907415),0),new cljs.core.Keyword(null,"to","to",1013907949),cljs.core.assoc.call(null,to,new cljs.core.Keyword(null,"ch","ch",1013907415),lt.objs.editor.line_length.call(null,ed,new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(from)))], null);
}
});
lt.plugins.elm_light.linter.create_mark = (function create_mark(ed,p__19179){var map__19182 = p__19179;var map__19182__$1 = ((cljs.core.seq_QMARK_.call(null,map__19182))?cljs.core.apply.call(null,cljs.core.hash_map,map__19182):map__19182);var code_range = cljs.core.get.call(null,map__19182__$1,new cljs.core.Keyword(null,"code-range","code-range",3297446095));var category = cljs.core.get.call(null,map__19182__$1,new cljs.core.Keyword(null,"category","category",1064415344));var map__19183 = lt.plugins.elm_light.linter.mark_range.call(null,ed,code_range);var map__19183__$1 = ((cljs.core.seq_QMARK_.call(null,map__19183))?cljs.core.apply.call(null,cljs.core.hash_map,map__19183):map__19183);var to = cljs.core.get.call(null,map__19183__$1,new cljs.core.Keyword(null,"to","to",1013907949));var from = cljs.core.get.call(null,map__19183__$1,new cljs.core.Keyword(null,"from","from",1017056028));return lt.objs.editor.mark.call(null,ed,from,to,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"className","className",1004015509),[cljs.core.str("lint-"),cljs.core.str((function (){var or__4884__auto__ = cljs.core.name.call(null,category);if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return "error";
}
})())].join(''),new cljs.core.Keyword(null,"inclusiveLeft","inclusiveLeft",4040813445),false,new cljs.core.Keyword(null,"inclusiveRight","inclusiveRight",4659437314),false], null));
});
lt.plugins.elm_light.linter.__BEH__linter_result_BANG_ = (function __BEH__linter_result_BANG_(ed,res){var id = [cljs.core.str(cljs.core.gensym.call(null,"linter-res"))].join('');var mark = lt.plugins.elm_light.linter.create_mark.call(null,ed,res);mark.ltlintid = id;
mark.lttype = new cljs.core.Keyword(null,"linter","linter",4206213986);
lt.object.update_BANG_.call(null,ed,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"linter-results","linter-results",4482067083)], null),cljs.core.assoc,id,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"mark","mark",1017248319),mark,new cljs.core.Keyword(null,"result","result",4374444943),res], null));
return lt.plugins.elm_light.linter.update_status_for_editor.call(null,ed);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.linter","linter-result!","lt.plugins.elm-light.linter/linter-result!",4030814380),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.linter.__BEH__linter_result_BANG_,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"linter-result!","linter-result!",4482067001),null], null), null));
lt.plugins.elm_light.linter.__BEH__clear_linter_results_BANG_ = (function __BEH__clear_linter_results_BANG_(ed){var seq__19190_19260 = cljs.core.seq.call(null,new cljs.core.Keyword(null,"linter-results","linter-results",4482067083).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));var chunk__19191_19261 = null;var count__19192_19262 = 0;var i__19193_19263 = 0;while(true){
if((i__19193_19263 < count__19192_19262))
{var vec__19194_19264 = cljs.core._nth.call(null,chunk__19191_19261,i__19193_19263);var id_19265 = cljs.core.nth.call(null,vec__19194_19264,0,null);var res_19266 = cljs.core.nth.call(null,vec__19194_19264,1,null);var temp__4092__auto___19267 = new cljs.core.Keyword(null,"mark","mark",1017248319).cljs$core$IFn$_invoke$arity$1(res_19266);if(cljs.core.truth_(temp__4092__auto___19267))
{var m_19268 = temp__4092__auto___19267;m_19268.clear();
} else
{}
var temp__4092__auto___19269 = new cljs.core.Keyword(null,"widget","widget",4520824246).cljs$core$IFn$_invoke$arity$1(res_19266);if(cljs.core.truth_(temp__4092__auto___19269))
{var w_19270 = temp__4092__auto___19269;lt.util.dom.remove.call(null,w_19270);
} else
{}
{
var G__19271 = seq__19190_19260;
var G__19272 = chunk__19191_19261;
var G__19273 = count__19192_19262;
var G__19274 = (i__19193_19263 + 1);
seq__19190_19260 = G__19271;
chunk__19191_19261 = G__19272;
count__19192_19262 = G__19273;
i__19193_19263 = G__19274;
continue;
}
} else
{var temp__4092__auto___19275 = cljs.core.seq.call(null,seq__19190_19260);if(temp__4092__auto___19275)
{var seq__19190_19276__$1 = temp__4092__auto___19275;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19190_19276__$1))
{var c__5632__auto___19277 = cljs.core.chunk_first.call(null,seq__19190_19276__$1);{
var G__19278 = cljs.core.chunk_rest.call(null,seq__19190_19276__$1);
var G__19279 = c__5632__auto___19277;
var G__19280 = cljs.core.count.call(null,c__5632__auto___19277);
var G__19281 = 0;
seq__19190_19260 = G__19278;
chunk__19191_19261 = G__19279;
count__19192_19262 = G__19280;
i__19193_19263 = G__19281;
continue;
}
} else
{var vec__19195_19282 = cljs.core.first.call(null,seq__19190_19276__$1);var id_19283 = cljs.core.nth.call(null,vec__19195_19282,0,null);var res_19284 = cljs.core.nth.call(null,vec__19195_19282,1,null);var temp__4092__auto___19285__$1 = new cljs.core.Keyword(null,"mark","mark",1017248319).cljs$core$IFn$_invoke$arity$1(res_19284);if(cljs.core.truth_(temp__4092__auto___19285__$1))
{var m_19286 = temp__4092__auto___19285__$1;m_19286.clear();
} else
{}
var temp__4092__auto___19287__$1 = new cljs.core.Keyword(null,"widget","widget",4520824246).cljs$core$IFn$_invoke$arity$1(res_19284);if(cljs.core.truth_(temp__4092__auto___19287__$1))
{var w_19288 = temp__4092__auto___19287__$1;lt.util.dom.remove.call(null,w_19288);
} else
{}
{
var G__19289 = cljs.core.next.call(null,seq__19190_19276__$1);
var G__19290 = null;
var G__19291 = 0;
var G__19292 = 0;
seq__19190_19260 = G__19289;
chunk__19191_19261 = G__19290;
count__19192_19262 = G__19291;
i__19193_19263 = G__19292;
continue;
}
}
} else
{}
}
break;
}
lt.object.assoc_in_BANG_.call(null,ed,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"linter-results","linter-results",4482067083)], null),null);
return lt.plugins.elm_light.linter.update_status_for_editor.call(null,ed);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.linter","clear-linter-results!","lt.plugins.elm-light.linter/clear-linter-results!",4126992011),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.linter.__BEH__clear_linter_results_BANG_,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"clear-linter-results!","clear-linter-results!",4528495642),null], null), null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"editor.linter.remove-all","editor.linter.remove-all",3899267783),new cljs.core.Keyword(null,"desc","desc",1016984067),"Editor: Clear all lint results",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"clear-linter-results!","clear-linter-results!",4528495642));
} else
{return null;
}
})], null));
lt.plugins.elm_light.linter.find_current_lint_mark = (function find_current_lint_mark(ed){return cljs.core.first.call(null,cljs.core.filter.call(null,(function (p1__19196_SHARP_){return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"linter","linter",4206213986),p1__19196_SHARP_.lttype);
}),lt.objs.editor.find_marks.call(null,ed,lt.objs.editor.__GT_cursor.call(null,ed))));
});
lt.plugins.elm_light.linter.get_widget_by_mark = (function get_widget_by_mark(ed,mark){return cljs.core.get_in.call(null,cljs.core.deref.call(null,ed),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"linter-results","linter-results",4482067083),mark.ltlintid,new cljs.core.Keyword(null,"widget","widget",4520824246)], null));
});
lt.plugins.elm_light.linter.mark__GT_pos = (function mark__GT_pos(mark){var cm_pos = mark.find().from;return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"ch","ch",1013907415),cm_pos.ch,new cljs.core.Keyword(null,"line","line",1017226086),cm_pos.line], null);
});
lt.plugins.elm_light.linter.get_all_lint_marks = (function get_all_lint_marks(ed){return cljs.core.sort_by.call(null,(function (p1__19198_SHARP_){return cljs.core.juxt.call(null,new cljs.core.Keyword(null,"line","line",1017226086),new cljs.core.Keyword(null,"ch","ch",1013907415)).call(null,lt.plugins.elm_light.linter.mark__GT_pos.call(null,p1__19198_SHARP_));
}),cljs.core.filter.call(null,(function (p1__19197_SHARP_){return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"linter","linter",4206213986),p1__19197_SHARP_.lttype);
}),lt.objs.editor.__GT_cm_ed.call(null,ed).getAllMarks()));
});
lt.plugins.elm_light.linter.split_with_mark = (function split_with_mark(ed){var all_marks = lt.plugins.elm_light.linter.get_all_lint_marks.call(null,ed);var curr_mark = lt.plugins.elm_light.linter.find_current_lint_mark.call(null,ed);return cljs.core.split_with.call(null,((function (all_marks,curr_mark){
return (function (p1__19199_SHARP_){return !(cljs.core._EQ_.call(null,(cljs.core.truth_(curr_mark)?curr_mark.ltlintid:null),p1__19199_SHARP_.ltlintid));
});})(all_marks,curr_mark))
,all_marks);
});
lt.plugins.elm_light.linter.find_next_mark = (function find_next_mark(ed){var vec__19201 = lt.plugins.elm_light.linter.split_with_mark.call(null,ed);var ms1 = cljs.core.nth.call(null,vec__19201,0,null);var ms2 = cljs.core.nth.call(null,vec__19201,1,null);return cljs.core.first.call(null,cljs.core.into.call(null,cljs.core.vec.call(null,cljs.core.drop.call(null,1,ms2)),ms1));
});
lt.plugins.elm_light.linter.find_prev_mark = (function find_prev_mark(ed){var vec__19203 = lt.plugins.elm_light.linter.split_with_mark.call(null,ed);var ms1 = cljs.core.nth.call(null,vec__19203,0,null);var ms2 = cljs.core.nth.call(null,vec__19203,1,null);return cljs.core.first.call(null,cljs.core.into.call(null,cljs.core.reverse.call(null,cljs.core.drop.call(null,1,ms2)),ms1));
});
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"editor.linter.details","editor.linter.details",4312538199),new cljs.core.Keyword(null,"desc","desc",1016984067),"Linter: Show details at cursor",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;var temp__4092__auto____$1 = lt.plugins.elm_light.linter.find_current_lint_mark.call(null,ed);if(cljs.core.truth_(temp__4092__auto____$1))
{var mark = temp__4092__auto____$1;return lt.plugins.elm_light.linter.add_widget.call(null,ed,mark.ltlintid);
} else
{return null;
}
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"editor.next.lint-result","editor.next.lint-result",4143748223),new cljs.core.Keyword(null,"desc","desc",1016984067),"Linter: Move to next result",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;var temp__4092__auto____$1 = lt.plugins.elm_light.linter.find_next_mark.call(null,ed);if(cljs.core.truth_(temp__4092__auto____$1))
{var next_mark = temp__4092__auto____$1;return lt.objs.editor.move_cursor.call(null,ed,lt.plugins.elm_light.linter.mark__GT_pos.call(null,next_mark));
} else
{return null;
}
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"editor.prev.lint-result","editor.prev.lint-result",1674890175),new cljs.core.Keyword(null,"desc","desc",1016984067),"Linter: Move to previous result",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;var temp__4092__auto____$1 = lt.plugins.elm_light.linter.find_prev_mark.call(null,ed);if(cljs.core.truth_(temp__4092__auto____$1))
{var prev_mark = temp__4092__auto____$1;return lt.objs.editor.move_cursor.call(null,ed,lt.plugins.elm_light.linter.mark__GT_pos.call(null,lt.plugins.elm_light.linter.next_mark));
} else
{return null;
}
} else
{return null;
}
})], null));
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light')) {
goog.provide('lt.plugins.elm_light');
goog.require('cljs.core');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.plugins.elm_light.clients');
goog.require('lt.objs.files');
goog.require('lt.util.js');
goog.require('lt.plugins.elm_light.gutter');
goog.require('lt.plugins.elm_light.linter');
goog.require('lt.objs.tabs');
goog.require('clojure.string');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.objs.popup');
goog.require('lt.objs.popup');
goog.require('lt.plugins.elm_light.linter');
goog.require('lt.objs.notifos');
goog.require('lt.plugins.elm_light.clients');
goog.require('lt.objs.browser');
goog.require('lt.objs.notifos');
goog.require('lt.objs.editor.pool');
goog.require('lt.plugins.elm_light.widgets.selector');
goog.require('lt.objs.command');
goog.require('lt.objs.files');
goog.require('lt.objs.sidebar.clients');
goog.require('lt.objs.eval');
goog.require('lt.objs.clients');
goog.require('clojure.string');
goog.require('lt.plugins.elm_light.elm_ast');
goog.require('lt.objs.browser');
goog.require('lt.plugins.elm_light.selection');
goog.require('lt.plugins.elm_light.selection');
goog.require('lt.objs.editor');
goog.require('lt.object');
goog.require('lt.object');
goog.require('lt.objs.console');
goog.require('lt.objs.tabs');
goog.require('lt.objs.editor');
goog.require('lt.objs.console');
goog.require('lt.plugins.elm_light.gutter');
goog.require('lt.plugins.elm_light.repl');
goog.require('lt.plugins.elm_light.elm_ast');
goog.require('lt.plugins.elm_light.widgets.selector');
goog.require('lt.objs.eval');
goog.require('lt.objs.clients');
goog.require('lt.objs.editor.pool');
goog.require('lt.util.js');
goog.require('lt.objs.sidebar.clients');
goog.require('lt.objs.command');
lt.plugins.elm_light.__BEH__elm_unsupported = (function __BEH__elm_unsupported(_,res){lt.objs.notifos.done_working.call(null);
return lt.objs.notifos.set_msg_BANG_.call(null,new cljs.core.Keyword(null,"err","err",1014004951).cljs$core$IFn$_invoke$arity$1(res),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"error"], null));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-unsupported","lt.plugins.elm-light/elm-unsupported",2702653399),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_unsupported,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.unsupported","elm.unsupported",3962342495),null], null), null));
lt.plugins.elm_light.colorize_msg = (function colorize_msg(msg){return clojure.string.replace.call(null,clojure.string.replace.call(null,msg,/\[\d+m/,""),/\[0m/,"");
});
lt.plugins.elm_light.__GT_lt_range = (function __GT_lt_range(p__6726){var map__6728 = p__6726;var map__6728__$1 = ((cljs.core.seq_QMARK_.call(null,map__6728))?cljs.core.apply.call(null,cljs.core.hash_map,map__6728):map__6728);var end = cljs.core.get.call(null,map__6728__$1,new cljs.core.Keyword(null,"end","end",1014004813));var start = cljs.core.get.call(null,map__6728__$1,new cljs.core.Keyword(null,"start","start",1123661780));return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"from","from",1017056028),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"ch","ch",1013907415),(new cljs.core.Keyword(null,"column","column",3954034376).cljs$core$IFn$_invoke$arity$1(start) - 1),new cljs.core.Keyword(null,"line","line",1017226086),(new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(start) - 1)], null),new cljs.core.Keyword(null,"to","to",1013907949),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"ch","ch",1013907415),(new cljs.core.Keyword(null,"column","column",3954034376).cljs$core$IFn$_invoke$arity$1(end) - 1),new cljs.core.Keyword(null,"line","line",1017226086),(new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(end) - 1)], null)], null);
});
lt.plugins.elm_light.maybe_trim = (function maybe_trim(ss){if(cljs.core.truth_(ss))
{return clojure.string.trim.call(null,ss);
} else
{return null;
}
});
lt.plugins.elm_light.str_contains_QMARK_ = (function str_contains_QMARK_(source,target){if(cljs.core.truth_((function (){var and__4872__auto__ = source;if(cljs.core.truth_(and__4872__auto__))
{return target;
} else
{return and__4872__auto__;
}
})()))
{return (-1 < source.indexOf(target));
} else
{return null;
}
});
lt.plugins.elm_light.maybe_strip_hint = (function maybe_strip_hint(source){if(cljs.core.truth_(source))
{if(cljs.core.truth_(lt.plugins.elm_light.str_contains_QMARK_.call(null,source,"Hint:")))
{return clojure.string.trim.call(null,cljs.core.first.call(null,cljs.core.re_find.call(null,/([\s\S]*?(?=Hint:))/m,source)));
} else
{return source;
}
} else
{return null;
}
});
lt.plugins.elm_light.linter_action = (function linter_action(ed,row){var G__6740 = new cljs.core.Keyword(null,"tag","tag",1014018828).cljs$core$IFn$_invoke$arity$1(row);if(cljs.core._EQ_.call(null,"TYPE MISMATCH",G__6740))
{var ann = lt.plugins.elm_light.maybe_strip_hint.call(null,lt.plugins.elm_light.maybe_trim.call(null,cljs.core.second.call(null,cljs.core.re_find.call(null,/But I am inferring that the definition has this type:([\s\S]*$)/m,new cljs.core.Keyword(null,"details","details",2571625908).cljs$core$IFn$_invoke$arity$1(row)))));if(cljs.core.truth_((function (){var and__4872__auto__ = ann;if(cljs.core.truth_(and__4872__auto__))
{return cljs.core.not.call(null,lt.plugins.elm_light.str_contains_QMARK_.call(null,ann,"..."));
} else
{return and__4872__auto__;
}
})()))
{return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"text","text",1017460895),"Fix annotation",new cljs.core.Keyword(null,"action","action",3885920680),((function (ann,G__6740){
return (function (_,p__6741){var map__6742 = p__6741;var map__6742__$1 = ((cljs.core.seq_QMARK_.call(null,map__6742))?cljs.core.apply.call(null,cljs.core.hash_map,map__6742):map__6742);var to = cljs.core.get.call(null,map__6742__$1,new cljs.core.Keyword(null,"to","to",1013907949));var from = cljs.core.get.call(null,map__6742__$1,new cljs.core.Keyword(null,"from","from",1017056028));return lt.objs.editor.replace.call(null,ed,from,to,ann);
});})(ann,G__6740))
], null)], null);
} else
{return cljs.core.PersistentVector.EMPTY;
}
} else
{if(cljs.core._EQ_.call(null,"NAMING ERROR",G__6740))
{var fixes = cljs.core.filter.call(null,cljs.core.seq,cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,cljs.core.second.call(null,cljs.core.re_find.call(null,/Maybe you want one of the following\?(:?[\s\S]*$)/m,new cljs.core.Keyword(null,"details","details",2571625908).cljs$core$IFn$_invoke$arity$1(row))))));return cljs.core.map.call(null,((function (fixes,G__6740){
return (function (suggestion){return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"text","text",1017460895),suggestion,new cljs.core.Keyword(null,"action","action",3885920680),((function (fixes,G__6740){
return (function (_,p__6743){var map__6744 = p__6743;var map__6744__$1 = ((cljs.core.seq_QMARK_.call(null,map__6744))?cljs.core.apply.call(null,cljs.core.hash_map,map__6744):map__6744);var to = cljs.core.get.call(null,map__6744__$1,new cljs.core.Keyword(null,"to","to",1013907949));var from = cljs.core.get.call(null,map__6744__$1,new cljs.core.Keyword(null,"from","from",1017056028));return lt.objs.editor.replace.call(null,ed,from,to,suggestion);
});})(fixes,G__6740))
], null);
});})(fixes,G__6740))
,fixes);
} else
{if(cljs.core._EQ_.call(null,"missing type annotation",G__6740))
{return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"text","text",1017460895),"Add",new cljs.core.Keyword(null,"action","action",3885920680),((function (G__6740){
return (function (p__6745,p__6746){var map__6747 = p__6745;var map__6747__$1 = ((cljs.core.seq_QMARK_.call(null,map__6747))?cljs.core.apply.call(null,cljs.core.hash_map,map__6747):map__6747);var details = cljs.core.get.call(null,map__6747__$1,new cljs.core.Keyword(null,"details","details",2571625908));var map__6748 = p__6746;var map__6748__$1 = ((cljs.core.seq_QMARK_.call(null,map__6748))?cljs.core.apply.call(null,cljs.core.hash_map,map__6748):map__6748);var from = cljs.core.get.call(null,map__6748__$1,new cljs.core.Keyword(null,"from","from",1017056028));var ann = [cljs.core.str(clojure.string.trim.call(null,cljs.core.second.call(null,cljs.core.re_find.call(null,/I inferred the type annotation so you can copy it into your code:([\s\S]*$)/m,details)))),cljs.core.str("\n")].join('');return lt.objs.editor.replace.call(null,ed,from,ann);
});})(G__6740))
], null)], null);
} else
{if(cljs.core._EQ_.call(null,"unused import",G__6740))
{return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"text","text",1017460895),"Remove",new cljs.core.Keyword(null,"action","action",3885920680),((function (G__6740){
return (function (_,p__6749){var map__6750 = p__6749;var map__6750__$1 = ((cljs.core.seq_QMARK_.call(null,map__6750))?cljs.core.apply.call(null,cljs.core.hash_map,map__6750):map__6750);var to = cljs.core.get.call(null,map__6750__$1,new cljs.core.Keyword(null,"to","to",1013907949));var from = cljs.core.get.call(null,map__6750__$1,new cljs.core.Keyword(null,"from","from",1017056028));lt.objs.editor.replace.call(null,ed,from,to,"");
return CodeMirror.commands.deleteLine(lt.objs.editor.__GT_cm_ed.call(null,ed));
});})(G__6740))
], null)], null);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return cljs.core.PersistentVector.EMPTY;
} else
{return null;
}
}
}
}
}
});
lt.plugins.elm_light.display_make_results = (function display_make_results(ed,res,path){lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"clear-linter-results!","clear-linter-results!",4528495642));
if(cljs.core.seq.call(null,cljs.core.filter.call(null,(function (p1__6751_SHARP_){return cljs.core._EQ_.call(null,"error",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(p1__6751_SHARP_));
}),res)))
{lt.objs.notifos.set_msg_BANG_.call(null,"Elm make returned errors; check you editor or the console for details",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"error"], null));
} else
{}
var seq__6758 = cljs.core.seq.call(null,res);var chunk__6759 = null;var count__6760 = 0;var i__6761 = 0;while(true){
if((i__6761 < count__6760))
{var map__6762 = cljs.core._nth.call(null,chunk__6759,i__6761);var map__6762__$1 = ((cljs.core.seq_QMARK_.call(null,map__6762))?cljs.core.apply.call(null,cljs.core.hash_map,map__6762):map__6762);var row = map__6762__$1;var tag = cljs.core.get.call(null,map__6762__$1,new cljs.core.Keyword(null,"tag","tag",1014018828));var subregion = cljs.core.get.call(null,map__6762__$1,new cljs.core.Keyword(null,"subregion","subregion",1501636774));var region = cljs.core.get.call(null,map__6762__$1,new cljs.core.Keyword(null,"region","region",4374076006));var details = cljs.core.get.call(null,map__6762__$1,new cljs.core.Keyword(null,"details","details",2571625908));var overview = cljs.core.get.call(null,map__6762__$1,new cljs.core.Keyword(null,"overview","overview",1544020203));var type = cljs.core.get.call(null,map__6762__$1,new cljs.core.Keyword(null,"type","type",1017479852));var file = cljs.core.get.call(null,map__6762__$1,new cljs.core.Keyword(null,"file","file",1017047278));var msg_6791 = [cljs.core.str(overview),cljs.core.str("\n"),cljs.core.str(lt.plugins.elm_light.colorize_msg.call(null,details))].join('');if(cljs.core.truth_((function (){var and__4872__auto__ = cljs.core._EQ_.call(null,path,file);if(and__4872__auto__)
{return cljs.core.some.call(null,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, ["error",null,"warning",null], null), null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [type], null));
} else
{return and__4872__auto__;
}
})()))
{lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"linter-result!","linter-result!",4482067001),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"title","title",1124275658),tag,new cljs.core.Keyword(null,"details","details",2571625908),msg_6791,new cljs.core.Keyword(null,"category","category",1064415344),cljs.core.keyword.call(null,type),new cljs.core.Keyword(null,"actions","actions",4147068015),lt.plugins.elm_light.linter_action.call(null,ed,row),new cljs.core.Keyword(null,"code-range","code-range",3297446095),lt.plugins.elm_light.__GT_lt_range.call(null,(function (){var or__4884__auto__ = subregion;if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return region;
}
})())], null));
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{lt.objs.console.verbatim.call(null,cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"pre","pre",1014015509),overview], null)),": "),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"em.line","em.line",3623844076),"[Elm error]"], null)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"em.file","em.file",3623665268),file], null)),"error");
} else
{}
}
{
var G__6792 = seq__6758;
var G__6793 = chunk__6759;
var G__6794 = count__6760;
var G__6795 = (i__6761 + 1);
seq__6758 = G__6792;
chunk__6759 = G__6793;
count__6760 = G__6794;
i__6761 = G__6795;
continue;
}
} else
{var temp__4092__auto__ = cljs.core.seq.call(null,seq__6758);if(temp__4092__auto__)
{var seq__6758__$1 = temp__4092__auto__;if(cljs.core.chunked_seq_QMARK_.call(null,seq__6758__$1))
{var c__5632__auto__ = cljs.core.chunk_first.call(null,seq__6758__$1);{
var G__6796 = cljs.core.chunk_rest.call(null,seq__6758__$1);
var G__6797 = c__5632__auto__;
var G__6798 = cljs.core.count.call(null,c__5632__auto__);
var G__6799 = 0;
seq__6758 = G__6796;
chunk__6759 = G__6797;
count__6760 = G__6798;
i__6761 = G__6799;
continue;
}
} else
{var map__6763 = cljs.core.first.call(null,seq__6758__$1);var map__6763__$1 = ((cljs.core.seq_QMARK_.call(null,map__6763))?cljs.core.apply.call(null,cljs.core.hash_map,map__6763):map__6763);var row = map__6763__$1;var tag = cljs.core.get.call(null,map__6763__$1,new cljs.core.Keyword(null,"tag","tag",1014018828));var subregion = cljs.core.get.call(null,map__6763__$1,new cljs.core.Keyword(null,"subregion","subregion",1501636774));var region = cljs.core.get.call(null,map__6763__$1,new cljs.core.Keyword(null,"region","region",4374076006));var details = cljs.core.get.call(null,map__6763__$1,new cljs.core.Keyword(null,"details","details",2571625908));var overview = cljs.core.get.call(null,map__6763__$1,new cljs.core.Keyword(null,"overview","overview",1544020203));var type = cljs.core.get.call(null,map__6763__$1,new cljs.core.Keyword(null,"type","type",1017479852));var file = cljs.core.get.call(null,map__6763__$1,new cljs.core.Keyword(null,"file","file",1017047278));var msg_6800 = [cljs.core.str(overview),cljs.core.str("\n"),cljs.core.str(lt.plugins.elm_light.colorize_msg.call(null,details))].join('');if(cljs.core.truth_((function (){var and__4872__auto__ = cljs.core._EQ_.call(null,path,file);if(and__4872__auto__)
{return cljs.core.some.call(null,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, ["error",null,"warning",null], null), null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [type], null));
} else
{return and__4872__auto__;
}
})()))
{lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"linter-result!","linter-result!",4482067001),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"title","title",1124275658),tag,new cljs.core.Keyword(null,"details","details",2571625908),msg_6800,new cljs.core.Keyword(null,"category","category",1064415344),cljs.core.keyword.call(null,type),new cljs.core.Keyword(null,"actions","actions",4147068015),lt.plugins.elm_light.linter_action.call(null,ed,row),new cljs.core.Keyword(null,"code-range","code-range",3297446095),lt.plugins.elm_light.__GT_lt_range.call(null,(function (){var or__4884__auto__ = subregion;if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return region;
}
})())], null));
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{lt.objs.console.verbatim.call(null,cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core._conj.call(null,cljs.core.List.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"pre","pre",1014015509),overview], null)),": "),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"em.line","em.line",3623844076),"[Elm error]"], null)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"em.file","em.file",3623665268),file], null)),"error");
} else
{}
}
{
var G__6801 = cljs.core.next.call(null,seq__6758__$1);
var G__6802 = null;
var G__6803 = 0;
var G__6804 = 0;
seq__6758 = G__6801;
chunk__6759 = G__6802;
count__6760 = G__6803;
i__6761 = G__6804;
continue;
}
}
} else
{return null;
}
}
break;
}
});
lt.plugins.elm_light.__BEH__lint = (function __BEH__lint(ed,result_handler_trigger){var info = new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed));lt.objs.notifos.working.call(null,[cljs.core.str("Starting elm linting of: "),cljs.core.str(new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(info))].join(''));
return lt.objs.clients.send.call(null,lt.plugins.elm_light.clients.get_eval_client.call(null,ed,new cljs.core.Keyword(null,"editor.elm.lint","editor.elm.lint",1086056222)),new cljs.core.Keyword(null,"editor.elm.lint","editor.elm.lint",1086056222),cljs.core.assoc.call(null,info,new cljs.core.Keyword(null,"project-path","project-path",1907176907),lt.plugins.elm_light.utils.project_path.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(info)),new cljs.core.Keyword(null,"handler","handler",1706707644),cljs.core.name.call(null,result_handler_trigger)),new cljs.core.Keyword(null,"only","only",1017320222),ed);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","lint","lt.plugins.elm-light/lint",1497250906),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__lint,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"lint","lint",1017226101),null], null), null),new cljs.core.Keyword(null,"description","description",3584325486),"Lint (/make) a given elm file");
lt.plugins.elm_light.__BEH__elm_lint_res = (function __BEH__elm_lint_res(ed,res){var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));lt.objs.notifos.done_working.call(null,"Elm linted");
return lt.plugins.elm_light.display_make_results.call(null,ed,res,path);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-lint-res","lt.plugins.elm-light/elm-lint-res",2508500808),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_lint_res,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.lint.res","elm.lint.res",4381822959),null], null), null));
lt.plugins.elm_light.__BEH__make = (function __BEH__make(ed){var info = new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed));var cl = lt.plugins.elm_light.clients.get_eval_client.call(null,ed,new cljs.core.Keyword(null,"editor.elm.make","editor.elm.make",1086078217));lt.objs.notifos.working.call(null,[cljs.core.str("Starting elm make for: "),cljs.core.str(new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(info))].join(''));
return lt.objs.clients.send.call(null,cl,new cljs.core.Keyword(null,"editor.elm.make","editor.elm.make",1086078217),cljs.core.assoc.call(null,info,new cljs.core.Keyword(null,"project-path","project-path",1907176907),lt.plugins.elm_light.utils.project_path.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(info))),new cljs.core.Keyword(null,"only","only",1017320222),ed);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","make","lt.plugins.elm-light/make",1497244279),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__make,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.make","elm.make",1176641960),null], null), null),new cljs.core.Keyword(null,"description","description",3584325486),"Make (to js) a given elm file");
lt.plugins.elm_light.missing_make_info_popup = (function missing_make_info_popup(){return lt.objs.popup.popup_BANG_.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"header","header",4087600639),"You need to configure make info for your project",new cljs.core.Keyword(null,"body","body",1016933652),[cljs.core.str("You configure a key \"make-info\" in your elm-package.json\n Example:\n \"make-info\": {\"main\": \"src/Main.elm\", \"out\": \"dist/main.js\"}")].join(''),new cljs.core.Keyword(null,"buttons","buttons",1255256819),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"label","label",1116631654),"Ok"], null)], null)], null));
});
lt.plugins.elm_light.__BEH__make_project = (function __BEH__make_project(ed){var info = new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed));var project_path = lt.plugins.elm_light.utils.project_path.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(info));var map__6765 = new cljs.core.Keyword(null,"make-info","make-info",2233727135).cljs$core$IFn$_invoke$arity$1(lt.plugins.elm_light.utils.parse_json_file.call(null,lt.objs.files.join.call(null,project_path,"elm-package.json")));var map__6765__$1 = ((cljs.core.seq_QMARK_.call(null,map__6765))?cljs.core.apply.call(null,cljs.core.hash_map,map__6765):map__6765);var out = cljs.core.get.call(null,map__6765__$1,new cljs.core.Keyword(null,"out","out",1014014656));var main = cljs.core.get.call(null,map__6765__$1,new cljs.core.Keyword(null,"main","main",1017248043));if(cljs.core.truth_((function (){var and__4872__auto__ = main;if(cljs.core.truth_(and__4872__auto__))
{return out;
} else
{return and__4872__auto__;
}
})()))
{lt.objs.notifos.working.call(null,[cljs.core.str("Starting elm make for project: "),cljs.core.str(project_path)].join(''));
return lt.objs.clients.send.call(null,lt.plugins.elm_light.clients.get_eval_client.call(null,ed,new cljs.core.Keyword(null,"editor.elm.make","editor.elm.make",1086078217)),new cljs.core.Keyword(null,"editor.elm.make","editor.elm.make",1086078217),cljs.core.assoc.call(null,info,new cljs.core.Keyword(null,"project-path","project-path",1907176907),project_path,new cljs.core.Keyword(null,"path","path",1017337751),lt.objs.files.join.call(null,project_path,main),new cljs.core.Keyword(null,"outputFile","outputFile",4034596239),lt.objs.files.join.call(null,project_path,out)),new cljs.core.Keyword(null,"only","only",1017320222),ed);
} else
{return lt.plugins.elm_light.missing_make_info_popup.call(null);
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","make-project","lt.plugins.elm-light/make-project",3492644131),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__make_project,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.make-project","elm.make-project",2779298292),null], null), null),new cljs.core.Keyword(null,"description","description",3584325486),"Make Elm Project");
lt.plugins.elm_light.__BEH__elm_make_res = (function __BEH__elm_make_res(ed,p__6766){var map__6768 = p__6766;var map__6768__$1 = ((cljs.core.seq_QMARK_.call(null,map__6768))?cljs.core.apply.call(null,cljs.core.hash_map,map__6768):map__6768);var res = cljs.core.get.call(null,map__6768__$1,new cljs.core.Keyword(null,"res","res",1014017042));var outputFile = cljs.core.get.call(null,map__6768__$1,new cljs.core.Keyword(null,"outputFile","outputFile",4034596239));lt.objs.notifos.done_working.call(null,[cljs.core.str("Elm make compiled to: "),cljs.core.str(outputFile)].join(''));
return lt.plugins.elm_light.display_make_results.call(null,ed,res,lt.plugins.elm_light.path);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-make-res","lt.plugins.elm-light/elm-make-res",3896116701),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_make_res,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.make.res","elm.make.res",3219830874),null], null), null));
lt.plugins.elm_light.__BEH__elm_make_err = (function __BEH__elm_make_err(ed,res){var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));lt.objs.notifos.done_working.call(null,"");
lt.objs.notifos.set_msg_BANG_.call(null,[cljs.core.str("Elm make error: "),cljs.core.str(res)].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"error"], null));
return lt.objs.console.error.call(null,res);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-make-err","lt.plugins.elm-light/elm-make-err",3896146200),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_make_err,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.make.err","elm.make.err",3219818783),null], null), null));
lt.plugins.elm_light.__BEH__on_eval__DOT__one = (function __BEH__on_eval__DOT__one(ed){var pos = lt.objs.editor.__GT_cursor.call(null,ed);var info = cljs.core.conj.call(null,new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)),(cljs.core.truth_(lt.objs.editor.selection_QMARK_.call(null,ed))?new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"code","code",1016963423),lt.objs.editor.selection.call(null,ed),new cljs.core.Keyword(null,"meta","meta",1017252215),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"start","start",1123661780),new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(lt.objs.editor.__GT_cursor.call(null,ed,"start")),new cljs.core.Keyword(null,"end","end",1014004813),new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(lt.objs.editor.__GT_cursor.call(null,ed,"end"))], null)], null):(function (){var temp__4090__auto__ = lt.plugins.elm_light.selection.get_top_level_expr.call(null,ed,pos);if(cljs.core.truth_(temp__4090__auto__))
{var rng = temp__4090__auto__;return new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"pos","pos",1014015430),pos,new cljs.core.Keyword(null,"code","code",1016963423),lt.objs.editor.range.call(null,ed,new cljs.core.Keyword(null,"from","from",1017056028).cljs$core$IFn$_invoke$arity$1(rng),new cljs.core.Keyword(null,"to","to",1013907949).cljs$core$IFn$_invoke$arity$1(rng)),new cljs.core.Keyword(null,"meta","meta",1017252215),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"start","start",1123661780),new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"from","from",1017056028).cljs$core$IFn$_invoke$arity$1(rng)),new cljs.core.Keyword(null,"end","end",1014004813),new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"end","end",1014004813).cljs$core$IFn$_invoke$arity$1(rng))], null)], null);
} else
{return new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"pos","pos",1014015430),pos,new cljs.core.Keyword(null,"code","code",1016963423),lt.objs.editor.line.call(null,ed,new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(pos)),new cljs.core.Keyword(null,"meta","meta",1017252215),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"start","start",1123661780),new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(pos),new cljs.core.Keyword(null,"end","end",1014004813),new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(pos)], null)], null);
}
})()));return lt.object.raise.call(null,lt.plugins.elm_light.clients.elm,new cljs.core.Keyword(null,"eval!","eval!",1110791799),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"origin","origin",4300251800),ed,new cljs.core.Keyword(null,"info","info",1017141280),info], null));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","on-eval.one","lt.plugins.elm-light/on-eval.one",3108499739),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__on_eval__DOT__one,new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm repl: Eval current selection",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"eval.one","eval.one",1173589382),null], null), null));
lt.plugins.elm_light.__BEH__eval_result = (function __BEH__eval_result(ed,res){lt.objs.notifos.done_working.call(null,"Elm evaluated");
return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"editor.result","editor.result",4030217008),new cljs.core.Keyword(null,"result","result",4374444943).cljs$core$IFn$_invoke$arity$1(res),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"line","line",1017226086),new cljs.core.Keyword(null,"start","start",1123661780).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"meta","meta",1017252215).cljs$core$IFn$_invoke$arity$1(res))], null));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","eval-result","lt.plugins.elm-light/eval-result",1791693047),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__eval_result,new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm repl: Eval result",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"editor.elm.eval.res","editor.elm.eval.res",1719787241),null], null), null));
lt.plugins.elm_light.__BEH__eval_err = (function __BEH__eval_err(ed,res){lt.objs.notifos.done_working.call(null);
lt.objs.notifos.set_msg_BANG_.call(null,"Elm eval reported errors.",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"error"], null));
return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"editor.exception","editor.exception",3983021184),new cljs.core.Keyword(null,"result","result",4374444943).cljs$core$IFn$_invoke$arity$1(res),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"line","line",1017226086),new cljs.core.Keyword(null,"start","start",1123661780).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"meta","meta",1017252215).cljs$core$IFn$_invoke$arity$1(res))], null));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","eval-err","lt.plugins.elm-light/eval-err",1049569193),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__eval_err,new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm repl: Eval error",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"editor.elm.eval.err","editor.elm.eval.err",1719775150),null], null), null));
lt.plugins.elm_light.__BEH__repl_restart_BANG_ = (function __BEH__repl_restart_BANG_(p__6769){var map__6771 = p__6769;var map__6771__$1 = ((cljs.core.seq_QMARK_.call(null,map__6771))?cljs.core.apply.call(null,cljs.core.hash_map,map__6771):map__6771);var ed = map__6771__$1;var info = cljs.core.get.call(null,map__6771__$1,new cljs.core.Keyword(null,"info","info",1017141280));var temp__4092__auto__ = new cljs.core.Keyword(null,"default","default",2558708147).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"client","client",3951159101).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));if(cljs.core.truth_(temp__4092__auto__))
{var default_client = temp__4092__auto__;if(cljs.core.truth_(cljs.core.deref.call(null,default_client)))
{lt.objs.notifos.working.call(null,"Restaring elm-repl...");
return lt.objs.clients.send.call(null,default_client,new cljs.core.Keyword(null,"elm.repl.restart","elm.repl.restart",2931654218),info,new cljs.core.Keyword(null,"only","only",1017320222),ed);
} else
{return null;
}
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","repl-restart!","lt.plugins.elm-light/repl-restart!",1802858197),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__repl_restart_BANG_,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.repl.restart","elm.repl.restart",2931654218),null], null), null));
lt.plugins.elm_light.__BEH__repl_restart_res = (function __BEH__repl_restart_res(ed,res){return lt.objs.notifos.done_working.call(null,"Elm Repl restarted");
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","repl-restart-res","lt.plugins.elm-light/repl-restart-res",4193190105),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__repl_restart_res,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.repl.restart.res","elm.repl.restart.res",2086859772),null], null), null));
lt.plugins.elm_light.__BEH__elm_browse_BANG_ = (function __BEH__elm_browse_BANG_(ed,debug_QMARK_){var path = lt.plugins.elm_light.utils.reactor_path.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed))));var client = lt.plugins.elm_light.clients.get_eval_client.call(null,ed,new cljs.core.Keyword(null,"editor.eval.elm","editor.eval.elm",1083015975));if(cljs.core.truth_((function (){var and__4872__auto__ = client;if(cljs.core.truth_(and__4872__auto__))
{return path;
} else
{return and__4872__auto__;
}
})()))
{lt.objs.notifos.working.call(null,"Opening elm file in browser");
var b_6805 = (function (){var or__4884__auto__ = cljs.core.first.call(null,lt.object.by_tag.call(null,new cljs.core.Keyword(null,"browser","browser",1164844698)));if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return lt.objs.browser.add.call(null);
}
})();var get_url_6806 = ((function (b_6805,path,client){
return (function (){return [cljs.core.str("http://localhost:"),cljs.core.str(new cljs.core.Keyword(null,"reactor-port","reactor-port",4649590590).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,client))),cljs.core.str(path),cljs.core.str((cljs.core.truth_(debug_QMARK_)?"?debug":""))].join('');
});})(b_6805,path,client))
;if(cljs.core.truth_(new cljs.core.Keyword(null,"connected","connected",4729661051).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,client))))
{lt.object.raise.call(null,b_6805,new cljs.core.Keyword(null,"navigate!","navigate!",1766726722),get_url_6806.call(null));
} else
{lt.util.js.wait.call(null,100,((function (b_6805,get_url_6806,path,client){
return (function (){return lt.object.raise.call(null,b_6805,new cljs.core.Keyword(null,"navigate!","navigate!",1766726722),get_url_6806.call(null));
});})(b_6805,get_url_6806,path,client))
);
}
return lt.objs.notifos.done_working.call(null);
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-browse!","lt.plugins.elm-light/elm-browse!",2398181301),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_browse_BANG_,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.browse","elm.browse",2486947908),null], null), null));
lt.plugins.elm_light.__BEH__elm_doc_search = (function __BEH__elm_doc_search(this$,cur){return cljs.core.conj.call(null,cur,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"label","label",1116631654),"elm",new cljs.core.Keyword(null,"trigger","trigger",4248979754),new cljs.core.Keyword(null,"docs.elm.search","docs.elm.search",737241333),new cljs.core.Keyword(null,"file-types","file-types",1727875162),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, ["elm",null], null), null)], null));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-doc-search","lt.plugins.elm-light/elm-doc-search",546131961),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_doc_search,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"types+","types+",4450069060),null], null), null));
lt.plugins.elm_light.get_editor_client = (function get_editor_client(ed){var temp__4092__auto__ = new cljs.core.Keyword(null,"default","default",2558708147).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"client","client",3951159101).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));if(cljs.core.truth_(temp__4092__auto__))
{var default_client = temp__4092__auto__;if(cljs.core.truth_(cljs.core.deref.call(null,default_client)))
{return default_client;
} else
{return null;
}
} else
{return null;
}
});
lt.plugins.elm_light.location__GT_pos = (function location__GT_pos(loc){return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"line","line",1017226086),(new cljs.core.Keyword(null,"line","line",1017226086).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"start","start",1123661780).cljs$core$IFn$_invoke$arity$1(loc)) - 1),new cljs.core.Keyword(null,"ch","ch",1013907415),(new cljs.core.Keyword(null,"column","column",3954034376).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"start","start",1123661780).cljs$core$IFn$_invoke$arity$1(loc)) - 1)], null);
});
lt.plugins.elm_light.ast_pass_through = (function ast_pass_through(ed,msg){return lt.objs.clients.send.call(null,lt.plugins.elm_light.clients.get_eval_client.call(null,ed,new cljs.core.Keyword(null,"editor.elm.ast.passthrough","editor.elm.ast.passthrough",3082755153)),new cljs.core.Keyword(null,"editor.elm.ast.passthrough","editor.elm.ast.passthrough",3082755153),msg,new cljs.core.Keyword(null,"only","only",1017320222),ed);
});
lt.plugins.elm_light.__BEH__elm_reload_ast = (function __BEH__elm_reload_ast(ed){var project = lt.plugins.elm_light.utils.project_path.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed))));lt.objs.notifos.working.call(null,[cljs.core.str("Init reload of ast for project: "),cljs.core.str(project)].join(''));
lt.plugins.elm_light.elm_ast.delete_project_ast_BANG_.call(null,project);
return lt.objs.clients.send.call(null,lt.plugins.elm_light.clients.get_eval_client.call(null,ed,new cljs.core.Keyword(null,"elm.reload.ast","elm.reload.ast",3046520423)),new cljs.core.Keyword(null,"elm.reload.ast","elm.reload.ast",3046520423),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"only","only",1017320222),ed);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-reload-ast","lt.plugins.elm-light/elm-reload-ast",3847082128),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_reload_ast,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.reload-ast","elm.reload-ast",3046490632),null], null), null));
lt.plugins.elm_light.__BEH__elm_reload_ast_started = (function __BEH__elm_reload_ast_started(ed){return lt.objs.notifos.done_working.call(null,"Parsing ast started");
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-reload-ast-started","lt.plugins.elm-light/elm-reload-ast-started",3781906644),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_reload_ast_started,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.ast.reload.started","elm.ast.reload.started",2010853330),null], null), null));
lt.plugins.elm_light.__BEH__elm_jump_to_definition_start = (function __BEH__elm_jump_to_definition_start(ed){lt.objs.notifos.working.call(null,[cljs.core.str("Initiate jump to definition")].join(''));
var temp__4090__auto__ = lt.plugins.elm_light.get_editor_client.call(null,ed);if(cljs.core.truth_(temp__4090__auto__))
{var default_client = temp__4090__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"editor.elm.jump-to-definition","editor.elm.jump-to-definition",1945362401),cljs.core.PersistentArrayMap.EMPTY);
} else
{return lt.plugins.elm_light.ast_pass_through.call(null,ed,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"target","target",4427965699),new cljs.core.Keyword(null,"editor.elm.jump-to-definition","editor.elm.jump-to-definition",1945362401),new cljs.core.Keyword(null,"data","data",1016980252),cljs.core.PersistentArrayMap.EMPTY], null));
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-jump-to-definition-start","lt.plugins.elm-light/elm-jump-to-definition-start",3920864187),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_jump_to_definition_start,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"editor.jump-to-definition-at-cursor!","editor.jump-to-definition-at-cursor!",4501637705),null], null), null));
lt.plugins.elm_light.__BEH__elm_jump_to_definition = (function __BEH__elm_jump_to_definition(ed,data){lt.objs.notifos.done_working.call(null,"");
var pos = lt.objs.editor.__GT_cursor.call(null,ed);var token = lt.plugins.elm_light.utils.find_symbol.call(null,ed,pos);var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));if(cljs.core.truth_(token))
{var temp__4092__auto__ = lt.plugins.elm_light.elm_ast.get_jump_to_definition.call(null,token,pos,path,lt.plugins.elm_light.utils.project_path.call(null,path));if(cljs.core.truth_(temp__4092__auto__))
{var target = temp__4092__auto__;if(cljs.core.truth_(new cljs.core.Keyword(null,"file","file",1017047278).cljs$core$IFn$_invoke$arity$1(target)))
{return lt.object.raise.call(null,lt.objs.jump_stack.jump_stack,new cljs.core.Keyword(null,"jump-stack.push!","jump-stack.push!",4063822260),ed,new cljs.core.Keyword(null,"file","file",1017047278).cljs$core$IFn$_invoke$arity$1(target),lt.plugins.elm_light.location__GT_pos.call(null,new cljs.core.Keyword(null,"location","location",2914947879).cljs$core$IFn$_invoke$arity$1(target)));
} else
{return null;
}
} else
{return null;
}
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-jump-to-definition","lt.plugins.elm-light/elm-jump-to-definition",4117986136),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_jump_to_definition,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"editor.elm.jump-to-definition","editor.elm.jump-to-definition",1945362401),null], null), null));
lt.plugins.elm_light.__BEH__elm_doc_start = (function __BEH__elm_doc_start(ed){lt.objs.notifos.working.call(null,[cljs.core.str("Initiate show doc")].join(''));
var temp__4090__auto__ = lt.plugins.elm_light.get_editor_client.call(null,ed);if(cljs.core.truth_(temp__4090__auto__))
{var default_client = temp__4090__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"editor.elm.doc","editor.elm.doc",1570413537),cljs.core.PersistentArrayMap.EMPTY);
} else
{return lt.plugins.elm_light.ast_pass_through.call(null,ed,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"target","target",4427965699),new cljs.core.Keyword(null,"editor.elm.doc","editor.elm.doc",1570413537),new cljs.core.Keyword(null,"data","data",1016980252),cljs.core.PersistentArrayMap.EMPTY], null));
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-doc-start","lt.plugins.elm-light/elm-doc-start",1839924543),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_doc_start,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"editor.doc","editor.doc",3751347369),null], null), null));
lt.plugins.elm_light.__BEH__elm_doc = (function __BEH__elm_doc(ed){var pos = lt.objs.editor.__GT_cursor.call(null,ed);var token = lt.plugins.elm_light.utils.find_symbol.call(null,ed,pos);var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));if(cljs.core.truth_(token))
{lt.objs.notifos.done_working.call(null,"");
} else
{}
var temp__4092__auto__ = lt.plugins.elm_light.elm_ast.get_jump_to_definition.call(null,token,pos,path,lt.plugins.elm_light.utils.project_path.call(null,path));if(cljs.core.truth_(temp__4092__auto__))
{var target = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"editor.elm.doc.show!","editor.elm.doc.show!",3977559543),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"name","name",1017277949),[cljs.core.str(new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(target)),cljs.core.str((cljs.core.truth_(new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(target))?".":null)),cljs.core.str(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(target)),cljs.core.str((function (){var temp__4092__auto____$1 = new cljs.core.Keyword(null,"package","package",4501809080).cljs$core$IFn$_invoke$arity$1(target);if(cljs.core.truth_(temp__4092__auto____$1))
{var pck = temp__4092__auto____$1;return [cljs.core.str(" ("),cljs.core.str(new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(pck)),cljs.core.str(" "),cljs.core.str(new cljs.core.Keyword(null,"version","version",1365512266).cljs$core$IFn$_invoke$arity$1(pck)),cljs.core.str(")")].join('');
} else
{return null;
}
})())].join(''),new cljs.core.Keyword(null,"args","args",1016906831),(function (){var or__4884__auto__ = new cljs.core.Keyword(null,"signatureRaw","signatureRaw",3837738946).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"annotation","annotation",3753828001).cljs$core$IFn$_invoke$arity$1(target));if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = new cljs.core.Keyword(null,"signatureRaw","signatureRaw",3837738946).cljs$core$IFn$_invoke$arity$1(target);if(cljs.core.truth_(or__4884__auto____$1))
{return or__4884__auto____$1;
} else
{return new cljs.core.Keyword(null,"paramsRaw","paramsRaw",2968749108).cljs$core$IFn$_invoke$arity$1(target);
}
}
})(),new cljs.core.Keyword(null,"doc","doc",1014003882),(function (){var temp__4092__auto____$1 = new cljs.core.Keyword(null,"doc","doc",1014003882).cljs$core$IFn$_invoke$arity$1(target);if(cljs.core.truth_(temp__4092__auto____$1))
{var doc = temp__4092__auto____$1;return doc.trim();
} else
{return null;
}
})(),new cljs.core.Keyword(null,"loc","loc",1014011570),pos], null));
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-doc","lt.plugins.elm-light/elm-doc",3124390860),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_doc,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"editor.elm.doc","editor.elm.doc",1570413537),null], null), null));
lt.plugins.elm_light.__BEH__elm_parse_editor_on_change = (function __BEH__elm_parse_editor_on_change(ed){return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.parse.editor","elm.parse.editor",2241470658));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-parse-editor-on-change","lt.plugins.elm-light/elm-parse-editor-on-change",1092931718),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_parse_editor_on_change,new cljs.core.Keyword(null,"desc","desc",1016984067),"Parse a connected elm editor on content change",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"change","change",3947235106),null], null), null),new cljs.core.Keyword(null,"debounce","debounce",1556599227),300);
lt.plugins.elm_light.__BEH__elm_parse_editor = (function __BEH__elm_parse_editor(ed){if(!(lt.plugins.elm_light.utils.str_contains.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed))),"elm-stuff")))
{var client = lt.plugins.elm_light.clients.get_eval_client_if_connected.call(null,ed,new cljs.core.Keyword(null,"editor.elm.ast.parsetext","editor.elm.ast.parsetext",1992138717));var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));if(cljs.core.truth_((function (){var and__4872__auto__ = client;if(cljs.core.truth_(and__4872__auto__))
{return (cljs.core._EQ_.call(null,lt.objs.editor.pool.last_active.call(null),ed)) && (!(lt.plugins.elm_light.utils.str_contains.call(null,path,"elm-stuff")));
} else
{return and__4872__auto__;
}
})()))
{return lt.objs.clients.send.call(null,client,new cljs.core.Keyword(null,"editor.elm.ast.parsetext","editor.elm.ast.parsetext",1992138717),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"code","code",1016963423),lt.objs.editor.__GT_val.call(null,ed)], null),new cljs.core.Keyword(null,"only","only",1017320222),ed);
} else
{return null;
}
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-parse-editor","lt.plugins.elm-light/elm-parse-editor",583860183),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_parse_editor,new cljs.core.Keyword(null,"desc","desc",1016984067),"Initiate parsing of the content/elm code of the given editor",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"focus","focus",1111509066),null,new cljs.core.Keyword(null,"project-connected","project-connected",3474311367),null,new cljs.core.Keyword(null,"elm.parse.editor","elm.parse.editor",2241470658),null], null), null));
lt.plugins.elm_light.__BEH__elm_editor_disconnected = (function __BEH__elm_editor_disconnected(ed){lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"clear-linter-results!","clear-linter-results!",4528495642));
lt.object.update_BANG_.call(null,ed,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ast-status","ast-status",2421112079)], null),cljs.core.assoc,new cljs.core.Keyword(null,"status","status",4416389988),null,new cljs.core.Keyword(null,"error","error",1110689146),null);
lt.plugins.elm_light.elm_ast.update_status_for_editor.call(null,ed);
return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.gutter.exposeds.mark","elm.gutter.exposeds.mark",3035248815));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-editor-disconnected","lt.plugins.elm-light/elm-editor-disconnected",3526187369),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_editor_disconnected,new cljs.core.Keyword(null,"desc","desc",1016984067),"Clean up state when project connection for an editor has been disconnected",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"project-disconnected","project-disconnected",2085293025),null], null), null));
lt.plugins.elm_light.__BEH__elm_parse_editor_result = (function __BEH__elm_parse_editor_result(ed,res){var temp__4090__auto___6807 = new cljs.core.Keyword(null,"error","error",1110689146).cljs$core$IFn$_invoke$arity$1(res);if(cljs.core.truth_(temp__4090__auto___6807))
{var error_6808 = temp__4090__auto___6807;lt.object.update_BANG_.call(null,ed,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ast-status","ast-status",2421112079)], null),cljs.core.assoc,new cljs.core.Keyword(null,"status","status",4416389988),new cljs.core.Keyword(null,"error","error",1110689146),new cljs.core.Keyword(null,"error","error",1110689146),error_6808);
lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.gutter.refresh","elm.gutter.refresh",722016962));
} else
{var path_6809 = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));lt.object.update_BANG_.call(null,ed,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ast-status","ast-status",2421112079)], null),cljs.core.assoc,new cljs.core.Keyword(null,"status","status",4416389988),new cljs.core.Keyword(null,"ok","ok",1013907790),new cljs.core.Keyword(null,"error","error",1110689146),null);
lt.plugins.elm_light.elm_ast.upsert_ast_BANG_.call(null,new cljs.core.Keyword(null,"dir","dir",1014003711).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.get_editor_client.call(null,ed))),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"file","file",1017047278),path_6809,new cljs.core.Keyword(null,"ast","ast",1014001140),new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(res)], null));
lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.gutter.exposeds.mark","elm.gutter.exposeds.mark",3035248815));
}
return lt.plugins.elm_light.elm_ast.update_status_for_editor.call(null,ed);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-parse-editor-result","lt.plugins.elm-light/elm-parse-editor-result",3556794401),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_parse_editor_result,new cljs.core.Keyword(null,"desc","desc",1016984067),"Handle parse results for a parsed editors content",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"editor.elm.ast.parsetext.result","editor.elm.ast.parsetext.result",1834022514),null], null), null));
lt.plugins.elm_light.cm_pos__GT_pos = (function cm_pos__GT_pos(cm_pos){return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"ch","ch",1013907415),cm_pos.ch,new cljs.core.Keyword(null,"line","line",1017226086),cm_pos.line], null);
});
lt.plugins.elm_light.safe_move_cursor = (function safe_move_cursor(ed,bm,pos){var temp__4090__auto__ = bm.find();if(cljs.core.truth_(temp__4090__auto__))
{var bm_pos = temp__4090__auto__;return lt.objs.editor.move_cursor.call(null,ed,lt.plugins.elm_light.cm_pos__GT_pos.call(null,bm_pos));
} else
{return lt.objs.editor.move_cursor.call(null,ed,pos);
}
});
lt.plugins.elm_light.__BEH__elm_expose_top_level = (function __BEH__elm_expose_top_level(ed){var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));var prj_path = lt.plugins.elm_light.utils.project_path.call(null,path);var module = lt.plugins.elm_light.elm_ast.get_module_ast.call(null,prj_path,path);var exposing = new cljs.core.Keyword(null,"exposing","exposing",3382854387).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"moduleDeclaration","moduleDeclaration",1240624864).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(module)));if(cljs.core.truth_(exposing))
{var temp__4092__auto__ = lt.plugins.elm_light.elm_ast.find_top_level_declaration_by_pos.call(null,lt.objs.editor.__GT_cursor.call(null,ed),module);if(cljs.core.truth_(temp__4092__auto__))
{var decl = temp__4092__auto__;if(lt.plugins.elm_light.elm_ast.exposed_by_module_QMARK_.call(null,module,new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(decl)))
{return null;
} else
{var map__6773 = lt.plugins.elm_light.elm_ast.__GT_range.call(null,new cljs.core.Keyword(null,"location","location",2914947879).cljs$core$IFn$_invoke$arity$1(exposing));var map__6773__$1 = ((cljs.core.seq_QMARK_.call(null,map__6773))?cljs.core.apply.call(null,cljs.core.hash_map,map__6773):map__6773);var end = cljs.core.get.call(null,map__6773__$1,new cljs.core.Keyword(null,"end","end",1014004813));var start = cljs.core.get.call(null,map__6773__$1,new cljs.core.Keyword(null,"start","start",1123661780));var upd_exp = lt.plugins.elm_light.elm_ast.expose_decl.call(null,decl,exposing);var pos = lt.objs.editor.__GT_cursor.call(null,ed);var bm = lt.objs.editor.bookmark.call(null,ed,pos);lt.objs.editor.replace.call(null,ed,start,end,lt.plugins.elm_light.elm_ast.print_exposing.call(null,upd_exp));
return lt.plugins.elm_light.safe_move_cursor.call(null,ed,bm,pos);
}
} else
{return null;
}
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-expose-top-level","lt.plugins.elm-light/elm-expose-top-level",2519767763),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_expose_top_level,new cljs.core.Keyword(null,"desc","desc",1016984067),"Behavior to expose top level Elm declaration",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.expose.top.level","elm.expose.top.level",3091507131),null], null), null));
lt.plugins.elm_light.__BEH__elm_unexpose_top_level = (function __BEH__elm_unexpose_top_level(ed){var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));var prj_path = lt.plugins.elm_light.utils.project_path.call(null,path);var module = lt.plugins.elm_light.elm_ast.get_module_ast.call(null,prj_path,path);var exposing = new cljs.core.Keyword(null,"exposing","exposing",3382854387).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"moduleDeclaration","moduleDeclaration",1240624864).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(module)));if(cljs.core.truth_(exposing))
{var temp__4092__auto__ = lt.plugins.elm_light.elm_ast.find_top_level_declaration_by_pos.call(null,lt.objs.editor.__GT_cursor.call(null,ed),module);if(cljs.core.truth_(temp__4092__auto__))
{var decl = temp__4092__auto__;if((lt.plugins.elm_light.elm_ast.exposed_by_module_QMARK_.call(null,module,new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(decl))) && (!(lt.plugins.elm_light.elm_ast.exposeAll_QMARK_.call(null,exposing))))
{var map__6775 = lt.plugins.elm_light.elm_ast.__GT_range.call(null,new cljs.core.Keyword(null,"location","location",2914947879).cljs$core$IFn$_invoke$arity$1(exposing));var map__6775__$1 = ((cljs.core.seq_QMARK_.call(null,map__6775))?cljs.core.apply.call(null,cljs.core.hash_map,map__6775):map__6775);var end = cljs.core.get.call(null,map__6775__$1,new cljs.core.Keyword(null,"end","end",1014004813));var start = cljs.core.get.call(null,map__6775__$1,new cljs.core.Keyword(null,"start","start",1123661780));var upd_exp = lt.plugins.elm_light.elm_ast.unexpose_decl.call(null,decl,exposing);var pos = lt.objs.editor.__GT_cursor.call(null,ed);var bm = lt.objs.editor.bookmark.call(null,ed,pos);lt.objs.editor.replace.call(null,ed,start,end,lt.plugins.elm_light.elm_ast.print_exposing.call(null,upd_exp));
return lt.plugins.elm_light.safe_move_cursor.call(null,ed,bm,pos);
} else
{return null;
}
} else
{return null;
}
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-unexpose-top-level","lt.plugins.elm-light/elm-unexpose-top-level",4048820218),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_unexpose_top_level,new cljs.core.Keyword(null,"desc","desc",1016984067),"Behavior to unexpose top level Elm declaration",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.unexpose.top.level","elm.unexpose.top.level",3630199380),null], null), null));
lt.plugins.elm_light.__BEH__elm_sort_imports = (function __BEH__elm_sort_imports(ed){var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));var prj_path = lt.plugins.elm_light.utils.project_path.call(null,path);var module = lt.plugins.elm_light.elm_ast.get_module_ast.call(null,prj_path,path);var imports = new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(module)));var location = new cljs.core.Keyword(null,"location","location",2914947879).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(module)));if(cljs.core.seq.call(null,imports))
{var map__6777 = lt.plugins.elm_light.elm_ast.__GT_range.call(null,location);var map__6777__$1 = ((cljs.core.seq_QMARK_.call(null,map__6777))?cljs.core.apply.call(null,cljs.core.hash_map,map__6777):map__6777);var end = cljs.core.get.call(null,map__6777__$1,new cljs.core.Keyword(null,"end","end",1014004813));var start = cljs.core.get.call(null,map__6777__$1,new cljs.core.Keyword(null,"start","start",1123661780));var pos = lt.objs.editor.__GT_cursor.call(null,ed);var bm = lt.objs.editor.bookmark.call(null,ed,lt.objs.editor.__GT_cursor.call(null,ed));lt.objs.editor.replace.call(null,ed,start,end,lt.plugins.elm_light.elm_ast.print_imports.call(null,cljs.core.partial.call(null,lt.plugins.elm_light.elm_ast.sort_imports_default,prj_path),imports));
return lt.plugins.elm_light.safe_move_cursor.call(null,ed,bm,pos);
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-sort-imports","lt.plugins.elm-light/elm-sort-imports",2846847583),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_sort_imports,new cljs.core.Keyword(null,"desc","desc",1016984067),"Behavior to sort import declarations for given Elm editor",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.sort.imports","elm.sort.imports",1131863256),null], null), null));
lt.plugins.elm_light.__BEH__elm_autoimport_module_selected = (function __BEH__elm_autoimport_module_selected(ed,item){var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));var prj_path = lt.plugins.elm_light.utils.project_path.call(null,path);var pos = lt.objs.editor.__GT_cursor.call(null,ed);var bm = lt.objs.editor.bookmark.call(null,ed,pos);var token = lt.plugins.elm_light.utils.find_symbol.call(null,ed,pos);var aliaz = cljs.core.first.call(null,clojure.string.split.call(null,token,/\./));var module = lt.plugins.elm_light.elm_ast.get_module_ast.call(null,prj_path,path);var imports = new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(module)));var map__6779 = lt.plugins.elm_light.elm_ast.__GT_range.call(null,new cljs.core.Keyword(null,"location","location",2914947879).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(module))));var map__6779__$1 = ((cljs.core.seq_QMARK_.call(null,map__6779))?cljs.core.apply.call(null,cljs.core.hash_map,map__6779):map__6779);var end = cljs.core.get.call(null,map__6779__$1,new cljs.core.Keyword(null,"end","end",1014004813));var start = cljs.core.get.call(null,map__6779__$1,new cljs.core.Keyword(null,"start","start",1123661780));var upd_imports = lt.plugins.elm_light.elm_ast.upsert_imports.call(null,new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(item),aliaz,imports);lt.objs.editor.replace.call(null,ed,start,end,lt.plugins.elm_light.elm_ast.print_imports.call(null,cljs.core.partial.call(null,lt.plugins.elm_light.elm_ast.sort_imports_default,prj_path),upd_imports));
lt.plugins.elm_light.safe_move_cursor.call(null,ed,bm,pos);
return lt.objs.editor.focus.call(null,ed);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-autoimport-module-selected","lt.plugins.elm-light/elm-autoimport-module-selected",1551172531),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_autoimport_module_selected,new cljs.core.Keyword(null,"desc","desc",1016984067),"Behaviour triggered when user selects a module in select for autoimport suggestions",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.autoimport.module.selected","elm.autoimport.module.selected",3875550653),null], null), null));
lt.plugins.elm_light.__BEH__elm_autoimport_module_init = (function __BEH__elm_autoimport_module_init(ed){var path = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));var pos = lt.objs.editor.__GT_cursor.call(null,ed);var token = lt.plugins.elm_light.utils.find_symbol.call(null,ed,pos);var token_parts = (cljs.core.truth_(token)?clojure.string.split.call(null,token,/\./):cljs.core.PersistentVector.EMPTY);if(cljs.core.truth_((function (){var and__4872__auto__ = cljs.core._EQ_.call(null,2,cljs.core.count.call(null,token_parts));if(and__4872__auto__)
{return cljs.core.re_find.call(null,/[A-Z].*/,cljs.core.first.call(null,token_parts));
} else
{return and__4872__auto__;
}
})()))
{var candidates = cljs.core.map.call(null,((function (path,pos,token,token_parts){
return (function (p1__6780_SHARP_){return cljs.core.assoc.call(null,p1__6780_SHARP_,new cljs.core.Keyword(null,"label","label",1116631654),[cljs.core.str(new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(p1__6780_SHARP_)),cljs.core.str((function (){var temp__4092__auto__ = new cljs.core.Keyword(null,"package","package",4501809080).cljs$core$IFn$_invoke$arity$1(p1__6780_SHARP_);if(cljs.core.truth_(temp__4092__auto__))
{var pck = temp__4092__auto__;return [cljs.core.str(" ("),cljs.core.str(new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(pck)),cljs.core.str(")")].join('');
} else
{return null;
}
})())].join(''));
});})(path,pos,token,token_parts))
,lt.plugins.elm_light.elm_ast.get_autoimport_candidates.call(null,cljs.core.first.call(null,token_parts),cljs.core.second.call(null,token_parts),path,lt.plugins.elm_light.utils.project_path.call(null,path)));if(cljs.core._EQ_.call(null,1,cljs.core.count.call(null,candidates)))
{return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.autoimport.module.selected","elm.autoimport.module.selected",3875550653),cljs.core.first.call(null,candidates));
} else
{if((0 < cljs.core.count.call(null,candidates)))
{return lt.plugins.elm_light.widgets.selector.make.call(null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"ed","ed",1013907473),ed,new cljs.core.Keyword(null,"pos","pos",1014015430),pos,new cljs.core.Keyword(null,"behavior","behavior",2524816836),new cljs.core.Keyword(null,"elm.autoimport.module.selected","elm.autoimport.module.selected",3875550653),new cljs.core.Keyword(null,"items","items",1114430258),candidates], null));
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return null;
} else
{return null;
}
}
}
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light","elm-autoimport-module-init","lt.plugins.elm-light/elm-autoimport-module-init",1053455558),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.__BEH__elm_autoimport_module_init,new cljs.core.Keyword(null,"desc","desc",1016984067),"Behaviour triggered when user tries to autoimport module for an aliased declaration",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.autoimport.module.init","elm.autoimport.module.init",2552692786),null], null), null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.reload.ast","elm.reload.ast",3046520423),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Load/Reload project AST",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.reload-ast","elm.reload-ast",3046490632));
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.lint","elm.lint",1176619965),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Lint selected file",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"lint","lint",1017226101),new cljs.core.Keyword(null,"elm.lint.res","elm.lint.res",4381822959));
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.make","elm.make",1176641960),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Make selected file",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.make","elm.make",1176641960));
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.make-project","elm.make-project",2779298292),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Make current project",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.make-project","elm.make-project",2779298292));
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.browse","elm.browse",2486947908),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: View current elm file in browser (elm-reactor)",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.browse","elm.browse",2486947908),false);
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.restart-repl","elm.restart-repl",4116096039),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Restart repl for current project",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.repl.restart","elm.repl.restart",2931654218));
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.expose-top-level","elm.expose-top-level",3259391485),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Expose top level definition",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.expose.top.level","elm.expose.top.level",3091507131));
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.unexpose-top-level","elm.unexpose-top-level",3798083734),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Un-expose top level definition",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.unexpose.top.level","elm.unexpose.top.level",3630199380));
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.autoimport.module","elm.autoimport.module",2749496240),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Autoimport module",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.autoimport.module.init","elm.autoimport.module.init",2552692786));
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.sort.imports","elm.sort.imports",1131863256),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Sort imports",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.sort.imports","elm.sort.imports",1131863256));
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.help","elm.help",1176496891),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Help !",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;var b = lt.objs.browser.add.call(null);return lt.object.raise.call(null,b,new cljs.core.Keyword(null,"navigate!","navigate!",1766726722),"https://rundis.gitbooks.io/elm-light-guide/content/");
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.select.top.level","elm.select.top.level",3366757107),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Select top level expression from current cursor position",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;var temp__4092__auto____$1 = lt.plugins.elm_light.selection.get_top_level_expr.call(null,ed,lt.objs.editor.__GT_cursor.call(null,ed));if(cljs.core.truth_(temp__4092__auto____$1))
{var rng = temp__4092__auto____$1;return lt.objs.editor.set_selection.call(null,ed,new cljs.core.Keyword(null,"from","from",1017056028).cljs$core$IFn$_invoke$arity$1(rng),new cljs.core.Keyword(null,"to","to",1013907949).cljs$core$IFn$_invoke$arity$1(rng));
} else
{return null;
}
} else
{return null;
}
})], null));
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.module-graph')) {
goog.provide('lt.plugins.elm_light.module_graph');
goog.require('cljs.core');
goog.require('clojure.set');
goog.require('lt.objs.files');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.util.js');
goog.require('lt.util.dom');
goog.require('lt.objs.tabs');
goog.require('clojure.string');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.objs.notifos');
goog.require('lt.objs.notifos');
goog.require('lt.util.dom');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
goog.require('lt.objs.files');
goog.require('clojure.string');
goog.require('lt.plugins.elm_light.elm_ast');
goog.require('lt.object');
goog.require('lt.object');
goog.require('clojure.set');
goog.require('lt.objs.console');
goog.require('lt.objs.tabs');
goog.require('lt.objs.console');
goog.require('lt.plugins.elm_light.elm_ast');
goog.require('lt.objs.editor.pool');
goog.require('lt.util.js');
goog.require('lt.objs.command');
lt.plugins.elm_light.module_graph.dagreD3 = require(lt.objs.files.join.call(null,lt.plugins.elm_light.utils.elm_plugin_dir,"node_modules/dagre-d3"));
lt.plugins.elm_light.module_graph.d3 = require(lt.objs.files.join.call(null,lt.plugins.elm_light.utils.elm_plugin_dir,"node_modules/d3"));
lt.plugins.elm_light.module_graph.module_graph_ui = (function module_graph_ui(this$){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.graph","div.graph",2030351651),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.filters","div.filters",1727400720),"Add filters here !"], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.module-graph","div.module-graph",913393756),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"svg:svg","svg:svg",3472817088),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"width","width",1127031096),"650",new cljs.core.Keyword(null,"height","height",4087841945),"680"], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"svg:g","svg:g",1123725379),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"transform","transform",2066570974),"translate(20,20)"], null)], null)], null)], null)], null));var seq__19299_19425 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__19300_19426 = null;var count__19301_19427 = 0;var i__19302_19428 = 0;while(true){
if((i__19302_19428 < count__19301_19427))
{var vec__19303_19429 = cljs.core._nth.call(null,chunk__19300_19426,i__19302_19428);var ev__6318__auto___19430 = cljs.core.nth.call(null,vec__19303_19429,0,null);var func__6319__auto___19431 = cljs.core.nth.call(null,vec__19303_19429,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19430,func__6319__auto___19431);
{
var G__19432 = seq__19299_19425;
var G__19433 = chunk__19300_19426;
var G__19434 = count__19301_19427;
var G__19435 = (i__19302_19428 + 1);
seq__19299_19425 = G__19432;
chunk__19300_19426 = G__19433;
count__19301_19427 = G__19434;
i__19302_19428 = G__19435;
continue;
}
} else
{var temp__4092__auto___19436 = cljs.core.seq.call(null,seq__19299_19425);if(temp__4092__auto___19436)
{var seq__19299_19437__$1 = temp__4092__auto___19436;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19299_19437__$1))
{var c__5632__auto___19438 = cljs.core.chunk_first.call(null,seq__19299_19437__$1);{
var G__19439 = cljs.core.chunk_rest.call(null,seq__19299_19437__$1);
var G__19440 = c__5632__auto___19438;
var G__19441 = cljs.core.count.call(null,c__5632__auto___19438);
var G__19442 = 0;
seq__19299_19425 = G__19439;
chunk__19300_19426 = G__19440;
count__19301_19427 = G__19441;
i__19302_19428 = G__19442;
continue;
}
} else
{var vec__19304_19443 = cljs.core.first.call(null,seq__19299_19437__$1);var ev__6318__auto___19444 = cljs.core.nth.call(null,vec__19304_19443,0,null);var func__6319__auto___19445 = cljs.core.nth.call(null,vec__19304_19443,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19444,func__6319__auto___19445);
{
var G__19446 = cljs.core.next.call(null,seq__19299_19437__$1);
var G__19447 = null;
var G__19448 = 0;
var G__19449 = 0;
seq__19299_19425 = G__19446;
chunk__19300_19426 = G__19447;
count__19301_19427 = G__19448;
i__19302_19428 = G__19449;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.module_graph.exposeds_filter_ui = (function exposeds_filter_ui(this$){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span.filter.checkbox","span.filter.checkbox",4381384263),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"label","label",1116631654),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"input","input",1114262332),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"type","type",1017479852),"checkbox"], null)], null),"Show module exposeds"], null)], null));var seq__19311_19450 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"change","change",3947235106),((function (e__6317__auto__){
return (function (ev){return lt.plugins.elm_light.module_graph.toggle_exposeds_filter_BANG_.call(null,this$,ev.target.checked);
});})(e__6317__auto__))
], null)));var chunk__19312_19451 = null;var count__19313_19452 = 0;var i__19314_19453 = 0;while(true){
if((i__19314_19453 < count__19313_19452))
{var vec__19315_19454 = cljs.core._nth.call(null,chunk__19312_19451,i__19314_19453);var ev__6318__auto___19455 = cljs.core.nth.call(null,vec__19315_19454,0,null);var func__6319__auto___19456 = cljs.core.nth.call(null,vec__19315_19454,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19455,func__6319__auto___19456);
{
var G__19457 = seq__19311_19450;
var G__19458 = chunk__19312_19451;
var G__19459 = count__19313_19452;
var G__19460 = (i__19314_19453 + 1);
seq__19311_19450 = G__19457;
chunk__19312_19451 = G__19458;
count__19313_19452 = G__19459;
i__19314_19453 = G__19460;
continue;
}
} else
{var temp__4092__auto___19461 = cljs.core.seq.call(null,seq__19311_19450);if(temp__4092__auto___19461)
{var seq__19311_19462__$1 = temp__4092__auto___19461;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19311_19462__$1))
{var c__5632__auto___19463 = cljs.core.chunk_first.call(null,seq__19311_19462__$1);{
var G__19464 = cljs.core.chunk_rest.call(null,seq__19311_19462__$1);
var G__19465 = c__5632__auto___19463;
var G__19466 = cljs.core.count.call(null,c__5632__auto___19463);
var G__19467 = 0;
seq__19311_19450 = G__19464;
chunk__19312_19451 = G__19465;
count__19313_19452 = G__19466;
i__19314_19453 = G__19467;
continue;
}
} else
{var vec__19316_19468 = cljs.core.first.call(null,seq__19311_19462__$1);var ev__6318__auto___19469 = cljs.core.nth.call(null,vec__19316_19468,0,null);var func__6319__auto___19470 = cljs.core.nth.call(null,vec__19316_19468,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19469,func__6319__auto___19470);
{
var G__19471 = cljs.core.next.call(null,seq__19311_19462__$1);
var G__19472 = null;
var G__19473 = 0;
var G__19474 = 0;
seq__19311_19450 = G__19471;
chunk__19312_19451 = G__19472;
count__19313_19452 = G__19473;
i__19314_19453 = G__19474;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.module_graph.module_filter_option_ui = (function module_filter_option_ui(this$,module){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"option","option",4298734567),new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(module)], null));var seq__19323_19475 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__19324_19476 = null;var count__19325_19477 = 0;var i__19326_19478 = 0;while(true){
if((i__19326_19478 < count__19325_19477))
{var vec__19327_19479 = cljs.core._nth.call(null,chunk__19324_19476,i__19326_19478);var ev__6318__auto___19480 = cljs.core.nth.call(null,vec__19327_19479,0,null);var func__6319__auto___19481 = cljs.core.nth.call(null,vec__19327_19479,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19480,func__6319__auto___19481);
{
var G__19482 = seq__19323_19475;
var G__19483 = chunk__19324_19476;
var G__19484 = count__19325_19477;
var G__19485 = (i__19326_19478 + 1);
seq__19323_19475 = G__19482;
chunk__19324_19476 = G__19483;
count__19325_19477 = G__19484;
i__19326_19478 = G__19485;
continue;
}
} else
{var temp__4092__auto___19486 = cljs.core.seq.call(null,seq__19323_19475);if(temp__4092__auto___19486)
{var seq__19323_19487__$1 = temp__4092__auto___19486;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19323_19487__$1))
{var c__5632__auto___19488 = cljs.core.chunk_first.call(null,seq__19323_19487__$1);{
var G__19489 = cljs.core.chunk_rest.call(null,seq__19323_19487__$1);
var G__19490 = c__5632__auto___19488;
var G__19491 = cljs.core.count.call(null,c__5632__auto___19488);
var G__19492 = 0;
seq__19323_19475 = G__19489;
chunk__19324_19476 = G__19490;
count__19325_19477 = G__19491;
i__19326_19478 = G__19492;
continue;
}
} else
{var vec__19328_19493 = cljs.core.first.call(null,seq__19323_19487__$1);var ev__6318__auto___19494 = cljs.core.nth.call(null,vec__19328_19493,0,null);var func__6319__auto___19495 = cljs.core.nth.call(null,vec__19328_19493,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19494,func__6319__auto___19495);
{
var G__19496 = cljs.core.next.call(null,seq__19323_19487__$1);
var G__19497 = null;
var G__19498 = 0;
var G__19499 = 0;
seq__19323_19475 = G__19496;
chunk__19324_19476 = G__19497;
count__19325_19477 = G__19498;
i__19326_19478 = G__19499;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.module_graph.module_filter_ui = (function module_filter_ui(this$,modules){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span.filter","span.filter",4385375758),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"label","label",1116631654),"Module: "], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"select","select",4402849902),cljs.core.map.call(null,cljs.core.partial.call(null,lt.plugins.elm_light.module_graph.module_filter_option_ui,this$),cljs.core.cons.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"name","name",1017277949),""], null),modules))], null)], null));var seq__19335_19500 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"change","change",3947235106),((function (e__6317__auto__){
return (function (ev){return lt.plugins.elm_light.module_graph.set_module_filter_BANG_.call(null,this$,ev.target.value);
});})(e__6317__auto__))
], null)));var chunk__19336_19501 = null;var count__19337_19502 = 0;var i__19338_19503 = 0;while(true){
if((i__19338_19503 < count__19337_19502))
{var vec__19339_19504 = cljs.core._nth.call(null,chunk__19336_19501,i__19338_19503);var ev__6318__auto___19505 = cljs.core.nth.call(null,vec__19339_19504,0,null);var func__6319__auto___19506 = cljs.core.nth.call(null,vec__19339_19504,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19505,func__6319__auto___19506);
{
var G__19507 = seq__19335_19500;
var G__19508 = chunk__19336_19501;
var G__19509 = count__19337_19502;
var G__19510 = (i__19338_19503 + 1);
seq__19335_19500 = G__19507;
chunk__19336_19501 = G__19508;
count__19337_19502 = G__19509;
i__19338_19503 = G__19510;
continue;
}
} else
{var temp__4092__auto___19511 = cljs.core.seq.call(null,seq__19335_19500);if(temp__4092__auto___19511)
{var seq__19335_19512__$1 = temp__4092__auto___19511;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19335_19512__$1))
{var c__5632__auto___19513 = cljs.core.chunk_first.call(null,seq__19335_19512__$1);{
var G__19514 = cljs.core.chunk_rest.call(null,seq__19335_19512__$1);
var G__19515 = c__5632__auto___19513;
var G__19516 = cljs.core.count.call(null,c__5632__auto___19513);
var G__19517 = 0;
seq__19335_19500 = G__19514;
chunk__19336_19501 = G__19515;
count__19337_19502 = G__19516;
i__19338_19503 = G__19517;
continue;
}
} else
{var vec__19340_19518 = cljs.core.first.call(null,seq__19335_19512__$1);var ev__6318__auto___19519 = cljs.core.nth.call(null,vec__19340_19518,0,null);var func__6319__auto___19520 = cljs.core.nth.call(null,vec__19340_19518,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19519,func__6319__auto___19520);
{
var G__19521 = cljs.core.next.call(null,seq__19335_19512__$1);
var G__19522 = null;
var G__19523 = 0;
var G__19524 = 0;
seq__19335_19500 = G__19521;
chunk__19336_19501 = G__19522;
count__19337_19502 = G__19523;
i__19338_19503 = G__19524;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.module_graph.group_filter_option_ui = (function group_filter_option_ui(this$,group){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"option","option",4298734567),new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(group)], null));var seq__19347_19525 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__19348_19526 = null;var count__19349_19527 = 0;var i__19350_19528 = 0;while(true){
if((i__19350_19528 < count__19349_19527))
{var vec__19351_19529 = cljs.core._nth.call(null,chunk__19348_19526,i__19350_19528);var ev__6318__auto___19530 = cljs.core.nth.call(null,vec__19351_19529,0,null);var func__6319__auto___19531 = cljs.core.nth.call(null,vec__19351_19529,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19530,func__6319__auto___19531);
{
var G__19532 = seq__19347_19525;
var G__19533 = chunk__19348_19526;
var G__19534 = count__19349_19527;
var G__19535 = (i__19350_19528 + 1);
seq__19347_19525 = G__19532;
chunk__19348_19526 = G__19533;
count__19349_19527 = G__19534;
i__19350_19528 = G__19535;
continue;
}
} else
{var temp__4092__auto___19536 = cljs.core.seq.call(null,seq__19347_19525);if(temp__4092__auto___19536)
{var seq__19347_19537__$1 = temp__4092__auto___19536;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19347_19537__$1))
{var c__5632__auto___19538 = cljs.core.chunk_first.call(null,seq__19347_19537__$1);{
var G__19539 = cljs.core.chunk_rest.call(null,seq__19347_19537__$1);
var G__19540 = c__5632__auto___19538;
var G__19541 = cljs.core.count.call(null,c__5632__auto___19538);
var G__19542 = 0;
seq__19347_19525 = G__19539;
chunk__19348_19526 = G__19540;
count__19349_19527 = G__19541;
i__19350_19528 = G__19542;
continue;
}
} else
{var vec__19352_19543 = cljs.core.first.call(null,seq__19347_19537__$1);var ev__6318__auto___19544 = cljs.core.nth.call(null,vec__19352_19543,0,null);var func__6319__auto___19545 = cljs.core.nth.call(null,vec__19352_19543,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19544,func__6319__auto___19545);
{
var G__19546 = cljs.core.next.call(null,seq__19347_19537__$1);
var G__19547 = null;
var G__19548 = 0;
var G__19549 = 0;
seq__19347_19525 = G__19546;
chunk__19348_19526 = G__19547;
count__19349_19527 = G__19548;
i__19350_19528 = G__19549;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.module_graph.group_filter_ui = (function group_filter_ui(this$,groups){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span.filter","span.filter",4385375758),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"label","label",1116631654),"Group: "], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"select","select",4402849902),cljs.core.map.call(null,cljs.core.partial.call(null,lt.plugins.elm_light.module_graph.group_filter_option_ui,this$),cljs.core.cons.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"name","name",1017277949),""], null),groups))], null)], null));var seq__19359_19550 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"change","change",3947235106),((function (e__6317__auto__){
return (function (ev){return lt.plugins.elm_light.module_graph.set_group_filter_BANG_.call(null,this$,ev.target.value);
});})(e__6317__auto__))
], null)));var chunk__19360_19551 = null;var count__19361_19552 = 0;var i__19362_19553 = 0;while(true){
if((i__19362_19553 < count__19361_19552))
{var vec__19363_19554 = cljs.core._nth.call(null,chunk__19360_19551,i__19362_19553);var ev__6318__auto___19555 = cljs.core.nth.call(null,vec__19363_19554,0,null);var func__6319__auto___19556 = cljs.core.nth.call(null,vec__19363_19554,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19555,func__6319__auto___19556);
{
var G__19557 = seq__19359_19550;
var G__19558 = chunk__19360_19551;
var G__19559 = count__19361_19552;
var G__19560 = (i__19362_19553 + 1);
seq__19359_19550 = G__19557;
chunk__19360_19551 = G__19558;
count__19361_19552 = G__19559;
i__19362_19553 = G__19560;
continue;
}
} else
{var temp__4092__auto___19561 = cljs.core.seq.call(null,seq__19359_19550);if(temp__4092__auto___19561)
{var seq__19359_19562__$1 = temp__4092__auto___19561;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19359_19562__$1))
{var c__5632__auto___19563 = cljs.core.chunk_first.call(null,seq__19359_19562__$1);{
var G__19564 = cljs.core.chunk_rest.call(null,seq__19359_19562__$1);
var G__19565 = c__5632__auto___19563;
var G__19566 = cljs.core.count.call(null,c__5632__auto___19563);
var G__19567 = 0;
seq__19359_19550 = G__19564;
chunk__19360_19551 = G__19565;
count__19361_19552 = G__19566;
i__19362_19553 = G__19567;
continue;
}
} else
{var vec__19364_19568 = cljs.core.first.call(null,seq__19359_19562__$1);var ev__6318__auto___19569 = cljs.core.nth.call(null,vec__19364_19568,0,null);var func__6319__auto___19570 = cljs.core.nth.call(null,vec__19364_19568,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19569,func__6319__auto___19570);
{
var G__19571 = cljs.core.next.call(null,seq__19359_19562__$1);
var G__19572 = null;
var G__19573 = 0;
var G__19574 = 0;
seq__19359_19550 = G__19571;
chunk__19360_19551 = G__19572;
count__19361_19552 = G__19573;
i__19362_19553 = G__19574;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.module_graph.filters_ui = (function filters_ui(this$,filters){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.filters","div.filters",1727400720),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"h1","h1",1013907515),lt.objs.files.basename.call(null,new cljs.core.Keyword(null,"project-path","project-path",1907176907).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)))], null),lt.plugins.elm_light.module_graph.group_filter_ui.call(null,this$,new cljs.core.Keyword(null,"groups","groups",4071411014).cljs$core$IFn$_invoke$arity$1(filters)),lt.plugins.elm_light.module_graph.module_filter_ui.call(null,this$,new cljs.core.Keyword(null,"modules","modules",2241338105).cljs$core$IFn$_invoke$arity$1(filters)),lt.plugins.elm_light.module_graph.exposeds_filter_ui.call(null,this$)], null));var seq__19371_19575 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__19372_19576 = null;var count__19373_19577 = 0;var i__19374_19578 = 0;while(true){
if((i__19374_19578 < count__19373_19577))
{var vec__19375_19579 = cljs.core._nth.call(null,chunk__19372_19576,i__19374_19578);var ev__6318__auto___19580 = cljs.core.nth.call(null,vec__19375_19579,0,null);var func__6319__auto___19581 = cljs.core.nth.call(null,vec__19375_19579,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19580,func__6319__auto___19581);
{
var G__19582 = seq__19371_19575;
var G__19583 = chunk__19372_19576;
var G__19584 = count__19373_19577;
var G__19585 = (i__19374_19578 + 1);
seq__19371_19575 = G__19582;
chunk__19372_19576 = G__19583;
count__19373_19577 = G__19584;
i__19374_19578 = G__19585;
continue;
}
} else
{var temp__4092__auto___19586 = cljs.core.seq.call(null,seq__19371_19575);if(temp__4092__auto___19586)
{var seq__19371_19587__$1 = temp__4092__auto___19586;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19371_19587__$1))
{var c__5632__auto___19588 = cljs.core.chunk_first.call(null,seq__19371_19587__$1);{
var G__19589 = cljs.core.chunk_rest.call(null,seq__19371_19587__$1);
var G__19590 = c__5632__auto___19588;
var G__19591 = cljs.core.count.call(null,c__5632__auto___19588);
var G__19592 = 0;
seq__19371_19575 = G__19589;
chunk__19372_19576 = G__19590;
count__19373_19577 = G__19591;
i__19374_19578 = G__19592;
continue;
}
} else
{var vec__19376_19593 = cljs.core.first.call(null,seq__19371_19587__$1);var ev__6318__auto___19594 = cljs.core.nth.call(null,vec__19376_19593,0,null);var func__6319__auto___19595 = cljs.core.nth.call(null,vec__19376_19593,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___19594,func__6319__auto___19595);
{
var G__19596 = cljs.core.next.call(null,seq__19371_19587__$1);
var G__19597 = null;
var G__19598 = 0;
var G__19599 = 0;
seq__19371_19575 = G__19596;
chunk__19372_19576 = G__19597;
count__19373_19577 = G__19598;
i__19374_19578 = G__19599;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.module_graph.render_filters = (function render_filters(this$,filters){var container = lt.object.__GT_content.call(null,this$);var curr_filters = lt.util.dom.$.call(null,new cljs.core.Keyword(null,"div.filters","div.filters",1727400720),container);return lt.util.dom.replace_with.call(null,curr_filters,lt.plugins.elm_light.module_graph.filters_ui.call(null,this$,filters));
});
lt.object.object_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.module-graph","module-graph","lt.plugins.elm-light.module-graph/module-graph",2992764911),new cljs.core.Keyword(null,"tags","tags",1017456523),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"elm.graph.module","elm.graph.module",1941990086)], null),new cljs.core.Keyword(null,"name","name",1017277949),"Module graph",new cljs.core.Keyword(null,"init","init",1017141378),(function (this$){return lt.plugins.elm_light.module_graph.module_graph_ui.call(null,this$);
}));
lt.plugins.elm_light.module_graph.__BEH__on_close_destroy = (function __BEH__on_close_destroy(this$){var temp__4092__auto___19600 = new cljs.core.Keyword("lt.objs.tabs","tabset","lt.objs.tabs/tabset",3378091779).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$));if(cljs.core.truth_(temp__4092__auto___19600))
{var ts_19601 = temp__4092__auto___19600;if(cljs.core._EQ_.call(null,cljs.core.count.call(null,new cljs.core.Keyword(null,"objs","objs",1017308622).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ts_19601))),1))
{lt.objs.tabs.rem_tabset.call(null,ts_19601);
} else
{}
} else
{}
return lt.object.raise.call(null,this$,new cljs.core.Keyword(null,"destroy","destroy",2571277164));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.module-graph","on-close-destroy","lt.plugins.elm-light.module-graph/on-close-destroy",3099505529),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.module_graph.__BEH__on_close_destroy,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"close","close",1108660586),null], null), null));
lt.plugins.elm_light.module_graph.node_id = (function node_id(x){return new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(x);
});
lt.plugins.elm_light.module_graph.exposeds_html = (function exposeds_html(exposeds){return [cljs.core.str(""),cljs.core.str(clojure.string.join.call(null,cljs.core.map.call(null,(function (exp){return [cljs.core.str("- "),cljs.core.str(exp),cljs.core.str("
")].join('');
}),exposeds))),cljs.core.str("
")].join('');
});
lt.plugins.elm_light.module_graph.node_label = (function node_label(this$,x){return {"label": [cljs.core.str(""),cljs.core.str(""),cljs.core.str(new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(x)),cljs.core.str(""),cljs.core.str((cljs.core.truth_(new cljs.core.Keyword(null,"show-exposeds?","show-exposeds?",784237550).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"filters","filters",4454324077).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$))))?lt.plugins.elm_light.module_graph.exposeds_html.call(null,new cljs.core.Keyword(null,"exposeds","exposeds",3382850245).cljs$core$IFn$_invoke$arity$1(x)):null)),cljs.core.str("
")].join(''), "style": ((cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(x),new cljs.core.Keyword(null,"current-module","current-module",2268519602).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"filters","filters",4454324077).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)))))?"fill: #FFF8DC":null), "labelType": "html", "shape": (function (){var temp__4090__auto__ = new cljs.core.Keyword(null,"shape","shape",1123304211).cljs$core$IFn$_invoke$arity$1(x);if(cljs.core.truth_(temp__4090__auto__))
{var shape = temp__4090__auto__;return shape;
} else
{return "rect";
}
})()};
});
lt.plugins.elm_light.module_graph.level_styles = new cljs.core.PersistentArrayMap(null, 5, [1,"fill: #474747",2,"fill: #6D686E",3,"fill: #7E7880",4,"fill: #807A78",5,"fill: #919394"], null);
lt.plugins.elm_light.module_graph.group_label = (function group_label(x){return {"label": [cljs.core.str(""),cljs.core.str(new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(x)),cljs.core.str("
")].join(''), "clusterLabelPos": "top", "class": "level-class", "style": cljs.core.get.call(null,lt.plugins.elm_light.module_graph.level_styles,new cljs.core.Keyword(null,"level","level",1116770038).cljs$core$IFn$_invoke$arity$1(x)), "labelType": "html", "shape": (function (){var temp__4090__auto__ = new cljs.core.Keyword(null,"shape","shape",1123304211).cljs$core$IFn$_invoke$arity$1(x);if(cljs.core.truth_(temp__4090__auto__))
{var shape = temp__4090__auto__;return shape;
} else
{return "rect";
}
})()};
});
lt.plugins.elm_light.module_graph.create_graph = (function create_graph(this$,data){var g = (new lt.plugins.elm_light.module_graph.dagreD3.graphlib.Graph({"compound": true})).setGraph({});var seq__19393_19602 = cljs.core.seq.call(null,new cljs.core.Keyword(null,"groups","groups",4071411014).cljs$core$IFn$_invoke$arity$1(data));var chunk__19394_19603 = null;var count__19395_19604 = 0;var i__19396_19605 = 0;while(true){
if((i__19396_19605 < count__19395_19604))
{var x_19606 = cljs.core._nth.call(null,chunk__19394_19603,i__19396_19605);g.setNode(new cljs.core.Keyword(null,"group","group",1112533489).cljs$core$IFn$_invoke$arity$1(x_19606),lt.plugins.elm_light.module_graph.group_label.call(null,x_19606));
{
var G__19607 = seq__19393_19602;
var G__19608 = chunk__19394_19603;
var G__19609 = count__19395_19604;
var G__19610 = (i__19396_19605 + 1);
seq__19393_19602 = G__19607;
chunk__19394_19603 = G__19608;
count__19395_19604 = G__19609;
i__19396_19605 = G__19610;
continue;
}
} else
{var temp__4092__auto___19611 = cljs.core.seq.call(null,seq__19393_19602);if(temp__4092__auto___19611)
{var seq__19393_19612__$1 = temp__4092__auto___19611;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19393_19612__$1))
{var c__5632__auto___19613 = cljs.core.chunk_first.call(null,seq__19393_19612__$1);{
var G__19614 = cljs.core.chunk_rest.call(null,seq__19393_19612__$1);
var G__19615 = c__5632__auto___19613;
var G__19616 = cljs.core.count.call(null,c__5632__auto___19613);
var G__19617 = 0;
seq__19393_19602 = G__19614;
chunk__19394_19603 = G__19615;
count__19395_19604 = G__19616;
i__19396_19605 = G__19617;
continue;
}
} else
{var x_19618 = cljs.core.first.call(null,seq__19393_19612__$1);g.setNode(new cljs.core.Keyword(null,"group","group",1112533489).cljs$core$IFn$_invoke$arity$1(x_19618),lt.plugins.elm_light.module_graph.group_label.call(null,x_19618));
{
var G__19619 = cljs.core.next.call(null,seq__19393_19612__$1);
var G__19620 = null;
var G__19621 = 0;
var G__19622 = 0;
seq__19393_19602 = G__19619;
chunk__19394_19603 = G__19620;
count__19395_19604 = G__19621;
i__19396_19605 = G__19622;
continue;
}
}
} else
{}
}
break;
}
var seq__19397_19623 = cljs.core.seq.call(null,new cljs.core.Keyword(null,"nodes","nodes",1118897699).cljs$core$IFn$_invoke$arity$1(data));var chunk__19398_19624 = null;var count__19399_19625 = 0;var i__19400_19626 = 0;while(true){
if((i__19400_19626 < count__19399_19625))
{var x_19627 = cljs.core._nth.call(null,chunk__19398_19624,i__19400_19626);g.setNode(lt.plugins.elm_light.module_graph.node_id.call(null,x_19627),lt.plugins.elm_light.module_graph.node_label.call(null,this$,x_19627));
var temp__4092__auto___19628 = new cljs.core.Keyword(null,"parent","parent",4313447452).cljs$core$IFn$_invoke$arity$1(x_19627);if(cljs.core.truth_(temp__4092__auto___19628))
{var parent_19629 = temp__4092__auto___19628;g.setParent(lt.plugins.elm_light.module_graph.node_id.call(null,x_19627),parent_19629);
} else
{}
{
var G__19630 = seq__19397_19623;
var G__19631 = chunk__19398_19624;
var G__19632 = count__19399_19625;
var G__19633 = (i__19400_19626 + 1);
seq__19397_19623 = G__19630;
chunk__19398_19624 = G__19631;
count__19399_19625 = G__19632;
i__19400_19626 = G__19633;
continue;
}
} else
{var temp__4092__auto___19634 = cljs.core.seq.call(null,seq__19397_19623);if(temp__4092__auto___19634)
{var seq__19397_19635__$1 = temp__4092__auto___19634;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19397_19635__$1))
{var c__5632__auto___19636 = cljs.core.chunk_first.call(null,seq__19397_19635__$1);{
var G__19637 = cljs.core.chunk_rest.call(null,seq__19397_19635__$1);
var G__19638 = c__5632__auto___19636;
var G__19639 = cljs.core.count.call(null,c__5632__auto___19636);
var G__19640 = 0;
seq__19397_19623 = G__19637;
chunk__19398_19624 = G__19638;
count__19399_19625 = G__19639;
i__19400_19626 = G__19640;
continue;
}
} else
{var x_19641 = cljs.core.first.call(null,seq__19397_19635__$1);g.setNode(lt.plugins.elm_light.module_graph.node_id.call(null,x_19641),lt.plugins.elm_light.module_graph.node_label.call(null,this$,x_19641));
var temp__4092__auto___19642__$1 = new cljs.core.Keyword(null,"parent","parent",4313447452).cljs$core$IFn$_invoke$arity$1(x_19641);if(cljs.core.truth_(temp__4092__auto___19642__$1))
{var parent_19643 = temp__4092__auto___19642__$1;g.setParent(lt.plugins.elm_light.module_graph.node_id.call(null,x_19641),parent_19643);
} else
{}
{
var G__19644 = cljs.core.next.call(null,seq__19397_19635__$1);
var G__19645 = null;
var G__19646 = 0;
var G__19647 = 0;
seq__19397_19623 = G__19644;
chunk__19398_19624 = G__19645;
count__19399_19625 = G__19646;
i__19400_19626 = G__19647;
continue;
}
}
} else
{}
}
break;
}
var seq__19401_19648 = cljs.core.seq.call(null,cljs.core.filter.call(null,new cljs.core.Keyword(null,"parent","parent",4313447452),new cljs.core.Keyword(null,"groups","groups",4071411014).cljs$core$IFn$_invoke$arity$1(data)));var chunk__19402_19649 = null;var count__19403_19650 = 0;var i__19404_19651 = 0;while(true){
if((i__19404_19651 < count__19403_19650))
{var x_19652 = cljs.core._nth.call(null,chunk__19402_19649,i__19404_19651);g.setParent(new cljs.core.Keyword(null,"group","group",1112533489).cljs$core$IFn$_invoke$arity$1(x_19652),new cljs.core.Keyword(null,"parent","parent",4313447452).cljs$core$IFn$_invoke$arity$1(x_19652));
{
var G__19653 = seq__19401_19648;
var G__19654 = chunk__19402_19649;
var G__19655 = count__19403_19650;
var G__19656 = (i__19404_19651 + 1);
seq__19401_19648 = G__19653;
chunk__19402_19649 = G__19654;
count__19403_19650 = G__19655;
i__19404_19651 = G__19656;
continue;
}
} else
{var temp__4092__auto___19657 = cljs.core.seq.call(null,seq__19401_19648);if(temp__4092__auto___19657)
{var seq__19401_19658__$1 = temp__4092__auto___19657;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19401_19658__$1))
{var c__5632__auto___19659 = cljs.core.chunk_first.call(null,seq__19401_19658__$1);{
var G__19660 = cljs.core.chunk_rest.call(null,seq__19401_19658__$1);
var G__19661 = c__5632__auto___19659;
var G__19662 = cljs.core.count.call(null,c__5632__auto___19659);
var G__19663 = 0;
seq__19401_19648 = G__19660;
chunk__19402_19649 = G__19661;
count__19403_19650 = G__19662;
i__19404_19651 = G__19663;
continue;
}
} else
{var x_19664 = cljs.core.first.call(null,seq__19401_19658__$1);g.setParent(new cljs.core.Keyword(null,"group","group",1112533489).cljs$core$IFn$_invoke$arity$1(x_19664),new cljs.core.Keyword(null,"parent","parent",4313447452).cljs$core$IFn$_invoke$arity$1(x_19664));
{
var G__19665 = cljs.core.next.call(null,seq__19401_19658__$1);
var G__19666 = null;
var G__19667 = 0;
var G__19668 = 0;
seq__19401_19648 = G__19665;
chunk__19402_19649 = G__19666;
count__19403_19650 = G__19667;
i__19404_19651 = G__19668;
continue;
}
}
} else
{}
}
break;
}
var seq__19405_19669 = cljs.core.seq.call(null,new cljs.core.Keyword(null,"edges","edges",1110261192).cljs$core$IFn$_invoke$arity$1(data));var chunk__19406_19670 = null;var count__19407_19671 = 0;var i__19408_19672 = 0;while(true){
if((i__19408_19672 < count__19407_19671))
{var x_19673 = cljs.core._nth.call(null,chunk__19406_19670,i__19408_19672);g.setEdge(new cljs.core.Keyword(null,"a","a",1013904339).cljs$core$IFn$_invoke$arity$1(x_19673),new cljs.core.Keyword(null,"b","b",1013904340).cljs$core$IFn$_invoke$arity$1(x_19673),{"label": new cljs.core.Keyword(null,"label","label",1116631654).cljs$core$IFn$_invoke$arity$1(x_19673)});
{
var G__19674 = seq__19405_19669;
var G__19675 = chunk__19406_19670;
var G__19676 = count__19407_19671;
var G__19677 = (i__19408_19672 + 1);
seq__19405_19669 = G__19674;
chunk__19406_19670 = G__19675;
count__19407_19671 = G__19676;
i__19408_19672 = G__19677;
continue;
}
} else
{var temp__4092__auto___19678 = cljs.core.seq.call(null,seq__19405_19669);if(temp__4092__auto___19678)
{var seq__19405_19679__$1 = temp__4092__auto___19678;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19405_19679__$1))
{var c__5632__auto___19680 = cljs.core.chunk_first.call(null,seq__19405_19679__$1);{
var G__19681 = cljs.core.chunk_rest.call(null,seq__19405_19679__$1);
var G__19682 = c__5632__auto___19680;
var G__19683 = cljs.core.count.call(null,c__5632__auto___19680);
var G__19684 = 0;
seq__19405_19669 = G__19681;
chunk__19406_19670 = G__19682;
count__19407_19671 = G__19683;
i__19408_19672 = G__19684;
continue;
}
} else
{var x_19685 = cljs.core.first.call(null,seq__19405_19679__$1);g.setEdge(new cljs.core.Keyword(null,"a","a",1013904339).cljs$core$IFn$_invoke$arity$1(x_19685),new cljs.core.Keyword(null,"b","b",1013904340).cljs$core$IFn$_invoke$arity$1(x_19685),{"label": new cljs.core.Keyword(null,"label","label",1116631654).cljs$core$IFn$_invoke$arity$1(x_19685)});
{
var G__19686 = cljs.core.next.call(null,seq__19405_19679__$1);
var G__19687 = null;
var G__19688 = 0;
var G__19689 = 0;
seq__19405_19669 = G__19686;
chunk__19406_19670 = G__19687;
count__19407_19671 = G__19688;
i__19408_19672 = G__19689;
continue;
}
}
} else
{}
}
break;
}
return g;
});
lt.plugins.elm_light.module_graph.d3_sel = (function d3_sel(selector){return lt.plugins.elm_light.module_graph.d3.select(selector);
});
lt.plugins.elm_light.module_graph.dimensions = (function dimensions(this$){return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"w","w",1013904361),new cljs.core.Keyword(null,"content","content",1965434859).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)).clientWidth,new cljs.core.Keyword(null,"h","h",1013904346),new cljs.core.Keyword(null,"content","content",1965434859).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)).clientHeight], null);
});
lt.plugins.elm_light.module_graph.init_zoom = (function init_zoom(svg,g){var zoom = lt.plugins.elm_light.module_graph.d3.behavior.zoom().on("zoom",(function (){return g.attr("transform",[cljs.core.str("translate("),cljs.core.str(lt.plugins.elm_light.module_graph.d3.event.translate),cljs.core.str(")"),cljs.core.str("scale("),cljs.core.str(lt.plugins.elm_light.module_graph.d3.event.scale),cljs.core.str(")")].join(''));
}));return svg.call(zoom);
});
lt.plugins.elm_light.module_graph.resize_graph = (function resize_graph(this$,svg){var dim = lt.plugins.elm_light.module_graph.dimensions.call(null,this$);svg.attr("width",(new cljs.core.Keyword(null,"w","w",1013904361).cljs$core$IFn$_invoke$arity$1(dim) + 20));
return svg.attr("height",(new cljs.core.Keyword(null,"h","h",1013904346).cljs$core$IFn$_invoke$arity$1(dim) + 20));
});
lt.plugins.elm_light.module_graph.__BEH__on_render = (function __BEH__on_render(this$,data){var svg = lt.plugins.elm_light.module_graph.d3.select("svg");var g = svg.select("g");var renderer = lt.plugins.elm_light.module_graph.dagreD3.render();renderer.call(null,g,lt.plugins.elm_light.module_graph.create_graph.call(null,this$,data));
lt.plugins.elm_light.module_graph.init_zoom.call(null,svg,g);
return lt.util.js.wait.call(null,200,((function (svg,g,renderer){
return (function (){return lt.plugins.elm_light.module_graph.resize_graph.call(null,this$,svg);
});})(svg,g,renderer))
);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.module-graph","on-render","lt.plugins.elm-light.module-graph/on-render",3178205958),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.module_graph.__BEH__on_render,new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm render project modules",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.module-graph.render","elm.module-graph.render",3905237537),null], null), null));
lt.plugins.elm_light.module_graph.get_project_modules = (function get_project_modules(project_path){return cljs.core.remove.call(null,new cljs.core.Keyword(null,"package","package",4501809080),new cljs.core.Keyword(null,"file-asts","file-asts",3945857876).cljs$core$IFn$_invoke$arity$1(lt.plugins.elm_light.elm_ast.get_project.call(null,project_path)));
});
lt.plugins.elm_light.module_graph.get_group_names = (function get_group_names(module_names){return cljs.core.sort.call(null,cljs.core.set.call(null,cljs.core.mapcat.call(null,(function (parts){return cljs.core.reduce.call(null,(function (a,b){var group_name = [cljs.core.str(new cljs.core.Keyword(null,"name","name",1017277949).cljs$core$IFn$_invoke$arity$1(cljs.core.last.call(null,a))),cljs.core.str(((cljs.core.seq.call(null,a))?".":null)),cljs.core.str(b)].join('');return cljs.core.conj.call(null,a,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"group","group",1112533489),[cljs.core.str("g-"),cljs.core.str(group_name)].join(''),new cljs.core.Keyword(null,"name","name",1017277949),group_name,new cljs.core.Keyword(null,"level","level",1116770038),(cljs.core.count.call(null,a) + 1),new cljs.core.Keyword(null,"parent","parent",4313447452),new cljs.core.Keyword(null,"group","group",1112533489).cljs$core$IFn$_invoke$arity$1(cljs.core.last.call(null,a))], null));
}),cljs.core.PersistentVector.EMPTY,parts);
}),cljs.core.map.call(null,cljs.core.drop_last,cljs.core.filter.call(null,(function (p1__19410_SHARP_){return (1 < cljs.core.count.call(null,p1__19410_SHARP_));
}),cljs.core.map.call(null,(function (p1__19409_SHARP_){return clojure.string.split.call(null,p1__19409_SHARP_,/\./);
}),module_names))))));
});
lt.plugins.elm_light.module_graph.get_exposeds_names = (function get_exposeds_names(module){return cljs.core.map.call(null,new cljs.core.Keyword(null,"value","value",1125876963),cljs.core.remove.call(null,(function (p1__19411_SHARP_){return cljs.core._EQ_.call(null,"adtDef",new cljs.core.Keyword(null,"type","type",1017479852).cljs$core$IFn$_invoke$arity$1(p1__19411_SHARP_));
}),lt.plugins.elm_light.elm_ast.get_exposed_declarations_memo.call(null,module)));
});
lt.plugins.elm_light.module_graph.create_graph_data = (function create_graph_data(modules){var module_names = cljs.core.set.call(null,cljs.core.map.call(null,lt.plugins.elm_light.elm_ast.get_module_name,modules));return new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"groups","groups",4071411014),lt.plugins.elm_light.module_graph.get_group_names.call(null,module_names),new cljs.core.Keyword(null,"nodes","nodes",1118897699),cljs.core.map.call(null,((function (module_names){
return (function (module){var mod_name = lt.plugins.elm_light.elm_ast.get_module_name.call(null,module);return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"name","name",1017277949),lt.plugins.elm_light.elm_ast.get_module_name.call(null,module),new cljs.core.Keyword(null,"parent","parent",4313447452),(((-1 < mod_name.indexOf(".")))?[cljs.core.str("g-"),cljs.core.str(clojure.string.join.call(null,".",cljs.core.drop_last.call(null,clojure.string.split.call(null,mod_name,/\./))))].join(''):null),new cljs.core.Keyword(null,"exposeds","exposeds",3382850245),lt.plugins.elm_light.module_graph.get_exposeds_names.call(null,module),new cljs.core.Keyword(null,"file","file",1017047278),new cljs.core.Keyword(null,"file","file",1017047278).cljs$core$IFn$_invoke$arity$1(module)], null);
});})(module_names))
,modules),new cljs.core.Keyword(null,"edges","edges",1110261192),cljs.core.mapcat.call(null,((function (module_names){
return (function (module){return cljs.core.map.call(null,((function (module_names){
return (function (imp){return new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"a","a",1013904339),lt.plugins.elm_light.elm_ast.get_module_name.call(null,module),new cljs.core.Keyword(null,"b","b",1013904340),new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(imp),new cljs.core.Keyword(null,"label","label",1116631654),""], null);
});})(module_names))
,cljs.core.filter.call(null,((function (module_names){
return (function (p1__19412_SHARP_){return cljs.core.contains_QMARK_.call(null,module_names,new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__19412_SHARP_));
});})(module_names))
,new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(module)))));
});})(module_names))
,modules)], null);
});
lt.plugins.elm_light.module_graph.get_module_import_names = (function get_module_import_names(module){return cljs.core.set.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"value","value",1125876963),new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"imports","imports",2939942112).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"ast","ast",1014001140).cljs$core$IFn$_invoke$arity$1(module)))));
});
lt.plugins.elm_light.module_graph.maybe_filter_by_group = (function maybe_filter_by_group(current_group,modules){if(cljs.core.not.call(null,clojure.string.blank_QMARK_.call(null,current_group)))
{return cljs.core.filter.call(null,(function (p1__19413_SHARP_){return lt.plugins.elm_light.elm_ast.get_module_name.call(null,p1__19413_SHARP_).startsWith(current_group);
}),modules);
} else
{return modules;
}
});
lt.plugins.elm_light.module_graph.maybe_filter_by_module = (function maybe_filter_by_module(current_module,modules){if(cljs.core.not.call(null,clojure.string.blank_QMARK_.call(null,current_module)))
{var module = cljs.core.first.call(null,cljs.core.filter.call(null,(function (p1__19414_SHARP_){return cljs.core._EQ_.call(null,current_module,lt.plugins.elm_light.elm_ast.get_module_name.call(null,p1__19414_SHARP_));
}),modules));var module_import_names = lt.plugins.elm_light.module_graph.get_module_import_names.call(null,module);return cljs.core.filter.call(null,((function (module,module_import_names){
return (function (m){return (cljs.core._EQ_.call(null,module,m)) || (cljs.core.contains_QMARK_.call(null,module_import_names,lt.plugins.elm_light.elm_ast.get_module_name.call(null,m))) || (cljs.core.contains_QMARK_.call(null,lt.plugins.elm_light.module_graph.get_module_import_names.call(null,m),current_module));
});})(module,module_import_names))
,modules);
} else
{return modules;
}
});
lt.plugins.elm_light.module_graph.refresh_graph = (function refresh_graph(this$){var modules = lt.plugins.elm_light.module_graph.maybe_filter_by_module.call(null,new cljs.core.Keyword(null,"current-module","current-module",2268519602).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"filters","filters",4454324077).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$))),lt.plugins.elm_light.module_graph.maybe_filter_by_group.call(null,new cljs.core.Keyword(null,"current-group","current-group",2157313181).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"filters","filters",4454324077).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$))),lt.plugins.elm_light.module_graph.get_project_modules.call(null,new cljs.core.Keyword(null,"project-path","project-path",1907176907).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)))));return lt.object.raise.call(null,this$,new cljs.core.Keyword(null,"elm.module-graph.render","elm.module-graph.render",3905237537),lt.plugins.elm_light.module_graph.create_graph_data.call(null,modules));
});
lt.plugins.elm_light.module_graph.set_group_filter_BANG_ = (function set_group_filter_BANG_(this$,group_name){lt.object.assoc_in_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"filters","filters",4454324077),new cljs.core.Keyword(null,"current-group","current-group",2157313181)], null),group_name);
return lt.plugins.elm_light.module_graph.refresh_graph.call(null,this$);
});
lt.plugins.elm_light.module_graph.set_module_filter_BANG_ = (function set_module_filter_BANG_(this$,module_name){lt.object.assoc_in_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"filters","filters",4454324077),new cljs.core.Keyword(null,"current-module","current-module",2268519602)], null),module_name);
return lt.plugins.elm_light.module_graph.refresh_graph.call(null,this$);
});
lt.plugins.elm_light.module_graph.toggle_exposeds_filter_BANG_ = (function toggle_exposeds_filter_BANG_(this$,v){lt.object.assoc_in_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"filters","filters",4454324077),new cljs.core.Keyword(null,"show-exposeds?","show-exposeds?",784237550)], null),v);
return lt.plugins.elm_light.module_graph.refresh_graph.call(null,this$);
});
lt.plugins.elm_light.module_graph.__BEH__on_show_modules = (function __BEH__on_show_modules(this$,project_path){lt.objs.tabs.add_or_focus_BANG_.call(null,this$);
var modules = lt.plugins.elm_light.module_graph.get_project_modules.call(null,project_path);var groups = lt.plugins.elm_light.module_graph.get_group_names.call(null,cljs.core.set.call(null,cljs.core.map.call(null,lt.plugins.elm_light.elm_ast.get_module_name,modules)));lt.object.merge_BANG_.call(null,this$,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"filters","filters",4454324077),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"project-path","project-path",1907176907),project_path], null));
lt.object.raise.call(null,this$,new cljs.core.Keyword(null,"elm.module-graph.render","elm.module-graph.render",3905237537),lt.plugins.elm_light.module_graph.create_graph_data.call(null,modules));
return lt.plugins.elm_light.module_graph.render_filters.call(null,this$,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"groups","groups",4071411014),groups,new cljs.core.Keyword(null,"modules","modules",2241338105),cljs.core.map.call(null,((function (modules,groups){
return (function (module){return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"name","name",1017277949),lt.plugins.elm_light.elm_ast.get_module_name.call(null,module)], null);
});})(modules,groups))
,modules)], null));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.module-graph","on-show-modules","lt.plugins.elm-light.module-graph/on-show-modules",4191379367),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.module_graph.__BEH__on_show_modules,new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm show module graph",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.module-graph.show","elm.module-graph.show",2773368264),null], null), null));
lt.plugins.elm_light.module_graph.__BEH__on_tab_resized = (function __BEH__on_tab_resized(_){var svg = lt.plugins.elm_light.module_graph.d3.select("svg");return lt.plugins.elm_light.module_graph.resize_graph.call(null,lt.plugins.elm_light.module_graph.module_graph,svg);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.module-graph","on-tab-resized","lt.plugins.elm-light.module-graph/on-tab-resized",4489178700),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.module_graph.__BEH__on_tab_resized,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"end-drag","end-drag",2692811352),null], null), null));
lt.plugins.elm_light.module_graph.__BEH__on_move = (function __BEH__on_move(this$){var svg = lt.plugins.elm_light.module_graph.d3.select("svg");return lt.plugins.elm_light.module_graph.resize_graph.call(null,this$,svg);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.module-graph","on-move","lt.plugins.elm-light.module-graph/on-move",2390003777),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.module_graph.__BEH__on_move,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"move","move",1017261891),null], null), null));
lt.plugins.elm_light.module_graph.module_graph = lt.object.create.call(null,new cljs.core.Keyword("lt.plugins.elm-light.module-graph","module-graph","lt.plugins.elm-light.module-graph/module-graph",2992764911));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"show-elm-module-graph","show-elm-module-graph",3276287158),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Show module graph",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;var temp__4092__auto____$1 = lt.plugins.elm_light.utils.project_path.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed))));if(cljs.core.truth_(temp__4092__auto____$1))
{var path = temp__4092__auto____$1;return lt.object.raise.call(null,lt.plugins.elm_light.module_graph.module_graph,new cljs.core.Keyword(null,"elm.module-graph.show","elm.module-graph.show",2773368264),path);
} else
{return null;
}
} else
{return null;
}
})], null));
}
if(!lt.util.load.provided_QMARK_('clojure.zip')) {
goog.provide('clojure.zip');
goog.require('cljs.core');
/**
* Creates a new zipper structure.
*
* branch? is a fn that, given a node, returns true if can have
* children, even if it currently doesn't.
*
* children is a fn that, given a branch node, returns a seq of its
* children.
*
* make-node is a fn that, given an existing node and a seq of
* children, returns a new branch node with the supplied children.
* root is the root node.
*/
clojure.zip.zipper = (function zipper(branch_QMARK_,children,make_node,root){return cljs.core.with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [root,null], null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword("zip","make-node","zip/make-node",2241612572),make_node,new cljs.core.Keyword("zip","children","zip/children",2681289882),children,new cljs.core.Keyword("zip","branch?","zip/branch?",1159334776),branch_QMARK_], null));
});
/**
* Returns a zipper for nested sequences, given a root sequence
*/
clojure.zip.seq_zip = (function seq_zip(root){return clojure.zip.zipper.call(null,cljs.core.seq_QMARK_,cljs.core.identity,(function (node,children){return cljs.core.with_meta.call(null,children,cljs.core.meta.call(null,node));
}),root);
});
/**
* Returns a zipper for nested vectors, given a root vector
*/
clojure.zip.vector_zip = (function vector_zip(root){return clojure.zip.zipper.call(null,cljs.core.vector_QMARK_,cljs.core.seq,(function (node,children){return cljs.core.with_meta.call(null,cljs.core.vec.call(null,children),cljs.core.meta.call(null,node));
}),root);
});
/**
* Returns a zipper for xml elements (as from xml/parse),
* given a root element
*/
clojure.zip.xml_zip = (function xml_zip(root){return clojure.zip.zipper.call(null,cljs.core.complement.call(null,cljs.core.string_QMARK_),cljs.core.comp.call(null,cljs.core.seq,new cljs.core.Keyword(null,"content","content",1965434859)),(function (node,children){return cljs.core.assoc.call(null,node,new cljs.core.Keyword(null,"content","content",1965434859),(function (){var and__4872__auto__ = children;if(cljs.core.truth_(and__4872__auto__))
{return cljs.core.apply.call(null,cljs.core.vector,children);
} else
{return and__4872__auto__;
}
})());
}),root);
});
/**
* Returns the node at loc
*/
clojure.zip.node = (function node(loc){return loc.call(null,0);
});
/**
* Returns true if the node at loc is a branch
*/
clojure.zip.branch_QMARK_ = (function branch_QMARK_(loc){return new cljs.core.Keyword("zip","branch?","zip/branch?",1159334776).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,loc)).call(null,clojure.zip.node.call(null,loc));
});
/**
* Returns a seq of the children of node at loc, which must be a branch
*/
clojure.zip.children = (function children(loc){if(cljs.core.truth_(clojure.zip.branch_QMARK_.call(null,loc)))
{return new cljs.core.Keyword("zip","children","zip/children",2681289882).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,loc)).call(null,clojure.zip.node.call(null,loc));
} else
{throw "called children on a leaf node";
}
});
/**
* Returns a new branch node, given an existing node and new
* children. The loc is only used to supply the constructor.
*/
clojure.zip.make_node = (function make_node(loc,node,children){return new cljs.core.Keyword("zip","make-node","zip/make-node",2241612572).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,loc)).call(null,node,children);
});
/**
* Returns a seq of nodes leading to this loc
*/
clojure.zip.path = (function path(loc){return new cljs.core.Keyword(null,"pnodes","pnodes",4325362611).cljs$core$IFn$_invoke$arity$1(loc.call(null,1));
});
/**
* Returns a seq of the left siblings of this loc
*/
clojure.zip.lefts = (function lefts(loc){return cljs.core.seq.call(null,new cljs.core.Keyword(null,"l","l",1013904350).cljs$core$IFn$_invoke$arity$1(loc.call(null,1)));
});
/**
* Returns a seq of the right siblings of this loc
*/
clojure.zip.rights = (function rights(loc){return new cljs.core.Keyword(null,"r","r",1013904356).cljs$core$IFn$_invoke$arity$1(loc.call(null,1));
});
/**
* Returns the loc of the leftmost child of the node at this loc, or
* nil if no children
*/
clojure.zip.down = (function down(loc){if(cljs.core.truth_(clojure.zip.branch_QMARK_.call(null,loc)))
{var vec__20258 = loc;var node = cljs.core.nth.call(null,vec__20258,0,null);var path = cljs.core.nth.call(null,vec__20258,1,null);var vec__20259 = clojure.zip.children.call(null,loc);var c = cljs.core.nth.call(null,vec__20259,0,null);var cnext = cljs.core.nthnext.call(null,vec__20259,1);var cs = vec__20259;if(cljs.core.truth_(cs))
{return cljs.core.with_meta.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [c,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"l","l",1013904350),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,"pnodes","pnodes",4325362611),(cljs.core.truth_(path)?cljs.core.conj.call(null,new cljs.core.Keyword(null,"pnodes","pnodes",4325362611).cljs$core$IFn$_invoke$arity$1(path),node):new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [node], null)),new cljs.core.Keyword(null,"ppath","ppath",1120772103),path,new cljs.core.Keyword(null,"r","r",1013904356),cnext], null)], null),cljs.core.meta.call(null,loc));
} else
{return null;
}
} else
{return null;
}
});
/**
* Returns the loc of the parent of the node at this loc, or nil if at
* the top
*/
clojure.zip.up = (function up(loc){var vec__20262 = loc;var node = cljs.core.nth.call(null,vec__20262,0,null);var map__20263 = cljs.core.nth.call(null,vec__20262,1,null);var map__20263__$1 = ((cljs.core.seq_QMARK_.call(null,map__20263))?cljs.core.apply.call(null,cljs.core.hash_map,map__20263):map__20263);var path = map__20263__$1;var l = cljs.core.get.call(null,map__20263__$1,new cljs.core.Keyword(null,"l","l",1013904350));var ppath = cljs.core.get.call(null,map__20263__$1,new cljs.core.Keyword(null,"ppath","ppath",1120772103));var pnodes = cljs.core.get.call(null,map__20263__$1,new cljs.core.Keyword(null,"pnodes","pnodes",4325362611));var r = cljs.core.get.call(null,map__20263__$1,new cljs.core.Keyword(null,"r","r",1013904356));var changed_QMARK_ = cljs.core.get.call(null,map__20263__$1,new cljs.core.Keyword(null,"changed?","changed?",2446321533));if(cljs.core.truth_(pnodes))
{var pnode = cljs.core.peek.call(null,pnodes);return cljs.core.with_meta.call(null,(cljs.core.truth_(changed_QMARK_)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [clojure.zip.make_node.call(null,loc,pnode,cljs.core.concat.call(null,l,cljs.core.cons.call(null,node,r))),(function (){var and__4872__auto__ = ppath;if(cljs.core.truth_(and__4872__auto__))
{return cljs.core.assoc.call(null,ppath,new cljs.core.Keyword(null,"changed?","changed?",2446321533),true);
} else
{return and__4872__auto__;
}
})()], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [pnode,ppath], null)),cljs.core.meta.call(null,loc));
} else
{return null;
}
});
/**
* zips all the way up and returns the root node, reflecting any
* changes.
*/
clojure.zip.root = (function root(loc){while(true){
if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"end","end",1014004813),loc.call(null,1)))
{return clojure.zip.node.call(null,loc);
} else
{var p = clojure.zip.up.call(null,loc);if(cljs.core.truth_(p))
{{
var G__20296 = p;
loc = G__20296;
continue;
}
} else
{return clojure.zip.node.call(null,loc);
}
}
break;
}
});
/**
* Returns the loc of the right sibling of the node at this loc, or nil
*/
clojure.zip.right = (function right(loc){var vec__20267 = loc;var node = cljs.core.nth.call(null,vec__20267,0,null);var map__20268 = cljs.core.nth.call(null,vec__20267,1,null);var map__20268__$1 = ((cljs.core.seq_QMARK_.call(null,map__20268))?cljs.core.apply.call(null,cljs.core.hash_map,map__20268):map__20268);var path = map__20268__$1;var l = cljs.core.get.call(null,map__20268__$1,new cljs.core.Keyword(null,"l","l",1013904350));var vec__20269 = cljs.core.get.call(null,map__20268__$1,new cljs.core.Keyword(null,"r","r",1013904356));var r = cljs.core.nth.call(null,vec__20269,0,null);var rnext = cljs.core.nthnext.call(null,vec__20269,1);var rs = vec__20269;if(cljs.core.truth_((function (){var and__4872__auto__ = path;if(cljs.core.truth_(and__4872__auto__))
{return rs;
} else
{return and__4872__auto__;
}
})()))
{return cljs.core.with_meta.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [r,cljs.core.assoc.call(null,path,new cljs.core.Keyword(null,"l","l",1013904350),cljs.core.conj.call(null,l,node),new cljs.core.Keyword(null,"r","r",1013904356),rnext)], null),cljs.core.meta.call(null,loc));
} else
{return null;
}
});
/**
* Returns the loc of the rightmost sibling of the node at this loc, or self
*/
clojure.zip.rightmost = (function rightmost(loc){var vec__20272 = loc;var node = cljs.core.nth.call(null,vec__20272,0,null);var map__20273 = cljs.core.nth.call(null,vec__20272,1,null);var map__20273__$1 = ((cljs.core.seq_QMARK_.call(null,map__20273))?cljs.core.apply.call(null,cljs.core.hash_map,map__20273):map__20273);var path = map__20273__$1;var l = cljs.core.get.call(null,map__20273__$1,new cljs.core.Keyword(null,"l","l",1013904350));var r = cljs.core.get.call(null,map__20273__$1,new cljs.core.Keyword(null,"r","r",1013904356));if(cljs.core.truth_((function (){var and__4872__auto__ = path;if(cljs.core.truth_(and__4872__auto__))
{return r;
} else
{return and__4872__auto__;
}
})()))
{return cljs.core.with_meta.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.last.call(null,r),cljs.core.assoc.call(null,path,new cljs.core.Keyword(null,"l","l",1013904350),cljs.core.apply.call(null,cljs.core.conj,l,node,cljs.core.butlast.call(null,r)),new cljs.core.Keyword(null,"r","r",1013904356),null)], null),cljs.core.meta.call(null,loc));
} else
{return loc;
}
});
/**
* Returns the loc of the left sibling of the node at this loc, or nil
*/
clojure.zip.left = (function left(loc){var vec__20276 = loc;var node = cljs.core.nth.call(null,vec__20276,0,null);var map__20277 = cljs.core.nth.call(null,vec__20276,1,null);var map__20277__$1 = ((cljs.core.seq_QMARK_.call(null,map__20277))?cljs.core.apply.call(null,cljs.core.hash_map,map__20277):map__20277);var path = map__20277__$1;var l = cljs.core.get.call(null,map__20277__$1,new cljs.core.Keyword(null,"l","l",1013904350));var r = cljs.core.get.call(null,map__20277__$1,new cljs.core.Keyword(null,"r","r",1013904356));if(cljs.core.truth_((function (){var and__4872__auto__ = path;if(cljs.core.truth_(and__4872__auto__))
{return cljs.core.seq.call(null,l);
} else
{return and__4872__auto__;
}
})()))
{return cljs.core.with_meta.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.peek.call(null,l),cljs.core.assoc.call(null,path,new cljs.core.Keyword(null,"l","l",1013904350),cljs.core.pop.call(null,l),new cljs.core.Keyword(null,"r","r",1013904356),cljs.core.cons.call(null,node,r))], null),cljs.core.meta.call(null,loc));
} else
{return null;
}
});
/**
* Returns the loc of the leftmost sibling of the node at this loc, or self
*/
clojure.zip.leftmost = (function leftmost(loc){var vec__20280 = loc;var node = cljs.core.nth.call(null,vec__20280,0,null);var map__20281 = cljs.core.nth.call(null,vec__20280,1,null);var map__20281__$1 = ((cljs.core.seq_QMARK_.call(null,map__20281))?cljs.core.apply.call(null,cljs.core.hash_map,map__20281):map__20281);var path = map__20281__$1;var l = cljs.core.get.call(null,map__20281__$1,new cljs.core.Keyword(null,"l","l",1013904350));var r = cljs.core.get.call(null,map__20281__$1,new cljs.core.Keyword(null,"r","r",1013904356));if(cljs.core.truth_((function (){var and__4872__auto__ = path;if(cljs.core.truth_(and__4872__auto__))
{return cljs.core.seq.call(null,l);
} else
{return and__4872__auto__;
}
})()))
{return cljs.core.with_meta.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first.call(null,l),cljs.core.assoc.call(null,path,new cljs.core.Keyword(null,"l","l",1013904350),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,"r","r",1013904356),cljs.core.concat.call(null,cljs.core.rest.call(null,l),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [node], null),r))], null),cljs.core.meta.call(null,loc));
} else
{return loc;
}
});
/**
* Inserts the item as the left sibling of the node at this loc,
* without moving
*/
clojure.zip.insert_left = (function insert_left(loc,item){var vec__20284 = loc;var node = cljs.core.nth.call(null,vec__20284,0,null);var map__20285 = cljs.core.nth.call(null,vec__20284,1,null);var map__20285__$1 = ((cljs.core.seq_QMARK_.call(null,map__20285))?cljs.core.apply.call(null,cljs.core.hash_map,map__20285):map__20285);var path = map__20285__$1;var l = cljs.core.get.call(null,map__20285__$1,new cljs.core.Keyword(null,"l","l",1013904350));if((path == null))
{throw "Insert at top";
} else
{return cljs.core.with_meta.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [node,cljs.core.assoc.call(null,path,new cljs.core.Keyword(null,"l","l",1013904350),cljs.core.conj.call(null,l,item),new cljs.core.Keyword(null,"changed?","changed?",2446321533),true)], null),cljs.core.meta.call(null,loc));
}
});
/**
* Inserts the item as the right sibling of the node at this loc,
* without moving
*/
clojure.zip.insert_right = (function insert_right(loc,item){var vec__20288 = loc;var node = cljs.core.nth.call(null,vec__20288,0,null);var map__20289 = cljs.core.nth.call(null,vec__20288,1,null);var map__20289__$1 = ((cljs.core.seq_QMARK_.call(null,map__20289))?cljs.core.apply.call(null,cljs.core.hash_map,map__20289):map__20289);var path = map__20289__$1;var r = cljs.core.get.call(null,map__20289__$1,new cljs.core.Keyword(null,"r","r",1013904356));if((path == null))
{throw "Insert at top";
} else
{return cljs.core.with_meta.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [node,cljs.core.assoc.call(null,path,new cljs.core.Keyword(null,"r","r",1013904356),cljs.core.cons.call(null,item,r),new cljs.core.Keyword(null,"changed?","changed?",2446321533),true)], null),cljs.core.meta.call(null,loc));
}
});
/**
* Replaces the node at this loc, without moving
*/
clojure.zip.replace = (function replace(loc,node){var vec__20291 = loc;var _ = cljs.core.nth.call(null,vec__20291,0,null);var path = cljs.core.nth.call(null,vec__20291,1,null);return cljs.core.with_meta.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [node,cljs.core.assoc.call(null,path,new cljs.core.Keyword(null,"changed?","changed?",2446321533),true)], null),cljs.core.meta.call(null,loc));
});
/**
* Replaces the node at this loc with the value of (f node args)
* @param {...*} var_args
*/
clojure.zip.edit = (function() {
var edit__delegate = function (loc,f,args){return clojure.zip.replace.call(null,loc,cljs.core.apply.call(null,f,clojure.zip.node.call(null,loc),args));
};
var edit = function (loc,f,var_args){
var args = null;if (arguments.length > 2) {
args = cljs.core.array_seq(Array.prototype.slice.call(arguments, 2),0);}
return edit__delegate.call(this,loc,f,args);};
edit.cljs$lang$maxFixedArity = 2;
edit.cljs$lang$applyTo = (function (arglist__20297){
var loc = cljs.core.first(arglist__20297);
arglist__20297 = cljs.core.next(arglist__20297);
var f = cljs.core.first(arglist__20297);
var args = cljs.core.rest(arglist__20297);
return edit__delegate(loc,f,args);
});
edit.cljs$core$IFn$_invoke$arity$variadic = edit__delegate;
return edit;
})()
;
/**
* Inserts the item as the leftmost child of the node at this loc,
* without moving
*/
clojure.zip.insert_child = (function insert_child(loc,item){return clojure.zip.replace.call(null,loc,clojure.zip.make_node.call(null,loc,clojure.zip.node.call(null,loc),cljs.core.cons.call(null,item,clojure.zip.children.call(null,loc))));
});
/**
* Inserts the item as the rightmost child of the node at this loc,
* without moving
*/
clojure.zip.append_child = (function append_child(loc,item){return clojure.zip.replace.call(null,loc,clojure.zip.make_node.call(null,loc,clojure.zip.node.call(null,loc),cljs.core.concat.call(null,clojure.zip.children.call(null,loc),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [item], null))));
});
/**
* Moves to the next loc in the hierarchy, depth-first. When reaching
* the end, returns a distinguished loc detectable via end?. If already
* at the end, stays there.
*/
clojure.zip.next = (function next(loc){if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"end","end",1014004813),loc.call(null,1)))
{return loc;
} else
{var or__4884__auto__ = (function (){var and__4872__auto__ = clojure.zip.branch_QMARK_.call(null,loc);if(cljs.core.truth_(and__4872__auto__))
{return clojure.zip.down.call(null,loc);
} else
{return and__4872__auto__;
}
})();if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{var or__4884__auto____$1 = clojure.zip.right.call(null,loc);if(cljs.core.truth_(or__4884__auto____$1))
{return or__4884__auto____$1;
} else
{var p = loc;while(true){
if(cljs.core.truth_(clojure.zip.up.call(null,p)))
{var or__4884__auto____$2 = clojure.zip.right.call(null,clojure.zip.up.call(null,p));if(cljs.core.truth_(or__4884__auto____$2))
{return or__4884__auto____$2;
} else
{{
var G__20298 = clojure.zip.up.call(null,p);
p = G__20298;
continue;
}
}
} else
{return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [clojure.zip.node.call(null,p),new cljs.core.Keyword(null,"end","end",1014004813)], null);
}
break;
}
}
}
}
});
/**
* Moves to the previous loc in the hierarchy, depth-first. If already
* at the root, returns nil.
*/
clojure.zip.prev = (function prev(loc){var temp__4090__auto__ = clojure.zip.left.call(null,loc);if(cljs.core.truth_(temp__4090__auto__))
{var lloc = temp__4090__auto__;var loc__$1 = lloc;while(true){
var temp__4090__auto____$1 = (function (){var and__4872__auto__ = clojure.zip.branch_QMARK_.call(null,loc__$1);if(cljs.core.truth_(and__4872__auto__))
{return clojure.zip.down.call(null,loc__$1);
} else
{return and__4872__auto__;
}
})();if(cljs.core.truth_(temp__4090__auto____$1))
{var child = temp__4090__auto____$1;{
var G__20299 = clojure.zip.rightmost.call(null,child);
loc__$1 = G__20299;
continue;
}
} else
{return loc__$1;
}
break;
}
} else
{return clojure.zip.up.call(null,loc);
}
});
/**
* Returns true if loc represents the end of a depth-first walk
*/
clojure.zip.end_QMARK_ = (function end_QMARK_(loc){return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"end","end",1014004813),loc.call(null,1));
});
/**
* Removes the node at loc, returning the loc that would have preceded
* it in a depth-first walk.
*/
clojure.zip.remove = (function remove(loc){var vec__20294 = loc;var node = cljs.core.nth.call(null,vec__20294,0,null);var map__20295 = cljs.core.nth.call(null,vec__20294,1,null);var map__20295__$1 = ((cljs.core.seq_QMARK_.call(null,map__20295))?cljs.core.apply.call(null,cljs.core.hash_map,map__20295):map__20295);var path = map__20295__$1;var l = cljs.core.get.call(null,map__20295__$1,new cljs.core.Keyword(null,"l","l",1013904350));var ppath = cljs.core.get.call(null,map__20295__$1,new cljs.core.Keyword(null,"ppath","ppath",1120772103));var pnodes = cljs.core.get.call(null,map__20295__$1,new cljs.core.Keyword(null,"pnodes","pnodes",4325362611));var rs = cljs.core.get.call(null,map__20295__$1,new cljs.core.Keyword(null,"r","r",1013904356));if((path == null))
{throw "Remove at top";
} else
{if((cljs.core.count.call(null,l) > 0))
{var loc__$1 = cljs.core.with_meta.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.peek.call(null,l),cljs.core.assoc.call(null,path,new cljs.core.Keyword(null,"l","l",1013904350),cljs.core.pop.call(null,l),new cljs.core.Keyword(null,"changed?","changed?",2446321533),true)], null),cljs.core.meta.call(null,loc));while(true){
var temp__4090__auto__ = (function (){var and__4872__auto__ = clojure.zip.branch_QMARK_.call(null,loc__$1);if(cljs.core.truth_(and__4872__auto__))
{return clojure.zip.down.call(null,loc__$1);
} else
{return and__4872__auto__;
}
})();if(cljs.core.truth_(temp__4090__auto__))
{var child = temp__4090__auto__;{
var G__20300 = clojure.zip.rightmost.call(null,child);
loc__$1 = G__20300;
continue;
}
} else
{return loc__$1;
}
break;
}
} else
{return cljs.core.with_meta.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [clojure.zip.make_node.call(null,loc,cljs.core.peek.call(null,pnodes),rs),(function (){var and__4872__auto__ = ppath;if(cljs.core.truth_(and__4872__auto__))
{return cljs.core.assoc.call(null,ppath,new cljs.core.Keyword(null,"changed?","changed?",2446321533),true);
} else
{return and__4872__auto__;
}
})()], null),cljs.core.meta.call(null,loc));
}
}
});
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.test')) {
goog.provide('lt.plugins.elm_light.test');
goog.require('cljs.core');
goog.require('clojure.zip');
goog.require('lt.objs.files');
goog.require('lt.objs.statusbar');
goog.require('lt.util.dom');
goog.require('lt.objs.tabs');
goog.require('clojure.string');
goog.require('lt.plugins.elm_light.utils');
goog.require('clojure.zip');
goog.require('lt.objs.notifos');
goog.require('lt.plugins.elm_light.clients');
goog.require('lt.objs.notifos');
goog.require('lt.util.dom');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
goog.require('lt.objs.files');
goog.require('lt.plugins.elm_light.clients');
goog.require('lt.objs.statusbar');
goog.require('lt.objs.clients');
goog.require('clojure.string');
goog.require('lt.plugins.elm_light.elm_ast');
goog.require('lt.objs.editor');
goog.require('lt.object');
goog.require('lt.object');
goog.require('lt.objs.console');
goog.require('lt.objs.tabs');
goog.require('lt.objs.editor');
goog.require('lt.objs.console');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.plugins.elm_light.elm_ast');
goog.require('lt.objs.clients');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
lt.plugins.elm_light.test.default_test_deps = new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword("elm-community","elm-test","elm-community/elm-test",3717467561),"3.0.0 <= v < 4.0.0",new cljs.core.Keyword("rtfeldman","node-test-runner","rtfeldman/node-test-runner",1294875377),"3.0.0 <= v < 4.0.0"], null);
lt.plugins.elm_light.test.__GT_test_src_dir = (function __GT_test_src_dir(src_dir){if(cljs.core._EQ_.call(null,src_dir,"."))
{return "../";
} else
{return [cljs.core.str("../"),cljs.core.str(src_dir)].join('');
}
});
lt.plugins.elm_light.test.__GT_test_src_dirs = (function __GT_test_src_dirs(src_dirs){return cljs.core.conj.call(null,cljs.core.mapv.call(null,lt.plugins.elm_light.test.__GT_test_src_dir,src_dirs),".");
});
lt.plugins.elm_light.test.deps__GT_named = (function deps__GT_named(deps){return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,(function (p__19868){var vec__19869 = p__19868;var k = cljs.core.nth.call(null,vec__19869,0,null);var v = cljs.core.nth.call(null,vec__19869,1,null);return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [lt.plugins.elm_light.utils.nskw__GT_name.call(null,k),v], null);
}),deps));
});
lt.plugins.elm_light.test.__GT_test_config = (function __GT_test_config(project_cfg){return cljs.core.update_in.call(null,cljs.core.update_in.call(null,cljs.core.assoc.call(null,cljs.core.update_in.call(null,project_cfg,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"source-directories","source-directories",4475397259)], null),lt.plugins.elm_light.test.__GT_test_src_dirs),new cljs.core.Keyword(null,"exposed-modules","exposed-modules",4185867084),cljs.core.PersistentVector.EMPTY),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"dependencies","dependencies",1517678747)], null),(function (p1__19870_SHARP_){return cljs.core.merge.call(null,p1__19870_SHARP_,lt.plugins.elm_light.test.default_test_deps);
})),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"dependencies","dependencies",1517678747)], null),lt.plugins.elm_light.test.deps__GT_named);
});
lt.plugins.elm_light.test.parse_project_cfg = (function parse_project_cfg(project_path){return lt.plugins.elm_light.utils.parse_json_file.call(null,lt.objs.files.join.call(null,project_path,"elm-package.json"));
});
lt.plugins.elm_light.test.save_test_cfg_BANG_ = (function save_test_cfg_BANG_(path,test_cfg){return lt.objs.files.save.call(null,path,lt.plugins.elm_light.utils.pretty_json.call(null,test_cfg));
});
lt.plugins.elm_light.test.maybe_create_test_path_BANG_ = (function maybe_create_test_path_BANG_(project_path){var test_path = lt.objs.files.join.call(null,project_path,"tests");if(cljs.core.truth_(lt.objs.files.exists_QMARK_.call(null,test_path)))
{} else
{lt.objs.files.mkdir.call(null,test_path);
}
return test_path;
});
lt.plugins.elm_light.test.install_packages_BANG_ = (function install_packages_BANG_(test_path){var args = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["install","--yes"], null);var proc = require("child_process").spawn("elm-package",cljs.core.clj__GT_js.call(null,args),{"cwd": test_path});proc.stdout.on("data",((function (args,proc){
return (function (p1__19871_SHARP_){return cljs.core.println.call(null,[cljs.core.str("Test package install: "),cljs.core.str(p1__19871_SHARP_)].join(''));
});})(args,proc))
);
proc.stderr.on("data",((function (args,proc){
return (function (p1__19872_SHARP_){return lt.objs.console.error.call(null,[cljs.core.str(p1__19872_SHARP_)].join(''));
});})(args,proc))
);
proc.on("exit",((function (args,proc){
return (function (p1__19873_SHARP_){if(cljs.core._EQ_.call(null,p1__19873_SHARP_,0))
{return lt.objs.notifos.done_working.call(null,"Successfully configured elm test");
} else
{return lt.objs.notifos.set_msg_BANG_.call(null,"Error installing test elm packages",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"class","class",1108647146),"error",new cljs.core.Keyword(null,"timeout","timeout",3994960083),5000], null));
}
});})(args,proc))
);
return null;
});
lt.plugins.elm_light.test.maybe_add_templates = (function maybe_add_templates(test_path){var templ_dir = lt.objs.files.join.call(null,lt.plugins.elm_light.utils.elm_plugin_dir,"templates/test");var runner = lt.objs.files.join.call(null,templ_dir,"Main.elm");var tests = lt.objs.files.join.call(null,templ_dir,"Tests.elm");if(cljs.core.truth_(lt.objs.files.exists_QMARK_.call(null,lt.objs.files.join.call(null,test_path,"Main.elm"))))
{} else
{lt.objs.files.copy.call(null,runner,lt.objs.files.join.call(null,test_path,"Main.elm"));
}
if(cljs.core.truth_(lt.objs.files.exists_QMARK_.call(null,lt.objs.files.join.call(null,test_path,"Tests.elm"))))
{return null;
} else
{return lt.objs.files.copy.call(null,tests,lt.objs.files.join.call(null,test_path,"Tests.elm"));
}
});
lt.plugins.elm_light.test.setup_test = (function setup_test(project_path){var temp__4092__auto__ = lt.plugins.elm_light.test.parse_project_cfg.call(null,project_path);if(cljs.core.truth_(temp__4092__auto__))
{var project_cfg = temp__4092__auto__;lt.objs.notifos.working.call(null,"Init elm test config");
var test_path = lt.plugins.elm_light.test.maybe_create_test_path_BANG_.call(null,project_path);var test_cfg_path = lt.objs.files.join.call(null,test_path,"elm-package.json");lt.plugins.elm_light.test.maybe_add_templates.call(null,test_path);
lt.plugins.elm_light.test.save_test_cfg_BANG_.call(null,test_cfg_path,lt.plugins.elm_light.test.__GT_test_config.call(null,project_cfg));
return lt.plugins.elm_light.test.install_packages_BANG_.call(null,test_path);
} else
{return null;
}
});
lt.plugins.elm_light.test.z_top = (function z_top(zloc){return cljs.core.last.call(null,cljs.core.take_while.call(null,cljs.core.identity,cljs.core.iterate.call(null,clojure.zip.up,zloc)));
});
lt.plugins.elm_light.test.z_find_by_label = (function z_find_by_label(label,zloc){return cljs.core.first.call(null,cljs.core.filter.call(null,(function (p1__19874_SHARP_){return cljs.core._EQ_.call(null,label,clojure.zip.node.call(null,p1__19874_SHARP_));
}),cljs.core.take_while.call(null,cljs.core.complement.call(null,clojure.zip.end_QMARK_),cljs.core.take_while.call(null,cljs.core.identity,cljs.core.iterate.call(null,clojure.zip.next,zloc)))));
});
lt.plugins.elm_light.test.suitify_test = (function suitify_test(p__19875){var map__19878 = p__19875;var map__19878__$1 = ((cljs.core.seq_QMARK_.call(null,map__19878))?cljs.core.apply.call(null,cljs.core.hash_map,map__19878):map__19878);var failures = cljs.core.get.call(null,map__19878__$1,new cljs.core.Keyword(null,"failures","failures",1689842587));var labels = cljs.core.get.call(null,map__19878__$1,new cljs.core.Keyword(null,"labels","labels",4198454129));var vec__19879 = labels;var head = cljs.core.nth.call(null,vec__19879,0,null);var tail = cljs.core.nthnext.call(null,vec__19879,1);var root = clojure.zip.vector_zip.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [head], null));return lt.plugins.elm_light.test.z_top.call(null,clojure.zip.append_child.call(null,cljs.core.reduce.call(null,((function (vec__19879,head,tail,root,map__19878,map__19878__$1,failures,labels){
return (function (zloc,label){return clojure.zip.right.call(null,clojure.zip.down.call(null,clojure.zip.append_child.call(null,zloc,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [label], null))));
});})(vec__19879,head,tail,root,map__19878,map__19878__$1,failures,labels))
,root,tail),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"failures","failures",1689842587),failures], null)));
});
lt.plugins.elm_light.test.add_test_to_suite = (function add_test_to_suite(p__19880,p__19881){var map__19885 = p__19880;var map__19885__$1 = ((cljs.core.seq_QMARK_.call(null,map__19885))?cljs.core.apply.call(null,cljs.core.hash_map,map__19885):map__19885);var labels = cljs.core.get.call(null,map__19885__$1,new cljs.core.Keyword(null,"labels","labels",4198454129));var zloc = cljs.core.get.call(null,map__19885__$1,new cljs.core.Keyword(null,"zloc","zloc",1017646072));var map__19886 = p__19881;var map__19886__$1 = ((cljs.core.seq_QMARK_.call(null,map__19886))?cljs.core.apply.call(null,cljs.core.hash_map,map__19886):map__19886);var failures = cljs.core.get.call(null,map__19886__$1,new cljs.core.Keyword(null,"failures","failures",1689842587));var vec__19887 = labels;var head = cljs.core.nth.call(null,vec__19887,0,null);var tail = cljs.core.nthnext.call(null,vec__19887,1);var root = ((cljs.core.seq.call(null,labels))?clojure.zip.right.call(null,clojure.zip.insert_right.call(null,clojure.zip.rightmost.call(null,zloc),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [head], null))):null);if(cljs.core.seq.call(null,labels))
{return lt.plugins.elm_light.test.z_top.call(null,clojure.zip.append_child.call(null,cljs.core.reduce.call(null,((function (vec__19887,head,tail,root,map__19885,map__19885__$1,labels,zloc,map__19886,map__19886__$1,failures){
return (function (zl,label){return clojure.zip.right.call(null,clojure.zip.down.call(null,clojure.zip.append_child.call(null,zl,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [label], null))));
});})(vec__19887,head,tail,root,map__19885,map__19885__$1,labels,zloc,map__19886,map__19886__$1,failures))
,root,tail),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"failures","failures",1689842587),failures], null)));
} else
{var z_failures = clojure.zip.right.call(null,zloc);var curr_fails = new cljs.core.Keyword(null,"failures","failures",1689842587).cljs$core$IFn$_invoke$arity$1(clojure.zip.node.call(null,z_failures));return lt.plugins.elm_light.test.z_top.call(null,clojure.zip.replace.call(null,z_failures,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"failures","failures",1689842587),cljs.core.concat.call(null,curr_fails,failures)], null)));
}
});
lt.plugins.elm_light.test.find_branch = (function find_branch(zloc_suite,labels){var zloc = zloc_suite;var lbls = labels;while(true){
var branch = lt.plugins.elm_light.test.z_find_by_label.call(null,cljs.core.first.call(null,lbls),zloc);if(cljs.core.truth_((function (){var and__4872__auto__ = branch;if(cljs.core.truth_(and__4872__auto__))
{var or__4884__auto__ = cljs.core.not.call(null,cljs.core.second.call(null,lbls));if(or__4884__auto__)
{return or__4884__auto__;
} else
{var and__4872__auto____$1 = cljs.core.second.call(null,lbls);if(cljs.core.truth_(and__4872__auto____$1))
{return (lt.plugins.elm_light.test.z_find_by_label.call(null,cljs.core.second.call(null,lbls),branch) == null);
} else
{return and__4872__auto____$1;
}
}
} else
{return and__4872__auto__;
}
})()))
{return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"zloc","zloc",1017646072),branch,new cljs.core.Keyword(null,"labels","labels",4198454129),cljs.core.drop.call(null,1,lbls)], null);
} else
{if((branch == null))
{return null;
} else
{if(cljs.core.truth_(branch))
{{
var G__20037 = branch;
var G__20038 = cljs.core.drop.call(null,1,lbls);
zloc = G__20037;
lbls = G__20038;
continue;
}
} else
{return null;
}
}
}
break;
}
});
lt.plugins.elm_light.test.group_tests = (function group_tests(tests){return cljs.core.reduce.call(null,(function (acc,t){var prev = cljs.core.last.call(null,acc);if(cljs.core.not.call(null,prev))
{return cljs.core.conj.call(null,acc,lt.plugins.elm_light.test.suitify_test.call(null,t));
} else
{var temp__4090__auto__ = lt.plugins.elm_light.test.find_branch.call(null,prev,new cljs.core.Keyword(null,"labels","labels",4198454129).cljs$core$IFn$_invoke$arity$1(t));if(cljs.core.truth_(temp__4090__auto__))
{var branch = temp__4090__auto__;return cljs.core.conj.call(null,cljs.core.vec.call(null,cljs.core.drop_last.call(null,acc)),lt.plugins.elm_light.test.add_test_to_suite.call(null,branch,t));
} else
{return cljs.core.conj.call(null,acc,lt.plugins.elm_light.test.suitify_test.call(null,t));
}
}
}),cljs.core.PersistentVector.EMPTY,tests);
});
lt.plugins.elm_light.test.get_status_count = (function get_status_count(status,items){return cljs.core.count.call(null,cljs.core.filter.call(null,(function (p1__19888_SHARP_){return cljs.core._EQ_.call(null,status,new cljs.core.Keyword(null,"status","status",4416389988).cljs$core$IFn$_invoke$arity$1(p1__19888_SHARP_));
}),items));
});
lt.plugins.elm_light.test.wrapper = (function wrapper(){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.elmtest-dashboard","div.elmtest-dashboard",2556225684),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"h1.title","h1.title",3842872421),"Elm Test Dashboard"], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.project-container","div.project-container",3841828386),"Project stuff here"], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.result-container","div.result-container",4736622080),"Placeholder for results"], null)], null));var seq__19895_20039 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__19896_20040 = null;var count__19897_20041 = 0;var i__19898_20042 = 0;while(true){
if((i__19898_20042 < count__19897_20041))
{var vec__19899_20043 = cljs.core._nth.call(null,chunk__19896_20040,i__19898_20042);var ev__6318__auto___20044 = cljs.core.nth.call(null,vec__19899_20043,0,null);var func__6319__auto___20045 = cljs.core.nth.call(null,vec__19899_20043,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20044,func__6319__auto___20045);
{
var G__20046 = seq__19895_20039;
var G__20047 = chunk__19896_20040;
var G__20048 = count__19897_20041;
var G__20049 = (i__19898_20042 + 1);
seq__19895_20039 = G__20046;
chunk__19896_20040 = G__20047;
count__19897_20041 = G__20048;
i__19898_20042 = G__20049;
continue;
}
} else
{var temp__4092__auto___20050 = cljs.core.seq.call(null,seq__19895_20039);if(temp__4092__auto___20050)
{var seq__19895_20051__$1 = temp__4092__auto___20050;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19895_20051__$1))
{var c__5632__auto___20052 = cljs.core.chunk_first.call(null,seq__19895_20051__$1);{
var G__20053 = cljs.core.chunk_rest.call(null,seq__19895_20051__$1);
var G__20054 = c__5632__auto___20052;
var G__20055 = cljs.core.count.call(null,c__5632__auto___20052);
var G__20056 = 0;
seq__19895_20039 = G__20053;
chunk__19896_20040 = G__20054;
count__19897_20041 = G__20055;
i__19898_20042 = G__20056;
continue;
}
} else
{var vec__19900_20057 = cljs.core.first.call(null,seq__19895_20051__$1);var ev__6318__auto___20058 = cljs.core.nth.call(null,vec__19900_20057,0,null);var func__6319__auto___20059 = cljs.core.nth.call(null,vec__19900_20057,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20058,func__6319__auto___20059);
{
var G__20060 = cljs.core.next.call(null,seq__19895_20051__$1);
var G__20061 = null;
var G__20062 = 0;
var G__20063 = 0;
seq__19895_20039 = G__20060;
chunk__19896_20040 = G__20061;
count__19897_20041 = G__20062;
i__19898_20042 = G__20063;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.test.loader = (function loader(){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.bubblingG","div.bubblingG",1068758387),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1017440956),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"id","id",1013907597),"bubblingG_1"], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1017440956),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"id","id",1013907597),"bubblingG_2"], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1017440956),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"id","id",1013907597),"bubblingG_3"], null)], null)], null));var seq__19907_20064 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__19908_20065 = null;var count__19909_20066 = 0;var i__19910_20067 = 0;while(true){
if((i__19910_20067 < count__19909_20066))
{var vec__19911_20068 = cljs.core._nth.call(null,chunk__19908_20065,i__19910_20067);var ev__6318__auto___20069 = cljs.core.nth.call(null,vec__19911_20068,0,null);var func__6319__auto___20070 = cljs.core.nth.call(null,vec__19911_20068,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20069,func__6319__auto___20070);
{
var G__20071 = seq__19907_20064;
var G__20072 = chunk__19908_20065;
var G__20073 = count__19909_20066;
var G__20074 = (i__19910_20067 + 1);
seq__19907_20064 = G__20071;
chunk__19908_20065 = G__20072;
count__19909_20066 = G__20073;
i__19910_20067 = G__20074;
continue;
}
} else
{var temp__4092__auto___20075 = cljs.core.seq.call(null,seq__19907_20064);if(temp__4092__auto___20075)
{var seq__19907_20076__$1 = temp__4092__auto___20075;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19907_20076__$1))
{var c__5632__auto___20077 = cljs.core.chunk_first.call(null,seq__19907_20076__$1);{
var G__20078 = cljs.core.chunk_rest.call(null,seq__19907_20076__$1);
var G__20079 = c__5632__auto___20077;
var G__20080 = cljs.core.count.call(null,c__5632__auto___20077);
var G__20081 = 0;
seq__19907_20064 = G__20078;
chunk__19908_20065 = G__20079;
count__19909_20066 = G__20080;
i__19910_20067 = G__20081;
continue;
}
} else
{var vec__19912_20082 = cljs.core.first.call(null,seq__19907_20076__$1);var ev__6318__auto___20083 = cljs.core.nth.call(null,vec__19912_20082,0,null);var func__6319__auto___20084 = cljs.core.nth.call(null,vec__19912_20082,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20083,func__6319__auto___20084);
{
var G__20085 = cljs.core.next.call(null,seq__19907_20076__$1);
var G__20086 = null;
var G__20087 = 0;
var G__20088 = 0;
seq__19907_20064 = G__20085;
chunk__19908_20065 = G__20086;
count__19909_20066 = G__20087;
i__19910_20067 = G__20088;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.test.testprogress_ui = (function testprogress_ui(this$,p__19914){var map__19922 = p__19914;var map__19922__$1 = ((cljs.core.seq_QMARK_.call(null,map__19922))?cljs.core.apply.call(null,cljs.core.hash_map,map__19922):map__19922);var evt = map__19922__$1;var status = cljs.core.get.call(null,map__19922__$1,new cljs.core.Keyword(null,"status","status",4416389988));var labels = cljs.core.get.call(null,map__19922__$1,new cljs.core.Keyword(null,"labels","labels",4198454129));var e__6317__auto__ = crate.core.html.call(null,(function (){var testCount = (function (){var or__4884__auto__ = new cljs.core.Keyword(null,"testCount","testCount",4102757135).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"start","start",1123661780).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)));if(cljs.core.truth_(or__4884__auto__))
{return or__4884__auto__;
} else
{return 0;
}
})();var progress = [cljs.core.str(cljs.core.count.call(null,new cljs.core.Keyword(null,"tests","tests",1124155795).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)))),cljs.core.str("/"),cljs.core.str(testCount)].join('');var test_name = clojure.string.join.call(null," -> ",labels);var clazz = (cljs.core.truth_(new cljs.core.Keyword(null,"failures?","failures?",4788123816).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)))?"error":"ok");var failed = lt.plugins.elm_light.test.get_status_count.call(null,"fail",new cljs.core.Keyword(null,"tests","tests",1124155795).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)));var passed = lt.plugins.elm_light.test.get_status_count.call(null,"pass",new cljs.core.Keyword(null,"tests","tests",1124155795).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)));var duration = ((cljs.core._EQ_.call(null,"runComplete",new cljs.core.Keyword(null,"event","event",1110795788).cljs$core$IFn$_invoke$arity$1(evt)))?new cljs.core.Keyword(null,"duration","duration",3316859142).cljs$core$IFn$_invoke$arity$1(evt):cljs.core.reduce.call(null,cljs.core._PLUS_,cljs.core.map.call(null,((function (testCount,progress,test_name,clazz,failed,passed,map__19922,map__19922__$1,evt,status,labels){
return (function (p1__19913_SHARP_){return (new cljs.core.Keyword(null,"duration","duration",3316859142).cljs$core$IFn$_invoke$arity$1(p1__19913_SHARP_) | 0);
});})(testCount,progress,test_name,clazz,failed,passed,map__19922,map__19922__$1,evt,status,labels))
,new cljs.core.Keyword(null,"tests","tests",1124155795).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)))));return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.test-progress","div.test-progress",3379553757),new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.summary","div.summary",724307643),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.summary-item","div.summary-item",2380798601),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"label","label",1116631654),"Runs:"], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1017440956),progress], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.summary-item","div.summary-item",2380798601),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"label","label",1116631654),"Passed:"], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1017440956),passed], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.summary-item","div.summary-item",2380798601),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"label","label",1116631654),"Failed:"], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1017440956),failed], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.summary-item","div.summary-item",2380798601),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"label","label",1116631654),"Seed:"], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1017440956),new cljs.core.Keyword(null,"initialSeed","initialSeed",2247248711).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"start","start",1123661780).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)))], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.summary-item","div.summary-item",2380798601),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"label","label",1116631654),"Duration:"], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1017440956),[cljs.core.str(duration),cljs.core.str(" ms")].join('')], null)], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.progress","div.progress",1377547868),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"progress","progress",4307793311),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"value","value",1125876963),cljs.core.count.call(null,new cljs.core.Keyword(null,"tests","tests",1124155795).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$))),new cljs.core.Keyword(null,"max","max",1014012118),testCount,new cljs.core.Keyword(null,"class","class",1108647146),clazz], null)], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"p.curr-test","p.curr-test",1775184577),(cljs.core.truth_(clojure.string.blank_QMARK_.call(null,test_name))?null:[cljs.core.str("("),cljs.core.str(test_name),cljs.core.str(")")].join(''))], null)], null);
})());var seq__19923_20089 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__19924_20090 = null;var count__19925_20091 = 0;var i__19926_20092 = 0;while(true){
if((i__19926_20092 < count__19925_20091))
{var vec__19927_20093 = cljs.core._nth.call(null,chunk__19924_20090,i__19926_20092);var ev__6318__auto___20094 = cljs.core.nth.call(null,vec__19927_20093,0,null);var func__6319__auto___20095 = cljs.core.nth.call(null,vec__19927_20093,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20094,func__6319__auto___20095);
{
var G__20096 = seq__19923_20089;
var G__20097 = chunk__19924_20090;
var G__20098 = count__19925_20091;
var G__20099 = (i__19926_20092 + 1);
seq__19923_20089 = G__20096;
chunk__19924_20090 = G__20097;
count__19925_20091 = G__20098;
i__19926_20092 = G__20099;
continue;
}
} else
{var temp__4092__auto___20100 = cljs.core.seq.call(null,seq__19923_20089);if(temp__4092__auto___20100)
{var seq__19923_20101__$1 = temp__4092__auto___20100;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19923_20101__$1))
{var c__5632__auto___20102 = cljs.core.chunk_first.call(null,seq__19923_20101__$1);{
var G__20103 = cljs.core.chunk_rest.call(null,seq__19923_20101__$1);
var G__20104 = c__5632__auto___20102;
var G__20105 = cljs.core.count.call(null,c__5632__auto___20102);
var G__20106 = 0;
seq__19923_20089 = G__20103;
chunk__19924_20090 = G__20104;
count__19925_20091 = G__20105;
i__19926_20092 = G__20106;
continue;
}
} else
{var vec__19928_20107 = cljs.core.first.call(null,seq__19923_20101__$1);var ev__6318__auto___20108 = cljs.core.nth.call(null,vec__19928_20107,0,null);var func__6319__auto___20109 = cljs.core.nth.call(null,vec__19928_20107,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20108,func__6319__auto___20109);
{
var G__20110 = cljs.core.next.call(null,seq__19923_20101__$1);
var G__20111 = null;
var G__20112 = 0;
var G__20113 = 0;
seq__19923_20089 = G__20110;
chunk__19924_20090 = G__20111;
count__19925_20091 = G__20112;
i__19926_20092 = G__20113;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.test.failure_item = (function failure_item(p__19929){var map__19937 = p__19929;var map__19937__$1 = ((cljs.core.seq_QMARK_.call(null,map__19937))?cljs.core.apply.call(null,cljs.core.hash_map,map__19937):map__19937);var failure = map__19937__$1;var actual = cljs.core.get.call(null,map__19937__$1,new cljs.core.Keyword(null,"actual","actual",3885931776));var given = cljs.core.get.call(null,map__19937__$1,new cljs.core.Keyword(null,"given","given",1112271599));var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1014003715),(cljs.core.truth_(clojure.string.blank_QMARK_.call(null,given))?null:new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.given","div.given",2030103378),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"label","label",1116631654),"Given: "], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1017440956),given], null)], null)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"pre","pre",1014015509),actual], null)], null));var seq__19938_20114 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__19939_20115 = null;var count__19940_20116 = 0;var i__19941_20117 = 0;while(true){
if((i__19941_20117 < count__19940_20116))
{var vec__19942_20118 = cljs.core._nth.call(null,chunk__19939_20115,i__19941_20117);var ev__6318__auto___20119 = cljs.core.nth.call(null,vec__19942_20118,0,null);var func__6319__auto___20120 = cljs.core.nth.call(null,vec__19942_20118,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20119,func__6319__auto___20120);
{
var G__20121 = seq__19938_20114;
var G__20122 = chunk__19939_20115;
var G__20123 = count__19940_20116;
var G__20124 = (i__19941_20117 + 1);
seq__19938_20114 = G__20121;
chunk__19939_20115 = G__20122;
count__19940_20116 = G__20123;
i__19941_20117 = G__20124;
continue;
}
} else
{var temp__4092__auto___20125 = cljs.core.seq.call(null,seq__19938_20114);if(temp__4092__auto___20125)
{var seq__19938_20126__$1 = temp__4092__auto___20125;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19938_20126__$1))
{var c__5632__auto___20127 = cljs.core.chunk_first.call(null,seq__19938_20126__$1);{
var G__20128 = cljs.core.chunk_rest.call(null,seq__19938_20126__$1);
var G__20129 = c__5632__auto___20127;
var G__20130 = cljs.core.count.call(null,c__5632__auto___20127);
var G__20131 = 0;
seq__19938_20114 = G__20128;
chunk__19939_20115 = G__20129;
count__19940_20116 = G__20130;
i__19941_20117 = G__20131;
continue;
}
} else
{var vec__19943_20132 = cljs.core.first.call(null,seq__19938_20126__$1);var ev__6318__auto___20133 = cljs.core.nth.call(null,vec__19943_20132,0,null);var func__6319__auto___20134 = cljs.core.nth.call(null,vec__19943_20132,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20133,func__6319__auto___20134);
{
var G__20135 = cljs.core.next.call(null,seq__19938_20126__$1);
var G__20136 = null;
var G__20137 = 0;
var G__20138 = 0;
seq__19938_20114 = G__20135;
chunk__19939_20115 = G__20136;
count__19940_20116 = G__20137;
i__19941_20117 = G__20138;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.test.dufus_ui = (function dufus_ui(nd){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ul","ul",1013907977),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"li","li",1013907695),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span.test-label","span.test-label",4291111567),[cljs.core.str(cljs.core.first.call(null,nd))].join('')], null),((cljs.core.map_QMARK_.call(null,cljs.core.second.call(null,nd)))?cljs.core.map.call(null,lt.plugins.elm_light.test.failure_item,new cljs.core.Keyword(null,"failures","failures",1689842587).cljs$core$IFn$_invoke$arity$1(cljs.core.second.call(null,nd))):cljs.core.map.call(null,dufus_ui,cljs.core.drop.call(null,1,nd)))], null)], null));var seq__19950_20139 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__19951_20140 = null;var count__19952_20141 = 0;var i__19953_20142 = 0;while(true){
if((i__19953_20142 < count__19952_20141))
{var vec__19954_20143 = cljs.core._nth.call(null,chunk__19951_20140,i__19953_20142);var ev__6318__auto___20144 = cljs.core.nth.call(null,vec__19954_20143,0,null);var func__6319__auto___20145 = cljs.core.nth.call(null,vec__19954_20143,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20144,func__6319__auto___20145);
{
var G__20146 = seq__19950_20139;
var G__20147 = chunk__19951_20140;
var G__20148 = count__19952_20141;
var G__20149 = (i__19953_20142 + 1);
seq__19950_20139 = G__20146;
chunk__19951_20140 = G__20147;
count__19952_20141 = G__20148;
i__19953_20142 = G__20149;
continue;
}
} else
{var temp__4092__auto___20150 = cljs.core.seq.call(null,seq__19950_20139);if(temp__4092__auto___20150)
{var seq__19950_20151__$1 = temp__4092__auto___20150;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19950_20151__$1))
{var c__5632__auto___20152 = cljs.core.chunk_first.call(null,seq__19950_20151__$1);{
var G__20153 = cljs.core.chunk_rest.call(null,seq__19950_20151__$1);
var G__20154 = c__5632__auto___20152;
var G__20155 = cljs.core.count.call(null,c__5632__auto___20152);
var G__20156 = 0;
seq__19950_20139 = G__20153;
chunk__19951_20140 = G__20154;
count__19952_20141 = G__20155;
i__19953_20142 = G__20156;
continue;
}
} else
{var vec__19955_20157 = cljs.core.first.call(null,seq__19950_20151__$1);var ev__6318__auto___20158 = cljs.core.nth.call(null,vec__19955_20157,0,null);var func__6319__auto___20159 = cljs.core.nth.call(null,vec__19955_20157,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20158,func__6319__auto___20159);
{
var G__20160 = cljs.core.next.call(null,seq__19950_20151__$1);
var G__20161 = null;
var G__20162 = 0;
var G__20163 = 0;
seq__19950_20139 = G__20160;
chunk__19951_20140 = G__20161;
count__19952_20141 = G__20162;
i__19953_20142 = G__20163;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.test.failed_test_ui = (function failed_test_ui(z_failed_test){var e__6317__auto__ = crate.core.html.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"li","li",1013907695),lt.plugins.elm_light.test.dufus_ui.call(null,clojure.zip.node.call(null,z_failed_test))], null));var seq__19962_20164 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__19963_20165 = null;var count__19964_20166 = 0;var i__19965_20167 = 0;while(true){
if((i__19965_20167 < count__19964_20166))
{var vec__19966_20168 = cljs.core._nth.call(null,chunk__19963_20165,i__19965_20167);var ev__6318__auto___20169 = cljs.core.nth.call(null,vec__19966_20168,0,null);var func__6319__auto___20170 = cljs.core.nth.call(null,vec__19966_20168,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20169,func__6319__auto___20170);
{
var G__20171 = seq__19962_20164;
var G__20172 = chunk__19963_20165;
var G__20173 = count__19964_20166;
var G__20174 = (i__19965_20167 + 1);
seq__19962_20164 = G__20171;
chunk__19963_20165 = G__20172;
count__19964_20166 = G__20173;
i__19965_20167 = G__20174;
continue;
}
} else
{var temp__4092__auto___20175 = cljs.core.seq.call(null,seq__19962_20164);if(temp__4092__auto___20175)
{var seq__19962_20176__$1 = temp__4092__auto___20175;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19962_20176__$1))
{var c__5632__auto___20177 = cljs.core.chunk_first.call(null,seq__19962_20176__$1);{
var G__20178 = cljs.core.chunk_rest.call(null,seq__19962_20176__$1);
var G__20179 = c__5632__auto___20177;
var G__20180 = cljs.core.count.call(null,c__5632__auto___20177);
var G__20181 = 0;
seq__19962_20164 = G__20178;
chunk__19963_20165 = G__20179;
count__19964_20166 = G__20180;
i__19965_20167 = G__20181;
continue;
}
} else
{var vec__19967_20182 = cljs.core.first.call(null,seq__19962_20176__$1);var ev__6318__auto___20183 = cljs.core.nth.call(null,vec__19967_20182,0,null);var func__6319__auto___20184 = cljs.core.nth.call(null,vec__19967_20182,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20183,func__6319__auto___20184);
{
var G__20185 = cljs.core.next.call(null,seq__19962_20176__$1);
var G__20186 = null;
var G__20187 = 0;
var G__20188 = 0;
seq__19962_20164 = G__20185;
chunk__19963_20165 = G__20186;
count__19964_20166 = G__20187;
i__19965_20167 = G__20188;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
/**
* @param {...*} var_args
*/
lt.plugins.elm_light.test.failed_tests_ui = (function() {
var failed_tests_ui__delegate = function (failed_tests,ldr){var e__6317__auto__ = crate.core.html.call(null,(function (){var grouped = lt.plugins.elm_light.test.group_tests.call(null,failed_tests);return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.test-failures","div.test-failures",761603033),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"h2","h2",1013907516),"Test Failures"], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ul","ul",1013907977),(cljs.core.truth_(ldr)?ldr:null),cljs.core.map.call(null,lt.plugins.elm_light.test.failed_test_ui,grouped)], null)], null);
})());var seq__19974_20189 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__19975_20190 = null;var count__19976_20191 = 0;var i__19977_20192 = 0;while(true){
if((i__19977_20192 < count__19976_20191))
{var vec__19978_20193 = cljs.core._nth.call(null,chunk__19975_20190,i__19977_20192);var ev__6318__auto___20194 = cljs.core.nth.call(null,vec__19978_20193,0,null);var func__6319__auto___20195 = cljs.core.nth.call(null,vec__19978_20193,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20194,func__6319__auto___20195);
{
var G__20196 = seq__19974_20189;
var G__20197 = chunk__19975_20190;
var G__20198 = count__19976_20191;
var G__20199 = (i__19977_20192 + 1);
seq__19974_20189 = G__20196;
chunk__19975_20190 = G__20197;
count__19976_20191 = G__20198;
i__19977_20192 = G__20199;
continue;
}
} else
{var temp__4092__auto___20200 = cljs.core.seq.call(null,seq__19974_20189);if(temp__4092__auto___20200)
{var seq__19974_20201__$1 = temp__4092__auto___20200;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19974_20201__$1))
{var c__5632__auto___20202 = cljs.core.chunk_first.call(null,seq__19974_20201__$1);{
var G__20203 = cljs.core.chunk_rest.call(null,seq__19974_20201__$1);
var G__20204 = c__5632__auto___20202;
var G__20205 = cljs.core.count.call(null,c__5632__auto___20202);
var G__20206 = 0;
seq__19974_20189 = G__20203;
chunk__19975_20190 = G__20204;
count__19976_20191 = G__20205;
i__19977_20192 = G__20206;
continue;
}
} else
{var vec__19979_20207 = cljs.core.first.call(null,seq__19974_20201__$1);var ev__6318__auto___20208 = cljs.core.nth.call(null,vec__19979_20207,0,null);var func__6319__auto___20209 = cljs.core.nth.call(null,vec__19979_20207,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20208,func__6319__auto___20209);
{
var G__20210 = cljs.core.next.call(null,seq__19974_20201__$1);
var G__20211 = null;
var G__20212 = 0;
var G__20213 = 0;
seq__19974_20189 = G__20210;
chunk__19975_20190 = G__20211;
count__19976_20191 = G__20212;
i__19977_20192 = G__20213;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
};
var failed_tests_ui = function (failed_tests,var_args){
var ldr = null;if (arguments.length > 1) {
ldr = cljs.core.array_seq(Array.prototype.slice.call(arguments, 1),0);}
return failed_tests_ui__delegate.call(this,failed_tests,ldr);};
failed_tests_ui.cljs$lang$maxFixedArity = 1;
failed_tests_ui.cljs$lang$applyTo = (function (arglist__20214){
var failed_tests = cljs.core.first(arglist__20214);
var ldr = cljs.core.rest(arglist__20214);
return failed_tests_ui__delegate(failed_tests,ldr);
});
failed_tests_ui.cljs$core$IFn$_invoke$arity$variadic = failed_tests_ui__delegate;
return failed_tests_ui;
})()
;
lt.plugins.elm_light.test.project_ui = (function project_ui(this$){var e__6317__auto__ = crate.core.html.call(null,(function (){var proj_path = lt.plugins.elm_light.utils.project_path.call(null,new cljs.core.Keyword(null,"file","file",1017047278).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)));var proj_name = [cljs.core.str(cljs.core.last.call(null,lt.objs.files.path_segs.call(null,proj_path))),cljs.core.str(lt.objs.files.basename.call(null,proj_path))].join('');return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.project-container","div.project-container",3841828386),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"h1","h1",1013907515),proj_name], null)], null);
})());var seq__19986_20215 = cljs.core.seq.call(null,cljs.core.partition.call(null,2,cljs.core.PersistentVector.EMPTY));var chunk__19987_20216 = null;var count__19988_20217 = 0;var i__19989_20218 = 0;while(true){
if((i__19989_20218 < count__19988_20217))
{var vec__19990_20219 = cljs.core._nth.call(null,chunk__19987_20216,i__19989_20218);var ev__6318__auto___20220 = cljs.core.nth.call(null,vec__19990_20219,0,null);var func__6319__auto___20221 = cljs.core.nth.call(null,vec__19990_20219,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20220,func__6319__auto___20221);
{
var G__20222 = seq__19986_20215;
var G__20223 = chunk__19987_20216;
var G__20224 = count__19988_20217;
var G__20225 = (i__19989_20218 + 1);
seq__19986_20215 = G__20222;
chunk__19987_20216 = G__20223;
count__19988_20217 = G__20224;
i__19989_20218 = G__20225;
continue;
}
} else
{var temp__4092__auto___20226 = cljs.core.seq.call(null,seq__19986_20215);if(temp__4092__auto___20226)
{var seq__19986_20227__$1 = temp__4092__auto___20226;if(cljs.core.chunked_seq_QMARK_.call(null,seq__19986_20227__$1))
{var c__5632__auto___20228 = cljs.core.chunk_first.call(null,seq__19986_20227__$1);{
var G__20229 = cljs.core.chunk_rest.call(null,seq__19986_20227__$1);
var G__20230 = c__5632__auto___20228;
var G__20231 = cljs.core.count.call(null,c__5632__auto___20228);
var G__20232 = 0;
seq__19986_20215 = G__20229;
chunk__19987_20216 = G__20230;
count__19988_20217 = G__20231;
i__19989_20218 = G__20232;
continue;
}
} else
{var vec__19991_20233 = cljs.core.first.call(null,seq__19986_20227__$1);var ev__6318__auto___20234 = cljs.core.nth.call(null,vec__19991_20233,0,null);var func__6319__auto___20235 = cljs.core.nth.call(null,vec__19991_20233,1,null);lt.util.dom.on.call(null,e__6317__auto__,ev__6318__auto___20234,func__6319__auto___20235);
{
var G__20236 = cljs.core.next.call(null,seq__19986_20227__$1);
var G__20237 = null;
var G__20238 = 0;
var G__20239 = 0;
seq__19986_20215 = G__20236;
chunk__19987_20216 = G__20237;
count__19988_20217 = G__20238;
i__19989_20218 = G__20239;
continue;
}
}
} else
{}
}
break;
}
return e__6317__auto__;
});
lt.plugins.elm_light.test.__BEH__on_close_destroy = (function __BEH__on_close_destroy(this$){var temp__4092__auto___20240 = new cljs.core.Keyword("lt.objs.tabs","tabset","lt.objs.tabs/tabset",3378091779).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$));if(cljs.core.truth_(temp__4092__auto___20240))
{var ts_20241 = temp__4092__auto___20240;if(cljs.core._EQ_.call(null,cljs.core.count.call(null,new cljs.core.Keyword(null,"objs","objs",1017308622).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ts_20241))),1))
{lt.objs.tabs.rem_tabset.call(null,ts_20241);
} else
{}
} else
{}
return lt.object.raise.call(null,this$,new cljs.core.Keyword(null,"destroy","destroy",2571277164));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.test","on-close-destroy","lt.plugins.elm-light.test/on-close-destroy",4267233941),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.test.__BEH__on_close_destroy,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"close","close",1108660586),null], null), null));
lt.plugins.elm_light.test.__BEH__on_testrun_init = (function __BEH__on_testrun_init(this$,path){var result_container = lt.util.dom.$.call(null,new cljs.core.Keyword(null,"div.result-container","div.result-container",4736622080),new cljs.core.Keyword(null,"content","content",1965434859).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)));var proj_container = lt.util.dom.$.call(null,new cljs.core.Keyword(null,"div.project-container","div.project-container",3841828386),new cljs.core.Keyword(null,"content","content",1965434859).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)));lt.object.assoc_in_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"start","start",1123661780)], null),null);
lt.object.assoc_in_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"tests","tests",1124155795)], null),cljs.core.PersistentVector.EMPTY);
lt.object.assoc_in_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"failures?","failures?",4788123816)], null),null);
lt.object.assoc_in_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"file","file",1017047278)], null),path);
lt.util.dom.replace_with.call(null,proj_container,lt.plugins.elm_light.test.project_ui.call(null,this$));
lt.util.dom.empty.call(null,result_container);
lt.util.dom.append.call(null,result_container,lt.plugins.elm_light.test.testprogress_ui.call(null,this$,cljs.core.PersistentArrayMap.EMPTY));
return lt.util.dom.append.call(null,result_container,lt.plugins.elm_light.test.failed_tests_ui.call(null,cljs.core.PersistentVector.EMPTY,lt.plugins.elm_light.test.loader.call(null)));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.test","on-testrun-init","lt.plugins.elm-light.test/on-testrun-init",3317249002),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.test.__BEH__on_testrun_init,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.test.init","elm.test.init",2526420246),null], null), null));
lt.plugins.elm_light.test.log_end = (function log_end(failures_QMARK_,p__19992){var map__19994 = p__19992;var map__19994__$1 = ((cljs.core.seq_QMARK_.call(null,map__19994))?cljs.core.apply.call(null,cljs.core.hash_map,map__19994):map__19994);var evt = map__19994__$1;var duration = cljs.core.get.call(null,map__19994__$1,new cljs.core.Keyword(null,"duration","duration",3316859142));var failed = cljs.core.get.call(null,map__19994__$1,new cljs.core.Keyword(null,"failed","failed",4026894255));var passed = cljs.core.get.call(null,map__19994__$1,new cljs.core.Keyword(null,"passed","passed",4313490402));var summary = [cljs.core.str("Test run completed in "),cljs.core.str(duration),cljs.core.str("ms. Results: "),cljs.core.str(passed),cljs.core.str(" passed, "),cljs.core.str(failed),cljs.core.str(" failed")].join('');lt.objs.console.log.call(null,summary,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"error"], null));
return lt.objs.notifos.msg_STAR_.call(null,summary,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"class","class",1108647146),(cljs.core.truth_(failures_QMARK_)?"error":""),new cljs.core.Keyword(null,"timeout","timeout",3994960083),5000], null));
});
lt.plugins.elm_light.test.handle_end = (function handle_end(this$,p__19995){var map__19997 = p__19995;var map__19997__$1 = ((cljs.core.seq_QMARK_.call(null,map__19997))?cljs.core.apply.call(null,cljs.core.hash_map,map__19997):map__19997);var evt = map__19997__$1;var duration = cljs.core.get.call(null,map__19997__$1,new cljs.core.Keyword(null,"duration","duration",3316859142));var failed = cljs.core.get.call(null,map__19997__$1,new cljs.core.Keyword(null,"failed","failed",4026894255));var passed = cljs.core.get.call(null,map__19997__$1,new cljs.core.Keyword(null,"passed","passed",4313490402));lt.util.dom.replace_with.call(null,lt.util.dom.$.call(null,new cljs.core.Keyword(null,"div.test-progress","div.test-progress",3379553757),new cljs.core.Keyword(null,"content","content",1965434859).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$))),lt.plugins.elm_light.test.testprogress_ui.call(null,this$,evt));
return lt.plugins.elm_light.test.log_end.call(null,new cljs.core.Keyword(null,"failures?","failures?",4788123816).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)),evt);
});
lt.plugins.elm_light.test.log_test_failures = (function log_test_failures(failures_QMARK_,p__19998){var map__20004 = p__19998;var map__20004__$1 = ((cljs.core.seq_QMARK_.call(null,map__20004))?cljs.core.apply.call(null,cljs.core.hash_map,map__20004):map__20004);var failures = cljs.core.get.call(null,map__20004__$1,new cljs.core.Keyword(null,"failures","failures",1689842587));var labels = cljs.core.get.call(null,map__20004__$1,new cljs.core.Keyword(null,"labels","labels",4198454129));var test_name = clojure.string.join.call(null," -> ",labels);lt.objs.notifos.msg_STAR_.call(null,test_name,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),(cljs.core.truth_(failures)?"error":"")], null));
lt.objs.console.log.call(null,test_name,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"error"], null));
var seq__20005 = cljs.core.seq.call(null,failures);var chunk__20006 = null;var count__20007 = 0;var i__20008 = 0;while(true){
if((i__20008 < count__20007))
{var failure = cljs.core._nth.call(null,chunk__20006,i__20008);if(cljs.core.truth_(clojure.string.blank_QMARK_.call(null,new cljs.core.Keyword(null,"given","given",1112271599).cljs$core$IFn$_invoke$arity$1(failure))))
{} else
{lt.objs.console.log.call(null,[cljs.core.str("Given: "),cljs.core.str(new cljs.core.Keyword(null,"given","given",1112271599).cljs$core$IFn$_invoke$arity$1(failure))].join(''));
}
lt.objs.console.log.call(null,[cljs.core.str(new cljs.core.Keyword(null,"actual","actual",3885931776).cljs$core$IFn$_invoke$arity$1(failure)),cljs.core.str("\n\n")].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"error"], null));
{
var G__20242 = seq__20005;
var G__20243 = chunk__20006;
var G__20244 = count__20007;
var G__20245 = (i__20008 + 1);
seq__20005 = G__20242;
chunk__20006 = G__20243;
count__20007 = G__20244;
i__20008 = G__20245;
continue;
}
} else
{var temp__4092__auto__ = cljs.core.seq.call(null,seq__20005);if(temp__4092__auto__)
{var seq__20005__$1 = temp__4092__auto__;if(cljs.core.chunked_seq_QMARK_.call(null,seq__20005__$1))
{var c__5632__auto__ = cljs.core.chunk_first.call(null,seq__20005__$1);{
var G__20246 = cljs.core.chunk_rest.call(null,seq__20005__$1);
var G__20247 = c__5632__auto__;
var G__20248 = cljs.core.count.call(null,c__5632__auto__);
var G__20249 = 0;
seq__20005 = G__20246;
chunk__20006 = G__20247;
count__20007 = G__20248;
i__20008 = G__20249;
continue;
}
} else
{var failure = cljs.core.first.call(null,seq__20005__$1);if(cljs.core.truth_(clojure.string.blank_QMARK_.call(null,new cljs.core.Keyword(null,"given","given",1112271599).cljs$core$IFn$_invoke$arity$1(failure))))
{} else
{lt.objs.console.log.call(null,[cljs.core.str("Given: "),cljs.core.str(new cljs.core.Keyword(null,"given","given",1112271599).cljs$core$IFn$_invoke$arity$1(failure))].join(''));
}
lt.objs.console.log.call(null,[cljs.core.str(new cljs.core.Keyword(null,"actual","actual",3885931776).cljs$core$IFn$_invoke$arity$1(failure)),cljs.core.str("\n\n")].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"error"], null));
{
var G__20250 = cljs.core.next.call(null,seq__20005__$1);
var G__20251 = null;
var G__20252 = 0;
var G__20253 = 0;
seq__20005 = G__20250;
chunk__20006 = G__20251;
count__20007 = G__20252;
i__20008 = G__20253;
continue;
}
}
} else
{return null;
}
}
break;
}
});
lt.plugins.elm_light.test.handle_test_result = (function handle_test_result(this$,p__20010){var map__20012 = p__20010;var map__20012__$1 = ((cljs.core.seq_QMARK_.call(null,map__20012))?cljs.core.apply.call(null,cljs.core.hash_map,map__20012):map__20012);var evt = map__20012__$1;var failures = cljs.core.get.call(null,map__20012__$1,new cljs.core.Keyword(null,"failures","failures",1689842587));var status = cljs.core.get.call(null,map__20012__$1,new cljs.core.Keyword(null,"status","status",4416389988));var labels = cljs.core.get.call(null,map__20012__$1,new cljs.core.Keyword(null,"labels","labels",4198454129));lt.object.update_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"tests","tests",1124155795)], null),cljs.core.conj,evt);
if(cljs.core._EQ_.call(null,"fail",status))
{lt.object.assoc_in_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"failures?","failures?",4788123816)], null),true);
lt.plugins.elm_light.test.log_test_failures.call(null,new cljs.core.Keyword(null,"failures?","failures?",4788123816).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)),evt);
} else
{}
var container = lt.util.dom.$.call(null,new cljs.core.Keyword(null,"div.result-container","div.result-container",4736622080),new cljs.core.Keyword(null,"content","content",1965434859).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)));var failed_tests = cljs.core.filter.call(null,((function (container,map__20012,map__20012__$1,evt,failures,status,labels){
return (function (p1__20009_SHARP_){return cljs.core._EQ_.call(null,"fail",new cljs.core.Keyword(null,"status","status",4416389988).cljs$core$IFn$_invoke$arity$1(p1__20009_SHARP_));
});})(container,map__20012,map__20012__$1,evt,failures,status,labels))
,new cljs.core.Keyword(null,"tests","tests",1124155795).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)));lt.util.dom.empty.call(null,container);
lt.util.dom.append.call(null,container,lt.plugins.elm_light.test.testprogress_ui.call(null,this$,evt));
return lt.util.dom.append.call(null,container,lt.plugins.elm_light.test.failed_tests_ui.call(null,failed_tests));
});
lt.plugins.elm_light.test.log_start = (function log_start(evt){return lt.objs.notifos.set_msg_BANG_.call(null,"About to run ".call(null,new cljs.core.Keyword(null,"testCount","testCount",4102757135).cljs$core$IFn$_invoke$arity$1(evt)," Elm tests"));
});
lt.plugins.elm_light.test.handle_start = (function handle_start(this$,evt){var container = lt.util.dom.$.call(null,new cljs.core.Keyword(null,"div.result-container","div.result-container",4736622080),new cljs.core.Keyword(null,"content","content",1965434859).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)));lt.util.dom.empty.call(null,container);
lt.util.dom.append.call(null,container,lt.plugins.elm_light.test.testprogress_ui.call(null,this$,evt));
lt.util.dom.append.call(null,container,lt.plugins.elm_light.test.failed_tests_ui.call(null,cljs.core.PersistentVector.EMPTY,lt.plugins.elm_light.test.loader.call(null)));
lt.object.assoc_in_BANG_.call(null,this$,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"start","start",1123661780)], null),evt);
return lt.plugins.elm_light.test.log_start.call(null,evt);
});
/**
* Create a test suite on the fly for running elm tests
*/
lt.plugins.elm_light.test.create_suite = (function create_suite(suite_name,project_tests){var imports = [cljs.core.str("import "),cljs.core.str(clojure.string.join.call(null,"\nimport ",cljs.core.set.call(null,cljs.core.map.call(null,new cljs.core.Keyword(null,"module-name","module-name",4067691710),project_tests))))].join('');var tests = clojure.string.join.call(null,",",cljs.core.map.call(null,((function (imports){
return (function (p1__20013_SHARP_){return [cljs.core.str(new cljs.core.Keyword(null,"module-name","module-name",4067691710).cljs$core$IFn$_invoke$arity$1(p1__20013_SHARP_)),cljs.core.str("."),cljs.core.str(new cljs.core.Keyword(null,"value","value",1125876963).cljs$core$IFn$_invoke$arity$1(p1__20013_SHARP_))].join('');
});})(imports))
,project_tests));return [cljs.core.str("port module "),cljs.core.str(suite_name),cljs.core.str(" exposing (..)\n\nimport Test.Runner.Node exposing (run)\nimport Json.Encode exposing (Value)\nimport Test"),cljs.core.str("\n"),cljs.core.str(imports),cljs.core.str("\n"),cljs.core.str("main : Test.Runner.Node.TestProgram\nmain =\n run emit <| Test.concat ["),cljs.core.str(tests),cljs.core.str("]\n\nport emit : ( String, Value ) -> Cmd msg")].join('');
});
lt.plugins.elm_light.test.__BEH__elm_test_result = (function __BEH__elm_test_result(this$,res){var G__20015 = new cljs.core.Keyword(null,"event","event",1110795788).cljs$core$IFn$_invoke$arity$1(res);if(cljs.core._EQ_.call(null,"runComplete",G__20015))
{return lt.plugins.elm_light.test.handle_end.call(null,this$,res);
} else
{if(cljs.core._EQ_.call(null,"testCompleted",G__20015))
{return lt.plugins.elm_light.test.handle_test_result.call(null,this$,res);
} else
{if(cljs.core._EQ_.call(null,"runStart",G__20015))
{return lt.plugins.elm_light.test.handle_start.call(null,this$,res);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return cljs.core.println.call(null,"Unknown messsage: ",res);
} else
{return null;
}
}
}
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.test","elm-test-result","lt.plugins.elm-light.test/elm-test-result",3684004911),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.test.__BEH__elm_test_result,new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm test result event",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.test.result","elm.test.result",3092491043),null], null), null));
lt.plugins.elm_light.test.__BEH__elm_test_error = (function __BEH__elm_test_error(this$,err){var container_20254 = lt.util.dom.$.call(null,new cljs.core.Keyword(null,"div.result-container","div.result-container",4736622080),new cljs.core.Keyword(null,"content","content",1965434859).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,this$)));lt.util.dom.empty.call(null,container_20254);
lt.util.dom.append.call(null,container_20254,lt.plugins.elm_light.test.testprogress_ui.call(null,this$,cljs.core.PersistentArrayMap.EMPTY));
lt.util.dom.append.call(null,container_20254,lt.plugins.elm_light.test.failed_tests_ui.call(null,cljs.core.PersistentVector.EMPTY));
return lt.objs.console.error.call(null,new cljs.core.Keyword(null,"message","message",1968829305).cljs$core$IFn$_invoke$arity$1(err));
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.test","elm-test-error","lt.plugins.elm-light.test/elm-test-error",2939564972),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.test.__BEH__elm_test_error,new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm test error",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.test.error","elm.test.error",653693798),null], null), null));
lt.object.object_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.test","dashboard","lt.plugins.elm-light.test/dashboard",1095963052),new cljs.core.Keyword(null,"tags","tags",1017456523),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.test.dashboard","elm.test.dashboard",4421572082),null], null), null),new cljs.core.Keyword(null,"name","name",1017277949),"Elm Test Dashboard",new cljs.core.Keyword(null,"label","label",1116631654),"Elm Test Dashboard",new cljs.core.Keyword(null,"init","init",1017141378),(function (this$){return lt.plugins.elm_light.test.wrapper.call(null);
}));
lt.plugins.elm_light.test.dashboard = lt.object.create.call(null,new cljs.core.Keyword("lt.plugins.elm-light.test","dashboard","lt.plugins.elm-light.test/dashboard",1095963052));
lt.plugins.elm_light.test.__BEH__elm_test = (function __BEH__elm_test(ed){var map__20017 = cljs.core.deref.call(null,ed);var map__20017__$1 = ((cljs.core.seq_QMARK_.call(null,map__20017))?cljs.core.apply.call(null,cljs.core.hash_map,map__20017):map__20017);var info = cljs.core.get.call(null,map__20017__$1,new cljs.core.Keyword(null,"info","info",1017141280));lt.objs.tabs.add_or_focus_BANG_.call(null,lt.plugins.elm_light.test.dashboard);
lt.object.raise.call(null,lt.plugins.elm_light.test.dashboard,new cljs.core.Keyword(null,"elm.test.init","elm.test.init",2526420246),new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(info));
return lt.objs.clients.send.call(null,lt.plugins.elm_light.clients.get_eval_client.call(null,ed,new cljs.core.Keyword(null,"elm.test","elm.test",1176854604)),new cljs.core.Keyword(null,"elm.test","elm.test",1176854604),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"file","file",1017047278),new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)))], null),new cljs.core.Keyword(null,"only","only",1017320222),lt.plugins.elm_light.test.dashboard);
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.test","elm-test","lt.plugins.elm-light.test/elm-test",4453364343),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.test.__BEH__elm_test,new cljs.core.Keyword(null,"desc","desc",1016984067),"Run all Elm tests in your test project",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.test","elm.test",1176854604),null], null), null));
lt.plugins.elm_light.test.get_applicable_tests = (function get_applicable_tests(p__20018){var map__20021 = p__20018;var map__20021__$1 = ((cljs.core.seq_QMARK_.call(null,map__20021))?cljs.core.apply.call(null,cljs.core.hash_map,map__20021):map__20021);var suite_type = cljs.core.get.call(null,map__20021__$1,new cljs.core.Keyword(null,"suite-type","suite-type",4285261921));var path = cljs.core.get.call(null,map__20021__$1,new cljs.core.Keyword(null,"path","path",1017337751));var pos = cljs.core.get.call(null,map__20021__$1,new cljs.core.Keyword(null,"pos","pos",1014015430));var project_path = lt.plugins.elm_light.utils.project_path.call(null,path);var G__20022 = cljs.core.keyword.call(null,suite_type);if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"module","module",4240087518),G__20022))
{return lt.plugins.elm_light.elm_ast.get_module_tests.call(null,project_path,path);
} else
{if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"single","single",4406605754),G__20022))
{return lt.plugins.elm_light.elm_ast.get_test_by_pos.call(null,pos,project_path,path);
} else
{if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"all","all",1014000915),G__20022))
{return lt.plugins.elm_light.elm_ast.get_project_tests.call(null,project_path);
} else
{if(new cljs.core.Keyword(null,"else","else",1017020587))
{return cljs.core.PersistentVector.EMPTY;
} else
{return null;
}
}
}
}
});
lt.plugins.elm_light.test.__BEH__elm_test_suite = (function __BEH__elm_test_suite(ed,msg){var project_path = lt.plugins.elm_light.utils.project_path.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed))));var project_tests = lt.plugins.elm_light.test.get_applicable_tests.call(null,msg);var suite_name = [cljs.core.str("ElmTempTestSuite"),cljs.core.str(cljs.core.rand_int.call(null,1000000))].join('');if(cljs.core.seq.call(null,project_tests))
{return lt.objs.clients.send.call(null,lt.plugins.elm_light.clients.get_eval_client.call(null,ed,new cljs.core.Keyword(null,"elm.test.suite","elm.test.suite",666703958)),new cljs.core.Keyword(null,"elm.test.suite","elm.test.suite",666703958),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"module","module",4240087518),suite_name,new cljs.core.Keyword(null,"suite","suite",1123699306),lt.plugins.elm_light.test.create_suite.call(null,suite_name,project_tests)], null),new cljs.core.Keyword(null,"only","only",1017320222),lt.plugins.elm_light.test.dashboard);
} else
{var container_20255 = lt.util.dom.$.call(null,new cljs.core.Keyword(null,"div.result-container","div.result-container",4736622080),new cljs.core.Keyword(null,"content","content",1965434859).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,lt.plugins.elm_light.test.dashboard)));lt.util.dom.empty.call(null,container_20255);
lt.util.dom.append.call(null,container_20255,lt.plugins.elm_light.test.testprogress_ui.call(null,lt.plugins.elm_light.test.dashboard,cljs.core.PersistentArrayMap.EMPTY));
lt.util.dom.append.call(null,container_20255,lt.plugins.elm_light.test.failed_tests_ui.call(null,cljs.core.PersistentVector.EMPTY));
return lt.objs.notifos.set_msg_BANG_.call(null,"No tests found for project / given selection");
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.test","elm-test-suite","lt.plugins.elm-light.test/elm-test-suite",2925305500),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.test.__BEH__elm_test_suite,new cljs.core.Keyword(null,"desc","desc",1016984067),"Start test suite, now that project is connected",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.test.suite.start","elm.test.suite.start",3349712458),null], null), null));
lt.plugins.elm_light.test.ast_pass_through = (function ast_pass_through(this$,ed,msg){return lt.objs.clients.send.call(null,lt.plugins.elm_light.clients.get_eval_client.call(null,ed,new cljs.core.Keyword(null,"editor.elm.ast.passthrough","editor.elm.ast.passthrough",3082755153)),new cljs.core.Keyword(null,"editor.elm.ast.passthrough","editor.elm.ast.passthrough",3082755153),msg,new cljs.core.Keyword(null,"only","only",1017320222),this$);
});
lt.plugins.elm_light.test.check_elm_version = (function check_elm_version(proj_path){var elm_v = lt.plugins.elm_light.utils.get_elm_version.call(null);if(!(lt.plugins.elm_light.utils.ver_LTE_QMARK_.call(null,"0.18.0",elm_v)))
{lt.objs.console.error.call(null,[cljs.core.str("Test feature requires elm 0.18.0, but current elm version is: "),cljs.core.str(elm_v)].join(''));
lt.objs.notifos.set_msg_BANG_.call(null,[cljs.core.str("Test feature requires elm 0.18.0, but current elm version is: "),cljs.core.str(elm_v)].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"error"], null));
return false;
} else
{var vec__20024 = lt.plugins.elm_light.utils.project_satisfies_version_QMARK_.call(null,"0.18.0",proj_path);var ok_QMARK_ = cljs.core.nth.call(null,vec__20024,0,null);var bounds = cljs.core.nth.call(null,vec__20024,1,null);if(cljs.core.truth_(ok_QMARK_))
{return true;
} else
{lt.objs.console.error.call(null,[cljs.core.str("Elm test requires elm version 0.18.0 or higher but project has: "),cljs.core.str(bounds)].join(''));
lt.objs.notifos.set_msg_BANG_.call(null,[cljs.core.str("Elm test requires elm version 0.18.0 or higher but project has: "),cljs.core.str(bounds)].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",1108647146),"error"], null));
return false;
}
}
});
lt.plugins.elm_light.test.__BEH__elm_test_suite__DOT__init = (function __BEH__elm_test_suite__DOT__init(ed,suite_type){var temp__4092__auto__ = lt.plugins.elm_light.utils.project_path.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed))));if(cljs.core.truth_(temp__4092__auto__))
{var proj_path = temp__4092__auto__;if(lt.plugins.elm_light.test.check_elm_version.call(null,proj_path))
{var map__20026 = cljs.core.deref.call(null,ed);var map__20026__$1 = ((cljs.core.seq_QMARK_.call(null,map__20026))?cljs.core.apply.call(null,cljs.core.hash_map,map__20026):map__20026);var info = cljs.core.get.call(null,map__20026__$1,new cljs.core.Keyword(null,"info","info",1017141280));var pos = lt.objs.editor.__GT_cursor.call(null,ed);lt.objs.tabs.add_or_focus_BANG_.call(null,lt.plugins.elm_light.test.dashboard);
lt.object.raise.call(null,lt.plugins.elm_light.test.dashboard,new cljs.core.Keyword(null,"elm.test.init","elm.test.init",2526420246),new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(info));
return lt.plugins.elm_light.test.ast_pass_through.call(null,ed,ed,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"target","target",4427965699),new cljs.core.Keyword(null,"elm.test.suite.start","elm.test.suite.start",3349712458),new cljs.core.Keyword(null,"data","data",1016980252),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"pos","pos",1014015430),pos,new cljs.core.Keyword(null,"path","path",1017337751),new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(info),new cljs.core.Keyword(null,"suite-type","suite-type",4285261921),suite_type], null)], null));
} else
{return null;
}
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.test","elm-test-suite.init","lt.plugins.elm-light.test/elm-test-suite.init",2514809874),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.test.__BEH__elm_test_suite__DOT__init,new cljs.core.Keyword(null,"desc","desc",1016984067),"Initialize run of test suite",new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.test.suite.init","elm.test.suite.init",673307468),null], null), null));
lt.plugins.elm_light.test.__BEH__elm_test_setup = (function __BEH__elm_test_setup(ed){var temp__4092__auto__ = lt.plugins.elm_light.utils.project_path.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed))));if(cljs.core.truth_(temp__4092__auto__))
{var prj_path = temp__4092__auto__;if(lt.plugins.elm_light.test.check_elm_version.call(null,prj_path))
{return lt.plugins.elm_light.test.setup_test.call(null,prj_path);
} else
{return null;
}
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.test","elm-test-setup","lt.plugins.elm-light.test/elm-test-setup",2926934567),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.test.__BEH__elm_test_setup,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.test.setup","elm.test.setup",666237915),null], null), null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.test.suite","elm.test.suite",666703958),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Test All",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.test.suite.init","elm.test.suite.init",673307468),new cljs.core.Keyword(null,"all","all",1014000915));
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.test.module","elm.test.module",2958133618),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Test Module",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.test.suite.init","elm.test.suite.init",673307468),new cljs.core.Keyword(null,"module","module",4240087518));
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.test.single","elm.test.single",3124651854),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Test Current",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.test.suite.init","elm.test.suite.init",673307468),new cljs.core.Keyword(null,"single","single",4406605754));
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm.test.setup","elm.test.setup",666237915),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Test Setup",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.test.setup","elm.test.setup",666237915));
} else
{return null;
}
})], null));
}
if(!lt.util.load.provided_QMARK_('lt.plugins.elm-light.format')) {
goog.provide('lt.plugins.elm_light.format');
goog.require('cljs.core');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.objs.platform');
goog.require('clojure.string');
goog.require('lt.plugins.elm_light.utils');
goog.require('lt.objs.popup');
goog.require('lt.objs.popup');
goog.require('lt.objs.notifos');
goog.require('lt.plugins.elm_light.clients');
goog.require('lt.objs.notifos');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
goog.require('lt.objs.platform');
goog.require('lt.plugins.elm_light.clients');
goog.require('clojure.string');
goog.require('lt.plugins.elm_light.selection');
goog.require('lt.plugins.elm_light.selection');
goog.require('lt.objs.editor');
goog.require('lt.object');
goog.require('lt.object');
goog.require('lt.objs.console');
goog.require('lt.objs.editor');
goog.require('lt.objs.console');
goog.require('lt.objs.editor.pool');
goog.require('lt.objs.command');
lt.plugins.elm_light.format.handle_no_elm_format = (function handle_no_elm_format(){lt.objs.notifos.done_working.call(null);
lt.objs.console.log.call(null,process.env.PATH);
return lt.objs.popup.popup_BANG_.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"header","header",4087600639),"We couldn't find elm-format in your path",new cljs.core.Keyword(null,"body","body",1016933652),[cljs.core.str("In order to formatting related commands, elm-format must be installed and on your system PATH."),cljs.core.str("(Check the console for PATH as seen from Light Table")].join(''),new cljs.core.Keyword(null,"buttons","buttons",1255256819),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"label","label",1116631654),"Install elm-format",new cljs.core.Keyword(null,"action","action",3885920680),(function (){return lt.objs.platform.open.call(null,"https://github.com/avh4/elm-format#installation-");
})], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"label","label",1116631654),"ok"], null)], null)], null));
});
lt.plugins.elm_light.format.verify_installed = (function verify_installed(){if(cljs.core.truth_(lt.plugins.elm_light.clients.shelljs.which("elm-format")))
{return true;
} else
{lt.plugins.elm_light.format.handle_no_elm_format.call(null);
return null;
}
});
/**
* Format string input using elm-format.
* If successful returns [true result]
* If errors returns [false err]
*/
lt.plugins.elm_light.format.format_input = (function format_input(cwd,input){try{return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,require("child_process").execSync("elm-format --stdin",cljs.core.clj__GT_js.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"cwd","cwd",1014003170),cwd,new cljs.core.Keyword(null,"input","input",1114262332),input,new cljs.core.Keyword(null,"stdio","stdio",1123664379),"pipe"], null))).toString()], null);
}catch (e12443){var e = e12443;return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [false,e.message], null);
}});
/**
* Format file or all elm files in dir using elm-format.
* If successful returns [true nil]
* If errors returns [false err]
*/
lt.plugins.elm_light.format.format_path = (function format_path(cwd,path){try{require("child_process").execSync([cljs.core.str("elm-format --yes "),cljs.core.str(path)].join(''),cljs.core.clj__GT_js.call(null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"cwd","cwd",1014003170),cwd,new cljs.core.Keyword(null,"stdio","stdio",1123664379),"pipe"], null)));
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,null], null);
}catch (e12445){var e = e12445;return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [false,e.message], null);
}});
lt.plugins.elm_light.format.handle_format_error = (function handle_format_error(err){lt.objs.notifos.set_msg_BANG_.call(null,"Elm format reported errors. See console for details",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"class","class",1108647146),"error",new cljs.core.Keyword(null,"timeout","timeout",3994960083),5000], null));
return lt.objs.console.error.call(null,err);
});
lt.plugins.elm_light.format.__BEH__elm_format = (function __BEH__elm_format(ed){if(cljs.core.truth_(lt.plugins.elm_light.format.verify_installed.call(null)))
{var temp__4092__auto__ = new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)));if(cljs.core.truth_(temp__4092__auto__))
{var path = temp__4092__auto__;var pos = lt.objs.editor.__GT_cursor.call(null,ed);var vec__12447 = lt.plugins.elm_light.format.format_path.call(null,lt.plugins.elm_light.utils.project_path.call(null,path),path);var ok_QMARK_ = cljs.core.nth.call(null,vec__12447,0,null);var res = cljs.core.nth.call(null,vec__12447,1,null);if(cljs.core.truth_(ok_QMARK_))
{lt.objs.editor.pool.reload.call(null,ed);
} else
{lt.plugins.elm_light.format.handle_format_error.call(null,res);
}
lt.objs.editor.move_cursor.call(null,ed,pos);
return lt.objs.editor.center_cursor.call(null,ed);
} else
{return null;
}
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.format","elm-format","lt.plugins.elm-light.format/elm-format",4432445084),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.format.__BEH__elm_format,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.format","elm.format",2598773169),null], null), null));
lt.plugins.elm_light.format.strip_module = (function strip_module(expr){return clojure.string.join.call(null,"\n",cljs.core.drop.call(null,3,clojure.string.split_lines.call(null,expr)));
});
lt.plugins.elm_light.format.__BEH__elm_format_expression = (function __BEH__elm_format_expression(ed){if(cljs.core.truth_(lt.plugins.elm_light.format.verify_installed.call(null)))
{var pos = lt.objs.editor.__GT_cursor.call(null,ed);var cwd = lt.plugins.elm_light.utils.project_path.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed))));var temp__4092__auto__ = lt.plugins.elm_light.selection.get_top_level_expr.call(null,ed,pos);if(cljs.core.truth_(temp__4092__auto__))
{var map__12450 = temp__4092__auto__;var map__12450__$1 = ((cljs.core.seq_QMARK_.call(null,map__12450))?cljs.core.apply.call(null,cljs.core.hash_map,map__12450):map__12450);var to = cljs.core.get.call(null,map__12450__$1,new cljs.core.Keyword(null,"to","to",1013907949));var from = cljs.core.get.call(null,map__12450__$1,new cljs.core.Keyword(null,"from","from",1017056028));var vec__12451 = lt.plugins.elm_light.format.format_input.call(null,cwd,lt.objs.editor.range.call(null,ed,from,to));var ok_QMARK_ = cljs.core.nth.call(null,vec__12451,0,null);var res = cljs.core.nth.call(null,vec__12451,1,null);if(cljs.core.truth_(ok_QMARK_))
{lt.objs.editor.replace.call(null,ed,from,to,lt.plugins.elm_light.format.strip_module.call(null,res));
} else
{lt.plugins.elm_light.format.handle_format_error.call(null,res);
}
return lt.objs.editor.move_cursor.call(null,ed,pos);
} else
{return null;
}
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.format","elm-format-expression","lt.plugins.elm-light.format/elm-format-expression",731246833),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.format.__BEH__elm_format_expression,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.format-expression","elm.format-expression",2402661976),null], null), null));
lt.plugins.elm_light.format.__BEH__elm_format_buffer = (function __BEH__elm_format_buffer(ed){if(cljs.core.truth_(lt.plugins.elm_light.format.verify_installed.call(null)))
{var pos = lt.objs.editor.__GT_cursor.call(null,ed);var vec__12453 = lt.plugins.elm_light.format.format_input.call(null,lt.plugins.elm_light.utils.project_path.call(null,new cljs.core.Keyword(null,"path","path",1017337751).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"info","info",1017141280).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,ed)))),lt.objs.editor.__GT_val.call(null,ed));var ok_QMARK_ = cljs.core.nth.call(null,vec__12453,0,null);var res = cljs.core.nth.call(null,vec__12453,1,null);if(cljs.core.truth_(ok_QMARK_))
{lt.objs.editor.set_val_and_keep_cursor.call(null,ed,res);
return lt.objs.editor.center_cursor.call(null,ed);
} else
{return lt.plugins.elm_light.format.handle_format_error.call(null,res);
}
} else
{return null;
}
});
lt.object.behavior_STAR_.call(null,new cljs.core.Keyword("lt.plugins.elm-light.format","elm-format-buffer","lt.plugins.elm-light.format/elm-format-buffer",2032820105),new cljs.core.Keyword(null,"reaction","reaction",4441361819),lt.plugins.elm_light.format.__BEH__elm_format_buffer,new cljs.core.Keyword(null,"triggers","triggers",2516997421),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"elm.format-buffer","elm.format-buffer",4209381120),null], null), null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm-format","elm-format",1711269488),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Format file",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.format","elm.format",2598773169));
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm-format-buffer","elm-format-buffer",4714939745),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Format editor contents",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.format-buffer","elm.format-buffer",4209381120));
} else
{return null;
}
})], null));
lt.objs.command.command.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"command","command",1964298941),new cljs.core.Keyword(null,"elm-format-expression","elm-format-expression",3399734329),new cljs.core.Keyword(null,"desc","desc",1016984067),"Elm: Format top level expression at point",new cljs.core.Keyword(null,"exec","exec",1017031683),(function (){var temp__4092__auto__ = lt.objs.editor.pool.last_active.call(null);if(cljs.core.truth_(temp__4092__auto__))
{var ed = temp__4092__auto__;return lt.object.raise.call(null,ed,new cljs.core.Keyword(null,"elm.format-expression","elm.format-expression",2402661976));
} else
{return null;
}
})], null));
}
if(!lt.util.load.provided_QMARK_('')) {
}
//# sourceMappingURL=elm-light_compiled.js.map
================================================
FILE: elm.keymap
================================================
[
[:editor.keys.normal.elm "tab" :passthrough]
]
================================================
FILE: js/highlight.pack.js
================================================
!function(e){"undefined"!=typeof exports?e(exports):(window.hljs=e({}),"function"==typeof define&&define.amd&&define("hljs",[],function(){return window.hljs}))}(function(e){function n(e){return e.replace(/&/gm,"&").replace(//gm,">")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0==t.index}function a(e){return/^(no-?highlight|plain|text)$/i.test(e)}function i(e){var n,t,r,i=e.className+" ";if(i+=e.parentNode?e.parentNode.className:"",t=/\blang(?:uage)?-([\w-]+)\b/i.exec(i))return w(t[1])?t[1]:"no-highlight";for(i=i.split(/\s+/),n=0,r=i.length;r>n;n++)if(w(i[n])||a(i[n]))return i[n]}function o(e,n){var t,r={};for(t in e)r[t]=e[t];if(n)for(t in n)r[t]=n[t];return r}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3==i.nodeType?a+=i.nodeValue.length:1==i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!=r[0].offset?e[0].offset"}function u(e){f+=""+t(e)+">"}function c(e){("start"==e.event?o:u)(e.node)}for(var s=0,f="",l=[];e.length||r.length;){var g=i();if(f+=n(a.substr(s,g[0].offset-s)),s=g[0].offset,g==e){l.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g==e&&g.length&&g[0].offset==s);l.reverse().forEach(o)}else"start"==g[0].event?l.push(g[0].node):l.pop(),c(g.splice(0,1)[0])}return f+n(a.substr(s))}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var u={},c=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");u[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?c("keyword",a.k):Object.keys(a.k).forEach(function(e){c(e,a.k[e])}),a.k=u}a.lR=t(a.l||/\b\w+\b/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),void 0===a.r&&(a.r=1),a.c||(a.c=[]);var s=[];a.c.forEach(function(e){e.v?e.v.forEach(function(n){s.push(o(e,n))}):s.push("self"==e?a:e)}),a.c=s,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var f=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=f.length?t(f.join("|"),!0):{exec:function(){return null}}}}r(e)}function f(e,t,a,i){function o(e,n){for(var t=0;t";return i+=e+'">',i+n+o}function p(){if(!L.k)return n(y);var e="",t=0;L.lR.lastIndex=0;for(var r=L.lR.exec(y);r;){e+=n(y.substr(t,r.index-t));var a=g(L,r);a?(B+=a[1],e+=h(a[0],n(r[0]))):e+=n(r[0]),t=L.lR.lastIndex,r=L.lR.exec(y)}return e+n(y.substr(t))}function d(){var e="string"==typeof L.sL;if(e&&!x[L.sL])return n(y);var t=e?f(L.sL,y,!0,M[L.sL]):l(y,L.sL.length?L.sL:void 0);return L.r>0&&(B+=t.r),e&&(M[L.sL]=t.top),h(t.language,t.value,!1,!0)}function b(){return void 0!==L.sL?d():p()}function v(e,t){var r=e.cN?h(e.cN,"",!0):"";e.rB?(k+=r,y=""):e.eB?(k+=n(t)+r,y=""):(k+=r,y=t),L=Object.create(e,{parent:{value:L}})}function m(e,t){if(y+=e,void 0===t)return k+=b(),0;var r=o(t,L);if(r)return k+=b(),v(r,t),r.rB?0:t.length;var a=u(L,t);if(a){var i=L;i.rE||i.eE||(y+=t),k+=b();do L.cN&&(k+=""),B+=L.r,L=L.parent;while(L!=a.parent);return i.eE&&(k+=n(t)),y="",a.starts&&v(a.starts,""),i.rE?0:t.length}if(c(t,L))throw new Error('Illegal lexeme "'+t+'" for mode "'+(L.cN||"")+'"');return y+=t,t.length||1}var N=w(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var R,L=i||N,M={},k="";for(R=L;R!=N;R=R.parent)R.cN&&(k=h(R.cN,"",!0)+k);var y="",B=0;try{for(var C,j,I=0;;){if(L.t.lastIndex=I,C=L.t.exec(t),!C)break;j=m(t.substr(I,C.index-I),C[0]),I=C.index+j}for(m(t.substr(I)),R=L;R.parent;R=R.parent)R.cN&&(k+="");return{r:B,value:k,language:e,top:L}}catch(O){if(-1!=O.message.indexOf("Illegal"))return{r:0,value:n(t)};throw O}}function l(e,t){t=t||E.languages||Object.keys(x);var r={r:0,value:n(e)},a=r;return t.forEach(function(n){if(w(n)){var t=f(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}}),a.language&&(r.second_best=a),r}function g(e){return E.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,function(e,n){return n.replace(/\t/g,E.tabReplace)})),E.useBR&&(e=e.replace(/\n/g,"
")),e}function h(e,n,t){var r=n?R[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function p(e){var n=i(e);if(!a(n)){var t;E.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div"),t.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/
/g,"\n")):t=e;var r=t.textContent,o=n?f(n,r,!0):l(r),s=u(t);if(s.length){var p=document.createElementNS("http://www.w3.org/1999/xhtml","div");p.innerHTML=o.value,o.value=c(s,u(p),r)}o.value=g(o.value),e.innerHTML=o.value,e.className=h(e.className,n,o.language),e.result={language:o.language,re:o.r},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.r})}}function d(e){E=o(E,e)}function b(){if(!b.called){b.called=!0;var e=document.querySelectorAll("pre code");Array.prototype.forEach.call(e,p)}}function v(){addEventListener("DOMContentLoaded",b,!1),addEventListener("load",b,!1)}function m(n,t){var r=x[n]=t(e);r.aliases&&r.aliases.forEach(function(e){R[e]=n})}function N(){return Object.keys(x)}function w(e){return e=e.toLowerCase(),x[e]||x[R[e]]}var E={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},x={},R={};return e.highlight=f,e.highlightAuto=l,e.fixMarkup=g,e.highlightBlock=p,e.configure=d,e.initHighlighting=b,e.initHighlightingOnLoad=v,e.registerLanguage=m,e.listLanguages=N,e.getLanguage=w,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/-?[a-z\.]+/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",operator:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"shebang",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,e.NM,s,a,t]}});hljs.registerLanguage("css",function(e){var c="[a-zA-Z-][a-zA-Z0-9_-]*",a={cN:"function",b:c+"\\(",rB:!0,eE:!0,e:"\\("},r={cN:"rule",b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{cN:"value",eW:!0,eE:!0,c:[a,e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"hexcolor",b:"#[0-9A-Fa-f]+"},{cN:"important",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,r,{cN:"id",b:/\#[A-Za-z0-9_-]+/},{cN:"class",b:/\.[A-Za-z0-9_-]+/},{cN:"attr_selector",b:/\[/,e:/\]/,i:"$"},{cN:"pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"']+/},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{cN:"at_rule",b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[a,e.ASM,e.QSM,e.CSSNM]}]},{cN:"tag",b:c,r:0},{cN:"rules",b:"{",e:"}",i:/\S/,c:[e.CBCM,r]}]}});hljs.registerLanguage("elm",function(e){var c=[e.C("--","$"),e.C("{-","-}",{c:["self"]})],i={cN:"type",b:"\\b[A-Z][\\w']*",r:0},n={cN:"container",b:"\\(",e:"\\)",i:'"',c:[{cN:"type",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"}].concat(c)},t={cN:"container",b:"{",e:"}",c:n.c};return{k:"let in if then else case of where module import exposing type alias as infix infixl infixr port",c:[{cN:"module",b:"\\bmodule\\b",e:"where",k:"module where",c:[n].concat(c),i:"\\W\\.|;"},{cN:"import",b:"\\bimport\\b",e:"$",k:"import|0 as exposing",c:[n].concat(c),i:"\\W\\.|;"},{cN:"typedef",b:"\\btype\\b",e:"$",k:"type alias",c:[i,n,t].concat(c)},{cN:"infix",bK:"infix infixl infixr",e:"$",c:[e.CNM].concat(c)},{cN:"foreign",b:"\\bport\\b",e:"$",k:"port",c:c},e.QSM,e.CNM,i,e.inherit(e.TM,{b:"^[_a-z][\\w']*"}),{b:"->|<-"}].concat(c)}});hljs.registerLanguage("json",function(e){var t={literal:"true false null"},i=[e.QSM,e.CNM],l={cN:"value",e:",",eW:!0,eE:!0,c:i,k:t},c={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:!0,eE:!0,c:[e.BE],i:"\\n",starts:l}],i:"\\S"},n={b:"\\[",e:"\\]",c:[e.inherit(l,{cN:null})],i:"\\S"};return i.splice(i.length,0,c,n),{c:i,k:t,i:"\\S"}});hljs.registerLanguage("javascript",function(e){return{aliases:["js"],k:{keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},c:[{cN:"pi",r:10,b:/^\s*['"]use (strict|asm)['"]/},e.ASM,e.QSM,{cN:"string",b:"`",e:"`",c:[e.BE,{cN:"subst",b:"\\$\\{",e:"\\}"}]},e.CLCM,e.CBCM,{cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{b:/,e:/>\s*[);\]]/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:[e.CLCM,e.CBCM]}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+e.IR,r:0},{bK:"import",e:"[;$]",k:"import from as",c:[e.ASM,e.QSM]},{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]}],i:/#/}});hljs.registerLanguage("xml",function(t){var s="[A-Za-z0-9\\._:-]+",c={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php"},e={eW:!0,i:/,r:0,c:[c,{cN:"attribute",b:s,r:0},{b:"=",r:0,c:[{cN:"value",c:[c],v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s\/>]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:!0,c:[{cN:"doctype",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},t.C("",{r:10}),{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"",rE:!0,sL:"css"}},{cN:"tag",b:"",rE:!0,sL:["actionscript","javascript","handlebars"]}},c,{cN:"pi",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"?",e:"/?>",c:[{cN:"title",b:/[^ \/><\n\t]+/,r:0},e]}]}});
================================================
FILE: js/show-hint.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
var HINT_ELEMENT_CLASS = "CodeMirror-hint";
var ACTIVE_HINT_ELEMENT_CLASS = "CodeMirror-hint-active";
// This is the old interface, kept around for now to stay
// backwards-compatible.
CodeMirror.showHint = function(cm, getHints, options) {
if (!getHints) return cm.showHint(options);
if (options && options.async) getHints.async = true;
var newOpts = {hint: getHints};
if (options) for (var prop in options) newOpts[prop] = options[prop];
return cm.showHint(newOpts);
};
CodeMirror.defineExtension("showHint", function(options) {
options = parseOptions(this, this.getCursor("start"), options);
var selections = this.listSelections()
if (selections.length > 1) return;
// By default, don't allow completion when something is selected.
// A hint function can have a `supportsSelection` property to
// indicate that it can handle selections.
if (this.somethingSelected()) {
if (!options.hint.supportsSelection) return;
// Don't try with cross-line selections
for (var i = 0; i < selections.length; i++)
if (selections[i].head.line != selections[i].anchor.line) return;
}
if (this.state.completionActive) this.state.completionActive.close();
var completion = this.state.completionActive = new Completion(this, options);
if (!completion.options.hint) return;
CodeMirror.signal(this, "startCompletion", this);
completion.update(true);
});
function Completion(cm, options) {
this.cm = cm;
this.options = options;
this.widget = null;
this.debounce = 0;
this.tick = 0;
this.startPos = this.cm.getCursor("start");
this.startLen = this.cm.getLine(this.startPos.line).length - this.cm.getSelection().length;
var self = this;
cm.on("cursorActivity", this.activityFunc = function() { self.cursorActivity(); });
}
var requestAnimationFrame = window.requestAnimationFrame || function(fn) {
return setTimeout(fn, 1000/60);
};
var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout;
Completion.prototype = {
close: function() {
if (!this.active()) return;
this.cm.state.completionActive = null;
this.tick = null;
this.cm.off("cursorActivity", this.activityFunc);
if (this.widget && this.data) CodeMirror.signal(this.data, "close");
if (this.widget) this.widget.close();
CodeMirror.signal(this.cm, "endCompletion", this.cm);
},
active: function() {
return this.cm.state.completionActive == this;
},
pick: function(data, i) {
var completion = data.list[i];
if (completion.hint) completion.hint(this.cm, data, completion);
else this.cm.replaceRange(getText(completion), completion.from || data.from,
completion.to || data.to, "complete");
CodeMirror.signal(data, "pick", completion);
this.close();
},
cursorActivity: function() {
if (this.debounce) {
cancelAnimationFrame(this.debounce);
this.debounce = 0;
}
var pos = this.cm.getCursor(), line = this.cm.getLine(pos.line);
if (pos.line != this.startPos.line || line.length - pos.ch != this.startLen - this.startPos.ch ||
pos.ch < this.startPos.ch || this.cm.somethingSelected() ||
(pos.ch && this.options.closeCharacters.test(line.charAt(pos.ch - 1)))) {
this.close();
} else {
var self = this;
this.debounce = requestAnimationFrame(function() {self.update();});
if (this.widget) this.widget.disable();
}
},
update: function(first) {
if (this.tick == null) return
var self = this, myTick = ++this.tick
fetchHints(this.options.hint, this.cm, this.options, function(data) {
if (self.tick == myTick) self.finishUpdate(data, first)
})
},
finishUpdate: function(data, first) {
if (this.data) CodeMirror.signal(this.data, "update");
var picked = (this.widget && this.widget.picked) || (first && this.options.completeSingle);
if (this.widget) this.widget.close();
if (data && this.data && isNewCompletion(this.data, data)) return;
this.data = data;
if (data && data.list.length) {
if (picked && data.list.length == 1) {
this.pick(data, 0);
} else {
this.widget = new Widget(this, data);
CodeMirror.signal(data, "shown");
}
}
}
};
function isNewCompletion(old, nw) {
var moved = CodeMirror.cmpPos(nw.from, old.from)
return moved > 0 && old.to.ch - old.from.ch != nw.to.ch - nw.from.ch
}
function parseOptions(cm, pos, options) {
var editor = cm.options.hintOptions;
var out = {};
for (var prop in defaultOptions) out[prop] = defaultOptions[prop];
if (editor) for (var prop in editor)
if (editor[prop] !== undefined) out[prop] = editor[prop];
if (options) for (var prop in options)
if (options[prop] !== undefined) out[prop] = options[prop];
if (out.hint.resolve) out.hint = out.hint.resolve(cm, pos)
return out;
}
function getText(completion) {
if (typeof completion == "string") return completion;
else return completion.text;
}
function buildKeyMap(completion, handle) {
var baseMap = {
Up: function() {handle.moveFocus(-1);},
Down: function() {handle.moveFocus(1);},
PageUp: function() {handle.moveFocus(-handle.menuSize() + 1, true);},
PageDown: function() {handle.moveFocus(handle.menuSize() - 1, true);},
Home: function() {handle.setFocus(0);},
End: function() {handle.setFocus(handle.length - 1);},
Enter: handle.pick,
Tab: handle.pick,
Esc: handle.close
};
var custom = completion.options.customKeys;
var ourMap = custom ? {} : baseMap;
function addBinding(key, val) {
var bound;
if (typeof val != "string")
bound = function(cm) { return val(cm, handle); };
// This mechanism is deprecated
else if (baseMap.hasOwnProperty(val))
bound = baseMap[val];
else
bound = val;
ourMap[key] = bound;
}
if (custom)
for (var key in custom) if (custom.hasOwnProperty(key))
addBinding(key, custom[key]);
var extra = completion.options.extraKeys;
if (extra)
for (var key in extra) if (extra.hasOwnProperty(key))
addBinding(key, extra[key]);
return ourMap;
}
function getHintElement(hintsElement, el) {
while (el && el != hintsElement) {
if (el.nodeName.toUpperCase() === "LI" && el.parentNode == hintsElement) return el;
el = el.parentNode;
}
}
function Widget(completion, data) {
this.completion = completion;
this.data = data;
this.picked = false;
var widget = this, cm = completion.cm;
var hints = this.hints = document.createElement("ul");
hints.className = "CodeMirror-hints";
this.selectedHint = data.selectedHint || 0;
var completions = data.list;
for (var i = 0; i < completions.length; ++i) {
var elt = hints.appendChild(document.createElement("li")), cur = completions[i];
var className = HINT_ELEMENT_CLASS + (i != this.selectedHint ? "" : " " + ACTIVE_HINT_ELEMENT_CLASS);
if (cur.className != null) className = cur.className + " " + className;
elt.className = className;
if (cur.render) cur.render(elt, data, cur);
else elt.appendChild(document.createTextNode(cur.displayText || getText(cur)));
elt.hintId = i;
}
var pos = cm.cursorCoords(completion.options.alignWithWord ? data.from : null);
var left = pos.left, top = pos.bottom, below = true;
hints.style.left = left + "px";
hints.style.top = top + "px";
// If we're at the edge of the screen, then we want the menu to appear on the left of the cursor.
var winW = window.innerWidth || Math.max(document.body.offsetWidth, document.documentElement.offsetWidth);
var winH = window.innerHeight || Math.max(document.body.offsetHeight, document.documentElement.offsetHeight);
(completion.options.container || document.body).appendChild(hints);
var box = hints.getBoundingClientRect(), overlapY = box.bottom - winH;
if (overlapY > 0) {
var height = box.bottom - box.top, curTop = pos.top - (pos.bottom - box.top);
if (curTop - height > 0) { // Fits above cursor
hints.style.top = (top = pos.top - height) + "px";
below = false;
} else if (height > winH) {
hints.style.height = (winH - 5) + "px";
hints.style.top = (top = pos.bottom - box.top) + "px";
var cursor = cm.getCursor();
if (data.from.ch != cursor.ch) {
pos = cm.cursorCoords(cursor);
hints.style.left = (left = pos.left) + "px";
box = hints.getBoundingClientRect();
}
}
}
var overlapX = box.right - winW;
if (overlapX > 0) {
if (box.right - box.left > winW) {
hints.style.width = (winW - 5) + "px";
overlapX -= (box.right - box.left) - winW;
}
hints.style.left = (left = pos.left - overlapX) + "px";
}
cm.addKeyMap(this.keyMap = buildKeyMap(completion, {
moveFocus: function(n, avoidWrap) { widget.changeActive(widget.selectedHint + n, avoidWrap); },
setFocus: function(n) { widget.changeActive(n); },
menuSize: function() { return widget.screenAmount(); },
length: completions.length,
close: function() { completion.close(); },
pick: function() { widget.pick(); },
data: data
}));
if (completion.options.closeOnUnfocus) {
var closingOnBlur;
cm.on("blur", this.onBlur = function() { closingOnBlur = setTimeout(function() { completion.close(); }, 100); });
cm.on("focus", this.onFocus = function() { clearTimeout(closingOnBlur); });
}
var startScroll = cm.getScrollInfo();
cm.on("scroll", this.onScroll = function() {
var curScroll = cm.getScrollInfo(), editor = cm.getWrapperElement().getBoundingClientRect();
var newTop = top + startScroll.top - curScroll.top;
var point = newTop - (window.pageYOffset || (document.documentElement || document.body).scrollTop);
if (!below) point += hints.offsetHeight;
if (point <= editor.top || point >= editor.bottom) return completion.close();
hints.style.top = newTop + "px";
hints.style.left = (left + startScroll.left - curScroll.left) + "px";
});
CodeMirror.on(hints, "dblclick", function(e) {
var t = getHintElement(hints, e.target || e.srcElement);
if (t && t.hintId != null) {widget.changeActive(t.hintId); widget.pick();}
});
CodeMirror.on(hints, "click", function(e) {
var t = getHintElement(hints, e.target || e.srcElement);
if (t && t.hintId != null) {
widget.changeActive(t.hintId);
if (completion.options.completeOnSingleClick) widget.pick();
}
});
CodeMirror.on(hints, "mousedown", function() {
setTimeout(function(){cm.focus();}, 20);
});
CodeMirror.signal(data, "select", completions[0], hints.firstChild);
return true;
}
Widget.prototype = {
close: function() {
if (this.completion.widget != this) return;
this.completion.widget = null;
this.hints.parentNode.removeChild(this.hints);
this.completion.cm.removeKeyMap(this.keyMap);
var cm = this.completion.cm;
if (this.completion.options.closeOnUnfocus) {
cm.off("blur", this.onBlur);
cm.off("focus", this.onFocus);
}
cm.off("scroll", this.onScroll);
},
disable: function() {
this.completion.cm.removeKeyMap(this.keyMap);
var widget = this;
this.keyMap = {Enter: function() { widget.picked = true; }};
this.completion.cm.addKeyMap(this.keyMap);
},
pick: function() {
this.completion.pick(this.data, this.selectedHint);
},
changeActive: function(i, avoidWrap) {
if (i >= this.data.list.length)
i = avoidWrap ? this.data.list.length - 1 : 0;
else if (i < 0)
i = avoidWrap ? 0 : this.data.list.length - 1;
if (this.selectedHint == i) return;
var node = this.hints.childNodes[this.selectedHint];
node.className = node.className.replace(" " + ACTIVE_HINT_ELEMENT_CLASS, "");
node = this.hints.childNodes[this.selectedHint = i];
node.className += " " + ACTIVE_HINT_ELEMENT_CLASS;
if (node.offsetTop < this.hints.scrollTop)
this.hints.scrollTop = node.offsetTop - 3;
else if (node.offsetTop + node.offsetHeight > this.hints.scrollTop + this.hints.clientHeight)
this.hints.scrollTop = node.offsetTop + node.offsetHeight - this.hints.clientHeight + 3;
CodeMirror.signal(this.data, "select", this.data.list[this.selectedHint], node);
},
screenAmount: function() {
return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1;
}
};
function applicableHelpers(cm, helpers) {
if (!cm.somethingSelected()) return helpers
var result = []
for (var i = 0; i < helpers.length; i++)
if (helpers[i].supportsSelection) result.push(helpers[i])
return result
}
function fetchHints(hint, cm, options, callback) {
if (hint.async) {
hint(cm, callback, options)
} else {
var result = hint(cm, options)
if (result && result.then) result.then(callback)
else callback(result)
}
}
function resolveAutoHints(cm, pos) {
var helpers = cm.getHelpers(pos, "hint"), words
if (helpers.length) {
var resolved = function(cm, callback, options) {
var app = applicableHelpers(cm, helpers);
function run(i) {
if (i == app.length) return callback(null)
fetchHints(app[i], cm, options, function(result) {
if (result && result.list.length > 0) callback(result)
else run(i + 1)
})
}
run(0)
}
resolved.async = true
resolved.supportsSelection = true
return resolved
} else if (words = cm.getHelper(cm.getCursor(), "hintWords")) {
return function(cm) { return CodeMirror.hint.fromList(cm, {words: words}) }
} else if (CodeMirror.hint.anyword) {
return function(cm, options) { return CodeMirror.hint.anyword(cm, options) }
} else {
return function() {}
}
}
CodeMirror.registerHelper("hint", "auto", {
resolve: resolveAutoHints
});
CodeMirror.registerHelper("hint", "fromList", function(cm, options) {
var cur = cm.getCursor(), token = cm.getTokenAt(cur);
var to = CodeMirror.Pos(cur.line, token.end);
if (token.string && /\w/.test(token.string[token.string.length - 1])) {
var term = token.string, from = CodeMirror.Pos(cur.line, token.start);
} else {
var term = "", from = to;
}
var found = [];
for (var i = 0; i < options.words.length; i++) {
var word = options.words[i];
if (word.slice(0, term.length) == term)
found.push(word);
}
if (found.length) return {list: found, from: from, to: to};
});
CodeMirror.commands.autocomplete = CodeMirror.showHint;
var defaultOptions = {
hint: CodeMirror.hint.auto,
completeSingle: true,
alignWithWord: true,
closeCharacters: /[\s()\[\]{};:>,]/,
closeOnUnfocus: true,
completeOnSingleClick: true,
container: null,
customKeys: null,
extraKeys: null
};
CodeMirror.defineOption("hintOptions", null);
});
================================================
FILE: js/show-hint2.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
var HINT_ELEMENT_CLASS = "CodeMirror-hint";
var ACTIVE_HINT_ELEMENT_CLASS = "CodeMirror-hint-active";
// This is the old interface, kept around for now to stay
// backwards-compatible.
CodeMirror.showHint = function(cm, getHints, options) {
if (!getHints) return cm.showHint(options);
if (options && options.async) getHints.async = true;
var newOpts = {hint: getHints};
if (options) for (var prop in options) newOpts[prop] = options[prop];
return cm.showHint(newOpts);
};
CodeMirror.defineExtension("showHint", function(options) {
options = parseOptions(this, this.getCursor("start"), options);
var selections = this.listSelections()
if (selections.length > 1) return;
// By default, don't allow completion when something is selected.
// A hint function can have a `supportsSelection` property to
// indicate that it can handle selections.
if (this.somethingSelected()) {
if (!options.hint.supportsSelection) return;
// Don't try with cross-line selections
for (var i = 0; i < selections.length; i++)
if (selections[i].head.line != selections[i].anchor.line) return;
}
if (this.state.completionActive) {
this.state.completionActive.close();
}
var completion = this.state.completionActive = new Completion(this, options);
if (!completion.options.hint) return;
CodeMirror.signal(this, "startCompletion", this);
completion.update(true);
});
function Completion(cm, options) {
this.cm = cm;
this.options = options;
this.widget = null;
this.debounce = 0;
this.tick = 0;
this.startPos = this.cm.getCursor("start");
this.startLen = this.cm.getLine(this.startPos.line).length - this.cm.getSelection().length;
var self = this;
cm.on("cursorActivity", this.activityFunc = function() { self.cursorActivity(); });
}
var requestAnimationFrame = window.requestAnimationFrame || function(fn) {
return setTimeout(fn, 1000/60);
};
var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout;
Completion.prototype = {
close: function() {
if (!this.active()) return;
this.cm.state.completionActive = null;
this.tick = null;
this.cm.off("cursorActivity", this.activityFunc);
if (this.widget && this.data) CodeMirror.signal(this.data, "close");
if (this.widget) this.widget.close();
CodeMirror.signal(this.cm, "endCompletion", this.cm);
},
active: function() {
return this.cm.state.completionActive == this;
},
pick: function(data, i) {
var completion = data.list[i];
if (completion.hint) completion.hint(this.cm, data, completion);
else this.cm.replaceRange(getText(completion), completion.from || data.from,
completion.to || data.to, "complete");
CodeMirror.signal(data, "pick", completion);
this.close();
},
cursorActivity: function() {
if (this.debounce) {
cancelAnimationFrame(this.debounce);
this.debounce = 0;
}
var pos = this.cm.getCursor(), line = this.cm.getLine(pos.line);
if (pos.line != this.startPos.line || line.length - pos.ch != this.startLen - this.startPos.ch ||
pos.ch < this.startPos.ch || this.cm.somethingSelected() ||
(pos.ch && this.options.closeCharacters.test(line.charAt(pos.ch - 1)))) {
this.close();
} else {
var self = this;
this.debounce = requestAnimationFrame(function() {self.update();});
if (this.widget) this.widget.disable();
}
},
update: function(first) {
if (this.tick == null) return
var self = this, myTick = ++this.tick
fetchHints(this.options.hint, this.cm, this.options, function(data) {
if (self.tick == myTick) self.finishUpdate(data, first)
})
},
finishUpdate: function(data, first) {
if (this.data) CodeMirror.signal(this.data, "update");
var picked = (this.widget && this.widget.picked) || (first && this.options.completeSingle);
if (this.widget) {
this.widget.close();
}
if (data && this.data && isNewCompletion(this.data, data)) return;
this.data = data;
if (data && data.list.length) {
if (picked && data.list.length == 1) {
this.pick(data, 0);
} else {
this.widget = new Widget(this, data);
CodeMirror.signal(data, "shown");
}
}
}
};
function isNewCompletion(old, nw) {
var moved = CodeMirror.cmpPos(nw.from, old.from)
return moved > 0 && old.to.ch - old.from.ch != nw.to.ch - nw.from.ch
}
function parseOptions(cm, pos, options) {
var editor = cm.options.hintOptions;
var out = {};
for (var prop in defaultOptions) out[prop] = defaultOptions[prop];
if (editor) for (var prop in editor)
if (editor[prop] !== undefined) out[prop] = editor[prop];
if (options) for (var prop in options)
if (options[prop] !== undefined) out[prop] = options[prop];
if (out.hint.resolve) out.hint = out.hint.resolve(cm, pos)
return out;
}
function getText(completion) {
if (typeof completion == "string") return completion;
else return completion.text;
}
function buildKeyMap(completion, handle) {
var baseMap = {
Up: function() {handle.moveFocus(-1);},
Down: function() {handle.moveFocus(1);},
PageUp: function() {handle.moveFocus(-handle.menuSize() + 1, true);},
PageDown: function() {handle.moveFocus(handle.menuSize() - 1, true);},
Home: function() {handle.setFocus(0);},
End: function() {handle.setFocus(handle.length - 1);},
Enter: handle.pick,
Tab: handle.pick,
Esc: handle.close
};
var custom = completion.options.customKeys;
var ourMap = custom ? {} : baseMap;
function addBinding(key, val) {
var bound;
if (typeof val != "string")
bound = function(cm) { return val(cm, handle); };
// This mechanism is deprecated
else if (baseMap.hasOwnProperty(val))
bound = baseMap[val];
else
bound = val;
ourMap[key] = bound;
}
if (custom)
for (var key in custom) if (custom.hasOwnProperty(key))
addBinding(key, custom[key]);
var extra = completion.options.extraKeys;
if (extra)
for (var key in extra) if (extra.hasOwnProperty(key))
addBinding(key, extra[key]);
return ourMap;
}
function getHintElement(hintsElement, el) {
while (el && el != hintsElement) {
if (el.nodeName.toUpperCase() === "LI" && el.parentNode == hintsElement) return el;
el = el.parentNode;
}
}
function Widget(completion, data) {
this.completion = completion;
this.data = data;
this.picked = false;
var widget = this, cm = completion.cm;
var hints = this.hints = document.createElement("ul");
hints.className = "CodeMirror-hints";
this.selectedHint = data.selectedHint || 0;
var completions = data.list;
for (var i = 0; i < completions.length; ++i) {
var elt = hints.appendChild(document.createElement("li")), cur = completions[i];
var className = HINT_ELEMENT_CLASS + (i != this.selectedHint ? "" : " " + ACTIVE_HINT_ELEMENT_CLASS);
if (cur.className != null) className = cur.className + " " + className;
elt.className = className;
if (cur.render) cur.render(elt, data, cur);
else elt.appendChild(document.createTextNode(cur.displayText || getText(cur)));
elt.hintId = i;
}
var pos = cm.cursorCoords(completion.options.alignWithWord ? data.from : null);
var left = pos.left, top = pos.bottom, below = true;
hints.style.left = left + "px";
hints.style.top = top + "px";
// If we're at the edge of the screen, then we want the menu to appear on the left of the cursor.
var winW = window.innerWidth || Math.max(document.body.offsetWidth, document.documentElement.offsetWidth);
var winH = window.innerHeight || Math.max(document.body.offsetHeight, document.documentElement.offsetHeight);
(completion.options.container || document.body).appendChild(hints);
var box = hints.getBoundingClientRect(), overlapY = box.bottom - winH;
var scrolls = hints.scrollHeight > hints.clientHeight + 1
var startScroll = cm.getScrollInfo();
if (overlapY > 0) {
var height = box.bottom - box.top, curTop = pos.top - (pos.bottom - box.top);
if (curTop - height > 0) { // Fits above cursor
hints.style.top = (top = pos.top - height) + "px";
below = false;
} else if (height > winH) {
hints.style.height = (winH - 5) + "px";
hints.style.top = (top = pos.bottom - box.top) + "px";
var cursor = cm.getCursor();
if (data.from.ch != cursor.ch) {
pos = cm.cursorCoords(cursor);
hints.style.left = (left = pos.left) + "px";
box = hints.getBoundingClientRect();
}
}
}
var overlapX = box.right - winW;
if (overlapX > 0) {
if (box.right - box.left > winW) {
hints.style.width = (winW - 5) + "px";
overlapX -= (box.right - box.left) - winW;
}
hints.style.left = (left = pos.left - overlapX) + "px";
}
if (scrolls) for (var node = hints.firstChild; node; node = node.nextSibling)
node.style.paddingRight = cm.display.nativeBarWidth + "px"
cm.addKeyMap(this.keyMap = buildKeyMap(completion, {
moveFocus: function(n, avoidWrap) { widget.changeActive(widget.selectedHint + n, avoidWrap); },
setFocus: function(n) { widget.changeActive(n); },
menuSize: function() { return widget.screenAmount(); },
length: completions.length,
close: function() { completion.close(); },
pick: function() { widget.pick(); },
data: data
}));
if (completion.options.closeOnUnfocus) {
var closingOnBlur;
cm.on("blur", this.onBlur = function() {
closingOnBlur = setTimeout(function() {
completion.close();
}, 100);
});
cm.on("focus", this.onFocus = function() { clearTimeout(closingOnBlur); });
}
cm.on("scroll", this.onScroll = function() {
var curScroll = cm.getScrollInfo(), editor = cm.getWrapperElement().getBoundingClientRect();
var newTop = top + startScroll.top - curScroll.top;
var point = newTop - (window.pageYOffset || (document.documentElement || document.body).scrollTop);
if (!below) point += hints.offsetHeight;
if (point <= editor.top || point >= editor.bottom) {
return completion.close();
}
hints.style.top = newTop + "px";
hints.style.left = (left + startScroll.left - curScroll.left) + "px";
});
CodeMirror.on(hints, "dblclick", function(e) {
var t = getHintElement(hints, e.target || e.srcElement);
if (t && t.hintId != null) {widget.changeActive(t.hintId); widget.pick();}
});
CodeMirror.on(hints, "click", function(e) {
var t = getHintElement(hints, e.target || e.srcElement);
if (t && t.hintId != null) {
widget.changeActive(t.hintId);
if (completion.options.completeOnSingleClick) widget.pick();
}
});
CodeMirror.on(hints, "mousedown", function() {
setTimeout(function(){cm.focus();}, 20);
});
CodeMirror.signal(data, "select", completions[0], hints.firstChild);
return true;
}
Widget.prototype = {
close: function() {
if (this.completion.widget != this) return;
this.completion.widget = null;
this.hints.parentNode.removeChild(this.hints);
this.completion.cm.removeKeyMap(this.keyMap);
var cm = this.completion.cm;
if (this.completion.options.closeOnUnfocus) {
cm.off("blur", this.onBlur);
cm.off("focus", this.onFocus);
}
cm.off("scroll", this.onScroll);
},
disable: function() {
this.completion.cm.removeKeyMap(this.keyMap);
var widget = this;
this.keyMap = {Enter: function() { widget.picked = true; }};
this.completion.cm.addKeyMap(this.keyMap);
},
pick: function() {
this.completion.pick(this.data, this.selectedHint);
},
changeActive: function(i, avoidWrap) {
if (i >= this.data.list.length)
i = avoidWrap ? this.data.list.length - 1 : 0;
else if (i < 0)
i = avoidWrap ? 0 : this.data.list.length - 1;
if (this.selectedHint == i) return;
var node = this.hints.childNodes[this.selectedHint];
node.className = node.className.replace(" " + ACTIVE_HINT_ELEMENT_CLASS, "");
node = this.hints.childNodes[this.selectedHint = i];
node.className += " " + ACTIVE_HINT_ELEMENT_CLASS;
if (node.offsetTop < this.hints.scrollTop)
this.hints.scrollTop = node.offsetTop - 3;
else if (node.offsetTop + node.offsetHeight > this.hints.scrollTop + this.hints.clientHeight)
this.hints.scrollTop = node.offsetTop + node.offsetHeight - this.hints.clientHeight + 3;
CodeMirror.signal(this.data, "select", this.data.list[this.selectedHint], node);
},
screenAmount: function() {
return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1;
}
};
function applicableHelpers(cm, helpers) {
if (!cm.somethingSelected()) return helpers
var result = []
for (var i = 0; i < helpers.length; i++)
if (helpers[i].supportsSelection) result.push(helpers[i])
return result
}
function fetchHints(hint, cm, options, callback) {
if (hint.async) {
hint(cm, callback, options)
} else if (options.async) {
hint(cm, callback, options); // Added by Magnus !
} else {
var result = hint(cm, options)
if (result && result.then) result.then(callback)
else callback(result)
}
}
function resolveAutoHints(cm, pos) {
var helpers = cm.getHelpers(pos, "hint"), words
if (helpers.length) {
var resolved = function(cm, callback, options) {
var app = applicableHelpers(cm, helpers);
function run(i) {
if (i == app.length) return callback(null)
fetchHints(app[i], cm, options, function(result) {
if (result && result.list.length > 0) callback(result)
else run(i + 1)
})
}
run(0)
}
resolved.async = true
resolved.supportsSelection = true
return resolved
} else if (words = cm.getHelper(cm.getCursor(), "hintWords")) {
return function(cm) { return CodeMirror.hint.fromList(cm, {words: words}) }
} else if (CodeMirror.hint.anyword) {
return function(cm, options) { return CodeMirror.hint.anyword(cm, options) }
} else {
return function() {}
}
}
CodeMirror.registerHelper("hint", "auto", {
resolve: resolveAutoHints
});
CodeMirror.registerHelper("hint", "fromList", function(cm, options) {
var cur = cm.getCursor(), token = cm.getTokenAt(cur);
var to = CodeMirror.Pos(cur.line, token.end);
if (token.string && /\w/.test(token.string[token.string.length - 1])) {
var term = token.string, from = CodeMirror.Pos(cur.line, token.start);
} else {
var term = "", from = to;
}
var found = [];
for (var i = 0; i < options.words.length; i++) {
var word = options.words[i];
if (word.slice(0, term.length) == term)
found.push(word);
}
if (found.length) return {list: found, from: from, to: to};
});
CodeMirror.commands.autocomplete = CodeMirror.showHint;
var defaultOptions = {
hint: CodeMirror.hint.auto,
completeSingle: true,
alignWithWord: true,
closeCharacters: /[\s()\[\]{};:>,]/,
closeOnUnfocus: true,
completeOnSingleClick: true,
container: null,
customKeys: null,
extraKeys: null
};
CodeMirror.defineOption("hintOptions", null);
});
================================================
FILE: mode/elm.js
================================================
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("elm", function() {
function switchState(source, setState, f) {
setState(f);
return f(source, setState);
}
// These should all be Unicode extended, as per the Haskell 2010 report
var smallRE = /[a-z_]/;
var largeRE = /[A-Z]/;
var digitRE = /[0-9]/;
var hexitRE = /[0-9A-Fa-f]/;
var octitRE = /[0-7]/;
var idRE = /[a-z_A-Z0-9\']/;
var symbolRE = /[-!#$%&*+.\/<=>?@\\^|~:\u03BB\u2192]/;
var specialRE = /[(),;[\]`{}]/;
var whiteCharRE = /[ \t\v\f]/; // newlines are handled in tokenizer
function normal() {
return function (source, setState) {
if (source.eatWhile(whiteCharRE)) {
return null;
}
var ch = source.next();
if (specialRE.test(ch)) {
if (ch == '{' && source.eat('-')) {
var t = "comment";
if (source.eat('#')) t = "meta";
return switchState(source, setState, ncomment(t, 1));
}
return null;
}
if (ch == '\'') {
if (source.eat('\\'))
source.next(); // should handle other escapes here
else
source.next();
if (source.eat('\''))
return "string";
return "string"; // "error";
}
if (ch == '"') {
if(source.match('""')) {
return switchState(source, setState, nstring(1));
} else {
return switchState(source, setState, stringLiteral);
}
}
if (largeRE.test(ch)) {
source.eatWhile(idRE);
if (source.eat('.'))
return "qualifier";
return "variable-2";
}
if (smallRE.test(ch)) {
var isDef = source.pos === 1;
source.eatWhile(idRE);
return isDef ? "def" : "variable";
}
if (digitRE.test(ch)) {
if (ch == '0') {
if (source.eat(/[xX]/)) {
source.eatWhile(hexitRE); // should require at least 1
return "integer";
}
if (source.eat(/[oO]/)) {
source.eatWhile(octitRE); // should require at least 1
return "number";
}
}
source.eatWhile(digitRE);
var t = "number";
if (source.eat('.')) {
t = "number";
source.eatWhile(digitRE); // should require at least 1
}
if (source.eat(/[eE]/)) {
t = "number";
source.eat(/[-+]/);
source.eatWhile(digitRE); // should require at least 1
}
return t;
}
if (symbolRE.test(ch)) {
if (ch == '-' && source.eat(/-/)) {
source.eatWhile(/-/);
if (!source.eat(symbolRE)) {
source.skipToEnd();
return "comment";
}
}
source.eatWhile(symbolRE);
return "builtin";
}
return "error";
}
}
function ncomment(type, nest) {
if (nest === 0) {
return normal();
}
return function(source, setState) {
var currNest = nest;
while (!source.eol()) {
var ch = source.next();
if (ch == '{' && source.eat('-')) {
++currNest;
} else if (ch == '-' && source.eat('}')) {
--currNest;
if (currNest === 0) {
setState(normal());
return type;
}
}
}
setState(ncomment(type, currNest));
return type;
}
}
function nstring(nest) {
if (nest == 0) {
return normal();
}
return function(source, setState) {
var currNest = nest;
while (!source.eol()) {
var ch = source.next();
if(ch == '"' && source.match('""')) {
--currNest
if(currNest == 0) {
setState(normal());
return "string";
}
}
}
setState(nstring(currNest));
return "string";
}
}
function stringLiteral(source, setState) {
while (!source.eol()) {
var ch = source.next();
if (ch == '"') {
setState(normal());
return "string";
}
if (ch == '\\') {
if (source.eol() || source.eat(whiteCharRE)) {
setState(stringGap);
return "string";
}
if (!source.eat('&')) source.next(); // should handle other escapes here
}
}
setState(normal());
return "string"; // "error";
}
function stringGap(source, setState) {
if (source.eat('\\')) {
return switchState(source, setState, stringLiteral);
}
source.next();
setState(normal());
return "string"; //"error";
}
var wellKnownWords = (function() {
var wkw = {};
var keywords = [
"case", "of", "as",
"if", "then", "else",
"let", "in",
"infix", "infixl", "infixr",
"type", "alias",
"foreign", "port", "effect",
"module", "where", "import", "exposing",
"_", "..", "|", ":", "=", "\\", "->", "<-" // "\"",
];
for (var i = keywords.length; i--;)
wkw[keywords[i]] = "keyword";
return wkw;
})();
return {
startState: function () { return { f: normal() }; },
copyState: function (s) { return { f: s.f }; },
token: function(stream, state) {
var t = state.f(stream, function(s) { state.f = s; });
var w = stream.current();
return (wellKnownWords.hasOwnProperty(w)) ? wellKnownWords[w] : t;
},
lineComment: "--",
blockCommentStart: "{-",
blockCommentEnd: "-}",
fold: "indent"
};
});
CodeMirror.defineMIME("text/x-elm", "elm");
});
================================================
FILE: node/elm-client.js
================================================
var path = require("path");
var fs = require("fs");
var net = require("net");
var psTree = require("ps-tree");
var cp = require("child_process");
var wrench = require("wrench");
var os = require("os");
var chokidar = require("chokidar")
var walker = require('fs-walk');
var temp = require("temp").track();
var spawn = require('cross-spawn');
var elmParser = require("./elmparser");
process.setMaxListeners(100);
var elmGlobals = {
repl: null,
reactor: null,
watcher: null
};
/* Some polyfills */
if (!String.prototype.endsWith) {
String.prototype.endsWith = function(searchString, position) {
var subjectString = this.toString();
if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {
position = subjectString.length;
}
position -= searchString.length;
var lastIndex = subjectString.lastIndexOf(searchString, position);
return lastIndex !== -1 && lastIndex === position;
};
}
/* ----------- START CLIENT / BOOTSTRAP --------- */
// Not much useful can be done without packages, might as well try to insall by default
// If already installed the overhead is neglible
// Also elm-repl will delete elm-stuff on exit if not created before it's started !
doPackageInstall();
// Start parsing as early as possible
startWatcher();
parseSourceFiles();
parseAllPackageSources();
startRepl(
function (err) {
console.error(err);
handleClose();
},
function (out) {
elmGlobals.repl.stdout.removeAllListeners("data");
elmGlobals.repl.stderr.removeAllListeners("data");
startReactor(
function (err) {
console.error (err);
handleClose();
},
function (out) {
elmGlobals.reactor.stderr.removeAllListeners("data");
elmGlobals.reactor.stdout.removeAllListeners("data");
startMessageListener();
},
process.cwd(),
parseInt(process.argv[2])
);
},
process.cwd()
);
function doPackageInstall() {
try {
cp.execSync("elm-package install --yes", {cwd: process.cwd()});
} catch (e) {
console.error("Error running package install" + e);
}
}
function startRepl(error, success, projectPath) {
elmGlobals.repl = spawn("elm-repl", ["--interpreter", process.execPath ], {cwd: projectPath});
var outBuffer = "";
elmGlobals.repl.stdout.on("data", function(out) {
outBuffer += out;
if(outBuffer.indexOf(":help") > -1) {
success(outBuffer);
}
});
elmGlobals.repl.stderr.on("data", function(err) {
error(err.toString());
});
elmGlobals.repl.on("error", function(err) {
console.log("error starting repl");
console.log(err);
});
}
function startReactor(error, success, projectPath, port) {
elmGlobals.reactor = spawn("elm-reactor", ["--port=" + port], {cwd: projectPath});
var errBuff = "";
elmGlobals.reactor.stdout.on("data", function(out) {
console.log("Reactor out: " + out);
});
elmGlobals.reactor.stderr.on("data", function(err) {
errBuff += err;
if(errBuff.indexOf("Listening") > -1) {
success(errBuff);
}
if(errBuff.indexOf("Error on startup") > -1) {
error(errBuff);
}
});
elmGlobals.reactor.on("error", function(err) {
console.error("Reactor err event: " + err);
});
}
function startMessageListener() {
send([1, "elm.client.connected", []]); // notify lt we`re ready to receive messages
process.on("message", function (msg) {
var cb = msg.cb;
var cmd = msg.command;
var data = msg.data;
try {
switch (cmd) {
case "client.close":
handleClose();
break;
case "editor.elm.ast.passthrough":
handleAstPassThrough(cb, data);
break;
case "elm.reload.ast":
handleReloadAst(cb);
break;
case "editor.elm.ast.parsetext":
handleParseEditorText(cb, data);
break;
case "editor.elm.lint":
handleLint(cb, data);
break;
case "editor.elm.make":
handleMake(cb, data);
break;
case "editor.elm.gendoc":
handleGendoc(cb, data);
break;
case "editor.eval.elm":
handleEval(cb, data);
break;
case "elm.repl.restart":
handleReplRestart(cb);
break;
case "docs.elm.search":
handleDocsSearch(cb, data);
break;
case "elm.test":
handleTest(cb, data);
break;
case "elm.test.suite":
handleTestSuite(cb, data);
break;
}
} catch (ex) {
console.error("Error in elm client message listener for command: " + cmd);
console.error(ex);
handleClose();
}
});
}
function startWatcher() {
var watcher = chokidar.watch(['elm-package.json',
'elm-stuff/exact-dependencies.json',
'**/*.elm'], {
cwd: process.cwd(),
persistent: true,
ignoreInitial: false,
//ignored: ['elm-stuff/**'], // need to find a robust way to handle these !
followSymlinks: false,
atomic: false
});
/* concers to handle
- Package deleted -> Just report a delete event (on .elm files) and let client deal with it.
- Package added -> Only listen for moved directory under elm-stuff, parse package.json and only parse src directories for that package
- if not under elm-stuff, check if source file (remember to use latest elm-package.json)
- if source file and event moved, need to stat if file is present or not to decide if add or remove !
- On directory move stat if exists to notify of directory delete or directory add (on add parse all elm files... not very efficient though)
*/
watcher.on("raw", function(event, file, details) {
var relFile = file ? path.relative(process.cwd(), file) : null;
var sourceDirs = getSourceDirs(process.cwd());
// chokidar or whatever it's using underneath seems to get this wrong.
if (file && event === "modified" && !fileExists(file)) {
return; // phony change event when
}
if(relFile === "elm-stuff/exact-dependencies.json") {
if ( event === "modified") {
parseAllPackageSources();
}
if (event === "deleted" && !fileExists(file)) {
sendAstMsg({
type: "packagesDeleted"
});
}
}
if (file && isSourceFile(sourceDirs, file) && event === "modified") {
parseAndSend(file);
}
if (file && isSourceFile(sourceDirs, file) && event === "deleted") {
sendAstMsg({
file: file,
type: "deleted"
});
}
if (file && isSourceFile(sourceDirs, file)
&& event === "moved") {
if(fileExists(file)) {
parseAndSend(file);
} else {
sendAstMsg({
file: file,
type: "deleted"
});
}
}
});
elmGlobals.watcher = watcher;
}
function parseSourceFiles() {
var sourceDirs = getSourceDirs(process.cwd());
sourceDirs.forEach(function (d) {
walker.files(path.join(process.cwd(), d), function (basedir, filename, stat, next) {
if (path.extname(filename) === ".elm" &&
!(basedir.startsWith(path.join(process.cwd(), "elm-stuff"))) &&
!(basedir.startsWith(path.join(process.cwd(), "test")))
//(basedir.toString().indexOf("elm-stuff") === -1)
) {
parseAndSend(path.join(basedir, filename));
}
next();
});
});
}
function parseAllPackageSources() {
var deps = getProjectDeps(process.cwd());
deps.forEach(function (dep) {
var packageDir = path.join(process.cwd(), "elm-stuff/packages", dep.name, dep.version);
parsePackageSources({
packageDir: packageDir,
name: dep.name,
version: dep.version
});
});
}
function parsePackageSources(package) {
var sourceDirs = getSourceDirs(package.packageDir);
sourceDirs.forEach(function (d) {
walker.files(path.join(package.packageDir, d), function (basedir, filename, stat, next) {
if (path.extname(filename) === ".elm") {
parseAndSendPackageSource(package, path.join(basedir, filename));
}
next();
});
});
}
function getProjectDeps(projectDir) {
var packages = [];
try {
var depsPath = path.join(projectDir, "elm-stuff/exact-dependencies.json");
var deps = JSON.parse(fs.readFileSync(depsPath).toString());
var packageJsonPath = path.join(projectDir, "elm-package.json");
var packageJson = JSON.parse(fs.readFileSync(packageJsonPath).toString());
var exposedPackages = Object.keys(packageJson["dependencies"]);
packages =
Object.keys(deps).map(function(packageName) {
return {
name: packageName,
version: deps[packageName]
};
}).filter(function(pck) {
return exposedPackages.indexOf(pck.name) > -1;
});
} catch (e) {
console.log("Failed to get projectDeps: " + e.toString());
}
return packages;
}
function parseAndSend(file) {
try {
var code = fs.readFileSync(file).toString();
var start = new Date().getTime();
if (code.length > 0) {
var ast = elmParser.parse(code);
// console.log("Parsed sourcefile (" + ((new Date().getTime()) - start) + " ms) - " + file );
sendAstMsg({
file: file,
type: "parsed",
ast: ast
});
}
} catch (e) {
sendAstMsg({
file: file,
type: "parseError",
error: e
});
}
}
function parseAndSendPackageSource(package, file) {
try {
var exposedModules = getExposedModules(package.packageDir);
var shouldParse = exposedModules.map (function (mod) {
return mod.replace(/\./g, path.sep) + ".elm";
}).find(function (v) {
return file.endsWith(v);
});
if(shouldParse) {
var ast = elmParser.parse(fs.readFileSync(file).toString());
sendAstMsg({
file: file,
type: "parsed",
ast: ast,
package: package
});
}
} catch(e) {
console.error("ERROR parsing package source: " + file + "\n" + e.toString());
}
}
function sendAstMsg(msg) {
send([1, "elm.ast.update", msg]);
}
function getSourceDirs (projectDir) {
var jsonPath = path.join(projectDir, "elm-package.json");
var sourceDirs = [];
try {
var json = JSON.parse(fs.readFileSync(jsonPath).toString());
sourceDirs = json["source-directories"];
} catch(e) {
console.error("ERROR getting sourcedirs for: " + jsonPath + "\n" + e.toString());
}
return sourceDirs;
}
function getExposedModules (projectDir) {
var jsonPath = path.join(projectDir, "elm-package.json");
var modules = [];
try {
var json = JSON.parse(fs.readFileSync(jsonPath).toString());
modules = json["exposed-modules"];
} catch(e) {
console.log("ERROR getting exposed modules for: " + jsonPath + "\n" + e.toString());
}
return modules;
}
function fileExists(file) {
var stat = null;
try {
stat = fs.statSync(file);
} catch (e) {}
return stat ? true : false;
}
function isSourceFile(sourceDirs, file) {
if (path.extname(file) !== ".elm") {
return false;
}
var hits = sourceDirs.map(function(dir) {
return path.resolve(process.cwd(), dir);
}).filter(function (d) {
return file.startsWith(d);
});
return hits.length > 0;
}
/* ----------- HANDLER RELATED FUNCTIONS --------- */
// For ast operations that executes right after connecting
// NoOp, just passes back and trigger appropriate behavior
function handleAstPassThrough(clientId, msg) {
send([clientId, msg.target, msg.data]);
}
function handleReloadAst(clientId) {
doPackageInstall();
parseSourceFiles();
parseAllPackageSources();
send([clientId, "elm.ast.reload.started", null]);
}
function handleParseEditorText(clientId, msg) {
try {
var start = new Date().getTime();
var ast = elmParser.parse(msg.code);
// console.log("Parsed editor contents in (" + ((new Date().getTime()) - start) + " ms) ");
send([clientId, "editor.elm.ast.parsetext.result", {ast: ast}]);
} catch(e) {
send([clientId, "editor.elm.ast.parsetext.result", {error: e}]);
}
}
function handleReplRestart(clientId) {
elmGlobals.repl.stdout.removeAllListeners("data");
elmGlobals.repl.stderr.removeAllListeners("data");
elmGlobals.repl.kill();
startRepl(
function (err) {
console.error(err);
handleClose();
},
function (out) {
send([clientId, "elm.repl.restart.res", "hopefully ok..."]);
},
process.cwd()
);
}
function idxReplTerminator(x) {
return x.lastIndexOf(os.EOL + ">");
}
function maybeRemoveLastLine (x) {
var idx = idxReplTerminator(x);
if( idx > -1) {
return x.substring(0, idx);
} else {
return x;
}
}
function stripReplNewLines(x) {
var arr = x.split(" ");
var idx = arr.findIndex(function(v, i, a) { return v !== "" && v !== "|"; });
return idx > -1 ? arr.slice(idx).join(" ") : "";
}
function handleEval(clientId, msg) {
var meta = msg.meta;
var errBuff = "";
var outBuff = "";
var onOut = function(data) {
if(errBuff.length > 0) {
send([clientId, "editor.elm.eval.err", {result: errBuff, meta: meta}]);
return;
}
outBuff += stripReplNewLines(data.toString());
if (outBuff.trim() === ">") {
send([clientId, "editor.elm.eval.res", {result: "✓", meta: meta}]);
return;
}
var idx = idxReplTerminator(outBuff);
if (idx >= 0) {
var res = maybeRemoveLastLine(outBuff);
if (res.length > 0) {
send([clientId, "editor.elm.eval.res", {result: res, meta: meta}]);
} else {
send([clientId, "editor.elm.eval.res", {result: "✓", meta: meta}]);
}
}
};
var onErr = function(data) {
errBuff += data.toString();
};
elmGlobals.repl.stdout.removeAllListeners("data");
elmGlobals.repl.stderr.removeAllListeners("data");
elmGlobals.repl.stdout.on("data", onOut);
elmGlobals.repl.stderr.on("data", onErr);
elmGlobals.repl.stdin.write(msg.code.replace(/\n/g, "\\\n") + "\n");
}
function parseMakeResults(data) {
var results =
data.split("\n")
.filter(function(s) { return s.indexOf("[{") === 0;})
.map(function (item) { return JSON.parse(item); })
if (results.length > 0) {
results = results.reduce(function(a, b) {return a.concat(b);});
}
return results;
}
function send(msg) { process.send(msg); }
function handleLint(clientId, msg) {
var res = spawn.sync("elm-make",
[msg.path, "--warn", "--yes", "--report=json", "--output=/dev/null"],
{cwd: process.cwd()});
var err = res.output[2] + "";
if (err) {
send([clientId, "elm.make.err", err]);
} else {
var lintResults = parseMakeResults(res.output[1].toString());
send([clientId, msg.handler, lintResults]);
}
}
function lowerFirstLetter(str) {
return str.charAt(0).toLowerCase() + str.slice(1);
}
function inferOutputFile(filePath) {
var parsed = path.parse(filePath);
parsed.ext = "js";
parsed.base = lowerFirstLetter(parsed.name) + ".js";
parsed.name = lowerFirstLetter(parsed.name);
return path.format(parsed);
}
function handleMake(clientId, msg) {
if(!msg.path) {
send([clientId, "elm.make.res", []]);
return;
}
var outputFile = msg.outputFile || inferOutputFile(msg.path);
var res = spawn.sync("elm-make",
[msg.path, "--warn", "--yes", "--report=json", "--output=" + outputFile],
{cwd: process.cwd()});
var err = res.output[2] + "";
if (err.length > 1) {
send([clientId, "elm.make.err", err]);
} else {
var results = {
outputFile: outputFile,
res: parseMakeResults(res.output[1].toString())
};
send([clientId, "elm.make.res", results]);
}
}
function handleGendoc(clientId, msg) {
var res = spawn.sync("elm-make",
[msg.path, "--yes", "--docs=elm-stuff/docs.json", "--output=/dev/null"],
{cwd: process.cwd()});
var err = res.output[2] + "";
if (err) {
send([clientId, "elm.make.err", err]);
} else {
var docFile = path.join(process.cwd(), "elm-stuff", "docs.json");
var docResults = fs.readFileSync(docFile, "utf-8");
//var docResults = res.output[1].toString();
send([clientId, "elm.gendoc.res", docResults]);
}
}
function handleDocsSearch(clientId, msg) {
// workaround, just pass the msg back, will perform search client side
send([clientId, "doc.search.results", msg])
}
function handleTest(clientId, msg) {
var elmTest = cp.fork("/Users/mrundberget/projects/node-test-runner/bin/elm-test",
[msg.file, "--report=json"],
{cwd: process.cwd(), silent: true});
elmTest.stdout.on("data", function(out) {
//console.log("Test out: " + out);
try {
var rawMessages = out.toString().split("\n").filter(function(s) { return s.indexOf("{\"event") === 0;});
rawMessages.forEach (function (rawMessage) {
var testMsg = JSON.parse(rawMessage);
send([clientId, "elm.test.result", testMsg])
});
} catch (e) {
console.error("Error parsing: " + out);
console.error(e);
}
});
elmTest.stderr.on("data", function(err) {
console.error("Error stuff: " + err)
});
elmTest.on("error", function(err) {
console.log("Elm test error event: ");
console.log(err);
});
elmTest.on("exit", function(exitCode) {
console.log("Exit test process with exitCode: " + exitCode);
});
}
function handleTestSuite(clientId, msg) {
var testModuleName = msg.module;
var suite = msg.suite;
var suiteFile = path.join(process.cwd(), "temp-" + testModuleName + ".elm");
var seed = msg.seed ? msg.seed : null;
var evalElmCode = function (compiledCode, finishedCb) {
var Elm = function(module) { eval(compiledCode); return module.exports; }({});
// TODO: hnndle case if Elm is undefined
var testModule = Elm[testModuleName];
// Apply Node polyfills as necessary.
var window = {Date: Date, addEventListener: function() {}, removeEventListener: function() {}};
var document = {body: {}, createTextNode: function() {}};
if (typeof XMLHttpRequest === 'undefined') { XMLHttpRequest = function() { return { addEventListener: function() {}, open: function() {}, send: function() {} }; }; }
if (typeof FormData === 'undefined') { FormData = function () { this._data = []; }; FormData.prototype.append = function () { this._data.push(Array.prototype.slice.call(arguments)); }; }
var app = testModule.worker({seed: seed, report: "json"});
app.ports.emit.subscribe(function(msg) {
var msgType = msg[0];
var data = msg[1];
send([clientId, "elm.test.result", data.message]);
if(msgType === "FINISHED") {
finishedCb()
}
});
};
var cleanUp = function() {
fs.unlink(suiteFile, function(err) {
if (err) {
console.error("Error deleting temp test suite file: " + suiteFile + " Error: " + err);
}
});
};
fs.writeFileSync(suiteFile, suite, {encoding: "utf8"}); // TODO: Error handling
temp.open({prefix: 'elm_test_', suffix: '.js'}, function (err, info) {
var res = spawn.sync("elm-make",
[suiteFile, "--yes", "--output=" + info.path],
{cwd: process.cwd()});
var err = res.output[2] + "";
if(err.length > 0) {
send([clientId, "elm.test.error", {category: "compile", message: err.toString()}])
console.error("Error from elm-make: " + err);
cleanUp();
} else {
evalElmCode(fs.readFileSync(info.path, {encoding: "utf8"}), cleanUp);
}
});
}
/* Kill any externaly spawned children
Useful mostly for OS/X (reactor process)
*/
function killExternalChildren(pid, cb) {
var callback = cb || function () {};
psTree(pid, function (err, children) {
[pid].concat(
children.map(function (p) {
return p.PID;
})
).forEach(function (tpid) {
try { process.kill(tpid, "SIGKILL") }
catch (ex) { }
});
callback();
});
}
function handleClose() {
if(elmGlobals.watcher) {
elmGlobals.watcher.close();
}
if(os.platform() !== "darwin") {
process.exit(0);
} else {
if (elmGlobals.reactor) {
killExternalChildren(elmGlobals.reactor.pid, null);
// Ugly, but couldn`t figure out a better way to ensure child killing completed before exit
setTimeout(function () {
process.exit(0);
}, 100);
} else {
process.exit(0);
}
}
}
process.on('uncaughtException', function(err) {
console.error("Unhandled error in elm-light project node process: " + err);
});
//setTimeout(function() {handleClose();}, 30000);
================================================
FILE: node/elmparser.js
================================================
module.exports = (function() {
"use strict";
/*
* Generated by PEG.js 0.9.0.
*
* http://pegjs.org/
*/
function peg$subclass(child, parent) {
function ctor() { this.constructor = child; }
ctor.prototype = parent.prototype;
child.prototype = new ctor();
}
function peg$SyntaxError(message, expected, found, location) {
this.message = message;
this.expected = expected;
this.found = found;
this.location = location;
this.name = "SyntaxError";
if (typeof Error.captureStackTrace === "function") {
Error.captureStackTrace(this, peg$SyntaxError);
}
}
peg$subclass(peg$SyntaxError, Error);
function peg$parse(input) {
var options = arguments.length > 1 ? arguments[1] : {},
parser = this,
peg$FAILED = {},
peg$startRuleFunctions = { start: peg$parsestart, headerOnly: peg$parseheaderOnly },
peg$startRuleFunction = peg$parsestart,
peg$c0 = function(module) { return module; },
peg$c1 = function(declaration, d) { return d},
peg$c2 = function(declaration) {return null},
peg$c3 = function(declaration, moduleDoc, imports, toplevel) {
return {
moduleDeclaration: declaration ? declaration[0] : null,
doc: moduleDoc,
imports: imports || [],
declarations: toplevel || []
}
},
peg$c4 = { type: "any", description: "any character" },
peg$c5 = function(declaration, moduleDoc, imports) {
return {
moduleDeclaration: declaration,
doc: moduleDoc,
imports: imports || []
}
},
peg$c6 = "effect",
peg$c7 = { type: "literal", value: "effect", description: "\"effect\"" },
peg$c8 = "port",
peg$c9 = { type: "literal", value: "port", description: "\"port\"" },
peg$c10 = function(type) { return type; },
peg$c11 = "module",
peg$c12 = { type: "literal", value: "module", description: "\"module\"" },
peg$c13 = function(type, name, exposing) {
return {
type: (type || "") + " module".trim(),
value: name,
exposing: exposing,
location: location()
};
},
peg$c14 = "where",
peg$c15 = { type: "literal", value: "where", description: "\"where\"" },
peg$c16 = "{",
peg$c17 = { type: "literal", value: "{", description: "\"{\"" },
peg$c18 = "}",
peg$c19 = { type: "literal", value: "}", description: "\"}\"" },
peg$c20 = function(first, imp) {return imp},
peg$c21 = function(first, rest) {
var imps = [first].concat(rest);
var start = first.location.start;
var end = imps[imps.length - 1].location.end;
return {
type: "imports",
imports: imps,
location: {start: start, end: end}
}
},
peg$c22 = "import",
peg$c23 = { type: "literal", value: "import", description: "\"import\"" },
peg$c24 = "as",
peg$c25 = { type: "literal", value: "as", description: "\"as\"" },
peg$c26 = function(module, id) { return id},
peg$c27 = function(module, alias, exp) {return exp;},
peg$c28 = function(module, alias, exposing) {
return {
type: "import",
value: module,
alias: alias,
exposing: exposing,
location: location()
};
},
peg$c29 = "exposing",
peg$c30 = { type: "literal", value: "exposing", description: "\"exposing\"" },
peg$c31 = "(",
peg$c32 = { type: "literal", value: "(", description: "\"(\"" },
peg$c33 = ")",
peg$c34 = { type: "literal", value: ")", description: "\")\"" },
peg$c35 = function(exports) {
return {
type: "exposing",
exports: exports,
location: location()
};
},
peg$c36 = "..",
peg$c37 = { type: "literal", value: "..", description: "\"..\"" },
peg$c38 = function() {
return {
type: "exports",
exports:[{ type: "exposeAll"}],
location: location()
};
},
peg$c39 = ",",
peg$c40 = { type: "literal", value: ",", description: "\",\"" },
peg$c41 = function(first, e) {return e},
peg$c42 = function(first, rest) {
return {
type: "exports",
exports: [first].concat(rest),
location: location(),
}
},
peg$c43 = function(name, exps) {return exps;},
peg$c44 = function(name, subexps) {
return {
type: "adt",
value: name,
exports: subexps
}
},
peg$c45 = function(expAll) {
return expAll;
},
peg$c46 = function(first, s) {return s},
peg$c47 = function(first, rest) {
return {
type: "exports",
exports: [first].concat(rest),
location: location()
}
},
peg$c48 = function(name) {
return {
type: "adtsub",
value: name
}
},
peg$c49 = function(doc, decl) {var retVal=decl; retVal["doc"] = doc; return retVal },
peg$c50 = function(first, doc, decl) {var retVal=decl; retVal["doc"] = doc; return retVal },
peg$c51 = function(first, rest) {
return [first].concat(rest);
},
peg$c52 = function(decl) {
decl.location = location()
return decl;
},
peg$c53 = function(d) { return d},
peg$c54 = function() {return null},
peg$c55 = "type",
peg$c56 = { type: "literal", value: "type", description: "\"type\"" },
peg$c57 = "alias",
peg$c58 = { type: "literal", value: "alias", description: "\"alias\"" },
peg$c59 = function(name, p) {return p; },
peg$c60 = "=",
peg$c61 = { type: "literal", value: "=", description: "\"=\"" },
peg$c62 = function(name, params, type) {
return {
type: "typeAliasDecl",
value: name,
params: params,
tipe : type
//expr: exp
}
},
peg$c63 = function(name, params, type, tail) {
return {
type: "typeAliasDecl",
value: name,
params: params,
tipe : {
type : "typeFun",
signature: [type].concat(tail.signature)
}
}
},
peg$c64 = function(name, params, adtDefs) {
return {
type: "typeDecl",
value: name,
params: params,
adtDefs: adtDefs
//expr: expr
}
},
peg$c65 = "|",
peg$c66 = { type: "literal", value: "|", description: "\"|\"" },
peg$c67 = function(first, a) {return a;},
peg$c68 = function(first, rest) { return [first].concat(rest); },
peg$c69 = function(name, t) {return t},
peg$c70 = function(name, first, t) {return t;},
peg$c71 = function(name, first, rest) {
return {
type: "adtDef",
value: name,
params: first ? [first].concat(rest) : [],
paramsRaw: first ? name + " : " + text().replace(name, "").trim() : "",
location: location()
}
},
peg$c72 = function(ann, val) {
val["annotation"] = ann;
return val;
},
peg$c73 = function(val) {
val["annotation"] = null;
return val;
},
peg$c74 = function(id, first, p) { return p},
peg$c75 = function(id, first, rest) {return [first].concat(rest); },
peg$c76 = function(id, patterns, expr) {
return {
type: "nameDef",
value: id,
patterns: patterns || []
//expr: expr
}
},
peg$c77 = function(binOp, first, p) {return p},
peg$c78 = function(binOp, first, rest) {return [first].concat(rest); },
peg$c79 = function(binOp, patterns, expr) {
return {
type: "binOpDef",
value: binOp.value,
patterns: patterns || []
//expr: expr
}
},
peg$c80 = ":",
peg$c81 = { type: "literal", value: ":", description: "\":\"" },
peg$c82 = "->",
peg$c83 = { type: "literal", value: "->", description: "\"->\"" },
peg$c84 = function(ref, first, t) { return t;},
peg$c85 = function(ref, first, rest) {return {raw: text(), signature: [first].concat(rest) }},
peg$c86 = function(ref, sig) {
var tipe = ref.type === "binOpRef" ? "binOpDef" : "nameDef";
return {
type: tipe,
value: ref.value,
signature: sig.signature,
signatureRaw: text(),
signatureRawSansName: sig.raw,
location: location()
}
},
peg$c87 = "infixr",
peg$c88 = { type: "literal", value: "infixr", description: "\"infixr\"" },
peg$c89 = "infixl",
peg$c90 = { type: "literal", value: "infixl", description: "\"infixl\"" },
peg$c91 = "infix",
peg$c92 = { type: "literal", value: "infix", description: "\"infix\"" },
peg$c93 = function(fix, fixity, op) {
return {
type: "infixDef",
value: fix,
fixity: fixity,
op: op
}
},
peg$c94 = "`",
peg$c95 = { type: "literal", value: "`", description: "\"`\"" },
peg$c96 = function(op) {
return {
type: "infixOp",
value: op
}
},
peg$c97 = function(ann) {
return {
type: "portDef",
value: ann.value,
signature: ann.signature,
signatureRaw: text(),
signatureRawSansName: ann.signatureRawSansName
}
},
peg$c98 = function(first, t) { return t; },
peg$c99 = function(first, rest) {
return {
type: "typeTuple",
elements: [first].concat(rest)
}
},
peg$c100 = function(first, tail) {
return {
type: "typeFun",
signature: [first].concat(tail.signature)
}
},
peg$c101 = function(t) { return t; },
peg$c102 = function(value) {
return {
type: "typeBracket",
element: value
}
},
peg$c103 = function(first, t) { return t;},
peg$c104 = function(first, rest) {
return {
type: "funTail",
signature: [first].concat(rest)
}
},
peg$c105 = function() {
return {
type: "unit"
}
},
peg$c106 = function(val, first, t) {return t},
peg$c107 = function(val, first, rest) {return [first].concat(rest); },
peg$c108 = function(val, params) {
return {
type: "typeAdt",
value: val,
params: params || []
}
},
peg$c109 = function(val) {
return {
type: "typeVar",
value: val
}
},
peg$c110 = function(first, r) { return r; },
peg$c111 = function(first, rest) { return [first].concat(rest) },
peg$c112 = function(rs) {
return {
type: "typeRec",
fieldDefs: rs || [],
location: location(),
signatureRaw: text()
}
},
peg$c113 = function(id, first, r) { return r; },
peg$c114 = function(id, first, rest) { return [first].concat(rest) },
peg$c115 = function(id, rs) {
return {
type: "typeRecExt",
param: id,
fieldDefs: rs || []
}
},
peg$c116 = function(id, first, tail) {
var fun = {
type: "typeFun",
signature: [first].concat(tail.signature)
}
return {
type: "typeRecBind",
name: id,
tipe: fun,
location: location(),
signatureRaw: text()
};
},
peg$c117 = function(id, type) {
return {
type: "typeRecBind",
name: id,
tipe: type,
location: location(),
signatureRaw: text()
}
},
peg$c118 = function(value) {
return {
type: "patternBracket",
pattern: value
}
},
peg$c119 = function(first, p) { return p; },
peg$c120 = function(first, rest) {
return {
type: "patternTuple",
patterns: [first].concat(rest)
}
},
peg$c121 = function(p, alias) {
return {
type: "patternTupleElem",
value: p,
alias: alias
}
},
peg$c122 = function(p, alias) {
return {
type: "pattern",
value: p,
alias: alias
}
},
peg$c123 = function(id) {return id},
peg$c124 = "[",
peg$c125 = { type: "literal", value: "[", description: "\"[\"" },
peg$c126 = "]",
peg$c127 = { type: "literal", value: "]", description: "\"]\"" },
peg$c128 = function(first, rest) {
return {
type: "patternList",
patterns: [first].concat(rest)
}
},
peg$c129 = function(ps) {
return {
type: "patternRec",
patterns: ps || []
}
},
peg$c130 = function(id) {
return {
type: "variable",
value: id
}
},
peg$c131 = function(adt, p) {return p},
peg$c132 = function(adt, vars) {
return {
type: "patternAdt",
value: adt,
variables: vars
}
},
peg$c133 = "_",
peg$c134 = { type: "literal", value: "_", description: "\"_\"" },
peg$c135 = function() {return {type: "unnamed"}},
peg$c136 = "--",
peg$c137 = { type: "literal", value: "--", description: "\"--\"" },
peg$c138 = function(dill) {return text()},
peg$c139 = function(id) {
return {
type: "ref",
value: id
}
},
peg$c140 = ".",
peg$c141 = { type: "literal", value: ".", description: "\".\"" },
peg$c142 = function(first, rest) {
return first + rest.map(function (sub) {
return sub.join("");
}).join("");
},
peg$c143 = function(first, rest) { return first + rest.join(""); },
peg$c144 = function(up, id) {
return {
type: "prefixedId",
prefix: up,
id: id
}
},
peg$c145 = function(a) {return a},
peg$c146 = { type: "other", description: "comment" },
peg$c147 = "{-|",
peg$c148 = { type: "literal", value: "{-|", description: "\"{-|\"" },
peg$c149 = "-}",
peg$c150 = { type: "literal", value: "-}", description: "\"-}\"" },
peg$c151 = function(d) {return "{-" + d + "-}"},
peg$c152 = function(m) {return m},
peg$c153 = function(s) {return s},
peg$c154 = function(char) {return char;},
peg$c155 = function(commentChars) {return commentChars.join("");},
peg$c156 = "{-",
peg$c157 = { type: "literal", value: "{-", description: "\"{-\"" },
peg$c158 = function(d) {return d},
peg$c159 = function(h) {return h},
peg$c160 = function(chars) {return "{-" + chars.join("") + "}"},
peg$c161 = "\"\"\"",
peg$c162 = { type: "literal", value: "\"\"\"", description: "\"\\\"\\\"\\\"\"" },
peg$c163 = "if",
peg$c164 = { type: "literal", value: "if", description: "\"if\"" },
peg$c165 = "then",
peg$c166 = { type: "literal", value: "then", description: "\"then\"" },
peg$c167 = "else",
peg$c168 = { type: "literal", value: "else", description: "\"else\"" },
peg$c169 = "let",
peg$c170 = { type: "literal", value: "let", description: "\"let\"" },
peg$c171 = "in",
peg$c172 = { type: "literal", value: "in", description: "\"in\"" },
peg$c173 = "case",
peg$c174 = { type: "literal", value: "case", description: "\"case\"" },
peg$c175 = "of",
peg$c176 = { type: "literal", value: "of", description: "\"of\"" },
peg$c177 = "'",
peg$c178 = { type: "literal", value: "'", description: "\"'\"" },
peg$c179 = /^[A-Z]/,
peg$c180 = { type: "class", value: "[A-Z]", description: "[A-Z]" },
peg$c181 = /^[a-z]/,
peg$c182 = { type: "class", value: "[a-z]", description: "[a-z]" },
peg$c183 = /^[0-9]/,
peg$c184 = { type: "class", value: "[0-9]", description: "[0-9]" },
peg$c185 = function(binOp) {
return {
type: "binOpRef",
value: binOp.value
}
},
peg$c186 = function(first, rest) {
var binOp = first + rest.join("");
validateBinOp(binOp);
return {
type: "binOp",
value: binOp
}
},
peg$c187 = "+",
peg$c188 = { type: "literal", value: "+", description: "\"+\"" },
peg$c189 = "-",
peg$c190 = { type: "literal", value: "-", description: "\"-\"" },
peg$c191 = "*",
peg$c192 = { type: "literal", value: "*", description: "\"*\"" },
peg$c193 = "&",
peg$c194 = { type: "literal", value: "&", description: "\"&\"" },
peg$c195 = "%",
peg$c196 = { type: "literal", value: "%", description: "\"%\"" },
peg$c197 = "^",
peg$c198 = { type: "literal", value: "^", description: "\"^\"" },
peg$c199 = "<",
peg$c200 = { type: "literal", value: "<", description: "\"<\"" },
peg$c201 = ">",
peg$c202 = { type: "literal", value: ">", description: "\">\"" },
peg$c203 = "$",
peg$c204 = { type: "literal", value: "$", description: "\"$\"" },
peg$c205 = "@",
peg$c206 = { type: "literal", value: "@", description: "\"@\"" },
peg$c207 = "#",
peg$c208 = { type: "literal", value: "#", description: "\"#\"" },
peg$c209 = "/",
peg$c210 = { type: "literal", value: "/", description: "\"/\"" },
peg$c211 = "?",
peg$c212 = { type: "literal", value: "?", description: "\"?\"" },
peg$c213 = "~",
peg$c214 = { type: "literal", value: "~", description: "\"~\"" },
peg$c215 = "!",
peg$c216 = { type: "literal", value: "!", description: "\"!\"" },
peg$c217 = /^[\n\r\u2028\u2029]/,
peg$c218 = { type: "class", value: "[\\n\\r\\u2028\\u2029]", description: "[\\n\\r\\u2028\\u2029]" },
peg$c219 = { type: "other", description: "end of line" },
peg$c220 = "\n",
peg$c221 = { type: "literal", value: "\n", description: "\"\\n\"" },
peg$c222 = "\r\n",
peg$c223 = { type: "literal", value: "\r\n", description: "\"\\r\\n\"" },
peg$c224 = "\r",
peg$c225 = { type: "literal", value: "\r", description: "\"\\r\"" },
peg$c226 = "\u2028",
peg$c227 = { type: "literal", value: "\u2028", description: "\"\\u2028\"" },
peg$c228 = "\u2029",
peg$c229 = { type: "literal", value: "\u2029", description: "\"\\u2029\"" },
peg$c230 = { type: "other", description: "newline" },
peg$c231 = { type: "other", description: "whitespace" },
peg$c232 = "\t",
peg$c233 = { type: "literal", value: "\t", description: "\"\\t\"" },
peg$c234 = "\x0B",
peg$c235 = { type: "literal", value: "\x0B", description: "\"\\x0B\"" },
peg$c236 = "\f",
peg$c237 = { type: "literal", value: "\f", description: "\"\\f\"" },
peg$c238 = " ",
peg$c239 = { type: "literal", value: " ", description: "\" \"" },
peg$c240 = "\xA0",
peg$c241 = { type: "literal", value: "\xA0", description: "\"\\xA0\"" },
peg$c242 = "\uFEFF",
peg$c243 = { type: "literal", value: "\uFEFF", description: "\"\\uFEFF\"" },
peg$currPos = 0,
peg$savedPos = 0,
peg$posDetailsCache = [{ line: 1, column: 1, seenCR: false }],
peg$maxFailPos = 0,
peg$maxFailExpected = [],
peg$silentFails = 0,
peg$result;
if ("startRule" in options) {
if (!(options.startRule in peg$startRuleFunctions)) {
throw new Error("Can't start parsing from rule \"" + options.startRule + "\".");
}
peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
}
function text() {
return input.substring(peg$savedPos, peg$currPos);
}
function location() {
return peg$computeLocation(peg$savedPos, peg$currPos);
}
function expected(description) {
throw peg$buildException(
null,
[{ type: "other", description: description }],
input.substring(peg$savedPos, peg$currPos),
peg$computeLocation(peg$savedPos, peg$currPos)
);
}
function error(message) {
throw peg$buildException(
message,
null,
input.substring(peg$savedPos, peg$currPos),
peg$computeLocation(peg$savedPos, peg$currPos)
);
}
function peg$computePosDetails(pos) {
var details = peg$posDetailsCache[pos],
p, ch;
if (details) {
return details;
} else {
p = pos - 1;
while (!peg$posDetailsCache[p]) {
p--;
}
details = peg$posDetailsCache[p];
details = {
line: details.line,
column: details.column,
seenCR: details.seenCR
};
while (p < pos) {
ch = input.charAt(p);
if (ch === "\n") {
if (!details.seenCR) { details.line++; }
details.column = 1;
details.seenCR = false;
} else if (ch === "\r" || ch === "\u2028" || ch === "\u2029") {
details.line++;
details.column = 1;
details.seenCR = true;
} else {
details.column++;
details.seenCR = false;
}
p++;
}
peg$posDetailsCache[pos] = details;
return details;
}
}
function peg$computeLocation(startPos, endPos) {
var startPosDetails = peg$computePosDetails(startPos),
endPosDetails = peg$computePosDetails(endPos);
return {
start: {
offset: startPos,
line: startPosDetails.line,
column: startPosDetails.column
},
end: {
offset: endPos,
line: endPosDetails.line,
column: endPosDetails.column
}
};
}
function peg$fail(expected) {
if (peg$currPos < peg$maxFailPos) { return; }
if (peg$currPos > peg$maxFailPos) {
peg$maxFailPos = peg$currPos;
peg$maxFailExpected = [];
}
peg$maxFailExpected.push(expected);
}
function peg$buildException(message, expected, found, location) {
function cleanupExpected(expected) {
var i = 1;
expected.sort(function(a, b) {
if (a.description < b.description) {
return -1;
} else if (a.description > b.description) {
return 1;
} else {
return 0;
}
});
while (i < expected.length) {
if (expected[i - 1] === expected[i]) {
expected.splice(i, 1);
} else {
i++;
}
}
}
function buildMessage(expected, found) {
function stringEscape(s) {
function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); }
return s
.replace(/\\/g, '\\\\')
.replace(/"/g, '\\"')
.replace(/\x08/g, '\\b')
.replace(/\t/g, '\\t')
.replace(/\n/g, '\\n')
.replace(/\f/g, '\\f')
.replace(/\r/g, '\\r')
.replace(/[\x00-\x07\x0B\x0E\x0F]/g, function(ch) { return '\\x0' + hex(ch); })
.replace(/[\x10-\x1F\x80-\xFF]/g, function(ch) { return '\\x' + hex(ch); })
.replace(/[\u0100-\u0FFF]/g, function(ch) { return '\\u0' + hex(ch); })
.replace(/[\u1000-\uFFFF]/g, function(ch) { return '\\u' + hex(ch); });
}
var expectedDescs = new Array(expected.length),
expectedDesc, foundDesc, i;
for (i = 0; i < expected.length; i++) {
expectedDescs[i] = expected[i].description;
}
expectedDesc = expected.length > 1
? expectedDescs.slice(0, -1).join(", ")
+ " or "
+ expectedDescs[expected.length - 1]
: expectedDescs[0];
foundDesc = found ? "\"" + stringEscape(found) + "\"" : "end of input";
return "Expected " + expectedDesc + " but " + foundDesc + " found.";
}
if (expected !== null) {
cleanupExpected(expected);
}
return new peg$SyntaxError(
message !== null ? message : buildMessage(expected, found),
expected,
found,
location
);
}
function peg$parsestart() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parsemodule();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c0(s1);
}
s0 = s1;
return s0;
}
function peg$parsemodule() {
var s0, s1, s2, s3, s4, s5, s6;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = peg$parsemoduleDeclaration();
if (s2 !== peg$FAILED) {
s3 = peg$parseEOS();
if (s3 !== peg$FAILED) {
s2 = [s2, s3];
s1 = s2;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
if (s1 === peg$FAILED) {
s1 = null;
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = peg$parseMANDATORY_LAYOUT();
if (s3 !== peg$FAILED) {
s4 = peg$parseDocComment();
if (s4 !== peg$FAILED) {
s5 = peg$currPos;
peg$silentFails++;
s6 = peg$parseMANDATORY_LAYOUT();
peg$silentFails--;
if (s6 !== peg$FAILED) {
peg$currPos = s5;
s5 = void 0;
} else {
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s2;
s3 = peg$c1(s1, s4);
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 === peg$FAILED) {
s2 = peg$currPos;
s3 = peg$parseLAYOUT();
if (s3 !== peg$FAILED) {
peg$savedPos = s2;
s3 = peg$c2(s1);
}
s2 = s3;
}
if (s2 !== peg$FAILED) {
s3 = peg$parseimports();
if (s3 === peg$FAILED) {
s3 = null;
}
if (s3 !== peg$FAILED) {
s4 = peg$parsetopLevelDeclarations();
if (s4 === peg$FAILED) {
s4 = null;
}
if (s4 !== peg$FAILED) {
s5 = [];
s6 = peg$parseComment();
if (s6 === peg$FAILED) {
s6 = peg$parseNewLine();
if (s6 === peg$FAILED) {
s6 = peg$parseWhiteSpace();
}
}
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = peg$parseComment();
if (s6 === peg$FAILED) {
s6 = peg$parseNewLine();
if (s6 === peg$FAILED) {
s6 = peg$parseWhiteSpace();
}
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c3(s1, s2, s3, s4);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseheaderOnly() {
var s0, s1, s2, s3, s4, s5, s6, s7;
s0 = peg$currPos;
s1 = peg$parsemoduleDeclaration();
if (s1 !== peg$FAILED) {
s2 = peg$parseEOS();
if (s2 !== peg$FAILED) {
s3 = peg$currPos;
s4 = peg$parseMANDATORY_LAYOUT();
if (s4 !== peg$FAILED) {
s5 = peg$parseDocComment();
if (s5 !== peg$FAILED) {
s6 = peg$currPos;
peg$silentFails++;
s7 = peg$parseMANDATORY_LAYOUT();
peg$silentFails--;
if (s7 !== peg$FAILED) {
peg$currPos = s6;
s6 = void 0;
} else {
s6 = peg$FAILED;
}
if (s6 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c1(s1, s5);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 === peg$FAILED) {
s3 = peg$currPos;
s4 = peg$parseLAYOUT();
if (s4 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c2(s1);
}
s3 = s4;
}
if (s3 !== peg$FAILED) {
s4 = peg$parseimports();
if (s4 === peg$FAILED) {
s4 = null;
}
if (s4 !== peg$FAILED) {
s5 = [];
if (input.length > peg$currPos) {
s6 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c4); }
}
while (s6 !== peg$FAILED) {
s5.push(s6);
if (input.length > peg$currPos) {
s6 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c4); }
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c5(s1, s3, s4);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsemoduleDeclaration() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8;
s0 = peg$currPos;
s1 = peg$currPos;
if (input.substr(peg$currPos, 6) === peg$c6) {
s2 = peg$c6;
peg$currPos += 6;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c7); }
}
if (s2 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c8) {
s2 = peg$c8;
peg$currPos += 4;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c9); }
}
}
if (s2 !== peg$FAILED) {
s3 = peg$parse__();
if (s3 !== peg$FAILED) {
peg$savedPos = s1;
s2 = peg$c10(s2);
s1 = s2;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
if (s1 === peg$FAILED) {
s1 = null;
}
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 6) === peg$c11) {
s2 = peg$c11;
peg$currPos += 6;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c12); }
}
if (s2 !== peg$FAILED) {
s3 = peg$parse__();
if (s3 !== peg$FAILED) {
s4 = peg$parseupperIds();
if (s4 !== peg$FAILED) {
s5 = peg$parse__();
if (s5 !== peg$FAILED) {
s6 = peg$currPos;
s7 = peg$parseeffectWhere();
if (s7 !== peg$FAILED) {
s8 = peg$parse__();
if (s8 !== peg$FAILED) {
s7 = [s7, s8];
s6 = s7;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
if (s6 === peg$FAILED) {
s6 = null;
}
if (s6 !== peg$FAILED) {
s7 = peg$parseexposing();
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c13(s1, s4, s7);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseeffectWhere() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
s0 = peg$currPos;
if (input.substr(peg$currPos, 5) === peg$c14) {
s1 = peg$c14;
peg$currPos += 5;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c15); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 123) {
s3 = peg$c16;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c17); }
}
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
s5 = peg$currPos;
s6 = [];
s7 = peg$currPos;
s8 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 125) {
s9 = peg$c18;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c19); }
}
peg$silentFails--;
if (s9 === peg$FAILED) {
s8 = void 0;
} else {
peg$currPos = s8;
s8 = peg$FAILED;
}
if (s8 !== peg$FAILED) {
s9 = peg$parseSourceCharacter();
if (s9 !== peg$FAILED) {
s8 = [s8, s9];
s7 = s8;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
while (s7 !== peg$FAILED) {
s6.push(s7);
s7 = peg$currPos;
s8 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 125) {
s9 = peg$c18;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c19); }
}
peg$silentFails--;
if (s9 === peg$FAILED) {
s8 = void 0;
} else {
peg$currPos = s8;
s8 = peg$FAILED;
}
if (s8 !== peg$FAILED) {
s9 = peg$parseSourceCharacter();
if (s9 !== peg$FAILED) {
s8 = [s8, s9];
s7 = s8;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
if (s7 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 125) {
s8 = peg$c18;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c19); }
}
if (s8 !== peg$FAILED) {
s6 = [s6, s7, s8];
s5 = s6;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
s1 = [s1, s2, s3, s4, s5];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseimports() {
var s0, s1, s2, s3, s4, s5, s6;
s0 = peg$currPos;
s1 = peg$parseLAYOUT();
if (s1 !== peg$FAILED) {
s2 = peg$parseimport();
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$currPos;
s5 = peg$parseLAYOUT();
if (s5 !== peg$FAILED) {
s6 = peg$parseimport();
if (s6 !== peg$FAILED) {
peg$savedPos = s4;
s5 = peg$c20(s2, s6);
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$currPos;
s5 = peg$parseLAYOUT();
if (s5 !== peg$FAILED) {
s6 = peg$parseimport();
if (s6 !== peg$FAILED) {
peg$savedPos = s4;
s5 = peg$c20(s2, s6);
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c21(s2, s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseimport() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8;
s0 = peg$currPos;
if (input.substr(peg$currPos, 6) === peg$c22) {
s1 = peg$c22;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c23); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse__();
if (s2 !== peg$FAILED) {
s3 = peg$parseupperIds();
if (s3 !== peg$FAILED) {
s4 = peg$currPos;
s5 = peg$parse__();
if (s5 !== peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c24) {
s6 = peg$c24;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c25); }
}
if (s6 !== peg$FAILED) {
s7 = peg$parse__();
if (s7 !== peg$FAILED) {
s8 = peg$parseupperId();
if (s8 !== peg$FAILED) {
peg$savedPos = s4;
s5 = peg$c26(s3, s8);
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 === peg$FAILED) {
s4 = null;
}
if (s4 !== peg$FAILED) {
s5 = peg$currPos;
s6 = peg$parse_();
if (s6 !== peg$FAILED) {
s7 = peg$parseexposing();
if (s7 !== peg$FAILED) {
peg$savedPos = s5;
s6 = peg$c27(s3, s4, s7);
s5 = s6;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 === peg$FAILED) {
s5 = null;
}
if (s5 !== peg$FAILED) {
s6 = peg$parseEOS();
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c28(s3, s4, s5);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseexposing() {
var s0, s1, s2, s3, s4, s5, s6, s7;
s0 = peg$currPos;
if (input.substr(peg$currPos, 8) === peg$c29) {
s1 = peg$c29;
peg$currPos += 8;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c30); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 40) {
s3 = peg$c31;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c32); }
}
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
s5 = peg$parseexposeAll();
if (s5 === peg$FAILED) {
s5 = peg$parseexports();
}
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (s6 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 41) {
s7 = peg$c33;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c34); }
}
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c35(s5);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseexposeAll() {
var s0, s1;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c36) {
s1 = peg$c36;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c37); }
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c38();
}
s0 = s1;
return s0;
}
function peg$parseexports() {
var s0, s1, s2, s3, s4, s5, s6, s7;
s0 = peg$currPos;
s1 = peg$parseexport();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c39;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c40); }
}
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (s6 !== peg$FAILED) {
s7 = peg$parseexport();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c41(s1, s7);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c39;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c40); }
}
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (s6 !== peg$FAILED) {
s7 = peg$parseexport();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c41(s1, s7);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c42(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseexport() {
var s0;
s0 = peg$parseref();
if (s0 === peg$FAILED) {
s0 = peg$parseadtExport();
}
return s0;
}
function peg$parseadtExport() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8;
s0 = peg$currPos;
s1 = peg$parseupperId();
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = peg$parse_();
if (s3 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 40) {
s4 = peg$c31;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c32); }
}
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (s5 !== peg$FAILED) {
s6 = peg$parseadtSubExports();
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
if (s7 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 41) {
s8 = peg$c33;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c34); }
}
if (s8 !== peg$FAILED) {
peg$savedPos = s2;
s3 = peg$c43(s1, s6);
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 === peg$FAILED) {
s2 = null;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c44(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseadtSubExports() {
var s0, s1, s2, s3, s4, s5, s6, s7;
s0 = peg$currPos;
s1 = peg$parseexposeAll();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c45(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseadtSubExport();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c39;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c40); }
}
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (s6 !== peg$FAILED) {
s7 = peg$parseadtSubExport();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c46(s1, s7);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 44) {
s5 = peg$c39;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c40); }
}
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (s6 !== peg$FAILED) {
s7 = peg$parseadtSubExport();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c46(s1, s7);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c47(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
function peg$parseadtSubExport() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseupperId();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c48(s1);
}
s0 = s1;
return s0;
}
function peg$parsetopLevelDeclarations() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$currPos;
s2 = peg$parsetopLevelDoc();
if (s2 !== peg$FAILED) {
s3 = peg$parsetopLevelDeclaration();
if (s3 !== peg$FAILED) {
peg$savedPos = s1;
s2 = peg$c49(s2, s3);
s1 = s2;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parsetopLevelDoc();
if (s4 !== peg$FAILED) {
s5 = peg$parsetopLevelDeclaration();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c50(s1, s4, s5);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parsetopLevelDoc();
if (s4 !== peg$FAILED) {
s5 = peg$parsetopLevelDeclaration();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c50(s1, s4, s5);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c51(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsetopLevelDeclaration() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parsetypeAliasFunDecl();
if (s1 === peg$FAILED) {
s1 = peg$parsetypeAliasDecl();
if (s1 === peg$FAILED) {
s1 = peg$parsetypeDecl();
if (s1 === peg$FAILED) {
s1 = peg$parsedef();
if (s1 === peg$FAILED) {
s1 = peg$parseinfixDef();
if (s1 === peg$FAILED) {
s1 = peg$parseportDef();
}
}
}
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c52(s1);
}
s0 = s1;
return s0;
}
function peg$parsetopLevelDoc() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parseMANDATORY_LAYOUT();
if (s1 !== peg$FAILED) {
s2 = peg$parseDocComment();
if (s2 !== peg$FAILED) {
s3 = peg$parseMANDATORY_LAYOUT();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c53(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseLAYOUT();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c54();
}
s0 = s1;
}
return s0;
}
function peg$parsetypeAliasDecl() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c55) {
s1 = peg$c55;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c56); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse__();
if (s2 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c57) {
s3 = peg$c57;
peg$currPos += 5;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c58); }
}
if (s3 !== peg$FAILED) {
s4 = peg$parse__();
if (s4 !== peg$FAILED) {
s5 = peg$parseupperId();
if (s5 !== peg$FAILED) {
s6 = [];
s7 = peg$currPos;
s8 = peg$parse__();
if (s8 !== peg$FAILED) {
s9 = peg$parsevariable();
if (s9 !== peg$FAILED) {
peg$savedPos = s7;
s8 = peg$c59(s5, s9);
s7 = s8;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
while (s7 !== peg$FAILED) {
s6.push(s7);
s7 = peg$currPos;
s8 = peg$parse__();
if (s8 !== peg$FAILED) {
s9 = peg$parsevariable();
if (s9 !== peg$FAILED) {
peg$savedPos = s7;
s8 = peg$c59(s5, s9);
s7 = s8;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
if (s7 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 61) {
s8 = peg$c60;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c61); }
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
if (s9 !== peg$FAILED) {
s10 = peg$parsetype();
if (s10 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c62(s5, s6, s10);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsetypeAliasFunDecl() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c55) {
s1 = peg$c55;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c56); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse__();
if (s2 !== peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c57) {
s3 = peg$c57;
peg$currPos += 5;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c58); }
}
if (s3 !== peg$FAILED) {
s4 = peg$parse__();
if (s4 !== peg$FAILED) {
s5 = peg$parseupperId();
if (s5 !== peg$FAILED) {
s6 = [];
s7 = peg$currPos;
s8 = peg$parse__();
if (s8 !== peg$FAILED) {
s9 = peg$parsevariable();
if (s9 !== peg$FAILED) {
peg$savedPos = s7;
s8 = peg$c59(s5, s9);
s7 = s8;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
while (s7 !== peg$FAILED) {
s6.push(s7);
s7 = peg$currPos;
s8 = peg$parse__();
if (s8 !== peg$FAILED) {
s9 = peg$parsevariable();
if (s9 !== peg$FAILED) {
peg$savedPos = s7;
s8 = peg$c59(s5, s9);
s7 = s8;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
if (s7 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 61) {
s8 = peg$c60;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c61); }
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
if (s9 !== peg$FAILED) {
s10 = peg$parsetype();
if (s10 !== peg$FAILED) {
s11 = peg$parse_();
if (s11 !== peg$FAILED) {
s12 = peg$parsetypeFunTail();
if (s12 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c63(s5, s6, s10, s12);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsetypeDecl() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8;
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c55) {
s1 = peg$c55;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c56); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse__();
if (s2 !== peg$FAILED) {
s3 = peg$parseupperId();
if (s3 !== peg$FAILED) {
s4 = [];
s5 = peg$currPos;
s6 = peg$parse__();
if (s6 !== peg$FAILED) {
s7 = peg$parsevariable();
if (s7 !== peg$FAILED) {
peg$savedPos = s5;
s6 = peg$c59(s3, s7);
s5 = s6;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
while (s5 !== peg$FAILED) {
s4.push(s5);
s5 = peg$currPos;
s6 = peg$parse__();
if (s6 !== peg$FAILED) {
s7 = peg$parsevariable();
if (s7 !== peg$FAILED) {
peg$savedPos = s5;
s6 = peg$c59(s3, s7);
s5 = s6;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
}
if (s4 !== peg$FAILED) {
s5 = peg$parse_();
if (s5 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 61) {
s6 = peg$c60;
peg$currPos++;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c61); }
}
if (s6 !== peg$FAILED) {
s7 = peg$parse_();
if (s7 !== peg$FAILED) {
s8 = peg$parseadtDefs();
if (s8 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c64(s3, s4, s8);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseadtDefs() {
var s0, s1, s2, s3, s4, s5, s6, s7;
s0 = peg$currPos;
s1 = peg$parseadtDef();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 124) {
s5 = peg$c65;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c66); }
}
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (s6 !== peg$FAILED) {
s7 = peg$parseadtDef();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c67(s1, s7);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 124) {
s5 = peg$c65;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c66); }
}
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (s6 !== peg$FAILED) {
s7 = peg$parseadtDef();
if (s7 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c67(s1, s7);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c68(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseadtDef() {
var s0, s1, s2, s3, s4, s5, s6;
s0 = peg$currPos;
s1 = peg$parseupperId();
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = peg$parse__();
if (s3 !== peg$FAILED) {
s4 = peg$parsetype();
if (s4 !== peg$FAILED) {
peg$savedPos = s2;
s3 = peg$c69(s1, s4);
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 === peg$FAILED) {
s2 = null;
}
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$currPos;
s5 = peg$parse__();
if (s5 !== peg$FAILED) {
s6 = peg$parsetype();
if (s6 !== peg$FAILED) {
peg$savedPos = s4;
s5 = peg$c70(s1, s2, s6);
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$currPos;
s5 = peg$parse__();
if (s5 !== peg$FAILED) {
s6 = peg$parsetype();
if (s6 !== peg$FAILED) {
peg$savedPos = s4;
s5 = peg$c70(s1, s2, s6);
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c71(s1, s2, s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsedef() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parseannotation();
if (s1 !== peg$FAILED) {
s2 = peg$parseLAYOUT();
if (s2 !== peg$FAILED) {
s3 = peg$parsevalueDef();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c72(s1, s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parsevalueDef();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c73(s1);
}
s0 = s1;
}
return s0;
}
function peg$parsevalueDef() {
var s0;
s0 = peg$parsenameDef();
if (s0 === peg$FAILED) {
s0 = peg$parsebinOpDef();
}
return s0;
}
function peg$parsenameDef() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
s0 = peg$currPos;
s1 = peg$parseid();
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
s3 = peg$currPos;
s4 = peg$parsepattern();
if (s4 !== peg$FAILED) {
s5 = peg$parse__();
if (s5 !== peg$FAILED) {
s6 = [];
s7 = peg$currPos;
s8 = peg$parse_();
if (s8 !== peg$FAILED) {
s9 = peg$parsepattern();
if (s9 !== peg$FAILED) {
peg$savedPos = s7;
s8 = peg$c74(s1, s4, s9);
s7 = s8;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
while (s7 !== peg$FAILED) {
s6.push(s7);
s7 = peg$currPos;
s8 = peg$parse_();
if (s8 !== peg$FAILED) {
s9 = peg$parsepattern();
if (s9 !== peg$FAILED) {
peg$savedPos = s7;
s8 = peg$c74(s1, s4, s9);
s7 = s8;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
}
if (s6 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c75(s1, s4, s6);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 === peg$FAILED) {
s3 = null;
}
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 61) {
s5 = peg$c60;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c61); }
}
if (s5 !== peg$FAILED) {
s6 = peg$parseexpr();
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c76(s1, s3, s6);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsebinOpDef() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
s0 = peg$currPos;
s1 = peg$parsebinOpRef();
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
s3 = peg$currPos;
s4 = peg$parsepattern();
if (s4 !== peg$FAILED) {
s5 = peg$parse__();
if (s5 !== peg$FAILED) {
s6 = [];
s7 = peg$currPos;
s8 = peg$parse_();
if (s8 !== peg$FAILED) {
s9 = peg$parsepattern();
if (s9 !== peg$FAILED) {
peg$savedPos = s7;
s8 = peg$c77(s1, s4, s9);
s7 = s8;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
while (s7 !== peg$FAILED) {
s6.push(s7);
s7 = peg$currPos;
s8 = peg$parse_();
if (s8 !== peg$FAILED) {
s9 = peg$parsepattern();
if (s9 !== peg$FAILED) {
peg$savedPos = s7;
s8 = peg$c77(s1, s4, s9);
s7 = s8;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
}
if (s6 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c78(s1, s4, s6);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 === peg$FAILED) {
s3 = null;
}
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 61) {
s5 = peg$c60;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c61); }
}
if (s5 !== peg$FAILED) {
s6 = peg$parseexpr();
if (s6 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c79(s1, s3, s6);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseannotation() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;
s0 = peg$currPos;
s1 = peg$parseref();
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c80;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c81); }
}
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
s5 = peg$currPos;
s6 = peg$parsetype();
if (s6 !== peg$FAILED) {
s7 = [];
s8 = peg$currPos;
s9 = peg$parse_();
if (s9 !== peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c82) {
s10 = peg$c82;
peg$currPos += 2;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c83); }
}
if (s10 !== peg$FAILED) {
s11 = peg$parse_();
if (s11 !== peg$FAILED) {
s12 = peg$parsetype();
if (s12 !== peg$FAILED) {
peg$savedPos = s8;
s9 = peg$c84(s1, s6, s12);
s8 = s9;
} else {
peg$currPos = s8;
s8 = peg$FAILED;
}
} else {
peg$currPos = s8;
s8 = peg$FAILED;
}
} else {
peg$currPos = s8;
s8 = peg$FAILED;
}
} else {
peg$currPos = s8;
s8 = peg$FAILED;
}
while (s8 !== peg$FAILED) {
s7.push(s8);
s8 = peg$currPos;
s9 = peg$parse_();
if (s9 !== peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c82) {
s10 = peg$c82;
peg$currPos += 2;
} else {
s10 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c83); }
}
if (s10 !== peg$FAILED) {
s11 = peg$parse_();
if (s11 !== peg$FAILED) {
s12 = peg$parsetype();
if (s12 !== peg$FAILED) {
peg$savedPos = s8;
s9 = peg$c84(s1, s6, s12);
s8 = s9;
} else {
peg$currPos = s8;
s8 = peg$FAILED;
}
} else {
peg$currPos = s8;
s8 = peg$FAILED;
}
} else {
peg$currPos = s8;
s8 = peg$FAILED;
}
} else {
peg$currPos = s8;
s8 = peg$FAILED;
}
}
if (s7 !== peg$FAILED) {
peg$savedPos = s5;
s6 = peg$c85(s1, s6, s7);
s5 = s6;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c86(s1, s5);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseinfixDef() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
if (input.substr(peg$currPos, 6) === peg$c87) {
s1 = peg$c87;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c88); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 6) === peg$c89) {
s1 = peg$c89;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c90); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c91) {
s1 = peg$c91;
peg$currPos += 5;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c92); }
}
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parse__();
if (s2 !== peg$FAILED) {
s3 = peg$parsenumber();
if (s3 !== peg$FAILED) {
s4 = peg$parse__();
if (s4 !== peg$FAILED) {
s5 = peg$parsebinOp();
if (s5 === peg$FAILED) {
s5 = peg$parseinfixOp();
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c93(s1, s3, s5);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseinfixOp() {
var s0, s1, s2, s3;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 96) {
s1 = peg$c94;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c95); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parseid();
if (s2 === peg$FAILED) {
s2 = peg$parseprefixedId();
}
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 96) {
s3 = peg$c94;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c95); }
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c96(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseportDef() {
var s0, s1, s2, s3;
s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c8) {
s1 = peg$c8;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c9); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
s3 = peg$parseannotation();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c97(s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsetype() {
var s0;
s0 = peg$parsetypeBracket();
if (s0 === peg$FAILED) {
s0 = peg$parseunit();
if (s0 === peg$FAILED) {
s0 = peg$parsetypeTuple();
if (s0 === peg$FAILED) {
s0 = peg$parsetypeAdt();
if (s0 === peg$FAILED) {
s0 = peg$parsetypeVar();
if (s0 === peg$FAILED) {
s0 = peg$parsetypeRec();
if (s0 === peg$FAILED) {
s0 = peg$parsetypeRecExt();
}
}
}
}
}
}
return s0;
}
function peg$parsetypeTuple() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$parsetupleFirst();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
s5 = peg$parsetupleRem();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c98(s1, s5);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
s5 = peg$parsetupleRem();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c98(s1, s5);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s3 = peg$parse_();
if (s3 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 41) {
s4 = peg$c33;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c34); }
}
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c99(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsetupleFirst() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c31;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c32); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
s3 = peg$parsetype();
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
s5 = peg$parsetypeFunTail();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c100(s3, s5);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c31;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c32); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
s3 = peg$parsetype();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c101(s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
function peg$parsetupleRem() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 44) {
s1 = peg$c39;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c40); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
s3 = peg$parsetype();
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
s5 = peg$parsetypeFunTail();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c100(s3, s5);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 44) {
s1 = peg$c39;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c40); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
s3 = peg$parsetype();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c101(s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
function peg$parsetypeBracket() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parsetupleFirst();
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 41) {
s3 = peg$c33;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c34); }
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c102(s1);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsetypeFunTail() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c82) {
s1 = peg$c82;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c83); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
s3 = peg$parsetype();
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
s5 = [];
s6 = peg$currPos;
s7 = peg$parse_();
if (s7 !== peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c82) {
s8 = peg$c82;
peg$currPos += 2;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c83); }
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
if (s9 !== peg$FAILED) {
s10 = peg$parsetype();
if (s10 !== peg$FAILED) {
peg$savedPos = s6;
s7 = peg$c103(s3, s10);
s6 = s7;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = peg$currPos;
s7 = peg$parse_();
if (s7 !== peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c82) {
s8 = peg$c82;
peg$currPos += 2;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c83); }
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
if (s9 !== peg$FAILED) {
s10 = peg$parsetype();
if (s10 !== peg$FAILED) {
peg$savedPos = s6;
s7 = peg$c103(s3, s10);
s6 = s7;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c104(s3, s5);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseunit() {
var s0, s1, s2, s3;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c31;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c32); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 41) {
s3 = peg$c33;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c34); }
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c105();
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsetypeAdt() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8;
s0 = peg$currPos;
s1 = peg$parseupperIds();
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
s3 = peg$parse__();
if (s3 !== peg$FAILED) {
s4 = peg$parsetype();
if (s4 !== peg$FAILED) {
s5 = [];
s6 = peg$currPos;
s7 = peg$parse__();
if (s7 !== peg$FAILED) {
s8 = peg$parsetype();
if (s8 !== peg$FAILED) {
peg$savedPos = s6;
s7 = peg$c106(s1, s4, s8);
s6 = s7;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = peg$currPos;
s7 = peg$parse__();
if (s7 !== peg$FAILED) {
s8 = peg$parsetype();
if (s8 !== peg$FAILED) {
peg$savedPos = s6;
s7 = peg$c106(s1, s4, s8);
s6 = s7;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s2;
s3 = peg$c107(s1, s4, s5);
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 === peg$FAILED) {
s2 = null;
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c108(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsetypeVar() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseid();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c109(s1);
}
s0 = s1;
return s0;
}
function peg$parsetypeRec() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 123) {
s1 = peg$c16;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c17); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
s3 = peg$currPos;
s4 = peg$parsetypeRecBind();
if (s4 !== peg$FAILED) {
s5 = [];
s6 = peg$currPos;
s7 = peg$parse_();
if (s7 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 44) {
s8 = peg$c39;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c40); }
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
if (s9 !== peg$FAILED) {
s10 = peg$parsetypeRecBind();
if (s10 !== peg$FAILED) {
peg$savedPos = s6;
s7 = peg$c110(s4, s10);
s6 = s7;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = peg$currPos;
s7 = peg$parse_();
if (s7 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 44) {
s8 = peg$c39;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c40); }
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
if (s9 !== peg$FAILED) {
s10 = peg$parsetypeRecBind();
if (s10 !== peg$FAILED) {
peg$savedPos = s6;
s7 = peg$c110(s4, s10);
s6 = s7;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c111(s4, s5);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 === peg$FAILED) {
s3 = null;
}
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 125) {
s5 = peg$c18;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c19); }
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c112(s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsetypeRecExt() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 123) {
s1 = peg$c16;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c17); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
s3 = peg$parseid();
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 124) {
s5 = peg$c65;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c66); }
}
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (s6 !== peg$FAILED) {
s7 = peg$currPos;
s8 = peg$parsetypeRecBind();
if (s8 !== peg$FAILED) {
s9 = [];
s10 = peg$currPos;
s11 = peg$parse_();
if (s11 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 44) {
s12 = peg$c39;
peg$currPos++;
} else {
s12 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c40); }
}
if (s12 !== peg$FAILED) {
s13 = peg$parse_();
if (s13 !== peg$FAILED) {
s14 = peg$parsetypeRecBind();
if (s14 !== peg$FAILED) {
peg$savedPos = s10;
s11 = peg$c113(s3, s8, s14);
s10 = s11;
} else {
peg$currPos = s10;
s10 = peg$FAILED;
}
} else {
peg$currPos = s10;
s10 = peg$FAILED;
}
} else {
peg$currPos = s10;
s10 = peg$FAILED;
}
} else {
peg$currPos = s10;
s10 = peg$FAILED;
}
while (s10 !== peg$FAILED) {
s9.push(s10);
s10 = peg$currPos;
s11 = peg$parse_();
if (s11 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 44) {
s12 = peg$c39;
peg$currPos++;
} else {
s12 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c40); }
}
if (s12 !== peg$FAILED) {
s13 = peg$parse_();
if (s13 !== peg$FAILED) {
s14 = peg$parsetypeRecBind();
if (s14 !== peg$FAILED) {
peg$savedPos = s10;
s11 = peg$c113(s3, s8, s14);
s10 = s11;
} else {
peg$currPos = s10;
s10 = peg$FAILED;
}
} else {
peg$currPos = s10;
s10 = peg$FAILED;
}
} else {
peg$currPos = s10;
s10 = peg$FAILED;
}
} else {
peg$currPos = s10;
s10 = peg$FAILED;
}
}
if (s9 !== peg$FAILED) {
peg$savedPos = s7;
s8 = peg$c114(s3, s8, s9);
s7 = s8;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
if (s7 === peg$FAILED) {
s7 = null;
}
if (s7 !== peg$FAILED) {
s8 = peg$parse_();
if (s8 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 125) {
s9 = peg$c18;
peg$currPos++;
} else {
s9 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c19); }
}
if (s9 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c115(s3, s7);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsetypeRecBind() {
var s0, s1, s2, s3, s4, s5, s6, s7;
s0 = peg$currPos;
s1 = peg$parseid();
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c80;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c81); }
}
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
s5 = peg$parsetype();
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (s6 !== peg$FAILED) {
s7 = peg$parsetypeFunTail();
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c116(s1, s5, s7);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseid();
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 58) {
s3 = peg$c80;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c81); }
}
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
s5 = peg$parsetype();
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c117(s1, s5);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
return s0;
}
function peg$parsepattern() {
var s0;
s0 = peg$parsepatternBracket();
if (s0 === peg$FAILED) {
s0 = peg$parsepatternTuple();
if (s0 === peg$FAILED) {
s0 = peg$parsepatternList();
if (s0 === peg$FAILED) {
s0 = peg$parsepatternRec();
if (s0 === peg$FAILED) {
s0 = peg$parseunit();
if (s0 === peg$FAILED) {
s0 = peg$parsevariable();
if (s0 === peg$FAILED) {
s0 = peg$parsepatternAdt();
if (s0 === peg$FAILED) {
s0 = peg$parseunnamed();
}
}
}
}
}
}
}
return s0;
}
function peg$parsepatternBracket() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parsepatternTupleFst();
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 41) {
s3 = peg$c33;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c34); }
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c118(s1);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsepatternTuple() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = peg$parsepatternTupleFst();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parsepatternTupleRem();
if (s4 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c119(s1, s4);
}
s3 = s4;
if (s3 !== peg$FAILED) {
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parsepatternTupleRem();
if (s4 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c119(s1, s4);
}
s3 = s4;
}
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s3 = peg$parse_();
if (s3 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 41) {
s4 = peg$c33;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c34); }
}
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c120(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsepatternTupleFst() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c31;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c32); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
s3 = peg$parsepattern();
if (s3 !== peg$FAILED) {
s4 = peg$parsepatternAlias();
if (s4 === peg$FAILED) {
s4 = null;
}
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c121(s3, s4);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsepatternTupleRem() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$parse_();
if (s1 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 44) {
s2 = peg$c39;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c40); }
}
if (s2 !== peg$FAILED) {
s3 = peg$parse_();
if (s3 !== peg$FAILED) {
s4 = peg$parsepattern();
if (s4 !== peg$FAILED) {
s5 = peg$parsepatternAlias();
if (s5 === peg$FAILED) {
s5 = null;
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c122(s4, s5);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsepatternAlias() {
var s0, s1, s2, s3, s4;
s0 = peg$currPos;
s1 = peg$parse__();
if (s1 !== peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c24) {
s2 = peg$c24;
peg$currPos += 2;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c25); }
}
if (s2 !== peg$FAILED) {
s3 = peg$parse__();
if (s3 !== peg$FAILED) {
s4 = peg$parseid();
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c123(s4);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsepatternList() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 91) {
s1 = peg$c124;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c125); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
s3 = peg$parsepattern();
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
s5 = [];
s6 = peg$currPos;
s7 = peg$parse_();
if (s7 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 44) {
s8 = peg$c39;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c40); }
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
if (s9 !== peg$FAILED) {
s10 = peg$parsepattern();
if (s10 !== peg$FAILED) {
peg$savedPos = s6;
s7 = peg$c119(s3, s10);
s6 = s7;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = peg$currPos;
s7 = peg$parse_();
if (s7 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 44) {
s8 = peg$c39;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c40); }
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
if (s9 !== peg$FAILED) {
s10 = peg$parsepattern();
if (s10 !== peg$FAILED) {
peg$savedPos = s6;
s7 = peg$c119(s3, s10);
s6 = s7;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
}
if (s5 !== peg$FAILED) {
s6 = peg$parse_();
if (s6 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 93) {
s7 = peg$c126;
peg$currPos++;
} else {
s7 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c127); }
}
if (s7 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c128(s3, s5);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsepatternRec() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 123) {
s1 = peg$c16;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c17); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
s3 = peg$currPos;
s4 = peg$parsepattern();
if (s4 !== peg$FAILED) {
s5 = [];
s6 = peg$currPos;
s7 = peg$parse_();
if (s7 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 44) {
s8 = peg$c39;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c40); }
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
if (s9 !== peg$FAILED) {
s10 = peg$parsepattern();
if (s10 !== peg$FAILED) {
peg$savedPos = s6;
s7 = peg$c119(s4, s10);
s6 = s7;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
while (s6 !== peg$FAILED) {
s5.push(s6);
s6 = peg$currPos;
s7 = peg$parse_();
if (s7 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 44) {
s8 = peg$c39;
peg$currPos++;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c40); }
}
if (s8 !== peg$FAILED) {
s9 = peg$parse_();
if (s9 !== peg$FAILED) {
s10 = peg$parsepattern();
if (s10 !== peg$FAILED) {
peg$savedPos = s6;
s7 = peg$c119(s4, s10);
s6 = s7;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c111(s4, s5);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 === peg$FAILED) {
s3 = null;
}
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 125) {
s5 = peg$c18;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c19); }
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c129(s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsevariable() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseid();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c130(s1);
}
s0 = s1;
return s0;
}
function peg$parsepatternAdt() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$parseupperIds();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
s5 = peg$parsepattern();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c131(s1, s5);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
s5 = peg$parsepattern();
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c131(s1, s5);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c132(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseunnamed() {
var s0, s1;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 95) {
s1 = peg$c133;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c134); }
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c135();
}
s0 = s1;
return s0;
}
function peg$parseexpr() {
var s0, s1, s2, s3, s4, s5, s6, s7, s8;
s0 = peg$currPos;
s1 = [];
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
s4 = peg$currPos;
s5 = peg$parseNewLine();
if (s5 !== peg$FAILED) {
s6 = peg$parseDocComment();
if (s6 === peg$FAILED) {
s6 = peg$parseidchar();
if (s6 === peg$FAILED) {
s6 = peg$currPos;
s7 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c136) {
s8 = peg$c136;
peg$currPos += 2;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c137); }
}
peg$silentFails--;
if (s8 === peg$FAILED) {
s7 = void 0;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
if (s7 !== peg$FAILED) {
s8 = peg$parsebinOpChar();
if (s8 !== peg$FAILED) {
s7 = [s7, s8];
s6 = s7;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
if (s6 === peg$FAILED) {
s6 = peg$parsebinOpDef();
}
}
}
if (s6 !== peg$FAILED) {
s5 = [s5, s6];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s4 = peg$parseMultiLineComment();
if (s4 === peg$FAILED) {
s4 = peg$parseMultiLineString();
if (s4 === peg$FAILED) {
s4 = peg$parseSourceCharacter();
}
}
if (s4 !== peg$FAILED) {
s3 = [s3, s4];
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$currPos;
s3 = peg$currPos;
peg$silentFails++;
s4 = peg$currPos;
s5 = peg$parseNewLine();
if (s5 !== peg$FAILED) {
s6 = peg$parseDocComment();
if (s6 === peg$FAILED) {
s6 = peg$parseidchar();
if (s6 === peg$FAILED) {
s6 = peg$currPos;
s7 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c136) {
s8 = peg$c136;
peg$currPos += 2;
} else {
s8 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c137); }
}
peg$silentFails--;
if (s8 === peg$FAILED) {
s7 = void 0;
} else {
peg$currPos = s7;
s7 = peg$FAILED;
}
if (s7 !== peg$FAILED) {
s8 = peg$parsebinOpChar();
if (s8 !== peg$FAILED) {
s7 = [s7, s8];
s6 = s7;
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
} else {
peg$currPos = s6;
s6 = peg$FAILED;
}
if (s6 === peg$FAILED) {
s6 = peg$parsebinOpDef();
}
}
}
if (s6 !== peg$FAILED) {
s5 = [s5, s6];
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
peg$silentFails--;
if (s4 === peg$FAILED) {
s3 = void 0;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
if (s3 !== peg$FAILED) {
s4 = peg$parseMultiLineComment();
if (s4 === peg$FAILED) {
s4 = peg$parseMultiLineString();
if (s4 === peg$FAILED) {
s4 = peg$parseSourceCharacter();
}
}
if (s4 !== peg$FAILED) {
s3 = [s3, s4];
s2 = s3;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
}
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c138(s1);
}
s0 = s1;
return s0;
}
function peg$parseref() {
var s0, s1;
s0 = peg$currPos;
s1 = peg$parseid();
if (s1 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c139(s1);
}
s0 = s1;
if (s0 === peg$FAILED) {
s0 = peg$parsebinOpRef();
}
return s0;
}
function peg$parseupperIds() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
s1 = peg$parseupperId();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 46) {
s4 = peg$c140;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c141); }
}
if (s4 !== peg$FAILED) {
s5 = peg$parseupperId();
if (s5 !== peg$FAILED) {
s4 = [s4, s5];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 46) {
s4 = peg$c140;
peg$currPos++;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c141); }
}
if (s4 !== peg$FAILED) {
s5 = peg$parseupperId();
if (s5 !== peg$FAILED) {
s4 = [s4, s5];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c142(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseupperId() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parseupper();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseidchar();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseidchar();
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c143(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseprefixedId() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parseupperIds();
if (s1 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 46) {
s2 = peg$c140;
peg$currPos++;
} else {
s2 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c141); }
}
if (s2 !== peg$FAILED) {
s3 = peg$parseidName();
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c144(s1, s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseid() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = peg$currPos;
peg$silentFails++;
s2 = peg$parsereserved();
peg$silentFails--;
if (s2 === peg$FAILED) {
s1 = void 0;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
if (s1 !== peg$FAILED) {
s2 = peg$parseidName();
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c145(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseidName() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parselower();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parseidchar();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parseidchar();
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c143(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseComment() {
var s0, s1;
peg$silentFails++;
s0 = peg$parseMultiLineComment();
if (s0 === peg$FAILED) {
s0 = peg$parseSingleLineComment();
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c146); }
}
return s0;
}
function peg$parseDocComment() {
var s0, s1, s2, s3, s4, s5, s6;
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c147) {
s1 = peg$c147;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c148); }
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c149) {
s5 = peg$c149;
peg$currPos += 2;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c150); }
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
s5 = peg$currPos;
s6 = peg$parseDocComment();
if (s6 !== peg$FAILED) {
peg$savedPos = s5;
s6 = peg$c151(s6);
}
s5 = s6;
if (s5 === peg$FAILED) {
s5 = peg$currPos;
s6 = peg$parseMultiLineComment();
if (s6 !== peg$FAILED) {
peg$savedPos = s5;
s6 = peg$c152(s6);
}
s5 = s6;
if (s5 === peg$FAILED) {
s5 = peg$currPos;
s6 = peg$parseSourceCharacter();
if (s6 !== peg$FAILED) {
peg$savedPos = s5;
s6 = peg$c153(s6);
}
s5 = s6;
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c154(s5);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c149) {
s5 = peg$c149;
peg$currPos += 2;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c150); }
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
s5 = peg$currPos;
s6 = peg$parseDocComment();
if (s6 !== peg$FAILED) {
peg$savedPos = s5;
s6 = peg$c151(s6);
}
s5 = s6;
if (s5 === peg$FAILED) {
s5 = peg$currPos;
s6 = peg$parseMultiLineComment();
if (s6 !== peg$FAILED) {
peg$savedPos = s5;
s6 = peg$c152(s6);
}
s5 = s6;
if (s5 === peg$FAILED) {
s5 = peg$currPos;
s6 = peg$parseSourceCharacter();
if (s6 !== peg$FAILED) {
peg$savedPos = s5;
s6 = peg$c153(s6);
}
s5 = s6;
}
}
if (s5 !== peg$FAILED) {
peg$savedPos = s3;
s4 = peg$c154(s5);
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
if (s2 !== peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c149) {
s3 = peg$c149;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c150); }
}
if (s3 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c155(s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseMultiLineComment() {
var s0, s1, s2, s3, s4, s5, s6, s7;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c156) {
s1 = peg$c156;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c157); }
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 124) {
s3 = peg$c65;
peg$currPos++;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c66); }
}
peg$silentFails--;
if (s3 === peg$FAILED) {
s2 = void 0;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s3 = [];
s4 = peg$currPos;
s5 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c149) {
s6 = peg$c149;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c150); }
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
s6 = peg$currPos;
s7 = peg$parseDocComment();
if (s7 !== peg$FAILED) {
peg$savedPos = s6;
s7 = peg$c158(s7);
}
s6 = s7;
if (s6 === peg$FAILED) {
s6 = peg$currPos;
s7 = peg$parseMultiLineComment();
if (s7 !== peg$FAILED) {
peg$savedPos = s6;
s7 = peg$c152(s7);
}
s6 = s7;
if (s6 === peg$FAILED) {
s6 = peg$currPos;
s7 = peg$parseSourceCharacter();
if (s7 !== peg$FAILED) {
peg$savedPos = s6;
s7 = peg$c153(s7);
}
s6 = s7;
}
}
if (s6 !== peg$FAILED) {
peg$savedPos = s4;
s5 = peg$c159(s6);
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
while (s4 !== peg$FAILED) {
s3.push(s4);
s4 = peg$currPos;
s5 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c149) {
s6 = peg$c149;
peg$currPos += 2;
} else {
s6 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c150); }
}
peg$silentFails--;
if (s6 === peg$FAILED) {
s5 = void 0;
} else {
peg$currPos = s5;
s5 = peg$FAILED;
}
if (s5 !== peg$FAILED) {
s6 = peg$currPos;
s7 = peg$parseDocComment();
if (s7 !== peg$FAILED) {
peg$savedPos = s6;
s7 = peg$c158(s7);
}
s6 = s7;
if (s6 === peg$FAILED) {
s6 = peg$currPos;
s7 = peg$parseMultiLineComment();
if (s7 !== peg$FAILED) {
peg$savedPos = s6;
s7 = peg$c152(s7);
}
s6 = s7;
if (s6 === peg$FAILED) {
s6 = peg$currPos;
s7 = peg$parseSourceCharacter();
if (s7 !== peg$FAILED) {
peg$savedPos = s6;
s7 = peg$c153(s7);
}
s6 = s7;
}
}
if (s6 !== peg$FAILED) {
peg$savedPos = s4;
s5 = peg$c159(s6);
s4 = s5;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
}
if (s3 !== peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c149) {
s4 = peg$c149;
peg$currPos += 2;
} else {
s4 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c150); }
}
if (s4 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c160(s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseMultiLineCommentNoLineTerminator() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c156) {
s1 = peg$c156;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c157); }
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c149) {
s5 = peg$c149;
peg$currPos += 2;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c150); }
}
if (s5 === peg$FAILED) {
s5 = peg$parseLineTerminator();
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
s5 = peg$parseSourceCharacter();
if (s5 !== peg$FAILED) {
s4 = [s4, s5];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 2) === peg$c149) {
s5 = peg$c149;
peg$currPos += 2;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c150); }
}
if (s5 === peg$FAILED) {
s5 = peg$parseLineTerminator();
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
s5 = peg$parseSourceCharacter();
if (s5 !== peg$FAILED) {
s4 = [s4, s5];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
if (s2 !== peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c149) {
s3 = peg$c149;
peg$currPos += 2;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c150); }
}
if (s3 !== peg$FAILED) {
s1 = [s1, s2, s3];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseSingleLineComment() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c136) {
s1 = peg$c136;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c137); }
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$currPos;
peg$silentFails++;
s5 = peg$parseLineTerminator();
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
s5 = peg$parseSourceCharacter();
if (s5 !== peg$FAILED) {
s4 = [s4, s5];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$currPos;
peg$silentFails++;
s5 = peg$parseLineTerminator();
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
s5 = peg$parseSourceCharacter();
if (s5 !== peg$FAILED) {
s4 = [s4, s5];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
if (s2 !== peg$FAILED) {
s1 = [s1, s2];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseMultiLineString() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c161) {
s1 = peg$c161;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c162); }
}
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$currPos;
s4 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 3) === peg$c161) {
s5 = peg$c161;
peg$currPos += 3;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c162); }
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
s5 = peg$parseSourceCharacter();
if (s5 !== peg$FAILED) {
s4 = [s4, s5];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$currPos;
s4 = peg$currPos;
peg$silentFails++;
if (input.substr(peg$currPos, 3) === peg$c161) {
s5 = peg$c161;
peg$currPos += 3;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c162); }
}
peg$silentFails--;
if (s5 === peg$FAILED) {
s4 = void 0;
} else {
peg$currPos = s4;
s4 = peg$FAILED;
}
if (s4 !== peg$FAILED) {
s5 = peg$parseSourceCharacter();
if (s5 !== peg$FAILED) {
s4 = [s4, s5];
s3 = s4;
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
} else {
peg$currPos = s3;
s3 = peg$FAILED;
}
}
if (s2 !== peg$FAILED) {
if (input.substr(peg$currPos, 3) === peg$c161) {
s3 = peg$c161;
peg$currPos += 3;
} else {
s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c162); }
}
if (s3 !== peg$FAILED) {
s1 = [s1, s2, s3];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsereserved() {
var s0, s1, s2, s3;
s0 = peg$currPos;
if (input.substr(peg$currPos, 6) === peg$c11) {
s1 = peg$c11;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c12); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c55) {
s1 = peg$c55;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c56); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 8) === peg$c29) {
s1 = peg$c29;
peg$currPos += 8;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c30); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 6) === peg$c22) {
s1 = peg$c22;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c23); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c8) {
s1 = peg$c8;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c9); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c163) {
s1 = peg$c163;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c164); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c165) {
s1 = peg$c165;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c166); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c167) {
s1 = peg$c167;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c168); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 3) === peg$c169) {
s1 = peg$c169;
peg$currPos += 3;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c170); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c171) {
s1 = peg$c171;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c172); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 4) === peg$c173) {
s1 = peg$c173;
peg$currPos += 4;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c174); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c175) {
s1 = peg$c175;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c176); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c24) {
s1 = peg$c24;
peg$currPos += 2;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c25); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 5) === peg$c91) {
s1 = peg$c91;
peg$currPos += 5;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c92); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 6) === peg$c89) {
s1 = peg$c89;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c90); }
}
if (s1 === peg$FAILED) {
if (input.substr(peg$currPos, 6) === peg$c87) {
s1 = peg$c87;
peg$currPos += 6;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c88); }
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
peg$silentFails++;
s3 = peg$parseidchar();
peg$silentFails--;
if (s3 === peg$FAILED) {
s2 = void 0;
} else {
peg$currPos = s2;
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = [s1, s2];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseidchar() {
var s0;
s0 = peg$parseupper();
if (s0 === peg$FAILED) {
s0 = peg$parselower();
if (s0 === peg$FAILED) {
s0 = peg$parsenumber();
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 95) {
s0 = peg$c133;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c134); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 39) {
s0 = peg$c177;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c178); }
}
}
}
}
}
return s0;
}
function peg$parseupper() {
var s0;
if (peg$c179.test(input.charAt(peg$currPos))) {
s0 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c180); }
}
return s0;
}
function peg$parselower() {
var s0;
if (peg$c181.test(input.charAt(peg$currPos))) {
s0 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c182); }
}
return s0;
}
function peg$parsenumber() {
var s0;
if (peg$c183.test(input.charAt(peg$currPos))) {
s0 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c184); }
}
return s0;
}
function peg$parsebinOpRef() {
var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c31;
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c32); }
}
if (s1 !== peg$FAILED) {
s2 = peg$parse_();
if (s2 !== peg$FAILED) {
s3 = peg$parsebinOp();
if (s3 !== peg$FAILED) {
s4 = peg$parse_();
if (s4 !== peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 41) {
s5 = peg$c33;
peg$currPos++;
} else {
s5 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c34); }
}
if (s5 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c185(s3);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsebinOp() {
var s0, s1, s2, s3;
s0 = peg$currPos;
s1 = peg$parsebinOpChar();
if (s1 !== peg$FAILED) {
s2 = [];
s3 = peg$parsebinOpChar();
while (s3 !== peg$FAILED) {
s2.push(s3);
s3 = peg$parsebinOpChar();
}
if (s2 !== peg$FAILED) {
peg$savedPos = s0;
s1 = peg$c186(s1, s2);
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parsebinOpChar() {
var s0;
if (input.charCodeAt(peg$currPos) === 43) {
s0 = peg$c187;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c188); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 45) {
s0 = peg$c189;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c190); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 42) {
s0 = peg$c191;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c192); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 38) {
s0 = peg$c193;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c194); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 37) {
s0 = peg$c195;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c196); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 94) {
s0 = peg$c197;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c198); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 60) {
s0 = peg$c199;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c200); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 62) {
s0 = peg$c201;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c202); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 124) {
s0 = peg$c65;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c66); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 61) {
s0 = peg$c60;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c61); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 36) {
s0 = peg$c203;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c204); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 64) {
s0 = peg$c205;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c206); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 35) {
s0 = peg$c207;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c208); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 47) {
s0 = peg$c209;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c210); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 58) {
s0 = peg$c80;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c81); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 63) {
s0 = peg$c211;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c212); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 126) {
s0 = peg$c213;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c214); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 33) {
s0 = peg$c215;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c216); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 46) {
s0 = peg$c140;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c141); }
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
return s0;
}
function peg$parseLineTerminator() {
var s0;
if (peg$c217.test(input.charAt(peg$currPos))) {
s0 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c218); }
}
return s0;
}
function peg$parseLineTerminatorSequence() {
var s0, s1;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 10) {
s0 = peg$c220;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c221); }
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c222) {
s0 = peg$c222;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c223); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 13) {
s0 = peg$c224;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c225); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 8232) {
s0 = peg$c226;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c227); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 8233) {
s0 = peg$c228;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c229); }
}
}
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c219); }
}
return s0;
}
function peg$parseMANDATORY_LAYOUT() {
var s0, s1, s2, s3, s4;
s0 = [];
s1 = peg$parseNewLine();
if (s1 === peg$FAILED) {
s1 = peg$currPos;
s2 = peg$parseMultiLineComment();
if (s2 !== peg$FAILED) {
s3 = peg$parseEOS();
if (s3 !== peg$FAILED) {
s4 = peg$parseNewLine();
if (s4 !== peg$FAILED) {
s2 = [s2, s3, s4];
s1 = s2;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
if (s1 === peg$FAILED) {
s1 = peg$currPos;
s2 = peg$parseEOS();
if (s2 !== peg$FAILED) {
s3 = peg$parseNewLine();
if (s3 !== peg$FAILED) {
s2 = [s2, s3];
s1 = s2;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
}
}
if (s1 !== peg$FAILED) {
while (s1 !== peg$FAILED) {
s0.push(s1);
s1 = peg$parseNewLine();
if (s1 === peg$FAILED) {
s1 = peg$currPos;
s2 = peg$parseMultiLineComment();
if (s2 !== peg$FAILED) {
s3 = peg$parseEOS();
if (s3 !== peg$FAILED) {
s4 = peg$parseNewLine();
if (s4 !== peg$FAILED) {
s2 = [s2, s3, s4];
s1 = s2;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
if (s1 === peg$FAILED) {
s1 = peg$currPos;
s2 = peg$parseEOS();
if (s2 !== peg$FAILED) {
s3 = peg$parseNewLine();
if (s3 !== peg$FAILED) {
s2 = [s2, s3];
s1 = s2;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
}
}
}
} else {
s0 = peg$FAILED;
}
return s0;
}
function peg$parseLAYOUT() {
var s0, s1, s2, s3, s4;
s0 = [];
s1 = peg$parseNewLine();
if (s1 === peg$FAILED) {
s1 = peg$currPos;
s2 = peg$parseMultiLineComment();
if (s2 !== peg$FAILED) {
s3 = peg$parseEOS();
if (s3 !== peg$FAILED) {
s4 = peg$parseNewLine();
if (s4 !== peg$FAILED) {
s2 = [s2, s3, s4];
s1 = s2;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
if (s1 === peg$FAILED) {
s1 = peg$currPos;
s2 = peg$parseEOS();
if (s2 !== peg$FAILED) {
s3 = peg$parseNewLine();
if (s3 !== peg$FAILED) {
s2 = [s2, s3];
s1 = s2;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
}
}
while (s1 !== peg$FAILED) {
s0.push(s1);
s1 = peg$parseNewLine();
if (s1 === peg$FAILED) {
s1 = peg$currPos;
s2 = peg$parseMultiLineComment();
if (s2 !== peg$FAILED) {
s3 = peg$parseEOS();
if (s3 !== peg$FAILED) {
s4 = peg$parseNewLine();
if (s4 !== peg$FAILED) {
s2 = [s2, s3, s4];
s1 = s2;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
if (s1 === peg$FAILED) {
s1 = peg$currPos;
s2 = peg$parseEOS();
if (s2 !== peg$FAILED) {
s3 = peg$parseNewLine();
if (s3 !== peg$FAILED) {
s2 = [s2, s3];
s1 = s2;
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
} else {
peg$currPos = s1;
s1 = peg$FAILED;
}
}
}
}
return s0;
}
function peg$parseEOS() {
var s0, s1, s2;
s0 = peg$currPos;
s1 = [];
s2 = peg$parseWhiteSpace();
if (s2 === peg$FAILED) {
s2 = peg$parseMultiLineComment();
}
while (s2 !== peg$FAILED) {
s1.push(s2);
s2 = peg$parseWhiteSpace();
if (s2 === peg$FAILED) {
s2 = peg$parseMultiLineComment();
}
}
if (s1 !== peg$FAILED) {
s2 = peg$parseSingleLineComment();
if (s2 === peg$FAILED) {
s2 = null;
}
if (s2 !== peg$FAILED) {
s1 = [s1, s2];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseEOF() {
var s0, s1;
s0 = peg$currPos;
peg$silentFails++;
if (input.length > peg$currPos) {
s1 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c4); }
}
peg$silentFails--;
if (s1 === peg$FAILED) {
s0 = void 0;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
return s0;
}
function peg$parseNewLine() {
var s0, s1;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 10) {
s0 = peg$c220;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c221); }
}
if (s0 === peg$FAILED) {
if (input.substr(peg$currPos, 2) === peg$c222) {
s0 = peg$c222;
peg$currPos += 2;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c223); }
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c230); }
}
return s0;
}
function peg$parse__() {
var s0, s1;
s0 = [];
s1 = peg$parsews_ignores();
if (s1 !== peg$FAILED) {
while (s1 !== peg$FAILED) {
s0.push(s1);
s1 = peg$parsews_ignores();
}
} else {
s0 = peg$FAILED;
}
return s0;
}
function peg$parse_() {
var s0, s1;
s0 = [];
s1 = peg$parsews_ignores();
while (s1 !== peg$FAILED) {
s0.push(s1);
s1 = peg$parsews_ignores();
}
return s0;
}
function peg$parsews_ignores() {
var s0, s1, s2, s3;
s0 = peg$parseWhiteSpace();
if (s0 === peg$FAILED) {
s0 = peg$parseMultiLineComment();
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseSingleLineComment();
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
peg$silentFails++;
s3 = peg$parseNewLine();
peg$silentFails--;
if (s3 !== peg$FAILED) {
peg$currPos = s2;
s2 = void 0;
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = [s1, s2];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
if (s0 === peg$FAILED) {
s0 = peg$currPos;
s1 = peg$parseNewLine();
if (s1 !== peg$FAILED) {
s2 = peg$currPos;
peg$silentFails++;
s3 = peg$parseNewLine();
if (s3 === peg$FAILED) {
s3 = peg$parseMultiLineComment();
if (s3 === peg$FAILED) {
s3 = peg$parseSingleLineComment();
if (s3 === peg$FAILED) {
s3 = peg$parseWhiteSpace();
}
}
}
peg$silentFails--;
if (s3 !== peg$FAILED) {
peg$currPos = s2;
s2 = void 0;
} else {
s2 = peg$FAILED;
}
if (s2 !== peg$FAILED) {
s1 = [s1, s2];
s0 = s1;
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
} else {
peg$currPos = s0;
s0 = peg$FAILED;
}
}
}
}
return s0;
}
function peg$parseWhiteSpace() {
var s0, s1;
peg$silentFails++;
if (input.charCodeAt(peg$currPos) === 9) {
s0 = peg$c232;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c233); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 11) {
s0 = peg$c234;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c235); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 12) {
s0 = peg$c236;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c237); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 32) {
s0 = peg$c238;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c239); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 160) {
s0 = peg$c240;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c241); }
}
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 65279) {
s0 = peg$c242;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c243); }
}
}
}
}
}
}
peg$silentFails--;
if (s0 === peg$FAILED) {
s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c231); }
}
return s0;
}
function peg$parseSourceCharacter() {
var s0;
if (input.length > peg$currPos) {
s0 = input.charAt(peg$currPos);
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$c4); }
}
return s0;
}
function placeholder() {
}
function validateBinOp(binOp) {
if (["|", "->", "--", "=", ":", ".."].indexOf(binOp) > -1) {
error(binOp + " is an illegal binop");
}
}
peg$result = peg$startRuleFunction();
if (peg$result !== peg$FAILED && peg$currPos === input.length) {
return peg$result;
} else {
if (peg$result !== peg$FAILED && peg$currPos < input.length) {
peg$fail({ type: "end", description: "end of input" });
}
throw peg$buildException(
null,
peg$maxFailExpected,
peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,
peg$maxFailPos < input.length
? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)
: peg$computeLocation(peg$maxFailPos, peg$maxFailPos)
);
}
}
return {
SyntaxError: peg$SyntaxError,
parse: peg$parse
};
})();
================================================
FILE: package.json
================================================
{
"name": "elm-light",
"preferGlobal": true,
"version": "0.0.1",
"author": "Magnus Rundberge ",
"description": "Set up of node deps for Light Table elm-light plugin",
"license": "MIT",
"engines": {
"node": ">=0.10"
},
"dependencies": {
"d3": "~3.5.12",
"dagre-d3": "~0.4.11",
"fs-walk": "~0.0.1",
"harbor": "~0.3.0",
"marked": "~0.3.6",
"ps-tree": "~1.0.1",
"wrench": "~1.5.8",
"temp": "0.8.3",
"cross-spawn" : "5.0.1",
"shelljs" : "0.7.5"
}
}
================================================
FILE: plugin.edn
================================================
{:name "elm-light"
:version "0.5.1"
:author "Magnus Rundberget"
:source "https://github.com/rundis/elm-light"
:desc "Elm language plugin for Light Table"
:behaviors "elm-light.behaviors"}
================================================
FILE: project.clj
================================================
(defproject elm-light "0.5.1"
:dependencies [[org.clojure/clojure "1.5.1"]
[quiescent "0.1.4"]
[org.clojure/core.async "0.1.267.0-0d7780-alpha"]])
================================================
FILE: src/lt/plugins/elm_light/autocompleter/core.cljs
================================================
(ns lt.plugins.elm-light.autocompleter.core
"Basis for generic autocompleter for LT"
(:require [lt.objs.editor :as editor]
[lt.objs.editor.pool :as pool]
[lt.objs.command :as cmd]
[lt.object :as object]
[lt.util.js :as jsutil]
[lt.util.dom :as dom]
[lt.objs.context :as ctx]
[lt.objs.keyboard :as keyboard]
[cljs.core.async :as async :refer [> hints
(filter #(< (.-length (:displayText %)) 1000))
distinct-completions
(take 25)
(hash-map :list)
(#(let [fst (-> % :list first)]
(assoc % :from (:from fst) :to (:to fst)))) ;; allthough we've enforced from-to on each item, CM insists on having this props at root level to
clj->js)))
(defn- listen-for-hint-results
"Listen for hint results from all given channels
Will raise a behavior to show results when all channels have delivered a result
or alternatively the specified timeout has elapsed"
[ed channels hinter-ch]
(let [t (timeout 500)] ;; should be configurable ?
(go-loop [all-results []
chs (conj channels t)]
(if (= 1 (count chs))
(put! hinter-ch all-results)
(let [[res source] (async/alts! chs)]
(if (identical? source t)
(do
(println "WARNING: Timeout waiting for hinter provider channel results")
(put! hinter-ch all-results))
(recur (into all-results res) (remove #{source} chs))))))))
(defn- completion-active? [ed]
(.-completionActive (.-state (editor/->cm-ed ed))))
(defn- maybe-close-hinter [ed]
(when-let [state (completion-active? ed)]
(.close state)))
(defn- on-line-change [line ch]
(let [ed (pool/last-active)]
(if-not (completion-active? ed)
(js/CodeMirror.off line "change" on-line-change)
(when (= "+delete" (.-origin ch)) ;; TODO: should probably handle paste and other things to
(object/raise ed :start-hinting)))))
(defn- init-show-hint-ch
"Creates a channel for writing results that are to be popped up with the hinter ui
Displays hint results async by calling the showHint plugin callback when
results are received on the channel"
[ed]
(let [ch (chan)]
(js/CodeMirror.showHint (editor/->cm-ed ed)
(fn [_ cb]
(let [chs (object/raise-reduce ed :init-hints [])]
(when (seq chs)
(go
(let [hints (js default-options))
ch))
(behavior ::start-hinting
:triggers #{:start-hinting}
:desc "Autocompleter: Start hinting"
:reaction (fn [ed]
(let [pos (editor/->cursor ed)
line-handle (editor/line-handle ed (:line pos))]
(when-not (completion-active? ed)
(init-show-hint-ch ed)))))
(behavior ::auto-show-on-input
:triggers #{:input}
:debounce 10
:desc "Autocompleter: Show on change"
:reaction (fn [ed _ ch]
(object/raise ed :start-hinting)))
================================================
FILE: src/lt/plugins/elm_light/autocompleter.cljs
================================================
(ns lt.plugins.elm-light.autocompleter
(:require [quiescent :as q :include-macros true]
[quiescent.dom :as d]))
(defn find-active [items]
(first (filter :active items)))
(defn- handle-keypress
[{:keys [on-up on-down on-select on-cancel] :as props}
ev]
(let [kk (.-which ev)]
(case kk
38 (do (.preventDefault ev) (on-up))
40 (do (.preventDefault ev) (on-down))
13 (do
(.preventDefault ev)
(when-let [active (find-active (:items props))]
(set! (.-value (.-target ev)) (:name active)))
(on-select))
27 (do
(.preventDefault ev)
(set! (.-value (.-target ev)) "")
(on-cancel))
:default)))
(q/defcomponent AutoCompleteMenu [props]
(let [items (:items props)
style (when-not (seq items) {:display "none"})
item-classes #(.concat "autocomplete-dropdown-item row" (if (:active %) " autocomplete-active" ""))]
(apply d/div {:onMouseDown (fn [e]
(.preventDefault e)
(.stopPropagation e))
:className "autocomplete-dropdown-menu" :style style}
(map (fn [item]
(d/div {:className (item-classes item)}
(d/div {} (:name item)))) items))))
(q/defcomponent Adder
[{:keys [on-add-package disabled] :as props}]
(d/button {:className "btn"
:disabled disabled
:onClick #(on-add-package)}
"Add package"))
(q/defcomponent Versions [props]
(apply d/select {:className "versions"
:value (:version props)
:onChange #((:on-change-version props) (.-value (.-target %)))}
(map #(d/option {} %) (:versions props))))
(q/defcomponent AutoComplete [props]
(d/span {}
(d/input {:value (:value props)
:style {:width "250px"}
:name "package-search"
:autoComplete "off"
:autoFocus true
:type "text"
:onKeyDown (partial handle-keypress props)
:onBlur (fn [_] ((:on-blur props)))
:onChange (fn [ev]
((:on-change props) (aget ev "target" "value")))})
(Versions props)
(Adder (assoc props :disabled (nil? (:version props))))
(d/div {:className "autocomplete-dropdown"}
(AutoCompleteMenu props))))
================================================
FILE: src/lt/plugins/elm_light/clients.cljs
================================================
(ns lt.plugins.elm-light.clients
(:require [lt.plugins.elm-light.utils :as u]
[lt.plugins.elm-light.elm-ast :as ast]
[lt.objs.files :as files]
[lt.object :as object]
[lt.objs.console :as console]
[lt.objs.notifos :as notifos]
[lt.objs.clients :as cs]
[lt.objs.proc :as proc]
[lt.objs.eval :as eval]
[lt.objs.editor.pool :as pool]
[lt.objs.dialogs :as dialogs]
[lt.objs.sidebar.clients :as scl]
[lt.objs.popup :as popup]
[lt.objs.platform :as platform]
[clojure.string :as s])
(:require-macros [lt.macros :refer [behavior]]))
(def cp (js/require "child_process"))
(def os (js/require "os"))
(def elm-client-path (files/join u/elm-plugin-dir "node/elm-client.js"))
(def elm-node-path (files/join u/elm-plugin-dir "node_modules"))
(def shelljs (js/require (files/join elm-node-path "shelljs")))
(declare elm)
(def harbor
((js/require (files/join elm-node-path "harbor")) 3000, 4000))
(defn claim-reactor-port [path cb]
(.claim harbor path cb))
(defn release-reactor-port [path]
(.release harbor path))
(defn on-exit [client]
(ast/delete-project-ast! (:dir @client))
(doseq [ed (pool/containing-path (:dir @client))]
(object/raise ed :project-disconnected))
(release-reactor-port (:dir @client))
(cs/rem! client))
(defn on-elm-message [client data]
(let [msg (u/mod-js->clj data :keywordize-keys true)
logTime (js/Date.)
logPrefix (str (.getSeconds logTime) ":" (.getMilliseconds logTime) " >>")]
(cond
(= (second msg) "elm.client.connected")
(do
(notifos/done-working (str "Project connected: " (:dir @client)))
(object/raise client :connect)
(object/raise cs/clients :connect client)
(doseq [ed (pool/containing-path (:dir @client))]
;(println "Raise connected : " (-> @ed :info :path))
(object/raise ed :project-connected)))
(= (second msg) "elm.ast.update")
(let [{:keys [file type ast error package]} (last msg)]
(case type
"parseError"
(console/error (str file "\n" error))
"parsed"
(ast/upsert-ast! (:dir @client)
{:file file
:ast ast
:package package})
"deleted"
(ast/delete-ast! (:dir @client) file)
"packagesDeleted"
(do
(ast/delete-package-asts! (:dir @client))
(notifos/set-msg! (str "Elm stuff for " (:dir @client) " was nuked, all package ASTs are lost. Do a package install or lint to get them back !")
{:class "error"}))
(do
(println "Unhandled ast event:" type file))))
(= (second msg) "doc.search.results")
(object/raise elm :elm.doc.search.results
(assoc-in msg [2 :project-dir] (:dir @client)))
:else
(object/raise cs/clients :message msg))))
(defn start-elm-worker [path port client]
(let [worker (.fork cp
elm-client-path
#js [port]
(clj->js {:execPath (.-executable js/process)
:cwd path
:silent true
:env (if (= (.platform os) "win32")
{:NODE_PATH elm-node-path}
(proc/merge-env {:NODE_PATH elm-node-path}))}))]
(.on (.-stdout worker) "data" (fn [msg]
(println (str "out: " msg))))
(.on (.-stderr worker) "data" (fn [err]
(notifos/set-msg! (str "Elm error: " err) {:class "error"})
(console/error err)))
(.on worker "message" #(on-elm-message client %))
(.on worker "exit" #(on-exit client))
worker))
(behavior ::send!
:triggers #{:send!}
:reaction (fn [client msg]
(.send (:worker @client) (clj->js msg))))
(defn start-elm-client [{:keys [path proj-path client] :as props}]
(notifos/working "Connecting..")
(claim-reactor-port proj-path
(fn [_ port]
(let [worker (start-elm-worker proj-path port client)]
(object/merge! client
{:name (files/basename proj-path)
:dir proj-path
:reactor-port port
:worker worker
:commands #{:editor.elm.lint
:editor.eval.elm
:editor.elm.make
:editor.elm.ast.passthrough
:elm.reload.ast
:editor.elm.ast.parsetext
:editor.elm.hint
:docs.elm.search
:editor.elm.doc
:elm.repl.restart
:editor.elm.gendoc
:elm.test
:elm.test.suite}})
(object/add-behavior! client ::send!)))))
(defn handle-no-elm []
(notifos/done-working)
(console/log (.-PATH (.-env js/process)))
(popup/popup! {:header "We couldn't find Elm (elm-make) in your path"
:body (str "In order to use elm-light, Elm must be installed and on your system PATH."
"(Check the console for PATH as seen from Light Table")
:buttons [{:label "Install Elm"
:action (fn []
(platform/open "https://guide.elm-lang.org/install.html"))}
{:label "ok"}]}))
(defn check-elm []
(.which shelljs "elm-make"))
(defn try-connect [{:keys [info command] :as props}]
(let [path (:path info)
proj-path (u/project-path path)
client (cs/client! :elm-client)]
(cond
(not (seq proj-path))
(do
(notifos/done-working)
(notifos/set-msg! (str "Couldn't find a elm-package.json in any parent of path: " path) {:class "error"})
(cs/rem! client))
(not (check-elm))
(do
(handle-no-elm)
(cs/rem! client))
:else
(let [[ok? msg] (u/valid-project-elm-version proj-path)]
(if ok?
(start-elm-client {:path path
:proj-path proj-path
:client client})
(do
(notifos/done-working)
(console/error msg)
(notifos/set-msg! msg {:class "error"})
(cs/rem! client)))))
client))
(defn find-client [{:keys [origin command info create] :as opts}]
(let [proj-path (u/project-path (:path info))
[result client] (cs/discover command info)]
(condp = result
:none (if create
(create opts)
(do
(notifos/done-working)
(object/raise eval/evaler :no-client opts)
(cs/placeholder)))
:found (if (= (:dir @client) proj-path)
client
(create opts))
:select (do
(object/raise eval/evaler
:select-client
client
(fn [client]
(cs/swap-client! (-> @origin :client :default) client)
(object/update! origin [:client] assoc :default client)))
(cs/placeholder)))))
(defn get-eval-client
"Helper method to get eval client for a given editor and command
If none found it will try to connect"
([ed cmd] (get-eval-client ed cmd try-connect))
([ed cmd create]
(let [cur (-> @ed :client :default)]
(if (and cur (cs/available? cur))
cur
(let [neue (find-client {:command cmd
:origin ed
:info (:info @ed)
:create create})]
(object/update! ed [:client] assoc :default neue)
(object/raise ed :set-client neue)
neue)))))
(defn get-eval-client-if-connected
"Helper method to get eval client for a given editor and command"
[ed cmd]
(get-eval-client ed cmd (fn [opts]
(notifos/done-working "")
nil)))
;; TODO : Need to have this here for now, because behaviour must be defined before Elm object is created
(behavior ::elm-doc-search-results
:desc "Workaround behavior for showing doc search results in sidebar"
:triggers #{:elm.doc.search.results}
:reaction (fn [_ [client-id command msg]]
(object/raise cs/clients
:message
[client-id
command
(ast/search-docs
(:search msg)
(:project-dir msg))])))
(behavior ::eval!
:triggers #{:eval!}
:reaction (fn [this event]
(let [{:keys [info origin]} event]
(notifos/working "Evaluating elm...")
(cs/send (eval/get-client! {:command :editor.eval.elm
:origin origin
:info info
:create try-connect})
:editor.eval.elm info
:only origin))))
;;****************************************************
;; LT Connection stuff
;;****************************************************
(behavior ::connect
:triggers #{:connect}
:reaction (fn [this path]
(try-connect {:info {:path path}})))
(object/object* ::elm-lang
:tags #{:elm.lang})
(def elm (object/create ::elm-lang))
(scl/add-connector {:name "Elm"
:desc "Select a directory to serve as the root of your elm project."
:connect (fn []
(dialogs/dir elm :connect))})
================================================
FILE: src/lt/plugins/elm_light/docpreview.cljs
================================================
(ns lt.plugins.elm-light.docpreview
(:require [lt.plugins.elm-light.clients :refer [try-connect]]
[lt.plugins.elm-light.utils :refer [project-path elm-plugin-dir]]
[lt.plugins.elm-light.elm-ast :as ast]
[lt.object :as object]
[lt.objs.eval :as eval]
[lt.objs.clients :as clients]
[lt.objs.command :as cmd]
[lt.objs.editor.pool :as pool]
[lt.objs.editor :as editor]
[lt.objs.notifos :as notifos]
[lt.objs.tabs :as tabs]
[lt.util.dom :as dom]
[lt.util.js :as js-util]
[lt.util.load :as loadz]
[lt.objs.files :as files])
(:require-macros [lt.macros :refer [defui behavior]]))
(def highlight-js (files/join elm-plugin-dir "js" "highlight.pack.js"))
(defui preview-skeleton [this]
[:div {:class "elm-doc-preview"}
[:h1 "Generating elm docs, please wait a little..."]])
(object/object* ::elmdoc
:tags [:elmdoc]
:name "elmdoc"
:behaviors [::on-close-destroy]
:init (fn [this filename]
(object/update! this [:name] (constantly (str filename " - Live")))
(preview-skeleton this)))
(behavior ::on-close-destroy
:triggers #{:close}
:reaction (fn [this]
(when-let [ts (:lt.objs.tabs/tabset @this)]
(when (= (count (:objs @ts)) 1)
(tabs/rem-tabset ts)))
(when-let [ed (:owner-ed @this)]
(object/assoc-in! ed [:elmdoc] nil))
(object/destroy! this)))
;; (doseq [x (object/by-tag :elmdoc)]
;; (println "Found one")
;; (object/destroy! x))
(behavior ::gendoc
:description "Preview package doc for a given Elm file"
:triggers #{:gendoc}
:reaction (fn [ed]
(let [info (:info @ed)
cl (eval/get-client! {:command :editor.elm.gendoc
:origin ed
:info info
:create try-connect})]
(notifos/working (str "Starting elm doc generation for: " (:path info)))
(clients/send cl
:editor.elm.gendoc (assoc info :project-path (project-path (:path info)))
:only ed))))
(defn- maybe-create-elm-preview [elmdoc]
(if-let [preview (:preview @elmdoc)]
preview
(let [el (object/->content elmdoc)
preview (.embed js/Elm js/Elm.DocPreview el (clj->js {:modules "[]" :selectModule ""}))]
(object/assoc-in! elmdoc [:preview] preview)
preview)))
(behavior ::elm-gendoc-res
:triggers #{:elm.gendoc.res}
:reaction (fn [ed res]
(notifos/done-working "Elm doc generated")
(when-let [elmdoc (:elmdoc @ed)]
(let [preview (maybe-create-elm-preview elmdoc)
path (-> @ed :info :path)
module-name (-> (ast/get-module-ast (project-path path) path)
ast/get-module-name)]
(.send (.-modules (.-ports preview)) res)
(.send (.-selectModule (.-ports preview)) module-name)
;; Hack, when kittens go to die (:
(.requestAnimationFrame js/window
#(doseq [block (dom/$$ "pre > code" (object/->content elmdoc))]
(.highlightBlock js/hljs block)))
;; (js-util/wait 50
;; #(doseq [block (dom/$$ "pre > code" (object/->content elmdoc))]
;; (.highlightBlock js/hljs block)))
))))
(behavior ::gen-on-save
:triggers #{:save}
:reaction (fn [ed]
(object/raise ed :gendoc)))
(behavior ::elm-docpreview
:triggers #{:elm.docpreview}
:reaction (fn [ed]
(let [path (-> @ed :info :path)
elmdoc-obj (or (:elmdoc @ed) (object/create ::elmdoc path))]
(loadz/js highlight-js :sync)
(tabs/add-or-focus! elmdoc-obj)
(object/assoc-in! ed [:elmdoc] elmdoc-obj)
(object/assoc-in! elmdoc-obj [:owner-ed] ed)
(object/add-behavior! ed ::gen-on-save)
(object/raise ed :gendoc))))
(cmd/command {:command :elm.docpreview
:desc "Elm: Preview doc for selected file"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.docpreview)))})
================================================
FILE: src/lt/plugins/elm_light/elm_ast.cljs
================================================
(ns lt.plugins.elm-light.elm-ast
(:require [lt.plugins.elm-light.utils :as util]
[lt.objs.console :as console]
[lt.object :as object]
[lt.objs.editor :as editor]
[lt.objs.editor.pool :as pool]
[lt.objs.statusbar :as statusbar]
[lt.objs.files :as files]
[crate.binding :refer [bound]]
[clojure.string :as s])
(:require-macros [lt.macros :refer [defui behavior background]]))
(def elm-parser-path (files/join util/elm-plugin-dir "node" "elmparser"))
(def elm-parser (js/require elm-parser-path))
(defn- start-with? [the-str fragment]
(when (and the-str fragment)
(= 0 (.indexOf the-str fragment))))
(defn idx-of
[pred coll]
(first
(keep-indexed
(fn [idx x]
(when (pred x)
idx))
coll)))
;; High level desc of ast structure
(comment
[{:project "/somedir/another/projectDir"
:file-asts [{:file "/somedir/another/projectDir/src/MyModule.elm"
:ast {:moduleDeclaration {}
:doc "some module doc"
:imports []
:declarations []}}
{:file "/somedir/another/projectDir/elm-stuff/packages/elm-lang/core/4.0.5/src/Array.elm"
:ast {:moduleDeclaration {}
:doc "some module doc"
:imports []
:declarations []}
:package {:name "elm-lang/core"
:version "4.0.5"}}]}
{:project "/somedir/another/projectDir2"
:file-asts [{:file "/somedir/another/projectDir2/src/MyModule2.elm"
:ast {:moduleDeclaration {}
:doc "some module doc2"
:imports []
:declarations []}}
{:file "/somedir/another/projectDir2/elm-stuff/packages/elm-lang/core/4.0.5/src/Array.elm"
:ast {:moduleDeclaration {}
:doc "some module doc2"
:imports []
:declarations []}
:package {:name "elm-lang/core"
:version "4.0.5"}}]}])
(defonce project-asts
(atom []))
;; AST Mutants
(defn upsert-ast! [project file-ast]
(let [prj-idx (idx-of #(= project (:project %)) @project-asts)]
(if prj-idx
(swap! project-asts update-in
[prj-idx :file-asts]
(fn [file-asts]
(-> (filterv #(not= (:file file-ast) (:file %)) file-asts)
(conj file-ast))))
(swap! project-asts conj {:project project :file-asts [file-ast]}))))
(defn delete-ast! [project file]
(when-let [prj-idx (idx-of #(= project (:project %)) @project-asts)]
(swap! project-asts update-in
[prj-idx :file-asts]
(fn [file-asts]
(filterv #(not= file (:file %)) file-asts)))))
(defn delete-package-asts! [project]
(when-let [prj-idx (idx-of #(= project (:project %)) @project-asts)]
(swap! project-asts update-in
[prj-idx :file-asts]
(fn [file-asts]
(vec (remove :package file-asts))))))
(defn delete-project-ast! [project]
(swap! project-asts
(fn [prjs]
(filterv #(not= project (:project %)) prjs))))
(defn reset-asts! []
(reset! project-asts []))
;; AST Queries
(defn get-project [project]
(->> @project-asts
(filter #(= project (:project %)))
first))
(defn get-module-ast [project module-file]
(when-let [prj (get-project project)]
(->> prj
:file-asts
(filter #(= module-file (:file %)))
first)))
(defn get-module-by-name [project module-name]
(when-let [prj (get-project project)]
(->> prj
:file-asts
(filter #(= module-name (-> % :ast :moduleDeclaration :value)))
first)))
(defn parse-editor-sync [ed]
(try
(let [res (.parse elm-parser (editor/->val ed))]
{:file (-> @ed :info :path)
:ast (util/mod-js->clj res :keywordize-keys true)})
(catch :default e
(println "Parse editor contents failed" e)
nil)))
(defn parse-editor-header-sync [ed]
(try
(let [res (.parse elm-parser (editor/->val ed) #js {:startRule "headerOnly"})]
{:file (-> @ed :info :path)
:ast (js->clj res :keywordize-keys true)})
(catch :default e
(println "Parse editor header block failed" e)
nil)))
(def parse-editor-async
(background
(fn [obj-id parser-path callback-behavior elm-code]
(time (let [parser (js/require parser-path)]
(try
(let [res (parser/parse elm-code)]
(js/_send obj-id
callback-behavior
#js {:status "ok" :module res}))
(catch :default e
(js/_send obj-id
callback-behavior
#js {:status "fail" :error e}))))))))
;; Helpers
(defn get-module-name [module]
(-> module :ast :moduleDeclaration :value))
(defn exposeAll? [exposing]
(= "exposeAll" (-> exposing :exports :exports first :type)))
(defn package-import? [modules import]
(->> (filter :package modules)
(some #(= (:value import) (-> % :ast :moduleDeclaration :value)))))
(defn extract-exports [exposing]
(->> exposing
:exports
:exports
(map :value)))
(defn exposed-by-module? [module candidate]
(let [exposing (-> module :ast :moduleDeclaration :exposing)]
(if (exposeAll? exposing)
true
(-> (extract-exports exposing) set (contains? candidate)))))
(defn find-type-exposing [module-exposing type-name]
(->> module-exposing
:exports
:exports
(filter #(= type-name (:value %)))
first))
(defn find-import-type-exposing [imp owning-type-name type-name]
(->> imp
:exposing
:exports
:exports
(filter #(= owning-type-name (:value %)))
first))
(defn enrich-type-declarations
[module-exposing
exp-all?
module-name
package
file
type-decl
]
(let [type-exposing (find-type-exposing module-exposing (:value type-decl))
exp-all-type? (exposeAll? type-exposing)
exports-type (set (extract-exports type-exposing))
exp-by-mod? #(or exp-all?
exp-all-type?
(contains? exports-type %))]
(->> (:adtDefs type-decl)
(map #(assoc % :exposed? (exp-by-mod? (:value %))
:owning-type-name (:value type-decl)
:file file
:module-name module-name
:package package)))))
(defn enrich-module-declarations
[module]
(let [exposing (-> module :ast :moduleDeclaration :exposing)
expAll? (exposeAll? exposing)
exports (-> (extract-exports exposing) set)
exp-by-mod? #(or expAll? (contains? exports %))
file (:file module)
module-name (get-module-name module)
package (:package module)]
(->> (-> module :ast :declarations)
(map #(assoc % :exposed? (exp-by-mod? (:value %))
:file file
:module-name module-name
:package package))
(mapcat (fn [decl]
(case (:type decl)
"typeDecl"
(conj (enrich-type-declarations
exposing
expAll?
module-name
package
file
decl) decl)
[decl]))))))
(defn get-exposed-declarations [module]
(->> (enrich-module-declarations module)
(filter :exposed?)))
(def get-exposed-declarations-memo
(memoize
(fn [module]
(get-exposed-declarations module))))
(defn get-import-candidate-tokens
[imp
imp-module-name
imp-alias
imp-exported-names
imp-exports-all?
exposed-declaration]
(let [decl-name (:value exposed-declaration)
type-exposing (when (= "adtDef" (:type exposed-declaration))
(find-import-type-exposing imp
(:owning-type-name exposed-declaration)
(:value exposed-declaration)))
exp-all-type? (exposeAll? type-exposing)
exports-type (set (extract-exports type-exposing))]
(-> #{(if imp-alias
(str imp-alias "." decl-name)
(str imp-module-name "." decl-name ))
(when (or imp-exports-all?
exp-all-type?
(contains? imp-exported-names decl-name)
(contains? exports-type decl-name))
decl-name)}
(disj nil))))
(defn get-external-exposed-modules
[curr-module-name
imported-mod-names
modules]
(->> modules
(filter #(and (not= curr-module-name (get-module-name %))
(contains? imported-mod-names (get-module-name %))))
(mapcat #(get-exposed-declarations-memo %))
(group-by :module-name)))
(defn get-external-candidates [module modules]
(let [imports (-> module :ast :imports :imports)
imported-mod-names (->> imports (map :value) set)
external-exposed (get-external-exposed-modules (get-module-name module)
imported-mod-names
modules)]
(->> imports
(mapcat
(fn [imp]
(let [imp-exported-names (-> (:exposing imp) -> extract-exports set)
imp-exports-all? (exposeAll? (:exposing imp))]
(->> (get external-exposed (:value imp))
(map #(assoc % :candidate-tokens
(get-import-candidate-tokens imp
(:value imp)
(:alias imp)
imp-exported-names
imp-exports-all?
%))))))))))
(defn get-core-modules [all-modules]
(->> (filter #(= "elm-lang/core" (-> % :package :name)) all-modules)
(group-by #(-> % :ast :moduleDeclaration :value))))
(defn- elm-18? [version]
(and version (<= 5 (js/parseInt (first version)))))
;; TODO: Could potentially be memoized...
(defn get-default-candidates
"Get candidates for Elm default imports as per
https://github.com/elm-lang/core"
[modules]
(->> (concat
(->> (get modules "Basics")
(mapcat get-exposed-declarations)
(map #(assoc % :candidate-tokens #{(:value %)}) ))
(->> (get modules "Debug")
(mapcat get-exposed-declarations)
(map #(assoc % :candidate-tokens #{(str "Debug." (:value %))}) ))
(->> (get modules "Maybe")
(mapcat get-exposed-declarations)
(map #(assoc % :candidate-tokens
(if (contains? #{"Just" "Nothing"} (:value %))
#{(:value %) (str "Maybe." (:value %))}
#{(str "Maybe." (:value %))})) ))
(->> (get modules "Result")
(mapcat get-exposed-declarations)
(map #(assoc % :candidate-tokens
(if (contains? #{"Ok" "Err"} (:value %) )
#{(:value %) (str "Result." (:value %))}
#{(str "Result." (:value %))})) ))
(->> (get modules "Platform")
(mapcat get-exposed-declarations)
(map #(assoc % :candidate-tokens
(if (= (:value %) "Program")
#{"Program"}
#{(str "Platform." (:value %))}))))
(->> (get modules "Platfrom.Cmd")
(mapcat get-exposed-declarations)
(map #(assoc % :candidate-tokens
(case (:value %)
"Cmd" #{"Cmd"}
"!" #{"!"}
#{(str "Platform.Cmd." (:value %))
(str "Cmd." (:value %))}))))
(->> (get modules "Platform.Sub")
(mapcat get-exposed-declarations)
(map #(assoc % :candidate-tokens
(if (= (:value %) "Sub")
#{"Sub"}
#{(str "Platform.Sub." (:value %))
(str "Sub." (:value %))}))))
(->> (get modules "List")
(mapcat get-exposed-declarations)
(map #(assoc % :candidate-tokens
(if (= "::" (:value %))
#{"::"}
#{(str "List." (:value %))}))))
;; 0.18 specific
(->> (get modules "Tuple")
(mapcat get-exposed-declarations)
(map #(assoc % :candidate-tokens #{(str "Tuple." (:value %))}) ))
(when (-> (get modules "String") first :package :version elm-18?)
(->> (get modules "String")
(mapcat get-exposed-declarations)
(map #(assoc % :candidate-tokens #{(str "String." (:value %))}) ))))
(map #(assoc % :default-candidate? true))))
(def get-default-candidates-memo
(memoize
(fn [core-modules]
(get-default-candidates core-modules))))
(defn get-current-module-candidates [module]
(let [mod-name (get-module-name module)]
(->> (enrich-module-declarations module)
(map #(assoc % :candidate-tokens #{(:value %)})))))
(defn get-jump-to-candidates [module modules]
(concat
(get-current-module-candidates module)
(get-external-candidates module modules)
(get-default-candidates (get-core-modules modules))))
(defn get-candidate-by-token [token module modules]
(->> (get-jump-to-candidates module modules)
(filter #(contains? (:candidate-tokens % ) token))
first))
(defn- create-param-candidate [param candidate]
{:value (:value candidate)
:candidate (:value param)
:location (:location candidate)
:package (:package candidate)
:file (:file candidate)
:doc (:doc candidate)
:module-name (:module-name candidate)})
(defn- create-typealias-rec-candidates [param candidate]
(concat [(create-param-candidate param candidate)]
(map #(hash-map
:value (str (:value candidate) "." (:name %))
:candidate (str (:value param) "." (:name %))
:package (:package candidate)
:location (:location %)
:signatureRaw (:signatureRaw %)
:file (:file candidate)
:module-name (:module-name candidate))
(-> candidate :tipe :fieldDefs))))
(defn- create-destructured-type-alias-candidates [param candidate]
(let [get-field-def #(->> candidate :tipe :fieldDefs
(filter (fn [x] (= % (:name x))))
first)]
(map (fn [field]
(let [{:keys [location doc signatureRaw]} (get-field-def (:value field)) ]
{:value (str (:value candidate) "." (:value field))
:candidate (:value field)
:package (:package candidate)
:file (:file candidate)
:doc signatureRaw
:location location
:module-name (:module-name candidate)}))
(:patterns param))))
(defn- create-bracketed-type-alias-candidates [param candidate]
(let [aliaz (-> param :pattern :alias)
get-field-def #(->> candidate :tipe :fieldDefs
(filter (fn [x] (= % (:name x))))
first)]
(concat
(when aliaz
(concat
[(-> (create-param-candidate param candidate)
(assoc :candidate aliaz))]
(map #(hash-map
:value (str (:value candidate ) "." (:name %))
:candidate (str aliaz "." (:name %))
:location (:location %)
:doc (:signatureRaw %)
:package (:package candidate)
:file (:file candidate)
:module-name (:module-name candidate))
(-> candidate :tipe :fieldDefs))))
(->>
(map
(fn [field]
(when-let [field-def (get-field-def (:value field))]
{:value (str (:value candidate) "." (:value field))
:candidate (:value field)
:location (:location field-def)
:package (:package candidate)
:file (:file candidate)
:doc (:signatureRaw field-def)
:module-name (:module-name candidate)}))
(-> param :pattern :value :patterns))
(filter identity)))))
(defn- print-rec [rec]
(str "{ "
(->> (map :signatureRaw (:fieldDefs rec))
(s/join "\n, "))
"\n}"))
(defn- create-bracketed-adt-candidates [param candidate module modules]
(let [adtType (-> candidate :adtDefs first)
adtPattern (:pattern param)
fst-destruct-variable (-> param :pattern :value :variables first)]
(concat
[{:value (str (:value candidate) "." (:value adtType))
:candidate (:value adtType)
:location (:location adtType)
:package (:package candidate)
:file (:file candidate)
:doc (:paramsRaw adtType)
:module-name (:module-name candidate)}]
(when-let [aliaz (:alias adtPattern)]
[(-> (create-param-candidate param candidate)
(assoc :candidate aliaz))])
(when (= "variable" (:type fst-destruct-variable))
(let [adtParam (-> adtType :params first)
adtCandidate (get-candidate-by-token (:value adtParam) module modules) ]
(concat
(when adtCandidate
[{:value (:value adtCandidate)
:candidate (:value fst-destruct-variable)
:location (:location adtCandidate)
:package (:package adtCandidate)
:file (:file adtCandidate)
:doc (:doc adtCandidate)
:module-name (:module-name adtCandidate)}])
(when (= "typeRec" (:type adtParam))
(concat
[{:value (str (:value candidate) "." (:value adtType) ".")
:candidate (:value fst-destruct-variable)
:location (:location adtParam)
:doc (print-rec adtParam)
:package (:package candidate)
:file (:file candidate)
:module-name (:module-name candidate)}])
(map #(hash-map
:value (str (:value candidate) "." (:value adtType) ".." (:name %))
:candidate (str (:value fst-destruct-variable) "." (:name %))
:location (:location %)
:doc (:signatureRaw %)
:package (:package candidate)
:file (:file candidate)
:module-name (:module-name candidate))
(:fieldDefs adtParam))))))
(when [(= "patternRec" (:type fst-destruct-variable))]
(let [adtParam (-> adtType :params first)
adtCandidate (get-candidate-by-token (:value adtParam) module modules)
get-field-def #(->> adtCandidate :tipe :fieldDefs
(filter (fn [x] (= % (:name x))))
first)]
(concat
(when (= "typeAliasDecl" (:type adtCandidate))
(concat
(when-let [aliaz (-> fst-destruct-variable :pattern :alias)]
(concat
[(create-param-candidate {:value aliaz} adtCandidate)]
(map #(hash-map
:value (str (:value adtCandidate) "." (:name %))
:candidate (str aliaz "." (:name %))
:file (:file adtCandidate)
:package (:package adtCandidate)
:doc (:signatureRaw %)
:location (:location %)
:module-name (:module-name adtCandidate))
(-> adtCandidate :tipe :fieldDefs))))
(when (= "patternRec" (:type fst-destruct-variable))
(map (fn [field]
(when (get-field-def (:value field))
(let [{:keys [location doc signatureRaw]} (get-field-def (:value field)) ]
{:value (str (:value adtCandidate) "." (:value field))
:candidate (:value field)
:package (:package adtCandidate)
:file (:file adtCandidate)
:doc signatureRaw
:location location
:module-name (:module-name adtCandidate)})))
(-> fst-destruct-variable :patterns)))
(when (= "patternBracket" (:type fst-destruct-variable))
(map (fn [field]
(when (get-field-def (:value field))
(let [{:keys [location doc signatureRaw]} (get-field-def (:value field)) ]
{:value (str (:value adtCandidate) "." (:value field))
:candidate (:value field)
:package (:package adtCandidate)
:file (:file adtCandidate)
:doc signatureRaw
:location location
:module-name (:module-name adtCandidate)})))
(-> fst-destruct-variable :pattern :value :patterns)))))
(when (= "typeRec" (-> adtType :params first :type))
(concat
(when-let [aliaz (-> fst-destruct-variable :pattern :alias)]
(concat
[{:value (str (:value candidate) "." (:value adtType) ".")
:candidate aliaz
:file (:file candidate)
:package (:package candidate)
:location (-> adtType :params first :location)
:doc (-> adtType :params first print-rec) ;(-> adtType :params first :signatureRaw)
:module-name (:module-name candidate)}]
(map #(hash-map
:value (str (:value candidate) "." (:value adtType) "." (:name %))
:candidate (str aliaz "." (:name %))
:file (:file candidate)
:package (:package candidate)
:doc (:signatureRaw %)
:location (:location %)
:module-name (:module-name candidate))
(-> adtType :params first :fieldDefs))))
(map (fn [field]
{:value (str (:value candidate) "." (:value adtType) "." (:name field))
:candidate (:name field)
:package (:package candidate)
:file (:file candidate)
:doc (:signatureRaw field)
:location (:location field)
:module-name (:module-name candidate)})
(-> adtType :params first :fieldDefs))))))))))
(defn- get-candidate-by-token-loc-aware [token pos module modules]
(let [jump-to-candidates (get-jump-to-candidates module modules)
decl (find-top-level-declaration-by-pos pos module)]
(if (and (= "nameDef" (:type decl))
(-> decl :annotation :signature))
(->> (mapcat (fn [param {:keys [candidate] :as ann}]
(cond
(and (= "variable" (:type param))
(= "typeAliasDecl" (:type candidate)))
(create-typealias-rec-candidates param candidate)
(and (= "variable" (:type param))
(= "typeDecl" (:type candidate)))
[(create-param-candidate param candidate)]
(and (= "patternRec" (:type param))
(= "typeAliasDecl" (:type candidate)))
(create-destructured-type-alias-candidates param candidate)
(and (= "patternBracket" (:type param))
(= "typeAliasDecl" (:type candidate)))
(create-bracketed-type-alias-candidates param candidate)
(and (= "patternBracket" (:type param))
(= "typeDecl" (:type candidate))
(= 1 (-> candidate :adtDefs count))
(not (in-range? pos (-> decl :annotation))))
(create-bracketed-adt-candidates param candidate module modules)
:else []))
(:patterns decl)
(-> decl
(enrich-top-level-declaration jump-to-candidates)
:annotation
:signature))
(filter #(= token (:candidate %)))
first
((fn [x]
(or x
(get-candidate-by-token token module modules)))))
;; fallback to default
(get-candidate-by-token token module modules))))
(defn ->pos [ast-pos]
{:line (-> ast-pos :line dec)
:ch (-> ast-pos :column dec)})
(defn ->range [location]
{:start (->pos (:start location))
:end (->pos (:end location))})
(defn- in-range? [{:keys [ch line]} decl]
(let [{:keys [start end]} (->range (:location decl))]
(cond
(or (< line (:line start) )
(> line (:line end) ))
false
(or (and (= (:line start) line)
(< ch (:ch start) ))
(and (= (:line end) line)
(> ch (:ch end) )))
false
:else
true)))
(defn find-top-level-declaration-by-pos
([pos module]
(->> (:ast module)
:declarations
(filter #(in-range? pos %))
first))
([pos project-dir module-file]
(find-top-level-declaration-by-pos
pos
(get-module-ast project-dir module-file))))
(defn find-import-by-pos
([pos module]
(->> (:ast module)
:imports
:imports
(filter #(in-range? pos %))
first))
([pos project-dir module-file]
(find-import-by-pos
pos
(get-module-ast project-dir module-file))))
(defn enrich-top-level-declaration
"For annotated definitions it tries to add extended information
about types for each parameter (ie union types and type aliases)"
[decl jump-to-candidates]
(let [get-cand (fn [token]
(->> jump-to-candidates
(filter #(contains? (:candidate-tokens % ) token))
first))]
(update-in decl [:annotation :signature]
(fn [items]
(map (fn [item]
(if (= "typeAdt" (:type item))
(assoc item :candidate
(get-cand (:value item)))
item))
items)))))
;; FEATURES
;; JUMP TO DEFINITION
(defn get-jump-to-definition [token pos module-file project-file]
(when-let [module (get-module-ast project-file module-file)]
(get-candidate-by-token-loc-aware token pos module (:file-asts (get-project project-file)))))
;; Autocompleter hints
(defn- to-hint [curr-module-name candidate]
(map
(fn [c-tok]
{:type (:type candidate) ; TODO: one of #{:type :definition :module} etc
:candidate c-tok
:module-name (when (not= curr-module-name (:module-name candidate))
(:module-name candidate))
:signature (-> candidate :annotation :signatureRawSansName)})
(:candidate-tokens candidate)))
(def dot-ex
(js/RegExp "\\." "g"))
(defn- compare-dots [a b]
(let [num-dots #(count (.match % dot-ex))]
(compare (num-dots a) (num-dots b))))
(defn- declaration-param-hint-items
[pos module jump-to-candidates]
(let [decl (find-top-level-declaration-by-pos pos module)
m-name #(when-not (= (get-module-name module) (:module-name %))
(str "(" (:value %) ") " (:module-name %)))
get-jump-to-by-token (fn [tok]
(first
(filter
#(contains? (:candidate-tokens %) tok)
jump-to-candidates)))
mod-name (when-not (= (:module-name %)
(get-module-name module))
(str "(" (:value %) ") "
(:module-name %) ))]
(if (and (= "nameDef" (:type decl))
(-> decl :annotation :signature))
(mapcat (fn [param {:keys [candidate] :as ann}]
(cond
(and (= "variable" (:type param))
(= "typeRec" (:type ann)))
(->> (map #(hash-map
:candidate (str (:value param) "." (:name %)))
(:fieldDefs ann))
(cons {:candidate (:value param)}))
(and (= "patternRec" (:type param))
(= "typeRec" (:type ann)))
(map #(hash-map
:candidate (:value %))
(:patterns param))
(and (= "patternBracket" (:type param))
(= "typeRec" (:type ann)))
(concat
(when-let [aliaz (-> param :pattern :alias)]
(concat
[{:candidate aliaz}]
(map #(hash-map
:candidate (str aliaz "." (:name %)))
(:fieldDefs ann))))
(map #(hash-map
:candidate (:value %))
(-> param :pattern :value :patterns)))
(and (= "variable" (:type param))
(= "typeAliasDecl" (:type candidate)))
(->> (map #(hash-map
:candidate (str (:value param) "." (:name %))
:module-name (mod-name candidate))
(-> candidate :tipe :fieldDefs))
(cons {:candidate (:value param)
:module-name (mod-name candidate)}))
(and (= "patternRec" (:type param))
(= "typeAliasDecl" (:type candidate)))
(map (fn [pattern]
{:candidate (:value pattern)
:module-name (mod-name candidate)})
(:patterns param) )
(and (= "patternBracket" (:type param))
(= "typeAliasDecl" (:type candidate)))
(let [aliaz (-> param :pattern :alias)]
(concat
(when aliaz
(concat
[{:candidate aliaz
:module-name (mod-name candidate)}]
(map #(hash-map
:candidate (str aliaz "." (:name %))
:module-name (mod-name candidate))
(-> candidate :tipe :fieldDefs))))
(map
#(hash-map
:candidate (:value %)
:module-name (mod-name candidate))
(-> param :pattern :value :patterns))))
(and (= "patternBracket" (:type param))
(= "typeDecl" (:type candidate))
(= 1 (-> candidate :adtDefs count))
(not (in-range? pos (-> decl :annotation))))
(let [pattern-param (-> param :pattern :value :variables first)
adtType (-> candidate :adtDefs first)
adtPattern (:pattern param)
adtParam (-> adtType :params first)
adtCandidate (get-jump-to-by-token (:value adtParam))]
(concat
(when-let [aliaz (:alias adtPattern)]
[{:candidate aliaz
:module-name (mod-name candidate)}])
(when (and (= "variable" (:type pattern-param))
(nil? (:type adtCandidate)))
[{:candidate (:value pattern-param)}])
(when (and (= "variable" (:type pattern-param))
(= "typeRec" (:type adtParam)))
(map #(hash-map
:candidate (str (:value pattern-param) "." (:name %))
:module-name (mod-name candidate))
(:fieldDefs adtParam)))
(when (and (= "variable" (:type pattern-param))
(= "typeAliasDecl" (:type adtCandidate)))
(map #(hash-map
:candidate (str (:value pattern-param) "." (:name %))
:module-name (mod-name candidate))
(-> adtCandidate :tipe :fieldDefs)))
(when (= "patternRec" (:type pattern-param))
(map #(hash-map
:candidate (:value %)
:module-name (mod-name candidate))
(:patterns pattern-param)))
(when (= "patternBracket" (:type pattern-param))
(when (= "patternRec" (-> pattern-param :pattern :value :type))
(concat
(when-let [aliaz (-> pattern-param :pattern :alias)]
(concat
[{:candidate aliaz
:module-name (when adtCandidate
(mod-name adtCandidate))}]
(when adtCandidate
(map #(hash-map
:candidate (str aliaz "." (:name %))
:module-name (mod-name adtCandidate))
(-> adtCandidate :tipe :fieldDefs)))
(when (= "typeRec" (:type adtParam))
(map #(hash-map
:candidate (str aliaz "." (:name %))
:module-name (mod-name candidate))
(:fieldDefs adtParam)))))
(map #(hash-map :candidate (:value %))
(-> pattern-param :pattern :value :patterns)))))))
(= "variable" (:type param))
[{:candidate (:value param)
:module-name (m-name candidate)}]
:else []))
(:patterns decl)
(-> decl
(enrich-top-level-declaration jump-to-candidates)
:annotation
:signature))
[])))
(defn- declarations-hints
[{:keys [token pos]} module modules]
(let [jump-to-candidates (get-jump-to-candidates module modules)]
(->> jump-to-candidates
(filter (fn [decl]
(some #(= 0 (.indexOf % token))
(:candidate-tokens decl))))
(mapcat (partial to-hint (get-module-name module)))
(concat (declaration-param-hint-items pos module jump-to-candidates))
(filter #(= 0 (.indexOf (:candidate %) token)))
(sort (fn [a b]
(let [mod-sort (compare-dots (:candidate a) (:candidate b))]
(if (= 0 mod-sort)
(.localeCompare (:candidate a) (:candidate b))
mod-sort)))))))
(defn- import-hints
[{:keys [token pos]} imp mod-header modules]
(let [curr-exports (->> imp :exposing :exports :exports (map :value) set)
existing-import-names (->> mod-header :ast :imports :imports (map :value) set)]
(cond
;; Return Modules Completions
(and (not (:alias imp))
(not (seq (-> imp :exposing :exports))))
(->> modules
(map #(-> % :ast :moduleDeclaration))
(filter identity)
(filter #(and (= 0 (.indexOf (:value %) token))
(not (= (get-module-name mod-header) (:value %)))
(not (contains? existing-import-names (:value %)))))
(map #(hash-map :candidate (:value %) ))
(sort-by :candidate))
;; Return completions for exposing for given import
(and (seq (-> imp :exposing :exports))
(or (in-range? pos (-> imp :exposing :exports))
;; (in-range? (update-in pos [:ch] #(- % (count token)))
;; (-> imp :exposing :exports))
))
(->> (filter #(= (:value imp) (-> % :ast :moduleDeclaration :value)) modules)
first
get-exposed-declarations
(map :value)
(filter #(and (= 0 (.indexOf % token))
(or (= token %) ;; TODO: Need to be a little more clever here (try on for Html.Events!)
(not (contains? curr-exports %)))))
sort
(map #(hash-map :candidate %)))
:else [])))
(defn- module-header-hints
"Provides hints when cursor inside exposing parens.
Pls note that mod-header is the latest and greatest (if current editor content parses ok)"
[{:keys [token pos]} mod-header module]
(let [exposing (-> mod-header :ast :moduleDeclaration :exposing)
exports-container (:exports exposing)
curr-exports (-> (extract-exports exposing) set)
decls (-> module :ast :declarations)]
(cond
(in-range? pos exports-container)
(->> (map :value decls)
(filter #(and (= 0 (.indexOf % token))
(not (contains? curr-exports %))))
sort
(map #(hash-map :candidate %)))
:else
[])))
(defn reserved-words-hints [token]
(->> ["import" "type" "type alias" "type" "port"]
(filter #(= 0 (.indexOf % token)))
sort
(map #(hash-map :candidate %))))
(defn get-hints
"Return hints for a given module file and project.
The context parameter provides additional info to filter results
and to help make the results context aware to provide better more relevant results
TODO: Only token is used and only toplevel declarations currently TBI"
([ctx module-file project-dir]
(get-hints ctx module-file project-dir nil))
([{:keys [pos token ed] :as ctx} module-file project-dir module-header]
(let [ed-tok (editor/->token ed pos)
module (get-module-ast project-dir module-file)
top-level-decl? (find-top-level-declaration-by-pos pos module)
mod-header (or module-header module) ;; to cater for invalid ast
modules (-> (get-project project-dir) :file-asts)
imp (find-import-by-pos {:line (:line pos)
:ch 0} mod-header)]
(when module
(cond
(= 0 (:start ed-tok))
(reserved-words-hints token)
imp
(import-hints ctx imp mod-header modules)
(in-range? pos (-> mod-header :ast :moduleDeclaration))
(module-header-hints ctx mod-header module)
:else
(declarations-hints ctx module modules))))))
(defn- find-all-occs [line tok]
(let [pattern (re-pattern (str "\\b" tok "\\b(?!\\.)"))]
(loop [s line
items []
curr-idx 0]
(let [idx (.search s pattern)
act-idx (+ curr-idx idx)]
(if (= -1 idx)
items
(recur (subs s (+ idx (count tok) 1))
(conj items act-idx)
(+ act-idx (count tok) 1)))))))
(defn- get-usage-editor [file]
(if-let [ed (first (pool/by-path file))]
{:ed ed
:close-fn #()}
(let [content (-> (files/open-sync file) :content)
ed (pool/create {:mime "text/x-elm" :content content})]
{:ed ed
:close-fn #(object/destroy! ed)})))
(defn- find-usage-hits [candidate-module]
(let [{:keys [ed close-fn]} (get-usage-editor (:file candidate-module))
line-count (editor/line-count ed)]
(->> (mapcat
(fn [l]
(let [line (editor/line ed l)]
(mapcat
(fn [token]
(map #(hash-map
:start {:ch % :line l}
:end {:ch (+ % (count token)) :line l}
:token token
:line line)
(find-all-occs line token)))
(:candidate-tokens candidate-module))))
(range 0 line-count))
(filter seq)
(group-by #(str (-> % :end :line)
"-"
(-> % :end :ch)))
(map (fn [[_ v]]
(->> (sort-by #(count (:token %)) v)
first)))
(sort-by #(-> % :start :line))
((fn [xs]
(close-fn)
(assoc candidate-module :hits xs))))))
(defn find-usages [token project-file module-file]
(let [modules (:file-asts (get-project project-file))
candidate (get-jump-to-definition token {} module-file project-file)
candidate-module (get-module-ast project-file (:file candidate))
cand-mods (->> (get-project project-file)
:file-asts
(remove :package)
(filter (fn [mod]
(or
(:default-candidate? candidate)
(contains?
(->> mod :ast :imports :imports (map :value) set)
(:module-name candidate)))))
(concat [(when-not (:package candidate-module)
candidate-module)])
(filter identity)
(sort-by #(-> % :ast :moduleDeclaration :value)))]
(->> cand-mods
(mapcat (fn [mod]
(->> (get-jump-to-candidates mod modules)
(map #(assoc % :candidate-module-file (:file mod)))
(filter #(or false
(and (= (:module-name candidate) (:module-name %))
(= (:value candidate) (:value %))))))))
(map #(hash-map :file (:candidate-module-file %)
:candidate-tokens (:candidate-tokens %)))
(map find-usage-hits)
(filter #(seq (:hits %)))
((fn [mod-usages]
{:candidate candidate
:usages-per-module mod-usages
:token token})))))
;; Sidebar doc search
(defn search-docs [sym project-dir]
"Search all top level declarations for a given project.
Currently just implements starts-with for name or qualified name"
(let [qualified-name #(str (:module-name %) "." (:value %))]
(when-let [prj (get-project project-dir)]
(->> (:file-asts prj)
(mapcat get-exposed-declarations)
(filter
(fn [decl]
(or
(start-with? (:value decl) sym)
(start-with? (qualified-name decl) sym))))
(map
(fn [decl]
{:name (:value decl)
:ns (:module-name decl)
:args (or
(-> decl :annotation :signatureRaw)
(-> decl :signatureRaw))
:doc (:doc decl)
:value (:value decl)
:module-name (:module-name decl)}))
(sort-by (juxt :value :module-name))))))
;; Get gutter marker info for a given module
(defn get-gutter-exposeds [module-file project-file]
(when-let [module (get-module-ast project-file module-file)]
(->> (get-exposed-declarations module)
(remove #(= "adtDef" (:type %))))))
;; *********** REFACTORINGS !!! ***************************************
(declare print-exports)
(defn- print-export [export]
(str (if (= "binOpRef" (:type export))
(str "(" (:value export) ")")
(:value export))
(cond
(not (seq (:exports export)))
""
:else
(str " (" (print-exports (-> export :exports)) ")" ))))
(defn- print-exports [exports]
(cond
(not (seq exports))
""
(= "exposeAll" (-> exports :exports first :type))
".."
:else
(->> (map print-export (:exports exports))
(s/join ", "))))
(defn print-exposing [{:keys [exports] :as exposing}]
(if-not (seq exports)
""
(str "exposing ("
(print-exports exports)
")")))
(defn print-import [imp]
(str "import " (:value imp)
(when-let [aliaz (:alias imp)]
(str " as " aliaz))
(when (seq (:exposing imp))
(str " " (print-exposing (:exposing imp))))))
(defn print-imports
([imports]
(print-imports identity imports))
([sort-fn imports]
(->> (sort-fn imports)
(map print-import)
(s/join "\n"))))
(defn sort-imports-default [project-dir imports]
(let [modules (-> (get-project project-dir) :file-asts)]
(sort-by (juxt (partial package-import? modules) :value) imports)))
(defn sym-exposed?
[sym
project-dir
module-file]
(-> (get-module-ast project-dir module-file)
(exposed-by-module? sym)))
(defn expose-decl
"Adds an export to exposing node
NOTE: Does not check if exposeAll or already exposed."
[decl exposing]
(let [value (:value decl)]
(update-in exposing [:exports :exports]
(fn [exports]
(conj
exports
(case (:type decl)
"typeAliasDecl"
{:type "adt"
:value value}
"typeDecl"
{:type "adt"
:value value}
"binOpDef"
{:type "binOpRef"
:value value}
{:type "ref"
:value value}))))))
(defn unexpose-decl
"Removes an export from and exposing node. Ignored if exposed through exposeAll (..)"
[decl exposing]
(let [value (:value decl)]
(update-in exposing [:exports :exports]
(fn [exports]
(remove #(= value (:value %)) exports)))))
;; Autoimport feature
(defn get-autoimport-candidates
"Find applicable import candidates based on token for a given module"
[aliaz token module-file project-dir]
(when-let [module (get-module-ast project-dir module-file)]
(let [modules (-> (get-project project-dir) :file-asts)]
(->> (filter #(not= module-file (:file %)) modules)
(mapcat get-exposed-declarations)
(concat (get-default-candidates (get-core-modules modules)))
(filter (fn [candidate]
(and (= token (:value candidate))
(not
(some
#(and (:alias %) (= (:module-name candidate) (:value %)))
(-> module :ast :imports :imports))))))))))
(defn upsert-imports
"Add import with alias or update an existing import with given alias"
[module-name aliaz imports]
(if-let [idx (idx-of #(= module-name (:value %)) imports)]
(assoc-in (vec imports) [idx :alias] aliaz)
(conj imports {:value module-name
:type "import"
:alias aliaz
:exposing []})))
;;**********************************************************
;; Elm Test related
;;**********************************************************
(defn- test-module-candidate? [module]
(let [imp-names (->> module :ast :imports :imports (map :value) set)]
(contains? imp-names "Test")))
(defn- ignore-test? [decl]
(when (:doc decl)
(-> decl :doc (util/str-contains "@ltignore"))))
(defn- get-test-decls [module]
(->> (get-exposed-declarations-memo module)
(filter #(and
(not (ignore-test? %))
(= "Test" (-> (:annotation %) :signature first :value))))))
(defn- ->suite-tests [module]
(->> (get-test-decls module)
(map #(select-keys % [:value :module-name]))))
(defn get-project-tests [project-path]
(let [project (get-project project-path)]
(->> (:file-asts project)
(filter (fn [module]
(when-not (:package module)
(test-module-candidate? module))))
(mapcat ->suite-tests))))
(defn get-module-tests [project-path module-file]
(let [module (get-module-ast project-path module-file)]
(if (test-module-candidate? module)
(->suite-tests module)
[])))
(defn get-test-by-pos [pos project-path module-file]
(let [module (get-module-ast project-path module-file)
decl (find-top-level-declaration-by-pos pos module)]
(if (and (test-module-candidate? module)
(exposed-by-module? module (:value decl))
(= "Test" (-> (:annotation decl) :signature first :value))
(not (ignore-test? decl)))
[{:value (:value decl)
:module-name (get-module-name module)}]
[])))
;;**********************************************************
;; AST status shown in statusbar
;;**********************************************************
(defn- status-class [{:keys [status]}]
(case status
:error "error"
:ok "ok"
""))
(defn- status-text [{:keys [status error]}]
(str "AST: "
(case status
:ok "Ok"
:error "Error"
"Not connected")))
(defn ->status-ui [{:keys [ast-summary]}]
[:span {:class (str "ast-status " (status-class ast-summary))}
(status-text ast-summary)])
(behavior ::update-ast-status
:triggers #{:update!}
:reaction (fn [this f]
(object/update! this [:ast-summary] f)))
(object/object* ::statusbar.ast-status
:triggers #{}
:behaviors #{::update-ast-status}
:ast-summary {:status ""}
:init (fn [this]
(statusbar/statusbar-item (bound this ->status-ui) "")))
(def statusbar-ast-summary (object/create ::statusbar.ast-status))
(statusbar/add-statusbar-item statusbar-ast-summary)
(defn update-status-for-editor [ed]
(let [{:keys [status error]} (:ast-status @ed)]
(object/raise statusbar-ast-summary
:update!
#(assoc % :status status :error error))))
(behavior ::update-ast-status-on-editor-change
:triggers #{:focus}
:reaction (fn [ed]
(update-status-for-editor ed)))
================================================
FILE: src/lt/plugins/elm_light/format.cljs
================================================
(ns lt.plugins.elm-light.format
(:require [lt.plugins.elm-light.utils :as u]
[lt.plugins.elm-light.selection :as sel]
[lt.plugins.elm-light.clients :as clients]
[lt.objs.console :as console]
[lt.objs.notifos :as notifos]
[lt.object :as object]
[lt.objs.command :as cmd]
[lt.objs.editor.pool :as pool]
[lt.objs.editor :as editor]
[lt.objs.popup :as popup]
[lt.objs.platform :as platform]
[clojure.string :as s])
(:require-macros [lt.macros :refer [behavior]]))
(defn handle-no-elm-format []
(notifos/done-working)
(console/log (.-PATH (.-env js/process)))
(popup/popup! {:header "We couldn't find elm-format in your path"
:body (str "In order to formatting related commands, elm-format must be installed and on your system PATH."
"(Check the console for PATH as seen from Light Table")
:buttons [{:label "Install elm-format"
:action (fn []
(platform/open "https://github.com/avh4/elm-format#installation-"))}
{:label "ok"}]}))
(defn verify-installed []
(if (.which clients/shelljs "elm-format")
true
(do
(handle-no-elm-format)
nil)))
(defn format-input
"Format string input using elm-format.
If successful returns [true result]
If errors returns [false err]"
[cwd input]
(try
[true (.toString (.execSync (js/require "child_process")
"elm-format --stdin"
(clj->js {:cwd cwd
:input input
:stdio "pipe"})))]
(catch :default e
[false (.-message e)])))
(defn format-path
"Format file or all elm files in dir using elm-format.
If successful returns [true nil]
If errors returns [false err]"
[cwd path]
(try
(do
(.execSync (js/require "child_process")
(str "elm-format --yes " path)
(clj->js {:cwd cwd
:stdio "pipe"}))
[true nil])
(catch :default e
[false (.-message e)])))
(defn- handle-format-error [err]
(notifos/set-msg! "Elm format reported errors. See console for details" {:class "error" :timeout 5000})
(console/error err))
;; ****************************************************
;; Elm format
;; ****************************************************
(behavior ::elm-format
:triggers #{:elm.format}
:reaction (fn [ed]
(when (verify-installed)
(when-let [path (-> @ed :info :path)]
(let [pos (editor/->cursor ed)
[ok? res] (format-path (u/project-path path) path)]
(if ok?
(pool/reload ed)
(handle-format-error res))
(editor/move-cursor ed pos)
(editor/center-cursor ed))))))
(defn- strip-module [expr]
(->> (s/split-lines expr)
(drop 3)
(s/join "\n")))
(behavior ::elm-format-expression
:triggers #{:elm.format-expression}
:reaction (fn [ed]
(when (verify-installed)
(let [pos (editor/->cursor ed)
cwd (-> @ed :info :path u/project-path)]
(when-let [{:keys [from to]} (sel/get-top-level-expr ed pos)]
(let [[ok? res] (format-input cwd (editor/range ed from to))]
(if ok?
(editor/replace ed from to (strip-module res))
(handle-format-error res))
(editor/move-cursor ed pos)))))))
(behavior ::elm-format-buffer
:triggers #{:elm.format-buffer}
:reaction (fn [ed]
(when (verify-installed)
(let [pos (editor/->cursor ed)
[ok? res] (format-input (-> @ed :info :path u/project-path)
(editor/->val ed))]
(if ok?
(do
(editor/set-val-and-keep-cursor ed res)
(editor/center-cursor ed))
(handle-format-error res))))))
(cmd/command {:command :elm-format
:desc "Elm: Format file"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.format)))})
(cmd/command {:command :elm-format-buffer
:desc "Elm: Format editor contents"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.format-buffer)))})
(cmd/command {:command :elm-format-expression
:desc "Elm: Format top level expression at point"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.format-expression)))})
================================================
FILE: src/lt/plugins/elm_light/graph.cljs
================================================
(ns lt.plugins.elm-light.graph
(:require [lt.plugins.elm-light.utils :as u]
[lt.objs.files :as files]
[lt.objs.tabs :as tabs]
[lt.object :as object]
[lt.objs.command :as cmd]
[lt.objs.editor.pool :as pool]
[lt.objs.console :as console]
[lt.objs.notifos :as notifos]
[lt.util.dom :as dom]
[fetch.core :as fetch]
[clojure.set :refer [rename-keys]]
[clojure.string :as s])
(:require-macros [lt.macros :refer [defui behavior]]))
(def dagreD3 (js/require (files/join u/elm-plugin-dir "node_modules/dagre-d3")))
(def d3 (js/require (files/join u/elm-plugin-dir "node_modules/d3")))
(defn lower [term]
(s/lower-case term))
(defn find-package-by-name [this name]
(some #(when (= (lower (:name %)) (lower name)) %) (:all-packages @this)))
(defui dependency-graph-ui [this]
[:div.graph
[:div.dependency-graph
[:svg:svg {:width "650" :height "680"}
[:svg:g {:transform "translate(20,20)"}]]]])
(object/object* ::dependency-graph
:tags [:elm.graph.dependency]
:name "Dependency graph"
:init (fn [this]
(u/fetch-all-packages #(object/merge! this {:all-packages %}))
(dependency-graph-ui this)))
(declare dependency-graph)
(behavior ::on-close-destroy
:triggers #{:close}
:reaction (fn [this]
(when-let [ts (:lt.objs.tabs/tabset @this)]
(when (= (count (:objs @ts)) 1)
(tabs/rem-tabset ts)))
(object/raise this :destroy)))
(def select-values (comp vals select-keys))
(defn dep-id [dep]
(s/join ":" (select-values dep [:package :version])))
(defn node-label [x]
#js {:shape (if-let [shape (:shape x)] shape "rect")
:style (when-not (:version x) "fill: #73404c")
:labelType "html"
:label (str ""
(:package x) "
" (:version x)
"
")})
(defn create-graph [data]
(let [g (.setGraph (new dagreD3.graphlib.Graph) #js {})]
(doseq [x (:nodes data)]
(.setNode g (dep-id x) (node-label x)))
(doseq [x (:edges data)]
(.setEdge g (:a x) (:b x) #js {:label (:label x)
:style (when (:transitive x)
"stroke-dasharray: 5, 5;")}))
g))
(defn d3-sel [selector]
(.log js/console (.select d3 selector))
(.select d3 selector))
(defn dimensions [this]
{:w (.-clientWidth (:content @this))
:h (.-clientHeight (:content @this))})
(defn init-zoom [svg g]
(let [zoom (.on (.zoom (.-behavior d3))
"zoom"
#(.attr g "transform" (str "translate(" (.-translate (.-event d3)) ")"
"scale(" (.-scale (.-event d3)) ")")))]
(.call svg zoom)))
(defn resize-graph [this svg]
(let [dim (dimensions this)]
(.attr svg "width" (+ (:w dim) 20))
(.attr svg "height" (+ (:h dim) 20))))
(behavior ::on-render
:desc "Elm render dependencies"
:triggers #{:elm.graph.render}
:reaction (fn [this]
(let [svg (.select d3 "svg")
g (.select svg "g")
renderer (.render dagreD3)]
(renderer g (create-graph (:data @this)))
(init-zoom svg g)
(resize-graph this svg))))
(defn get-package-json [dep callback]
(let [url (str "http://package.elm-lang.org/packages/"
(:package dep) "/"
(:version dep) "/"
"elm-package.json")]
(fetch/xhr url
{}
(fn [data]
(callback (js->clj (.parse js/JSON data) :keywordize-keys true))))))
(defn add-edges-for-dep [this origin pkg-json]
(when-let [edges (->> (:dependencies pkg-json)
(map (fn [[k v]]
(hash-map :package (u/nskw->name k)
:range v
:version (-> (some #(when ( = (u/nskw->name k) (:package %)) %)
(-> @this :data :packages))
:version))))
(map (fn [dep]
{:a (dep-id origin)
:b (dep-id dep)
:transitive true
:label (:range dep)}))
seq)]
(object/update! this [:data :edges] #(concat % edges))
(object/raise this :elm.graph.render)))
(behavior ::on-get-transitives
:desc "Elm get 1.st level transitive dependencies"
:triggers #{:elm.graph.get-transitives}
:reaction (fn [this]
(let [transitives (remove :range (-> @this :data :packages))]
(object/update! this [:data :nodes] #(concat % transitives))
(object/raise this :elm.graph.render)
(doseq [x (filter :version (-> @this :data :packages))]
(get-package-json x (partial add-edges-for-dep this x))))))
(defn get-dependency-data [project-path]
(let [pkgs (->> (u/get-project-deps project-path)
(map #(rename-keys % {:exact :version}))
(map #(assoc % :summary (-> (find-package-by-name dependency-graph (:package %))
:summary))))
direct (filter :range pkgs)
rootVersion (-> (u/parse-json-file (files/join project-path "elm-package.json"))
:version)
root {:package (files/basename project-path) :version rootVersion :shape "ellipse"}]
{:packages pkgs
:nodes (conj direct root )
:edges (map #(hash-map :a (dep-id root)
:b (dep-id %)
:label (:range %)) direct)}))
(behavior ::on-get-data
:desc "Elm retrieve dependency data for project"
:triggers #{:elm.graph.get-data}
:reaction (fn [this]
(let [data (get-dependency-data (:project-path @this))]
(object/assoc-in! this [:data] data)
(object/raise this :elm.graph.render)
(object/raise this :elm.graph.get-transitives))))
(behavior ::on-show-dependencies
:desc "Elm show dependency graph"
:triggers #{:elm.graph.show-dependencies}
:reaction (fn [this project-path focus-tab?]
(when focus-tab?
(tabs/add-or-focus! this))
(object/assoc-in! this [:project-path] project-path)
(object/assoc-in! this [:data] {})
(object/raise this :elm.graph.get-data)))
(behavior ::on-tab-resized
:triggers #{:end-drag}
:reaction (fn [_]
(let [svg (.select d3 "svg")]
(resize-graph dependency-graph svg))))
(def dependency-graph (object/create ::dependency-graph))
;; (doseq [obj (object/by-tag :elm.graph.dependency)]
;; (println "Destroying")
;; (object/destroy! obj))
(cmd/command {:command :show-elm-dep-graph
:desc "Elm: Show dependency graph"
:exec (fn []
(when-let [ed (pool/last-active)]
(when-let [path (-> @ed :info :path u/project-path)]
(object/raise dependency-graph :elm.graph.show-dependencies path true))))})
================================================
FILE: src/lt/plugins/elm_light/gutter.cljs
================================================
(ns lt.plugins.elm-light.gutter
(:require [lt.plugins.elm-light.elm-ast :as ast]
[lt.plugins.elm-light.utils :as utils]
[lt.object :as object]
[lt.objs.editor :as editor]
[lt.objs.files :as files]
[lt.util.dom :as dom])
(:require-macros [lt.macros :refer [behavior defui]]))
(def icon-url
(files/join utils/elm-plugin-dir "css" "export.svg"))
(def marker-templ
(let [elem (.createElement js/document "div")]
(dom/html elem "@")
(dom/add-class elem "elm-gutter-marker")
elem))
(defn gutter-marker-exposed []
(.cloneNode marker-templ true))
(behavior ::show-elm-gutter
:triggers #{:object.instant}
:type "user"
:desc "Editor Elm: Display elm gutter"
:reaction (fn [ed]
(when-not (:elm-gutter @ed)
(editor/add-gutter ed "elm-gutter" 15)
(object/assoc-in! ed [:elm-gutter] true))))
(behavior ::elm-gutter-exposeds
:triggers #{:elm.gutter.refresh}
:reaction (fn [ed]
(let [cm-ed (editor/->cm-ed ed)]
(editor/operation
cm-ed
(fn []
(.clearGutter cm-ed "elm-gutter")
(doseq [bm (-> @ed :elm-exposeds-bookmarks)]
(when-let [pos (.find bm)]
(when-let [line (.-line pos)]
(.setGutterMarker cm-ed
line
"elm-gutter"
(gutter-marker-exposed))))))))))
(behavior ::elm-gutter-exposeds-mark
:triggers #{:elm.gutter.exposeds.mark}
:reaction (fn [ed]
(let [path (-> @ed :info :path)
exposeds (ast/get-gutter-exposeds
path
(utils/project-path path))
cm-ed (editor/->cm-ed ed)]
(editor/operation
cm-ed
(fn []
(doseq [bm (-> @ed :elm-exposeds-bookmarks)]
(.clear bm))
(->> (map (fn [exposed]
(.setBookmark cm-ed #js {:ch 1
:line (-> exposed :location :start :line dec)}))
exposeds)
(object/assoc-in! ed [:elm-exposeds-bookmarks]))))
(object/raise ed :elm.gutter.refresh))))
================================================
FILE: src/lt/plugins/elm_light/hinter.cljs
================================================
(ns lt.plugins.elm-light.hinter
"Hinter implementation for Elm"
(:require [lt.plugins.elm-light.utils :as utils]
[lt.plugins.elm-light.elm-ast :as ast]
[lt.plugins.elm-light.utils :refer [find-symbol project-path]]
[lt.objs.editor :as editor]
[lt.object :as object]
[lt.util.dom :as dom]
[lt.objs.clients :as clients]
[cljs.core.async :as async :refer [put! chan]]
[clojure.string :as s])
(:require-macros [lt.macros :refer [behavior defui background]]))
(defn- curr-time []
(.getTime (js/Date.)))
;; TODO: not exactly uid quality...
(defn- chan-id [ch]
(+ (curr-time) (hash ch)))
(defn- store-ch [ed ch]
(let [chs (or (:elm-async-channels @ed) {})
ch-id (chan-id ch)]
(object/assoc-in! ed
[:elm-async-channels]
(assoc chs ch-id ch))
ch-id))
(defn- get-ch [ed ch-id]
(get-in @ed [:elm-async-channels ch-id]))
(defn- remove-ch [ed ch-id]
(let [chs (or (:elm-async-channels @ed) {})]
(object/assoc-in! ed
[:elm-async-channels]
(dissoc chs ch-id ))))
(defn- get-token [ed]
(let [pos (editor/->cursor ed)
sym (find-symbol ed pos)]
(when (and sym (seq sym))
{:string sym
:start (- (:ch pos) (count sym))
:end (:ch pos)
:line (:line pos)})))
(defn- trunc-str [v max-length]
(if (> 100 (count v))
sig
(str (.substring v 0 max-lenght) "...")))
(defn- display-text-elem [token completion]
(let [elem (.createElement js/document "div")]
(dom/add-class elem "display-text")
(dom/html elem (js/wrapMatch (.-text completion) #js {:matched (:string token)}))
elem))
(defn- module-elem [completion]
(let [elem (.createElement js/document "div")]
(dom/add-class elem "module")
(dom/html elem (.-moduleName completion))
elem))
(defui item-wrapper []
[:div
[:div.elm-completion ""]])
(defn item-ui [token completion]
(let [item-wrapper (item-wrapper)
wrapper (dom/$ "div.elm-completion" item-wrapper)]
(dom/append wrapper (display-text-elem token completion))
(dom/append wrapper (module-elem completion))
item-wrapper))
(defn- ->hints [token completions]
(map #(hash-map :text (:candidate %)
:displayText (:candidate %)
:moduleName (:module-name %)
:signature (:signature %)
:render (fn [el self data]
(dom/html el (dom/html (item-ui token data))))
:from {:ch (:start token) :line (:line token)}
:to {:ch (:end token) :line (:line token)})
completions))
(defn- connected? [ed]
(when-let [default-client (-> @ed :client :default)] ;; dont if not already connected
(when @default-client
true)))
(def bg-parser
(background
(fn [obj-id ch-id elm-parser-path elm-code]
(let [parser (js/require elm-parser-path)]
(try
(let [res (parser/parse elm-code #js {:startRule "headerOnly"})]
(js/_send obj-id
:elm.hints.parser.results
#js {:status "ok" :ch-id ch-id :module res}))
(catch :default e
(js/_send obj-id
:elm.hints.parser.results
#js {:status "fail" :ch-id ch-id :error e})))))))
(behavior ::elm-hints-parser-results
:triggers #{:elm.hints.parser.results}
:desc "Trigger hints after parsing relevant parts of editor for hinting"
:reaction (fn [ed res]
(let [pos (editor/->cursor ed)
token (get-token ed)
path (-> @ed :info :path)
{:keys [ch-id module status error]} (utils/mod-js->clj res :keywordize-keys true)
ch (get-ch ed ch-id)
get-hints (partial ast/get-hints
{:token (:string token)
:pos pos
:ed ed}
path
(project-path path))]
(if (= "ok" status)
(->> (get-hints {:ast module
:file path})
(->hints token)
(put! ch))
(->> (get-hints)
(->hints token)
(put! ch)))
(remove-ch ed ch-id))))
(behavior ::elm-hints
:triggers #{:init-hints}
:desc "Provide Elm hints for current cursor position"
:reaction (fn [ed channels]
(let [pos (editor/->cursor ed)
token (get-token ed)
ch (chan)
path (-> @ed :info :path)]
(if (and token (connected? ed))
(if (ast/find-top-level-declaration-by-pos pos
(project-path path)
path)
(do ; don't need to parse module header for this scenario
(->> (ast/get-hints {:token (:string token)
:pos pos
:ed ed}
path
(project-path path))
(->hints token)
(put! ch))
(conj channels ch))
(let [ch-id (store-ch ed ch)]
(bg-parser ed ch-id ast/elm-parser-path (editor/->val ed))
(conj channels ch)))
channels))))
================================================
FILE: src/lt/plugins/elm_light/inline-doc.cljs
================================================
(ns lt.plugins.elm-light.inline-doc
(:require [lt.plugins.elm-light.utils :as u]
[lt.util.dom :as dom]
[lt.objs.files :as files]
[lt.object :as object]
[lt.objs.editor :as editor]
[lt.objs.browser :as browser])
(:require-macros [lt.macros :refer [defui behavior]]))
(def marked (js/require (files/join u/elm-plugin-dir "node_modules" "marked")))
(defui doc-ui-header [doc]
[:div.inline-doc
[:h1 (:name doc)]
[:h2 (:ns doc)]
(when (and (:args doc)
(not= (:args doc) "nil"))
[:h3 (:args doc)])])
(defn marked-doc [md-doc]
(let [elem (.createElement js/document "div")]
(dom/add-class elem "elm-inline-doc")
(set! (.-innerHTML elem)
(marked md-doc (clj->js {:sanitize false})))
elem))
(defn maybe-append-marked-doc [elem doc]
(if-let [md-str (:doc doc)]
(do (dom/append elem (marked-doc md-str))
elem)
elem))
(defn highlight-code [container-elem]
(doseq [code (dom/$$ "pre > code" container-elem)]
(.highlightBlock js/hljs code)))
(defn handle-url-click [url]
(let [b (or (first (object/by-tag :browser))
(browser/add))]
(object/raise b :navigate! url)))
(defn add-click-handlers [elem]
(doseq [link (dom/$$ "a" elem)]
(dom/on link "click" #(handle-url-click (dom/attr link :href)))))
(behavior ::editor.elm.doc.show!
:triggers #{:editor.elm.doc.show!}
:reaction (fn [ed doc]
(when (not= (:name doc) "")
(let [doc-elem (-> (doc-ui-header doc)
(maybe-append-marked-doc doc))]
(inline-doc ed doc-elem (:loc doc))
(highlight-code doc-elem)
(add-click-handlers doc-elem)))))
(defn inline-doc [this doc-elem loc]
(let [ed (:ed @this)
type :underline
line (editor/line-handle ed (:line loc))
res-obj (object/create :lt.objs.eval/underline-result {:ed this
:class "underline"
:opts {}
:result doc-elem
:loc loc
:line line})]
(object/add-tags res-obj [:inline.doc])
(object/update! this [:widgets] assoc [line :underline] res-obj)
res-obj))
================================================
FILE: src/lt/plugins/elm_light/linter.cljs
================================================
(ns lt.plugins.elm-light.linter
"Generic linter for highlighting errors/warnings and providing context sensitive actions"
(:require [lt.object :as object]
[lt.objs.command :as cmd]
[lt.objs.editor :as editor]
[lt.objs.editor.pool :as pool]
[lt.util.dom :as dom]
[lt.objs.statusbar :as statusbar]
[crate.binding :refer [bound]])
(:require-macros [lt.macros :refer [defui behavior]]))
;;**********************************************************
;; Lint summary shown in statusbar
;;**********************************************************
(defn- status-class [{:keys [errors warnings]}]
(cond
(> errors 0) "error"
(> warnings 0) "warning"
:else ""))
(defn- status-text [{:keys [errors warnings]}]
(str "Lint status: " errors "/" warnings))
(defn ->status-ui [{:keys [lint-summary]}]
[:span {:class (str "lint-status " (status-class lint-summary))}
(status-text lint-summary)])
(behavior ::update-lint-status
:triggers #{:update!}
:reaction (fn [this f]
(object/update! this [:lint-summary] f)))
(object/object* ::statusbar.lint-status
:triggers #{}
:behaviors #{::update-lint-status}
:lint-summary {:errors 0 :warnings 0}
:init (fn [this]
(statusbar/statusbar-item (bound this ->status-ui) "")))
(def statusbar-lint-summary (object/create ::statusbar.lint-status))
(statusbar/add-statusbar-item statusbar-lint-summary)
(defn- grouped-lint-count [ed]
(if-let [results (:linter-results @ed)]
(->> (vals results)
(map :result)
(group-by :category)
(map (fn [[k v]]
{k (count v)}))
(into {}))
{:error 0 :warning 0}))
(defn update-status-for-editor [ed]
(let [{:keys [error warning]} (grouped-lint-count ed)]
(object/raise statusbar-lint-summary
:update!
#(assoc % :warnings (or warning 0) :errors (or error 0)))))
(behavior ::update-linter-on-editor-change
:triggers #{:focus}
:reaction (fn [ed]
(update-status-for-editor ed)))
;;**********************************************************
;; In editor display of lint results
;;**********************************************************
(defn- remove-widget [ed el]
(try
(dom/remove el)
(catch :default e
nil))
(editor/focus ed))
(defn- remove-res [ed res-id ]
(let [{:keys [mark result] :as dill} (get-in @ed [:linter-results res-id ])]
(when mark (.clear mark))
(object/update! ed [:linter-results] dissoc res-id))
(editor/focus ed))
(defn- current-range [ed mark]
(let [rng (.find mark)
from (.-from rng)
to (.-to rng)]
{:from {:ch (.-ch from) :line (.-line from)}
:to {:ch (.-ch to) :line (.-line to)}}))
(defn- execute-action [ed res-id action-fn res]
(let [{:keys [mark]} (get-in @ed [:linter-results res-id ])]
(action-fn res (current-range ed mark))
(remove-res ed res-id)))
(defui action-ui [ed action res-id res]
[:span.button (str (:text action))]
:click #(execute-action ed res-id (:action action) res))
(defui inline-ui [ed res-id {:keys [title details category actions] :as res}]
[:div {:tabindex -1 :class (str "linter-res " (or (name category) "error"))}
[:p.title title]
[:div.details
[:pre details]
[:div (map #(action-ui ed % res-id res) actions)]]]
:blur #(remove-widget ed (.-target %))
:keydown #(let [kc (.-keyCode %)]
(when (= kc 27)
(remove-widget ed (.-target %)))
(when (and (= kc 13) (seq actions))
(.preventDefault %)
(.stopPropagation %)
(execute-action ed res-id (-> actions first :action) res))))
(defn add-widget [ed res-id]
(let [{:keys [mark result]} (get-in @ed [:linter-results res-id ])
ui (inline-ui ed res-id result)
from (.-from (.find mark))]
(.addWidget (editor/->cm-ed ed) from ui #js {:scrollIntoView true})
(dom/focus ui)))
(defn- mark-range [ed {:keys [from to] :as code-range}]
(if-not (= from to )
code-range
{:from (assoc from :ch 0)
:to (assoc to :ch (editor/line-length ed (:line from)))}))
(defn create-mark [ed {:keys [category code-range]}]
(let [{:keys [from to]} (mark-range ed code-range)]
(editor/mark ed
from
to
{:className (str "lint-" (or (name category) "error"))
:inclusiveLeft false
:inclusiveRight false})))
;; Expected format of a lint result
(comment
{:category :error
:code-range {:from {:ch 1 :line 1}
:to {:ch 10 :line 13}}
:title "Syntax error"
:details "Something went really bad"
:actions [{:text "Change to xyz" :on-select #(println "this was selected")}]})
(behavior ::linter-result!
:triggers #{:linter-result!}
:reaction (fn [ed res]
(let [id (-> (gensym "linter-res") str)
mark (create-mark ed res)]
(set! (.-ltlintid mark) id)
(set! (.-lttype mark) :linter)
(object/update! ed [:linter-results] assoc id {:mark mark
:result res})
(update-status-for-editor ed))))
(behavior ::clear-linter-results!
:triggers #{:clear-linter-results!}
:reaction (fn [ed]
(doseq [[id res] (:linter-results @ed)]
(when-let [m (:mark res)] (.clear m))
(when-let [w (:widget res)]
(dom/remove w)))
(object/assoc-in! ed [:linter-results] nil)
(update-status-for-editor ed)))
(cmd/command {:command :editor.linter.remove-all
:desc "Editor: Clear all lint results"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :clear-linter-results!)))})
(defn find-current-lint-mark [ed]
(->> (editor/find-marks ed (editor/->cursor ed))
(filter #(= :linter (.-lttype %)))
first))
(defn get-widget-by-mark [ed mark]
(get-in @ed [:linter-results (.-ltlintid mark) :widget]))
(defn mark->pos [mark]
(let [cm-pos (.-from (.find mark))]
{:ch (.-ch cm-pos) :line (.-line cm-pos)}))
(defn get-all-lint-marks [ed]
(->> (.getAllMarks (editor/->cm-ed ed))
(filter #(= :linter (.-lttype %)))
(sort-by #((juxt :line :ch) (mark->pos %)))))
(defn split-with-mark [ed]
(let [all-marks (get-all-lint-marks ed)
curr-mark (find-current-lint-mark ed)]
(split-with #(not (= (when curr-mark (.-ltlintid curr-mark)) (.-ltlintid %))) all-marks)))
(defn find-next-mark [ed]
(let [[ms1 ms2] (split-with-mark ed)]
(first (into (vec (drop 1 ms2)) ms1))))
(defn find-prev-mark [ed]
(let [[ms1 ms2] (split-with-mark ed)]
(first (into (reverse (drop 1 ms2)) ms1))))
(cmd/command {:command :editor.linter.details
:desc "Linter: Show details at cursor"
:exec (fn []
(when-let [ed (pool/last-active)]
(when-let [mark (find-current-lint-mark ed)]
(add-widget ed (.-ltlintid mark)))))})
(cmd/command {:command :editor.next.lint-result
:desc "Linter: Move to next result"
:exec (fn []
(when-let [ed (pool/last-active)]
(when-let [next-mark (find-next-mark ed)]
(editor/move-cursor ed (mark->pos next-mark)))))})
(cmd/command {:command :editor.prev.lint-result
:desc "Linter: Move to previous result"
:exec (fn []
(when-let [ed (pool/last-active)]
(when-let [prev-mark (find-prev-mark ed)]
(editor/move-cursor ed (mark->pos next-mark)))))})
================================================
FILE: src/lt/plugins/elm_light/make.cljs
================================================
================================================
FILE: src/lt/plugins/elm_light/module_graph.cljs
================================================
(ns lt.plugins.elm-light.module-graph
(:require [lt.plugins.elm-light.utils :as u]
[lt.plugins.elm-light.elm-ast :as elm-ast]
[lt.objs.files :as files]
[lt.objs.tabs :as tabs]
[lt.object :as object]
[lt.objs.command :as cmd]
[lt.objs.editor.pool :as pool]
[lt.objs.console :as console]
[lt.objs.notifos :as notifos]
[lt.util.dom :as dom]
[lt.util.js :as js-util]
[clojure.set :refer [rename-keys]]
[clojure.string :as s])
(:require-macros [lt.macros :refer [defui behavior]]))
(def dagreD3 (js/require (files/join u/elm-plugin-dir "node_modules/dagre-d3")))
(def d3 (js/require (files/join u/elm-plugin-dir "node_modules/d3")))
(declare set-group-filter!)
(declare set-module-filter!)
(declare toggle-exposeds-filter!)
(defui module-graph-ui [this]
[:div.graph
[:div.filters "Add filters here !"]
[:div.module-graph
[:svg:svg {:width "650" :height "680"}
[:svg:g {:transform "translate(20,20)"}]]]])
(defui exposeds-filter-ui [this]
[:span.filter.checkbox
[:label [:input {:type "checkbox"}] "Show module exposeds"]]
:change (fn [ev]
(toggle-exposeds-filter! this (.-checked (.-target ev)))))
(defui module-filter-option-ui [this module]
[:option (:name module)])
(defui module-filter-ui [this modules]
[:span.filter
[:label "Module: "]
[:select
(map (partial module-filter-option-ui this) (cons {:name ""} modules))]]
:change (fn [ev]
(set-module-filter! this (.-value (.-target ev)))))
(defui group-filter-option-ui [this group]
[:option (:name group)])
(defui group-filter-ui [this groups]
[:span.filter
[:label "Group: "]
[:select
(map (partial group-filter-option-ui this) (cons {:name ""} groups))]]
:change (fn [ev]
(set-group-filter! this (.-value (.-target ev)))))
(defui filters-ui [this filters]
[:div.filters
[:h1 (files/basename (:project-path @this))]
(group-filter-ui this (:groups filters))
(module-filter-ui this (:modules filters))
(exposeds-filter-ui this)])
(defn render-filters [this filters]
(let [container (object/->content this)
curr-filters (dom/$ :div.filters container)]
(dom/replace-with curr-filters (filters-ui this filters))))
(object/object* ::module-graph
:tags [:elm.graph.module]
:name "Module graph"
:init (fn [this]
(module-graph-ui this)))
(declare module-graph)
(behavior ::on-close-destroy
:triggers #{:close}
:reaction (fn [this]
(when-let [ts (:lt.objs.tabs/tabset @this)]
(when (= (count (:objs @ts)) 1)
(tabs/rem-tabset ts)))
(object/raise this :destroy)))
(defn node-id [x]
(:name x))
;;
(defn exposeds-html [exposeds]
(str ""
(->> (map (fn [exp]
(str "- " exp "
")) exposeds)
s/join)
"
"))
(defn node-label [this x]
#js {:shape (if-let [shape (:shape x)] shape "rect")
:labelType "html"
:style (when (= (:name x) (-> @this :filters :current-module))
"fill: #FFF8DC")
:label (str ""
"" (:name x) ""
(when (-> @this :filters :show-exposeds?)
(exposeds-html (:exposeds x)))
"
")})
(def level-styles
{1 "fill: #474747"
2 "fill: #6D686E"
3 "fill: #7E7880"
4 "fill: #807A78"
5 "fill: #919394"})
(defn group-label [x]
#js {:shape (if-let [shape (:shape x)] shape "rect")
:labelType "html"
:style (get level-styles (:level x) )
:class "level-class"
:clusterLabelPos "top"
:label (str ""
(:name x)
"
")})
(defn create-graph [this data]
(let [g (.setGraph (new dagreD3.graphlib.Graph #js {:compound true}) #js {})]
(doseq [x (:groups data)]
(.setNode g (:group x) (group-label x)))
(doseq [x (:nodes data)]
(.setNode g (node-id x) (node-label this x))
(when-let [parent (:parent x)]
(.setParent g (node-id x) parent)))
(doseq [x (filter :parent (:groups data))]
(.setParent g (:group x) (:parent x)))
(doseq [x (:edges data)]
(.setEdge g (:a x) (:b x) #js {:label (:label x)}))
g))
(defn d3-sel [selector]
(.select d3 selector))
(defn dimensions [this]
{:w (.-clientWidth (:content @this))
:h (.-clientHeight (:content @this))})
(defn init-zoom [svg g]
(let [zoom (.on (.zoom (.-behavior d3))
"zoom"
#(.attr g "transform" (str "translate(" (.-translate (.-event d3)) ")"
"scale(" (.-scale (.-event d3)) ")")))]
(.call svg zoom)))
(defn resize-graph [this svg]
(let [dim (dimensions this)]
(.attr svg "width" (+ (:w dim) 20))
(.attr svg "height" (+ (:h dim) 20))))
(behavior ::on-render
:desc "Elm render project modules"
:triggers #{:elm.module-graph.render}
:reaction (fn [this data]
(let [svg (.select d3 "svg")
g (.select svg "g")
renderer (.render dagreD3)]
(renderer g (create-graph this data))
(init-zoom svg g)
(js-util/wait 200 #(resize-graph this svg)))))
(defn get-project-modules [project-path]
(->> (elm-ast/get-project project-path)
:file-asts
(remove :package)))
(defn get-group-names [module-names]
(->> module-names
(map #(s/split % #"\."))
(filter #(< 1 (count %)))
(map drop-last)
(mapcat (fn [parts]
(reduce (fn [a b]
(let [group-name (str (:name (last a)) (when (seq a) ".") b)]
(conj a
{:group (str "g-" group-name)
:name group-name
:level (inc (count a))
:parent (:group (last a))}))
)
[]
parts)))
set
sort))
(defn- get-exposeds-names [module]
(->> (elm-ast/get-exposed-declarations-memo module)
(remove #(= "adtDef" (:type %)))
(map :value)))
(defn create-graph-data [modules]
(let [module-names (set (map elm-ast/get-module-name modules)) ]
{:groups (get-group-names module-names)
:nodes (map (fn [module]
(let [mod-name (elm-ast/get-module-name module)]
{:name (elm-ast/get-module-name module)
:parent (when (< -1 (.indexOf mod-name "."))
(->> (s/split mod-name #"\.")
drop-last
(s/join ".")
(str "g-")))
:exposeds (get-exposeds-names module)
:file (:file module)}))
modules)
:edges (mapcat
(fn [module]
(map
(fn [imp]
{:a (elm-ast/get-module-name module)
:b (:value imp)
:label ""})
(->> (-> module :ast :imports :imports)
(filter #(contains? module-names (:value %))))))
modules)}))
;; todo : move to elm-ast
(defn- get-module-import-names [module]
(->> module :ast :imports :imports (map :value) set))
(defn- maybe-filter-by-group [current-group modules]
(if-not (s/blank? current-group)
(filter #(.startsWith (elm-ast/get-module-name %) current-group) modules)
modules))
(defn- maybe-filter-by-module [current-module modules]
(if-not (s/blank? current-module)
(let [module (-> (filter #(= current-module (elm-ast/get-module-name %)) modules)
first)
module-import-names (get-module-import-names module)]
(filter (fn [m]
(or
(= module m)
(contains? module-import-names (elm-ast/get-module-name m))
(contains? (get-module-import-names m) current-module)))
modules))
modules))
(defn refresh-graph [this]
(let [modules (->> (get-project-modules (:project-path @this))
(maybe-filter-by-group (-> @this :filters :current-group))
(maybe-filter-by-module (-> @this :filters :current-module)))]
(object/raise this :elm.module-graph.render (create-graph-data modules))))
(defn- set-group-filter! [this group-name]
(object/assoc-in! this [:filters :current-group] group-name)
(refresh-graph this))
(defn- set-module-filter! [this module-name]
(object/assoc-in! this [:filters :current-module] module-name)
(refresh-graph this))
(defn- toggle-exposeds-filter! [this v]
(object/assoc-in! this [:filters :show-exposeds?] v)
(refresh-graph this))
(behavior ::on-show-modules
:desc "Elm show module graph"
:triggers #{:elm.module-graph.show}
:reaction (fn [this project-path ]
(tabs/add-or-focus! this)
(let [modules (get-project-modules project-path)
groups (get-group-names (set (map elm-ast/get-module-name modules)))]
(object/merge! this {:filters {}
:project-path project-path})
(object/raise this :elm.module-graph.render (create-graph-data modules))
(render-filters this {:groups groups
:modules (map (fn [module]
{:name (elm-ast/get-module-name module)})
modules)}))))
(behavior ::on-tab-resized
:triggers #{:end-drag}
:reaction (fn [_]
(let [svg (.select d3 "svg")]
(resize-graph module-graph svg))))
(behavior ::on-move
:triggers #{:move}
:reaction (fn [this]
(let [svg (.select d3 "svg")]
(resize-graph this svg))))
(def module-graph (object/create ::module-graph))
;; (doseq [obj (object/by-tag :elm.graph.module)]
;; (println "Destroying !")
;; (object/destroy! obj))
(cmd/command {:command :show-elm-module-graph
:desc "Elm: Show module graph"
:exec (fn []
(when-let [ed (pool/last-active)]
(when-let [path (-> @ed :info :path u/project-path)]
(object/raise module-graph :elm.module-graph.show path ))))})
================================================
FILE: src/lt/plugins/elm_light/modulebrowser.cljs
================================================
(ns lt.plugins.elm-light.modulebrowser
(:require [lt.plugins.elm-light.utils :as u]
[lt.objs.files :as files]
[lt.object :as object]
[lt.objs.sidebar :as sidebar]
[lt.objs.sidebar.command :as sidebar-cmd]
[lt.objs.command :as cmd]
[lt.objs.editor.pool :as pool]
[lt.objs.notifos :as notifos]
[lt.util.dom :as dom]
[clojure.string :as s])
(:require-macros [lt.macros :refer [defui behavior]]))
(defn- resolve-module-file [project-path pck-json package module version]
(->> pck-json
:source-directories
(map #(files/join project-path
"elm-stuff/packages"
package
version
%
(str (s/replace module "." files/separator) ".elm")))
(some #(if (files/exists? %) % nil))))
(defn- get-exposed-modules [project-path {:keys [package exact]}]
(let [pck-json (u/parse-json-file (files/join project-path
"elm-stuff/packages"
package exact
"elm-package.json"))]
(->> pck-json
:exposed-modules
(map (fn [x]
{:name x
:packageName package
:version exact
:file (resolve-module-file project-path pck-json package x exact)})))))
(defn- get-package-modules [project-path]
(->> (u/get-project-deps project-path)
(filter :exact)
(mapcat (partial get-exposed-modules project-path))
(sort-by :name)))
(defn- deduce-module-name [root-path elm-file-path]
(-> elm-file-path
(s/replace root-path "")
(s/replace ".elm" "")
(s/replace #"^/" "")
(s/replace files/separator ".")))
(defn- get-project-modules [project-path]
(let [pck-json (u/parse-json-file (files/join project-path "elm-package.json"))]
(->> (:source-directories pck-json)
(mapcat (fn [dir]
(if (= dir ".")
(->> (files/ls project-path) ;; fixme: no nesting allowed to avoid elm-stuff etc
(filter #(= (files/ext %) "elm"))
(map (fn [x]
{:name (deduce-module-name "" x)
:file (files/join project-path x)})))
(->> (files/filter-walk #(= (files/ext %) "elm") (files/join project-path dir))
(map (fn [x]
{:name (deduce-module-name (files/join project-path dir) x)
:file x}))))))
(map (fn [m]
(assoc m :packageName (files/basename project-path) :version (:version pck-json))))
(sort-by :name))))
(defn get-all-modules [project-path]
(concat
(get-project-modules project-path)
(get-package-modules project-path)))
;(println (u/pretty-json (get-all-modules "/Users/mrundberget/projects/albums/frontend")))
(defui wrapper [this]
[:div {:id "elm-module-browser"} "Retrieving modules..."])
(behavior ::clear!
:triggers #{:clear!}
:reaction (fn [this]
(cmd/exec! :close-sidebar)))
(behavior ::focus!
:triggers #{:focus!}
:reaction (fn [this]
(let [input (dom/$ "#elm-module-browser input")]
(.focus input))))
(behavior ::ensure-visible
:triggers #{:ensure-visible}
:reaction (fn [this]
(sidebar-cmd/ensure-visible this)))
(behavior ::show-project-modules
:triggers #{:show-project-modules}
:reaction (fn [this prj-path]
(let [modules (get-all-modules prj-path)
el (dom/$ "#elm-module-browser")
mod-browser (.embed js/Elm js/Elm.ModuleBrowser el (clj->js {:modzPort []}))]
(.send (.-modzPort (.-ports mod-browser)) (clj->js modules))
;; set up port subscriptions
(.subscribe (.-changeSelection (.-ports mod-browser))
(fn []
(object/raise this :ensure-visible)))
(.subscribe (.-select (.-ports mod-browser))
(fn [file]
(cmd/exec! :open-path file)
(object/raise this :clear!)))
(.subscribe (.-close (.-ports mod-browser))
(fn []
(object/raise this :clear!)))
(object/raise this :focus!))))
(object/object* ::modulebrowser
:tags #{:elm.modulebrowser}
:label "Elm module browser"
:order 2
:init (fn [this]
(wrapper this)))
(def module-bar (object/create ::modulebrowser))
(sidebar/add-item sidebar/rightbar module-bar)
(behavior ::list-modules
:triggers #{:editor.elm.list-modules}
:reaction (fn [ed]
(when-let [prj-path (u/project-path (-> @ed :info :path))]
(do
(object/raise sidebar/rightbar :toggle module-bar)
(object/raise module-bar :show-project-modules prj-path)))))
(cmd/command {:command :show-modulebrowser
:desc "Elm: Show module-browser"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :editor.elm.list-modules)))})
================================================
FILE: src/lt/plugins/elm_light/packages.cljs
================================================
(ns lt.plugins.elm-light.packages
(:require [lt.plugins.elm-light.utils :as u]
[lt.plugins.elm-light.graph :as graph]
[lt.plugins.elm-light.autocompleter :as ac]
[lt.objs.files :as files]
[lt.objs.tabs :as tabs]
[lt.object :as object]
[lt.objs.command :as cmd]
[lt.objs.editor.pool :as pool]
[lt.objs.console :as console]
[lt.objs.notifos :as notifos]
[lt.objs.browser :as browser]
[lt.util.dom :as dom]
[quiescent :as q :include-macros true]
[quiescent.dom :as d]
[clojure.string :as s]
[clojure.walk :refer [keywordize-keys]])
(:require-macros [lt.macros :refer [defui behavior]]))
(defn remove-pkg [path pkg]
(let [pkg-file (files/join path "elm-package.json")]
(-> (u/parse-json-file pkg-file)
(update-in [:dependencies] (fn [deps]
(-> (into {}
(map (fn [[k v]]
[(u/nskw->name k) v]) deps))
(dissoc pkg))))
u/pretty-json
((partial files/save pkg-file)))))
(defui project-wrapper [this]
[:div.elm
[:div {:id "project-packages-wrapper"} "Retrieving project package info..."]])
(object/object* ::elm-packages
:tags #{:elm.packages}
:label "Elm project packages"
:name "Elm project packages"
:init (fn [this]
(u/fetch-all-packages #(object/merge! this {:all-packages %}))
(project-wrapper this)))
(declare elm-packages)
;; react rendering
(declare render)
(defn ensure-visible [this]
(let [list (dom/$ ".autocomplete-dropdown-menu" (object/->content this))
elem (dom/$ ".autocomplete-active" list)]
(cond
(< (.-offsetTop elem) (.-scrollTop list)) (set! (.-scrollTop list) (- (.-offsetTop elem) 15))
(> (+ (.-offsetTop elem) (.-offsetHeight elem))
(+ (.-scrollTop list) (.-clientHeight list))) (set! (.-scrollTop list)
(- (+ (.-offsetTop elem) (.-offsetHeight elem) 15) (.-clientHeight list)))
:else nil)))
;; stateless joy !
(defn filter-packages [token pkgs]
(vec
(filter (fn [pkg]
(> (.indexOf (s/lower-case (:name pkg)) (s/lower-case token)) -1)) pkgs)))
(defn idx-active [items]
(first (keep-indexed #(when (:active %2) %1) items)))
(defn move-down [items]
(when-not (empty? items)
(-> (assoc-in items [(idx-active items) :active] false)
(assoc-in [(min (dec (count items)) (inc (idx-active items))) :active] true))))
(defn move-up [items]
(when-not (empty? items)
(-> (assoc-in items [(idx-active items) :active] false)
(assoc-in [(max 0 (dec (idx-active items))) :active] true))))
;; Warning - Mutants ahead
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defn on-pkg-down []
(object/update! elm-packages [:ac-packages] move-down)
(render {})
(ensure-visible elm-packages))
(defn on-pkg-up []
(object/update! elm-packages [:ac-packages] move-up)
(render {})
(ensure-visible elm-packages))
(defn on-pkg-sel []
(let [items (:ac-packages @elm-packages)]
(if-let [idx (idx-active items)]
(do
(object/assoc-in! elm-packages [:ac-versions] (:versions (nth items idx)))
(object/assoc-in! elm-packages [:ac-version] (first (:versions (nth items idx))))
(object/assoc-in! elm-packages [:ac-package] (:name (nth items idx))))
(object/assoc-in! elm-packages [:ac-versions] [])))
(object/merge! elm-packages {:ac-packages nil})
(render {}))
(defn on-pkg-cancel []
(object/merge! elm-packages {:ac-packages nil
:ac-versions []})
(render {}))
(defn on-pkg-blur []
(object/merge! elm-packages {:ac-packages nil})
(render {}))
(defn on-pkg-change [v]
(let [items (filter-packages v (:all-packages @elm-packages))]
(object/merge! elm-packages {:ac-packages items
:ac-package v
:ac-versions []
:ac-version nil})
(when-not (empty? items)
(object/assoc-in! elm-packages [:ac-packages 0 :active] true))
(render {})))
(defn pkg-install [pkg v]
(let [args (concat ["install" "--yes"] (if pkg [pkg v] []))]
(notifos/working (s/join " " (cons "elm-package" args)))
(let [proc (.spawn (js/require "child_process")
"elm-package"
(clj->js args)
#js {:cwd (:path @elm-packages)})]
(.on proc "exit" #(do
(if (= % 0 )
(notifos/done-working)
(notifos/set-msg! "Error installing elm package" {:class "error" :timeout 5000}))
(object/raise elm-packages :elm.show.project.packages (:path @elm-packages))
(object/raise graph/dependency-graph
:elm.graph.show-dependencies
(:path @elm-packages)
false)))
(.stdout.on proc "data" #(notifos/msg* (str "Package install: " %) {:timeout 5000}))
(.stderr.on proc "data" #(console/error (str %))))))
(defn on-add-package []
(pkg-install (:ac-package @elm-packages) (:ac-version @elm-packages)))
(defn on-pkg-refresh []
(pkg-install nil nil))
(defn on-remove-pkg [pkg]
(remove-pkg (:path @elm-packages) pkg)
(pkg-install nil nil))
(defn on-change-version [v]
(object/assoc-in! elm-packages [:ac-version] v)
(render {}))
(defn on-pkg-browse [pkg version]
(let [url (str "http://package.elm-lang.org/packages/" pkg "/" version)
b (or (first (object/by-tag :browser))
(browser/add))]
(tabs/add-or-focus! b)
(object/raise b :navigate! url)))
(defn on-show-graph []
(object/raise graph/dependency-graph
:elm.graph.show-dependencies
(:path @elm-packages)
true))
;; React view components
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(q/defcomponent AddPackageForm [props]
(d/div
{:className "add-package"}
(d/h3 {} "Add package:")
(ac/AutoComplete (:ac-props props))))
(q/defcomponent PackageRow
[{:keys [package range exact on-remove on-browse]}]
(d/tr
{}
(d/td {} (if (and package exact)
(d/span {:className "link" :onClick #(on-browse package exact)} package)
package) )
(d/td {} range)
(d/td {} exact)
(d/td {} (when range
(d/button {:onClick #(on-remove package)} "remove")))))
(q/defcomponent PackageTable [props]
(d/table
{:className "package-table"}
(d/thead
{}
(d/tr
{}
(d/th {} "Package")
(d/th {} "Range")
(d/th {} "Exact")
(d/th {} "")))
(apply d/tbody {}
(map #(PackageRow (assoc %
:on-remove (:on-remove props)
:on-browse (:on-browse props)))
(:packages props)))))
(q/defcomponent ProjectPackages [props]
(d/div {:className "project-packages"}
(d/h1 {} (str (files/basename (:path props)) " - packages"))
(PackageTable props)
(d/button {:onClick #((:on-pkg-refresh props))} "Refresh packages")
(d/button {:onClick #((:on-show-graph props))
:style {:marginLeft "10px"}} "Show dependency graph")
(AddPackageForm props)))
(defn render [props]
(q/render (ProjectPackages (merge props {:path (:path @elm-packages)
:packages (:packages @elm-packages)
:on-pkg-refresh on-pkg-refresh
:on-remove on-remove-pkg
:on-browse on-pkg-browse
:on-show-graph on-show-graph
:ac-props {:items (:ac-packages @elm-packages)
:value (:ac-package @elm-packages)
:versions (:ac-versions @elm-packages)
:version (:ac-version @elm-packages)
:on-change on-pkg-change
:on-up on-pkg-up
:on-down on-pkg-down
:on-select on-pkg-sel
:on-blur on-pkg-blur
:on-cancel on-pkg-cancel
:on-change-version on-change-version
:on-add-package on-add-package}
:all-packages (:all-packages @elm-packages)}))
(.getElementById js/document "project-packages-wrapper")))
;; Behaviours and commands
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(behavior ::on-close-project-packages
:triggers #{:close}
:reaction (fn [this]
(tabs/rem! this)))
(behavior ::show-project-packages
:triggers #{:elm.show.project.packages}
:reaction (fn [this path]
(tabs/add-or-focus! elm-packages)
(object/assoc-in! elm-packages [:ac-packages] nil)
(object/assoc-in! elm-packages [:ac-package] nil)
(object/assoc-in! elm-packages [:ac-versions] [])
(object/assoc-in! elm-packages [:ac-version] nil)
(object/assoc-in! elm-packages [:path] path)
(object/assoc-in! elm-packages [:packages] (u/get-project-deps path))
(render {})))
(def elm-packages (object/create ::elm-packages))
;; (doseq [obj (object/by-tag :elm.packages)]
;; (println "Destroying")
;; (object/destroy! obj))
(cmd/command {:command :show-elm-project-packages
:desc "Elm: Show project packages"
:exec (fn []
(when-let [ed (pool/last-active)]
(when-let [path (-> @ed :info :path u/project-path)]
(object/raise elm-packages :elm.show.project.packages path))))})
================================================
FILE: src/lt/plugins/elm_light/repl.cljs
================================================
(ns lt.plugins.elm-light.repl
"Implementation of anyonymous Elm Repl Tab"
(:require [lt.object :as object]
[lt.objs.command :as cmd]
[lt.objs.editor :as editor]
[lt.objs.editor.pool :as pool]
[lt.objs.tabs :as tabs])
(:require-macros [lt.macros :refer [behavior]]))
(behavior ::on-focus-repl-ed
:triggers #{:focus!}
:reaction (fn [this]
(when (:main @this)
(object/raise (:main @this) :focus!))))
(behavior ::repl-destroy-on-close
:triggers #{:close}
:reaction (fn [this]
(object/raise (:main @this) :close)
(object/destroy! this)))
(behavior ::repl-close-parent
:triggers #{:destroy}
:reaction (fn [this]
(object/destroy! (:frame @this))))
(behavior ::on-show-repl-refresh-eds
:triggers #{:show}
:reaction (fn [this]
(when (:main @this)
(object/raise (:main @this) :show)
(object/raise (:main @this) :refresh!)
(editor/focus (:main @this)))))
(object/object* ::elmrepl
:tags #{:elmrepl}
:name "elmrepl"
:live true
:init (fn [this]
(let [main (-> (pool/create {:mime "text/x-elm" :content "" :ns "user"})
(object/remove-tags [:editor.elm])
(object/add-tags [:editor.elm.repl :editor.transient]))]
(object/merge! main {:frame this})
(editor/clear-history main)
(object/merge! main {:dirty false
:editor.generation (editor/->generation main)})
(object/merge! this {:main main
:dirty false})
(editor/+class main :main)
(editor/move-cursor main {:line 0 :ch 0})
[:div.elmrepl
(object/->content main)])))
(defn add-repl []
(let [elmrepl (object/create ::elmrepl)]
(tabs/add! elmrepl)
(tabs/active! elmrepl)
elmrepl))
(cmd/command {:command :elmrepl
:desc "Elm repl: Open a elm repl"
:exec (fn []
(add-repl))})
================================================
FILE: src/lt/plugins/elm_light/selection.cljs
================================================
(ns lt.plugins.elm-light.selection
(:require [lt.objs.editor :as editor]))
(defn indented? [s]
(> (count (re-find #"\s*" s)) 0))
(defn comment-line? [ed l]
(= "comment" (:type (editor/->token ed {:line l :ch 1}))))
(defn no-content-line? [s]
(and (not (nil? s))
(= 0 (count (.trim s)))))
(defn top-level-line? [ed l]
(let [line-str (editor/line ed l)]
(and (not (indented? line-str))
(not (no-content-line? line-str))
(not (comment-line? ed l)))))
(defn get-top-level-line-back [ed pos]
(loop [line (:line pos)]
(cond
(top-level-line? ed line) line
(= 0 line) nil
:else (recur (dec line)))))
(defn get-top-level-line-down [ed start-line]
(let [last-line (editor/last-line ed)]
(loop [line start-line]
(cond
(top-level-line? ed line) line
(= line last-line) nil
:else (recur (inc line))))))
(defn maybe-backup [ed l]
(loop [line l]
(if (or (no-content-line? (editor/line ed line))
(comment-line? ed line))
(recur (dec line))
line)))
(defn get-top-level-expr [ed pos]
(when-let [start-line (get-top-level-line-back ed pos)]
(let [last-line (editor/last-line ed)
end-line (maybe-backup ed
(if (= last-line start-line)
start-line
(if-let [l (get-top-level-line-down ed (inc start-line))]
(dec l)
last-line)))]
{:from {:line start-line :ch 0}
:to {:line end-line :ch (editor/line-length ed end-line)}})))
================================================
FILE: src/lt/plugins/elm_light/test.cljs
================================================
(ns lt.plugins.elm-light.test
(:require [lt.plugins.elm-light.utils :as util]
[lt.plugins.elm-light.clients :as elm-clients]
[lt.plugins.elm-light.elm-ast :as elm-ast]
[lt.objs.console :as console]
[lt.objs.notifos :as notifos]
[lt.object :as object]
[lt.objs.command :as cmd]
[lt.objs.clients :as clients]
[lt.objs.editor :as editor]
[lt.objs.editor.pool :as pool]
[lt.objs.tabs :as tabs]
[lt.objs.statusbar :as statusbar]
[lt.objs.files :as files]
[lt.util.dom :as dom]
[clojure.string :as s]
[clojure.zip :as zip])
(:require-macros [lt.macros :refer [behavior defui]]))
; Setup tests
(def default-test-deps
{:elm-community/elm-test "3.0.0 <= v < 4.0.0"
:rtfeldman/node-test-runner "3.0.0 <= v < 4.0.0"})
(defn ->test-src-dir [src-dir]
(if (= src-dir ".")
"../"
(str "../" src-dir)))
(defn ->test-src-dirs [src-dirs]
(conj (mapv ->test-src-dir src-dirs) "."))
(defn deps->named [deps]
(into {}
(map (fn [[k v]]
[(util/nskw->name k) v]) deps)))
(defn ->test-config [project-cfg]
(-> project-cfg
(update-in [:source-directories] ->test-src-dirs)
(assoc :exposed-modules [])
(update-in [:dependencies] #(merge % default-test-deps))
(update-in [:dependencies] deps->named)))
(defn parse-project-cfg [project-path]
(util/parse-json-file (files/join project-path "elm-package.json")))
(defn save-test-cfg! [path test-cfg]
(->> (util/pretty-json test-cfg)
(files/save path)))
(defn maybe-create-test-path! [project-path]
(let [test-path (files/join project-path "tests")]
(when-not (files/exists? test-path)
(files/mkdir test-path))
test-path))
(defn install-packages! [test-path]
(let [args ["install" "--yes"]
proc (.spawn (js/require "child_process")
"elm-package"
(clj->js args)
#js {:cwd test-path})]
(.stdout.on proc "data" #(println (str "Test package install: " %)))
(.stderr.on proc "data" #(console/error (str %)))
(.on proc "exit" #(if (= % 0 )
(notifos/done-working "Successfully configured elm test")
(notifos/set-msg! "Error installing test elm packages" {:class "error" :timeout 5000})))
nil))
(defn maybe-add-templates [test-path]
(let [templ-dir (files/join util/elm-plugin-dir "templates/test")
runner (files/join templ-dir "Main.elm")
tests (files/join templ-dir "Tests.elm")]
(when-not (files/exists? (files/join test-path "Main.elm"))
(files/copy runner (files/join test-path "Main.elm")))
(when-not (files/exists? (files/join test-path "Tests.elm"))
(files/copy tests (files/join test-path "Tests.elm")))))
(defn setup-test [project-path]
(when-let [project-cfg (parse-project-cfg project-path)]
(notifos/working "Init elm test config")
(let [test-path (maybe-create-test-path! project-path)
test-cfg-path (files/join test-path "elm-package.json")]
(maybe-add-templates test-path)
(->> (->test-config project-cfg)
(save-test-cfg! test-cfg-path))
(install-packages! test-path))))
; --- ZIPPERS FOR GROUPING TESTS
(defn- z-top [zloc]
(->> (iterate zip/up zloc)
(take-while identity)
last))
(defn- z-find-by-label [label zloc]
(->> (iterate zip/next zloc)
(take-while identity)
(take-while (complement zip/end?))
(filter #(= label (zip/node %)))
first))
(defn- suitify-test [{:keys [labels failures]}]
(let [[head & tail] labels
root (zip/vector-zip [head])]
(-> (reduce (fn [zloc label]
(-> (zip/append-child zloc [label])
zip/down
zip/right))
root
tail)
(zip/append-child {:failures failures})
z-top)))
(defn- add-test-to-suite [{:keys [zloc labels]} {:keys [failures]}]
(let [[head & tail] labels
root (when (seq labels)
(-> (zip/rightmost zloc)
(zip/insert-right [head])
zip/right)) ]
(if (seq labels)
(-> (reduce (fn [zl label]
(-> (zip/append-child zl [label])
zip/down
zip/right))
root
tail)
(zip/append-child {:failures failures})
z-top)
;; Just append the failures all labels are similar to get here...
(let [z-failures (zip/right zloc)
curr-fails (-> (zip/node z-failures) :failures)]
(->> {:failures (concat curr-fails failures)}
(zip/replace z-failures)
z-top)))))
(defn- find-branch [zloc-suite labels]
(loop [zloc zloc-suite
lbls labels]
(let [branch (z-find-by-label (first lbls) zloc)]
(cond
(and branch
(or (not (second lbls))
(and (second lbls)
(nil? (z-find-by-label (second lbls) branch)))))
{:zloc branch :labels (drop 1 lbls)}
(nil? branch)
nil
branch
(recur branch (drop 1 lbls))))))
(defn group-tests [tests]
(reduce (fn [acc t]
(let [prev (last acc)]
(if-not prev
(conj acc (suitify-test t))
(if-let [branch (find-branch prev (:labels t))]
(-> (drop-last acc)
vec
(conj (add-test-to-suite branch t)))
(conj acc (suitify-test t))))))
[]
tests))
;; (let [sample1 {:labels ["oxfordify" "given a sentence with multiple items" "returns an oxford-style sentence"] :failures ["failure 1"]}
;; sample2 {:labels ["oxfordify" "given a sentence with multiple items" "returns an oxford-style sentence"] :failures ["failure 2"]}]
;; (let [suite1 (suitify-test sample1)]
;; (add-test-to-suite (find-branch suite1 (:labels sample2))
;; sample2)))
(declare dashboard)
(defn- get-status-count [status items]
(->> (filter #(= status (:status %)) items)
count))
(defui wrapper []
[:div.elmtest-dashboard
[:h1.title "Elm Test Dashboard"]
[:div.project-container "Project stuff here"]
[:div.result-container "Placeholder for results"]])
(defui loader []
[:div.bubblingG
[:span {:id "bubblingG_1"}]
[:span {:id "bubblingG_2"}]
[:span {:id "bubblingG_3"}]])
(defui testprogress-ui [this {:keys [labels status] :as evt}]
(let [testCount (or (-> @this :start :testCount) 0)
progress (str (count (:tests @this)) "/" testCount)
test-name (s/join " -> " labels)
clazz (if (:failures? @this) "error" "ok")
failed (get-status-count "fail" (:tests @this))
passed (get-status-count "pass" (:tests @this))
duration (if (= "runComplete" (:event evt))
(:duration evt)
(->> (map #(-> (:duration %) int) (-> @this :tests))
(reduce +)))]
[:div.test-progress
[:div.summary
[:div.summary-item
[:label "Runs:"]
[:span progress]]
[:div.summary-item
[:label "Passed:"]
[:span passed]]
[:div.summary-item
[:label "Failed:"]
[:span failed]]
[:div.summary-item
[:label "Seed:"]
[:span (-> @this :start :initialSeed)]]
[:div.summary-item
[:label "Duration:"]
[:span (str duration " ms")]]]
[:div.progress
[:progress {:value (count (:tests @this)) :max testCount :class clazz}]]
[:p.curr-test (when-not (s/blank? test-name) (str "(" test-name ")"))]]))
(defui failure-item [{:keys [given actual] :as failure}]
[:div
(when-not (s/blank? given)
[:div.given
[:label "Given: "]
[:span given]])
[:pre actual]])
(defui dufus-ui [nd]
[:ul
[:li
[:span.test-label (str (first nd))]
(if (map? (second nd))
(map failure-item (:failures (second nd)))
(map dufus-ui (drop 1 nd))
)
]])
(defui failed-test-ui [z-failed-test]
[:li
(dufus-ui (zip/node z-failed-test))])
(defui failed-tests-ui [failed-tests & ldr]
(let [grouped (group-tests failed-tests)]
[:div.test-failures
[:h2 "Test Failures"]
[:ul
(when ldr
ldr)
(map failed-test-ui grouped)]]))
(defui project-ui [this]
(let [proj-path (util/project-path (:file @this))
proj-name (str (last (files/path-segs proj-path)) (files/basename proj-path))]
[:div.project-container
[:h1 proj-name]]))
(behavior ::on-close-destroy
:triggers #{:close}
:reaction (fn [this]
(when-let [ts (:lt.objs.tabs/tabset @this)]
(when (= (count (:objs @ts)) 1)
(tabs/rem-tabset ts)))
(object/raise this :destroy)))
(behavior ::on-testrun-init
:triggers #{:elm.test.init}
:reaction (fn [this path]
(let [result-container (dom/$ :div.result-container (:content @this))
proj-container (dom/$ :div.project-container (:content @this))]
(object/assoc-in! this [:start] nil)
(object/assoc-in! this [:tests] [])
(object/assoc-in! this [:failures?] nil)
(object/assoc-in! this [:file] path)
(dom/replace-with proj-container (project-ui this))
(dom/empty result-container)
(dom/append result-container (testprogress-ui this {}))
(dom/append result-container (failed-tests-ui [] (loader)))
;; TODO: Show some initial message, maybe which file is used ?
)))
(defn- log-end [failures? {:keys [passed failed duration] :as evt}]
(let [summary (str "Test run completed in " duration "ms. Results: "
passed " passed, "
failed " failed")]
(console/log summary {:class "error"})
(notifos/msg* summary
{:class (if failures? "error" "")
:timeout 5000})))
(defn handle-end [this {:keys [passed failed duration] :as evt}]
(dom/replace-with (dom/$ :div.test-progress (:content @this))
(testprogress-ui this evt ))
(log-end (:failures? @this) evt))
(defn- log-test-failures [failures? {:keys [labels failures]}]
(let [test-name (s/join " -> " labels)]
(notifos/msg* test-name {:class (if failures "error" "")})
(console/log test-name {:class "error"})
(doseq [failure failures]
(when-not (s/blank? (:given failure))
(console/log (str "Given: " (:given failure))))
(console/log (str (:actual failure) "\n\n") {:class "error"}))))
(defn- handle-test-result [this {:keys [labels status failures] :as evt}]
(object/update! this [:tests] conj evt)
(when (= "fail" status)
(object/assoc-in! this [:failures?] true)
(log-test-failures (:failures? @this) evt))
(let [container (dom/$ :div.result-container (:content @this))
failed-tests (->> (:tests @this)
(filter #(= "fail" (:status %))))]
;(println "Failed tests: " failed-tests)
(dom/empty container)
(dom/append container (testprogress-ui this evt))
(dom/append container (failed-tests-ui failed-tests))))
(defn- log-start [evt]
(notifos/set-msg! ("About to run " (:testCount evt) " Elm tests")))
(defn- handle-start [this evt]
(let [container (dom/$ :div.result-container (:content @this))]
(dom/empty container)
(dom/append container (testprogress-ui this evt))
(dom/append container (failed-tests-ui [] (loader)))
(object/assoc-in! this [:start] evt)
(log-start evt)
;(dom/append container (testinit-ui))
))
(defn create-suite
"Create a test suite on the fly for running elm tests"
[suite-name project-tests]
(let [imports (->> (map :module-name project-tests)
set
(s/join "\nimport ")
(str "import "))
tests (->> (map #(str (:module-name %) "." (:value %)) project-tests)
(s/join ","))]
(str
"port module " suite-name " exposing (..)
import Test.Runner.Node exposing (run)
import Json.Encode exposing (Value)
import Test"
"\n" imports "\n"
"main : Test.Runner.Node.TestProgram
main =
run emit <| Test.concat [" tests "]
port emit : ( String, Value ) -> Cmd msg")))
(behavior ::elm-test-result
:triggers #{:elm.test.result}
:desc "Elm test result event"
:reaction (fn [this res]
(case (:event res)
"runStart"
(handle-start this res)
"testCompleted"
(handle-test-result this res)
"runComplete"
(handle-end this res)
(println "Unknown messsage: " res))))
(behavior ::elm-test-error
:triggers #{:elm.test.error}
:desc "Elm test error"
:reaction (fn [this err]
(let [container (dom/$ :div.result-container (:content @this))]
(dom/empty container)
(dom/append container (testprogress-ui this {}))
(dom/append container (failed-tests-ui [])))
(console/error (:message err))))
(object/object* ::dashboard
:tags #{:elm.test.dashboard}
:name "Elm Test Dashboard"
:label "Elm Test Dashboard"
:init (fn [this]
(wrapper)))
(def dashboard (object/create ::dashboard))
;; (doseq [obj (object/by-tag :elm.test.dashboard)]
;; (println "Destroying")
;; (object/destroy! obj))
(behavior ::elm-test
:triggers #{:elm.test}
:desc "Run all Elm tests in your test project"
:reaction (fn [ed]
(let [{:keys [info]} @ed]
; (notifos/working "Initiate elm tests...")
(tabs/add-or-focus! dashboard)
(object/raise dashboard :elm.test.init (:path info))
(clients/send (elm-clients/get-eval-client ed :elm.test)
:elm.test
{:file (-> @ed :info :path)}
:only dashboard))))
(defn- get-applicable-tests [{:keys [pos path suite-type]}]
(let [project-path (util/project-path path)]
(case (keyword suite-type)
:all
(elm-ast/get-project-tests project-path)
:single
(elm-ast/get-test-by-pos pos project-path path)
:module
(elm-ast/get-module-tests project-path path)
[])))
(behavior ::elm-test-suite
:triggers #{:elm.test.suite.start}
:desc "Start test suite, now that project is connected"
:reaction (fn [ed msg]
(let [project-path (util/project-path (-> @ed :info :path))
project-tests (get-applicable-tests msg)
suite-name (str "ElmTempTestSuite" (rand-int 1000000))]
(if (seq project-tests)
(clients/send (elm-clients/get-eval-client ed :elm.test.suite)
:elm.test.suite
{:module suite-name
:suite (create-suite suite-name project-tests)}
:only dashboard)
(do
(let [container (dom/$ :div.result-container (:content @dashboard))]
(dom/empty container)
(dom/append container (testprogress-ui dashboard {}))
(dom/append container (failed-tests-ui [])))
(notifos/set-msg! "No tests found for project / given selection"))))))
(defn- ast-pass-through [this ed msg]
(clients/send
(elm-clients/get-eval-client ed :editor.elm.ast.passthrough)
:editor.elm.ast.passthrough
msg
:only this))
(defn- check-elm-version [proj-path]
(let [elm-v (util/get-elm-version)]
(if-not (util/ver-LTE? "0.18.0" elm-v)
(do
(console/error (str "Test feature requires elm 0.18.0, but current elm version is: " elm-v))
(notifos/set-msg! (str "Test feature requires elm 0.18.0, but current elm version is: " elm-v)
{:class "error"})
false)
(let [[ok? bounds] (util/project-satisfies-version? "0.18.0" proj-path)]
(if ok?
true
(do
(console/error (str "Elm test requires elm version 0.18.0 or higher but project has: " bounds))
(notifos/set-msg! (str "Elm test requires elm version 0.18.0 or higher but project has: " bounds) {:class "error"})
false))))))
;(check-elm-version)
(behavior ::elm-test-suite.init
:triggers #{:elm.test.suite.init}
:desc "Initialize run of test suite"
:reaction (fn [ed suite-type]
(when-let [proj-path (util/project-path (-> @ed :info :path))]
(when (check-elm-version proj-path)
(let [{:keys [info]} @ed
pos (editor/->cursor ed)]
; (notifos/working "Initiate elm tests...")
(tabs/add-or-focus! dashboard)
(object/raise dashboard :elm.test.init (:path info))
(ast-pass-through ed
ed
{:target :elm.test.suite.start
:data {:pos pos
:path (:path info)
:suite-type suite-type}}))))))
(behavior ::elm-test-setup
:triggers #{:elm.test.setup}
:reaction (fn [ed]
(when-let [prj-path (util/project-path (-> @ed :info :path))]
(when (check-elm-version prj-path)
(setup-test prj-path)))))
(cmd/command {:command :elm.test.suite
:desc "Elm: Test All"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.test.suite.init :all)))})
(cmd/command {:command :elm.test.module
:desc "Elm: Test Module"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.test.suite.init :module)))})
(cmd/command {:command :elm.test.single
:desc "Elm: Test Current"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.test.suite.init :single)))})
(cmd/command {:command :elm.test.setup
:desc "Elm: Test Setup"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.test.setup)))})
================================================
FILE: src/lt/plugins/elm_light/usages.cljs
================================================
(ns lt.plugins.elm-light.usages
(:require [lt.plugins.elm-light.elm-ast :as ast]
[lt.plugins.elm-light.utils :as util]
[lt.plugins.elm-light.clients :as elm-client]
[lt.objs.clients :as clients]
[lt.objs.console :as console]
[lt.objs.notifos :as notifos]
[lt.object :as object]
[lt.objs.tabs :as tabs]
[lt.objs.editor :as editor]
[lt.objs.editor.pool :as pool]
[lt.objs.files :as files]
[lt.util.dom :as dom]
[crate.core :as crate]
[lt.objs.command :as cmd]
[lt.objs.jump-stack :as jumper]
[lt.objs.context :as ctx]
[clojure.string :as s])
(:require-macros [lt.macros :refer [defui behavior]]))
(declare elm-usages)
(defui wrapper [this]
[:div {:class "search-results elm-usages"}
[:ul.res
]
[:div.searcher
[:p ""]]])
(defui loader []
[:div.bubblingG
[:span {:id "bubblingG_1"}]
[:span {:id "bubblingG_2"}]
[:span {:id "bubblingG_3"}]])
(defn- highlight [line sym]
(-> line
(s/replace (re-pattern (str "\\b" sym "\\b")) (str "" sym ""))
(.substring 0 150)))
(defn open-hit [file hit]
(cmd/exec! :open-path file)
(let [ed (pool/last-active)]
(editor/move-cursor ed (:start hit))))
(defui hit-entry [sym file hit]
[:p {:class "entry"}
[:span.line (str (-> hit :start :line) "," (-> hit :start :ch))]
[:pre (crate/raw
(highlight (:line hit) sym))]]
:click (fn []
(open-hit file hit)))
(defui module-item
[sym
{:keys [file] :as module}]
[:li
[:p.path [:span.file (files/basename file)] "(" (files/parent file) ")"]
(map #(hit-entry sym file %) (:hits module))])
(defui search-results
[{:keys [usages-per-module candidate]}]
[:ul.res
(map #(module-item (:value candidate) %) usages-per-module)])
(defn- count-hits [mods]
(->> (mapcat :hits mods)
count))
(defui candidate-link [candidate]
[:span.link
(str (:value candidate) " (" (:module-name candidate) ")")]
:click (fn []
(cmd/exec! :open-path (:file candidate))
(let [ed (pool/last-active)]
(editor/move-cursor ed (-> candidate :location ast/->range :start)))))
(defui searcher
[{:keys [usages-per-module candidate token]}]
[:div.searcher
[:p (crate/raw
(str "Found "
(count-hits usages-per-module)
" usages for "))
(if candidate
(candidate-link candidate)
[:span [:strong token]])]
[:div.signature
(or
(-> candidate :annotation :signatureRaw)
(-> candidate :signatureRaw)
(-> candidate :paramsRaw))]])
(defn show-results [this res]
(let [container (object/->content this)
results-ul (dom/$ :ul.res container)
searcher-ui (dom/$ :div.searcher container)]
(dom/replace-with results-ul (search-results res))
(dom/replace-with searcher-ui (searcher res))))
(defn add-or-focus! [obj]
(let [next-ts (tabs/next-tabset (ctx/->obj :tabset))
prev-ts (tabs/prev-tabset (ctx/->obj :tabset))]
(when-not (tabs/in-tab? obj)
(cond
next-ts
(tabs/add! obj next-ts)
prev-ts
(tabs/add! obj prev-ts)
:else
(let [ts (tabs/spawn-tabset)]
(tabs/equalize-tabset-widths)
(tabs/add! obj ts))))
(tabs/active! obj)))
(defn- ast-pass-through [this ed msg]
(clients/send
(elm-client/get-eval-client ed :editor.elm.ast.passthrough)
:editor.elm.ast.passthrough
msg
:only this))
(behavior ::elm.find-usages.complete
:triggers #{:elm.find-usages.complete}
:reaction (fn [this {:keys [token path project-path]}]
(show-results this
(ast/find-usages token
project-path
path))
(notifos/done-working)))
(behavior ::elm.find-usages
:triggers #{:elm.find-usages}
:reaction (fn [this ed token]
(notifos/working (str "Finding usages for " token) )
(let [path (-> @ed :info :path)]
(add-or-focus! elm-usages)
(object/raise this :clear!)
(ast-pass-through this
ed
{:target :elm.find-usages.complete
:data {:token token
:path path
:project-path (util/project-path path)}}))))
(behavior ::on-close
:triggers #{:close}
:reaction (fn [this]
(tabs/rem! this)))
(behavior ::clear!
:triggers #{:clear!}
:reaction (fn [this]
(dom/empty (dom/$ :ul.res (object/->content this)))
(dom/empty (dom/$ :div.searcher (object/->content this)))
(dom/append (dom/$ :div.searcher (object/->content this))
(loader))))
(object/object* ::elm-usages
:tags #{:elm.usages}
:label "Elm usages"
:name "Elm usages"
:init (fn [this]
(wrapper this)))
(def elm-usages
(object/create ::elm-usages))
;; (doseq [obj (object/by-tag :elm.usages)]
;; (println "Destroying")
;; (object/destroy! obj))
(cmd/command {:command :elm-find-usages
:desc "Elm: Find usages of symbol at cursor"
:exec (fn []
(when-let [ed (pool/last-active)]
(when-let [token (util/find-symbol ed (editor/->cursor ed))]
(object/raise elm-usages :elm.find-usages ed token))))})
================================================
FILE: src/lt/plugins/elm_light/utils.cljs
================================================
(ns lt.plugins.elm-light.utils
(:require [lt.objs.files :as files]
[lt.objs.editor :as editor]
[lt.objs.editor.pool :as pool]
[lt.objs.plugins :as plugins]
[lt.object :as object]
[fetch.core :as fetch]
[lt.util.dom :as dom]
[clojure.string :as s]))
(def elm-plugin-dir (plugins/find-plugin "elm-light"))
(def cp (js/require "child_process"))
(def marked (js/require (files/join elm-plugin-dir "node_modules" "marked")))
(def pattern #"^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$")
(defn get-elm-version []
(try
(s/trim (.toString (.execSync cp "elm --version" #js {:stdio "pipe"})))
(catch :default e
(console/error "elm command not found in path")
nil)))
(defn try-parse-int [o]
(try
(js/parseInt o)
(catch :default e o)))
(defn parse-version [s]
(let [[[_ major minor patch pre-release build]] (re-seq pattern s)]
{:major (try-parse-int major)
:minor (try-parse-int minor)
:patch (try-parse-int patch)
:pre-release pre-release
:build build}))
(defn compare-versions [a b]
(let [key-for-ident #(when %
(into [] (map try-parse-int (s/split % #"\."))))
kay (juxt :major
:minor
:patch
#(nil? (% :pre-release))
#(key-for-ident (:pre-release %))
#(key-for-ident (:build %)))]
(compare (kay (parse-version a))
(kay (parse-version b)))))
(defn ver-GT? [a b]
(pos? (compare-versions a b)))
(defn ver-LT? [a b]
(neg? (compare-versions a b)))
(defn ver-EQ? [a b]
(zero? (compare-versions a b)))
(defn ver-LTE? [a b]
(or
(ver-LT? a b)
(ver-EQ? a b)))
(defn parse-bounds-op [op]
(if (= "<" op) ver-LT? ver-LTE?))
(defn parse-version-bounds [bounds-str]
(let [[lower lower-op _ upper-op upper] (s/split bounds-str " ")]
{:lower lower
:lower-op (parse-bounds-op lower-op)
:upper upper
:upper-op (parse-bounds-op upper-op)}))
(defn satisfies-version [v-str bounds-str]
(let [{:keys [lower lower-op upper upper-op]} (parse-version-bounds bounds-str)]
(and (lower-op lower v-str)
(upper-op v-str upper))))
(defn str-contains [s v]
(> (.indexOf s v) -1))
(defn find-symbol [ed pos]
(let [curr-tok (editor/->token ed pos)]
(case (:type curr-tok)
"def" (str (find-symbol ed (assoc pos :ch (:start curr-tok))) (:string curr-tok))
"keyword" (str (find-symbol ed (assoc pos :ch (:start curr-tok))) (:string curr-tok))
"qualifier" (str (find-symbol ed (assoc pos :ch (:start curr-tok))) (:string curr-tok))
"variable" (str (find-symbol ed (assoc pos :ch (:start curr-tok))) (:string curr-tok))
"variable-2" (str (find-symbol ed (assoc pos :ch (:start curr-tok))) (:string curr-tok))
"variable-3" (str (find-symbol ed (assoc pos :ch (:start curr-tok))) (:string curr-tok))
"builtin" (str (find-symbol ed (assoc pos :ch (:start curr-tok))) (:string curr-tok))
"")))
(defn project-path [path]
(if (files/dir? path)
path
(if-let [pkg-json (files/walk-up-find path "elm-package.json")]
(files/parent pkg-json)
nil ;(files/parent path)
)))
(defn reactor-path [path]
(let [root (project-path path)]
(when (= (.indexOf path root) 0)
(subs path (count root)))))
(defn parse-json-file [json-file]
(when (files/exists? json-file)
(-> (->> (files/open-sync json-file)
:content
(.parse js/JSON))
(js->clj :keywordize-keys true))))
(defn pretty-json [data]
(.stringify js/JSON (clj->js data) null 4))
(defn nskw->name [kw]
(str (namespace kw) "/" (name kw)))
(defn get-project-deps [project-path]
(let [pkg-json (files/join project-path "elm-package.json")
deps-json (files/join project-path "elm-stuff" "exact-dependencies.json")]
(->> (parse-json-file pkg-json)
:dependencies
(mapv (fn [[k v]]
{:package (nskw->name k) :range v}))
(concat (->> (parse-json-file deps-json)
(mapv (fn [[k v]]
{:package (nskw->name k) :exact v}))))
(group-by :package)
(mapv (fn [[_ vs]] (apply merge vs))))))
(defn valid-project-elm-version [project-path]
(let [elm (get-elm-version)
json (parse-json-file (files/join project-path "elm-package.json"))
v-bounds (:elm-version json)]
(if (and elm json v-bounds)
(if (satisfies-version elm v-bounds)
[true nil]
[false (str "Invalid elm-version for project: " v-bounds ", but currently installed elm platform is in version: " elm)])
[false "Error checking elm version constraint"])))
(defn project-satisfies-version? [version project-path]
(let [json (parse-json-file (files/join project-path "elm-package.json"))
v-bounds (:elm-version json)]
(if (and version json v-bounds)
(if (satisfies-version version v-bounds)
[true nil]
[false v-bounds])
(do
(console/error "Error checking elm version constraints.")
[false v-bounds]))))
;(project-satisfies-version? "0.19.0" "/Users/mrundberget/projects/elm-docker-cloud")
;(valid-project-elm-version "/Users/mrundberget/projects/elm-docker-cloud")
(defn fetch-all-packages
"Fetch all packages from package.elm-lang.org"
[callback]
(fetch/xhr (str "http://package.elm-lang.org/all-packages?date=" (.getTime (new js/Date)))
{}
(fn [data]
(let [pkgs (js->clj (.parse js/JSON data) :keywordize-keys true)]
(callback pkgs)))))
(defn mod-js->clj
"Recursively transforms JavaScript arrays into ClojureScript
vectors, and JavaScript objects into ClojureScript maps. With
option ':keywordize-keys true' will convert object fields from
strings to keywords."
([x] (mod-js->clj3 x {:keywordize-keys false}))
([x & opts]
(cond
(satisfies? IEncodeClojure x)
(-js->clj x (apply array-map opts))
(seq opts)
(let [{:keys [keywordize-keys]} opts
keyfn (if keywordize-keys keyword str)
f (fn thisfn [x]
(cond
(seq? x)
(doall (map thisfn x))
(coll? x)
(into (empty x) (map thisfn x))
(array? x)
(persistent!
(reduce #(conj! %1 (thisfn %2))
(transient []) x))
(identical? (type x) js/Object)
(persistent!
(reduce (fn [r k] (assoc! r (keyfn k) (thisfn (aget x k))))
(transient {}) (js-keys x)))
:else x))]
(f x)))))
================================================
FILE: src/lt/plugins/elm_light/widgets/selector.cljs
================================================
(ns lt.plugins.elm-light.widgets.selector
"Drop down select widget positioned absolutely in editor at given line/ch"
(:require [lt.object :as object]
[lt.objs.command :as cmd]
[lt.objs.editor.pool :as pool]
[lt.objs.editor :as editor]
[lt.objs.files :as files]
[lt.util.dom :as dom]
[clojure.string :as s])
(:require-macros [lt.macros :refer [defui behavior]]))
(defn remove-form [this]
;;"Hacky solution to try and address race conflict between keydown and blur"
(when-not (:deleted @this)
(object/merge! this {:deleted true})
(object/destroy! this)))
(defui select-item [this idx item]
[:option {:value idx
:selected (= idx 0)} (if (map? item) (:label item) item)])
(defui select-form [this items]
[:div.elm-select
[:select {:size (count items)}
(map-indexed (partial select-item this) items)]])
(defn on-keydown [this ed ev]
(let [kc (.-keyCode ev)
el (.-target ev)]
(cond
(or (= 13 kc) (= 9 kc)) (do
(dom/stop-propagation ev)
(dom/prevent ev)
(let [idx (.-value (dom/$ "option:checked" el))
item (nth (vec (:items @this)) idx)
the-ed (:ed @this)
beh (:behavior @this)]
(object/raise the-ed beh item)
(remove-form this)))
(= 27 kc) (do
(dom/stop-propagation ev)
(dom/prevent ev)
(remove-form this)
(editor/focus ed)))))
(object/object* ::elm-selector
:triggers #{:click :clear!}
:tags #{:inline :inline.elm.selector}
:init (fn [this info]
(when-let [ed (editor/->cm-ed (:ed info))]
(object/merge! this info)
(let [content (select-form this (:items info))]
(dom/on (dom/$ :select content) "blur"
(fn []
;(println "Remove from blur")
(remove-form this)))
(dom/on content "keydown" (partial on-keydown this ed))
(dom/val (dom/$ :option content) 0)
(js/CodeMirror.positionHint ed content (:line (:pos info)))
(dom/focus (dom/$ :select content))
content))))
(defn make
"Create a selector. It expects a map with the following keys
:ed - the editor the selector is used by
:pos - Where to position the selector
:Items - List of items , if item is a map it must have a :label key used for display in the dropdown
:behavior - The behavior to be raise when an item is selected. It will pass the item back"
[info]
(object/create ::elm-selector info))
================================================
FILE: src/lt/plugins/elm_light.cljs
================================================
(ns lt.plugins.elm-light
(:require [lt.plugins.elm-light.selection :as elm-sel]
[lt.plugins.elm-light.utils :refer [find-symbol project-path reactor-path parse-json-file str-contains]]
[lt.plugins.elm-light.clients :refer [try-connect get-eval-client get-eval-client-if-connected elm]]
[lt.plugins.elm-light.elm-ast :as elm-ast]
[lt.plugins.elm-light.linter :as linter]
[lt.plugins.elm-light.gutter :as gutter]
[lt.plugins.elm-light.widgets.selector :as selector]
[lt.plugins.elm-light.repl]
[lt.object :as object]
[lt.objs.command :as cmd]
[lt.objs.editor.pool :as pool]
[lt.objs.editor :as editor]
[lt.objs.tabs :as tabs]
[lt.objs.notifos :as notifos]
[lt.objs.console :as console]
[lt.objs.clients :as clients]
[lt.objs.popup :as popup]
[lt.objs.files :as files]
[lt.objs.browser :as browser]
[lt.objs.eval :as eval]
[lt.objs.sidebar.clients :as scl]
[lt.util.js :as js-util]
[clojure.string :as s])
(:require-macros [lt.macros :refer [behavior]]))
(behavior ::elm-unsupported
:triggers #{:elm.unsupported}
:reaction (fn [_ res]
(notifos/done-working)
(notifos/set-msg! (:err res) {:class "error"})))
(defn colorize-msg [msg]
(-> msg
(s/replace #"\[\d+m" "")
(s/replace #"\[0m" "")))
(defn ->lt-range [{:keys [start end]}]
{:from {:ch (dec (:column start)) :line (dec (:line start))}
:to {:ch (dec (:column end)) :line (dec (:line end))}})
(defn- maybe-trim [ss]
(when ss
(s/trim ss)))
(defn- str-contains? [source target]
(when (and source target)
(< -1 (.indexOf source target))))
(defn- maybe-strip-hint [source]
(when source
(if (str-contains? source "Hint:")
(-> (re-find #"(?m)([\s\S]*?(?=Hint:))" source)
first
s/trim)
source)))
(defn linter-action [ed row]
(case (:tag row)
"unused import" [{:text "Remove"
:action (fn [_ {:keys [from to]}]
(editor/replace ed from to "")
(js/CodeMirror.commands.deleteLine (editor/->cm-ed ed)))}]
"missing type annotation" [{:text "Add"
:action (fn [{:keys [details]} {:keys [from]}]
(let [ann (-> (re-find #"(?m)I inferred the type annotation so you can copy it into your code:([\s\S]*$)" details)
second
s/trim
(str "\n"))]
(editor/replace ed from ann)))}]
"NAMING ERROR" (let [fixes (->> (re-find #"(?m)Maybe you want one of the following\?(:?[\s\S]*$)" (:details row))
second
(s/split-lines)
(map s/trim)
(filter seq))]
(map
(fn [suggestion]
{:text suggestion
:action (fn [_ {:keys [from to]}]
(editor/replace ed from to suggestion))})
fixes))
"TYPE MISMATCH" (let [ann (-> (re-find #"(?m)But I am inferring that the definition has this type:([\s\S]*$)" (:details row))
second
maybe-trim
maybe-strip-hint)]
(if (and ann (not (str-contains? ann "...")))
[{:text "Fix annotation"
:action (fn [_ {:keys [from to]}]
(editor/replace ed from to ann))}]
;; TODO: Could potentially handle typo's in records here too, but need to reliably find what the annotation belogs too (:
[]))
[]))
(defn display-make-results [ed res path]
(object/raise ed :clear-linter-results!)
(when (seq (filter #(= "error" (:type %)) res))
(notifos/set-msg! "Elm make returned errors; check you editor or the console for details"
{:class "error"}))
(doseq [{:keys [file type overview details region subregion tag] :as row} res]
(let [msg (str overview "\n" (colorize-msg details))]
(cond
(and (= path file)
(some #{"warning" "error"} [type]))
(object/raise ed :linter-result! {:title tag
:details msg
:category (keyword type)
:actions (linter-action ed row)
:code-range (->lt-range (or subregion region))})
:else (console/verbatim
(list [:em.file file] [:em.line "[Elm error]"] ": " [:pre overview]) "error")))))
(behavior ::lint
:description "Lint (/make) a given elm file"
:triggers #{:lint}
:reaction (fn [ed result-handler-trigger]
(let [info (:info @ed) ]
(notifos/working (str "Starting elm linting of: " (:path info)))
(clients/send (get-eval-client ed :editor.elm.lint)
:editor.elm.lint
(assoc info :project-path (project-path (:path info))
:handler (name result-handler-trigger))
:only ed))))
(behavior ::elm-lint-res
:triggers #{:elm.lint.res}
:reaction (fn [ed res]
(let [path (-> @ed :info :path)]
(notifos/done-working "Elm linted")
(display-make-results ed res path))))
(behavior ::make
:description "Make (to js) a given elm file"
:triggers #{:elm.make}
:reaction (fn [ed]
(let [info (:info @ed)
cl (get-eval-client ed :editor.elm.make)]
(notifos/working (str "Starting elm make for: " (:path info)))
(clients/send cl
:editor.elm.make (assoc info :project-path (project-path (:path info)))
:only ed))))
(defn missing-make-info-popup []
(popup/popup! {:header "You need to configure make info for your project"
:body (str "You configure a key \"make-info\" in your elm-package.json
Example:
\"make-info\": {\"main\": \"src/Main.elm\", \"out\": \"dist/main.js\"}")
:buttons [{:label "Ok"}]}))
(behavior ::make-project
:description "Make Elm Project"
:triggers #{:elm.make-project}
:reaction (fn [ed]
(let [info (:info @ed)
project-path (project-path (:path info))
{:keys [main out]} (-> project-path
(files/join "elm-package.json")
parse-json-file
:make-info)]
(if (and main out)
(do
(notifos/working (str "Starting elm make for project: " project-path))
(clients/send (get-eval-client ed :editor.elm.make)
:editor.elm.make
(assoc info :project-path project-path
:path (files/join project-path main)
:outputFile (files/join project-path out))
:only ed))
(missing-make-info-popup)))))
(behavior ::elm-make-res
:triggers #{:elm.make.res}
:reaction (fn [ed {:keys [outputFile res]}]
(notifos/done-working (str "Elm make compiled to: " outputFile))
(display-make-results ed res path)))
(behavior ::elm-make-err
:triggers #{:elm.make.err}
:reaction (fn [ed res]
(let [path (-> @ed :info :path)]
(notifos/done-working "")
(notifos/set-msg! (str "Elm make error: " res) {:class "error"})
(console/error res))))
;;****************************************************
;; Eval
;;****************************************************
(behavior ::on-eval.one
:desc "Elm repl: Eval current selection"
:triggers #{:eval.one}
:reaction (fn [ed]
(let [pos (editor/->cursor ed)
info (conj (:info @ed)
(if (editor/selection? ed)
{:code (editor/selection ed) :meta {:start (-> (editor/->cursor ed "start") :line)
:end (-> (editor/->cursor ed "end") :line)}}
(if-let [rng (elm-sel/get-top-level-expr ed pos)]
{:pos pos
:code (editor/range ed (:from rng) (:to rng))
:meta {:start (-> rng :from :line)
:end (-> rng :end :line)}}
{:pos pos
:code (editor/line ed (:line pos))
:meta {:start (:line pos) :end (:line pos)}})))]
(object/raise elm :eval! {:origin ed :info info}))))
(behavior ::eval-result
:desc "Elm repl: Eval result"
:triggers #{:editor.elm.eval.res}
:reaction (fn [ed res]
(notifos/done-working "Elm evaluated")
(object/raise ed
:editor.result
(:result res)
{:line (-> res :meta :start)})))
(behavior ::eval-err
:desc "Elm repl: Eval error"
:triggers #{:editor.elm.eval.err}
:reaction (fn [ed res]
(notifos/done-working)
(notifos/set-msg! "Elm eval reported errors." {:class "error"})
(object/raise ed
:editor.exception
(:result res)
{:line (-> res :meta :start)})))
(behavior ::repl-restart!
:triggers #{:elm.repl.restart}
:reaction (fn [{:keys [info] :as ed}]
(when-let [default-client (-> @ed :client :default)] ;; dont if not already connected
(when @default-client
(notifos/working "Restaring elm-repl...")
(clients/send default-client
:elm.repl.restart info
:only ed)))))
(behavior ::repl-restart-res
:triggers #{:elm.repl.restart.res}
:reaction (fn [ed res]
(notifos/done-working "Elm Repl restarted")))
;TODO : Make debug optional !
(behavior ::elm-browse!
:triggers #{:elm.browse}
:reaction (fn [ed debug?]
(let [path (reactor-path (-> @ed :info :path))
client (get-eval-client ed :editor.eval.elm)]
(when (and client path)
(notifos/working "Opening elm file in browser")
(let [b (or (first (object/by-tag :browser))
(browser/add))
get-url #(str "http://localhost:" (:reactor-port @client) path (if debug? "?debug" ""))]
(if (:connected @client)
(object/raise b :navigate! (get-url))
(js-util/wait 100 #(object/raise b :navigate! (get-url)))))
(notifos/done-working)))))
;;****************************************************
;; DOCS
;;****************************************************
(behavior ::elm-doc-search
:triggers #{:types+}
:reaction (fn [this cur]
(conj cur {:label "elm" :trigger :docs.elm.search :file-types #{"elm"}})))
;;****************************************************
;; NEW AST Based features
;;****************************************************
(defn- get-editor-client [ed]
(when-let [default-client (-> @ed :client :default)]
(when @default-client
default-client)))
(defn- location->pos [loc]
{:line (-> loc :start :line dec)
:ch (-> loc :start :column dec)})
(defn- ast-pass-through [ed msg]
(clients/send
(get-eval-client ed :editor.elm.ast.passthrough)
:editor.elm.ast.passthrough
msg
:only ed))
(behavior ::elm-reload-ast
:triggers #{:elm.reload-ast}
:reaction (fn [ed]
(let [project (project-path (-> @ed :info :path))]
(notifos/working (str "Init reload of ast for project: " project))
(elm-ast/delete-project-ast! project)
(clients/send
(get-eval-client ed :elm.reload.ast)
:elm.reload.ast
{}
:only ed))))
(behavior ::elm-reload-ast-started
:triggers #{:elm.ast.reload.started}
:reaction (fn [ed]
(notifos/done-working "Parsing ast started")))
(behavior ::elm-jump-to-definition-start
:triggers #{:editor.jump-to-definition-at-cursor!}
:reaction (fn [ed]
(notifos/working (str "Initiate jump to definition"))
(if-let [default-client (get-editor-client ed)]
(object/raise ed :editor.elm.jump-to-definition {})
(ast-pass-through ed {:target :editor.elm.jump-to-definition
:data {}}))))
(behavior ::elm-jump-to-definition
:triggers #{:editor.elm.jump-to-definition}
:reaction (fn [ed data]
(notifos/done-working "")
(let [pos (editor/->cursor ed)
token (find-symbol ed pos)
path (-> @ed :info :path)]
(when token
(when-let [target (elm-ast/get-jump-to-definition token pos path (project-path path))]
(when (:file target)
(object/raise lt.objs.jump-stack/jump-stack
:jump-stack.push!
ed
(:file target)
(location->pos (:location target)))))))))
(behavior ::elm-doc-start
:triggers #{:editor.doc}
:reaction (fn [ed]
(notifos/working (str "Initiate show doc"))
(if-let [default-client (get-editor-client ed)]
(object/raise ed :editor.elm.doc {})
(ast-pass-through ed {:target :editor.elm.doc
:data {}}))))
(behavior ::elm-doc
:triggers #{:editor.elm.doc}
:reaction (fn [ed]
(let [pos (editor/->cursor ed)
token (find-symbol ed pos)
path (-> @ed :info :path)]
(when token
(notifos/done-working ""))
(when-let [target (elm-ast/get-jump-to-definition token
pos
path
(project-path path))]
(object/raise ed
:editor.elm.doc.show!
{:name (str (:module-name target)
(when (:module-name target) ".")
(:value target)
(when-let [pck (:package target)]
(str " (" (:name pck) " " (:version pck) ")")))
:args (or
(-> target :annotation :signatureRaw)
(-> target :signatureRaw)
(-> target :paramsRaw))
:doc (when-let [doc (:doc target)]
(.trim doc))
:loc pos})))))
(behavior ::elm-parse-editor-on-change
:desc "Parse a connected elm editor on content change"
:triggers #{:change}
:debounce 300
:reaction (fn [ed]
(object/raise ed :elm.parse.editor)))
(behavior ::elm-parse-editor
:desc "Initiate parsing of the content/elm code of the given editor"
:triggers #{:elm.parse.editor :focus :project-connected }
:reaction (fn [ed]
(when (not (str-contains (-> @ed :info :path) "elm-stuff"))
(let [client (get-eval-client-if-connected ed :editor.elm.ast.parsetext)
path (-> @ed :info :path)]
(when (and client
(= (pool/last-active) ed)
(not (str-contains path "elm-stuff")))
(clients/send client
:editor.elm.ast.parsetext
{:code (editor/->val ed)}
:only ed))))))
(behavior ::elm-editor-disconnected
:desc "Clean up state when project connection for an editor has been disconnected"
:triggers #{:project-disconnected}
:reaction (fn [ed]
(do
(object/raise ed :clear-linter-results!)
(object/update! ed [:ast-status] assoc :status nil :error nil)
(elm-ast/update-status-for-editor ed)
(object/raise ed :elm.gutter.exposeds.mark))))
(behavior ::elm-parse-editor-result
:desc "Handle parse results for a parsed editors content"
:triggers #{:editor.elm.ast.parsetext.result}
:reaction (fn [ed res]
(if-let [error (:error res)]
(do
(object/update! ed [:ast-status] assoc :status :error :error error)
(object/raise ed :elm.gutter.refresh))
(let [path (-> @ed :info :path)]
(object/update! ed [:ast-status] assoc :status :ok :error nil)
;; Is this really safe to do ?!
(elm-ast/upsert-ast! (-> (get-editor-client ed) deref :dir)
{:file path
:ast (:ast res)})
(object/raise ed :elm.gutter.exposeds.mark)))
(elm-ast/update-status-for-editor ed)))
;;************ Refactoring behaviors ****************
(defn- cm-pos->pos [cm-pos]
{:ch (.-ch cm-pos)
:line (.-line cm-pos)})
(defn- safe-move-cursor [ed bm pos]
(if-let [bm-pos (.find bm)]
(editor/move-cursor ed (cm-pos->pos bm-pos))
(editor/move-cursor ed pos)))
(behavior ::elm-expose-top-level
:desc "Behavior to expose top level Elm declaration"
:triggers #{:elm.expose.top.level}
:reaction (fn [ed]
(let [path (-> @ed :info :path)
prj-path (project-path path)
module (elm-ast/get-module-ast prj-path path)
exposing (-> module :ast :moduleDeclaration :exposing)]
(when exposing
(when-let [decl (elm-ast/find-top-level-declaration-by-pos
(editor/->cursor ed)
module)]
(when-not (elm-ast/exposed-by-module? module (:value decl))
(let [{:keys [start end]} (elm-ast/->range (:location exposing))
upd-exp (elm-ast/expose-decl decl exposing)
pos (editor/->cursor ed)
bm (editor/bookmark ed pos)]
(editor/replace ed
start
end
(elm-ast/print-exposing upd-exp))
(safe-move-cursor ed bm pos))))))))
(behavior ::elm-unexpose-top-level
:desc "Behavior to unexpose top level Elm declaration"
:triggers #{:elm.unexpose.top.level}
:reaction (fn [ed]
(let [path (-> @ed :info :path)
prj-path (project-path path)
module (elm-ast/get-module-ast prj-path path)
exposing (-> module :ast :moduleDeclaration :exposing)]
(when exposing
(when-let [decl (elm-ast/find-top-level-declaration-by-pos
(editor/->cursor ed)
module)]
(when (and (elm-ast/exposed-by-module? module (:value decl))
(not (elm-ast/exposeAll? exposing)))
(let [{:keys [start end]} (elm-ast/->range (:location exposing))
upd-exp (elm-ast/unexpose-decl decl exposing)
pos (editor/->cursor ed)
bm (editor/bookmark ed pos)]
(editor/replace ed
start
end
(elm-ast/print-exposing upd-exp))
(safe-move-cursor ed bm pos))))))))
(behavior ::elm-sort-imports
:desc "Behavior to sort import declarations for given Elm editor"
:triggers #{:elm.sort.imports}
:reaction (fn [ed]
(let [path (-> @ed :info :path)
prj-path (project-path path)
module (elm-ast/get-module-ast prj-path path)
imports (-> module :ast :imports :imports)
location (-> module :ast :imports :location)]
(when (seq imports)
(let [{:keys [start end]} (elm-ast/->range location)
pos (editor/->cursor ed)
bm (editor/bookmark ed (editor/->cursor ed))]
(editor/replace ed
start
end
(elm-ast/print-imports
(partial elm-ast/sort-imports-default prj-path)
imports))
(safe-move-cursor ed bm pos))))))
(behavior ::elm-autoimport-module-selected
:desc "Behaviour triggered when user selects a module in select for autoimport suggestions"
:triggers #{:elm.autoimport.module.selected}
:reaction (fn [ed item]
(let [path (-> @ed :info :path)
prj-path (project-path path)
pos (editor/->cursor ed)
bm (editor/bookmark ed pos)
token (find-symbol ed pos)
aliaz (-> (s/split token #"\.") first)
module (elm-ast/get-module-ast prj-path path)
imports (-> module :ast :imports :imports)
{:keys [start end]} (-> module
:ast
:imports
:location
elm-ast/->range)]
(let [upd-imports (elm-ast/upsert-imports (:module-name item)
aliaz
imports)]
(editor/replace ed
start
end
(elm-ast/print-imports
(partial elm-ast/sort-imports-default prj-path)
upd-imports))
(safe-move-cursor ed bm pos)
(editor/focus ed)))))
(behavior ::elm-autoimport-module-init
:desc "Behaviour triggered when user tries to autoimport module for an aliased declaration"
:triggers #{:elm.autoimport.module.init}
:reaction (fn [ed]
(let [path (-> @ed :info :path)
pos (editor/->cursor ed)
token (find-symbol ed pos)
token-parts (if token (s/split token #"\.") [])]
(when (and (= 2 (count token-parts))
(re-find #"[A-Z].*" (first token-parts)))
(let [candidates (->> (elm-ast/get-autoimport-candidates (first token-parts)
(second token-parts)
path
(project-path path))
(map #(assoc % :label (str (:module-name %)
(when-let [pck (:package %)]
(str " (" (:name pck) ")"))))))]
(cond
(= 1 (count candidates))
(object/raise ed
:elm.autoimport.module.selected
(first candidates))
(< 0 (count candidates))
(selector/make {:ed ed
:pos pos
:behavior :elm.autoimport.module.selected
:items candidates})
:else nil))))))
;; Commands
(cmd/command {:command :elm.reload.ast
:desc "Elm: Load/Reload project AST"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.reload-ast)))})
(cmd/command {:command :elm.lint
:desc "Elm: Lint selected file"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :lint :elm.lint.res)))})
(cmd/command {:command :elm.make
:desc "Elm: Make selected file"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.make)))})
(cmd/command {:command :elm.make-project
:desc "Elm: Make current project"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.make-project)))})
(cmd/command {:command :elm.browse
:desc "Elm: View current elm file in browser (elm-reactor)"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.browse false)))})
(cmd/command {:command :elm.restart-repl
:desc "Elm: Restart repl for current project"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.repl.restart)))})
(cmd/command {:command :elm.expose-top-level
:desc "Elm: Expose top level definition"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.expose.top.level)))})
(cmd/command {:command :elm.unexpose-top-level
:desc "Elm: Un-expose top level definition"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.unexpose.top.level)))})
(cmd/command {:command :elm.autoimport.module
:desc "Elm: Autoimport module"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.autoimport.module.init)))})
(cmd/command {:command :elm.sort.imports
:desc "Elm: Sort imports"
:exec (fn []
(when-let [ed (pool/last-active)]
(object/raise ed :elm.sort.imports)))})
(cmd/command {:command :elm.help
:desc "Elm: Help !"
:exec (fn []
(when-let [ed (pool/last-active)]
(let [b (browser/add)]
(object/raise b :navigate! "https://rundis.gitbooks.io/elm-light-guide/content/"))))})
(cmd/command {:command :elm.select.top.level
:desc "Elm: Select top level expression from current cursor position"
:exec (fn []
(when-let [ed (pool/last-active)]
(when-let [rng (elm-sel/get-top-level-expr ed (editor/->cursor ed))]
(editor/set-selection ed (:from rng) (:to rng)))))})
================================================
FILE: templates/test/Main.elm
================================================
port module Main exposing (..)
import Tests
import Test.Runner.Node exposing (run, TestProgram)
import Json.Encode exposing (Value)
main : TestProgram
main =
run emit Tests.all
port emit : ( String, Value ) -> Cmd msg
================================================
FILE: templates/test/Tests.elm
================================================
module Tests exposing (..)
import Test exposing (..)
import Expect
import Fuzz exposing (list, int, tuple, string)
import String
all : Test
all =
describe "Sample Test Suite"
[ describe "Unit test examples"
[ test "Addition" <|
\() ->
Expect.equal (3 + 7) 10
, test "String.left" <|
\() ->
Expect.equal "a" (String.left 1 "abcdefg")
, test "This test should fail - you should remove it" <|
\() ->
Expect.fail "Failed as expected!"
]
, describe "Fuzz test examples, using randomly generated input"
[ fuzz (list int) "Lists always have positive length" <|
\aList ->
List.length aList |> Expect.atLeast 0
, fuzz (list int) "Sorting a list does not change its length" <|
\aList ->
List.sort aList |> List.length |> Expect.equal (List.length aList)
, fuzzWith { runs = 1000 } int "List.member will find an integer in a list containing it" <|
\i ->
List.member i [ i ] |> Expect.true "If you see this, List.member returned False!"
, fuzz2 string string "The length of a string equals the sum of its substrings' lengths" <|
\s1 s2 ->
s1 ++ s2 |> String.length |> Expect.equal (String.length s1 + String.length s2)
]
]