// Compiled by ClojureScript 1.10.520 {}
goog.provide('weathergen.dtc');
goog.require('cljs.core');
goog.require('clojure.string');
goog.require('cljs.spec.alpha');
goog.require('taoensso.timbre');
weathergen.dtc.number = (function weathergen$dtc$number(s){
return (new Number(s)).valueOf();
});
weathergen.dtc.integer = (function weathergen$dtc$integer(s){
return cljs.core.long$.call(null,s);
});
weathergen.dtc.stpt_action = cljs.core.PersistentHashMap.fromArrays([(0),(7),(20),(1),(24),(4),(-1),(15),(21),(13),(22),(6),(25),(17),(3),(12),(2),(23),(19),(11),(9),(5),(14),(26),(16),(10),(18),(8)],[new cljs.core.Keyword(null,"nav","nav",719540477),new cljs.core.Keyword(null,"land","land",-1402569867),new cljs.core.Keyword(null,"elint","elint",1374102625),new cljs.core.Keyword(null,"takeoff","takeoff",719937767),new cljs.core.Keyword(null,"tanker","tanker",932081370),new cljs.core.Keyword(null,"refuel","refuel",184033462),new cljs.core.Keyword(null,"none","none",1333468478),new cljs.core.Keyword(null,"strike","strike",-1173815471),new cljs.core.Keyword(null,"recon","recon",-745027378),new cljs.core.Keyword(null,"intercept","intercept",-2141938204),new cljs.core.Keyword(null,"rescue","rescue",1135767523),new cljs.core.Keyword(null,"pickup","pickup",1997454190),new cljs.core.Keyword(null,"airdrop","airdrop",-534117642),new cljs.core.Keyword(null,"strike","strike",-1173815471),new cljs.core.Keyword(null,"split","split",-599435118),new cljs.core.Keyword(null,"cap","cap",-817621587),new cljs.core.Keyword(null,"push","push",799791267),new cljs.core.Keyword(null,"asw","asw",1486545956),new cljs.core.Keyword(null,"sead","sead",821421771),new cljs.core.Keyword(null,"sweep","sweep",-50871214),new cljs.core.Keyword(null,"cas-contact","cas-contact",1257981390),new cljs.core.Keyword(null,"rearm","rearm",-408770249),new cljs.core.Keyword(null,"strike","strike",-1173815471),new cljs.core.Keyword(null,"jam","jam",-1572859399),new cljs.core.Keyword(null,"strike","strike",-1173815471),new cljs.core.Keyword(null,"escort","escort",-1921119179),new cljs.core.Keyword(null,"bomb","bomb",-1302543521),new cljs.core.Keyword(null,"holding-point","holding-point",-8249469)]);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818),new cljs.core.Symbol("cljs.core","number?","cljs.core/number?",-811857295,null),cljs.core.number_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)], null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__40565){
return cljs.core.map_QMARK_.call(null,G__40565);
}),(function (G__40565){
return cljs.core.contains_QMARK_.call(null,G__40565,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566));
}),(function (G__40565){
return cljs.core.contains_QMARK_.call(null,G__40565,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375));
}),(function (G__40565){
return cljs.core.contains_QMARK_.call(null,G__40565,new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818));
})], null),(function (G__40565){
return ((cljs.core.map_QMARK_.call(null,G__40565)) && (cljs.core.contains_QMARK_.call(null,G__40565,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566))) && (cljs.core.contains_QMARK_.call(null,G__40565,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375))) && (cljs.core.contains_QMARK_.call(null,G__40565,new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818)))], null),null])));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","and","cljs.spec.alpha/and",-2060279705,null),new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.list(new cljs.core.Symbol("cljs.core","complement","cljs.core/complement",-498493640,null),new cljs.core.Symbol("cljs.core","neg?","cljs.core/neg?",2002812728,null))),cljs.spec.alpha.and_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("cljs.core","integer?","cljs.core/integer?",1710697810,null),cljs.core.list(new cljs.core.Symbol("cljs.core","complement","cljs.core/complement",-498493640,null),new cljs.core.Symbol("cljs.core","neg?","cljs.core/neg?",2002812728,null))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.integer_QMARK_,cljs.core.complement.call(null,cljs.core.neg_QMARK_)], null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","nilable","cljs.spec.alpha/nilable",1628308748,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),cljs.core.list(new cljs.core.Symbol("cljs.core","->","cljs.core/->",1488366311,null),new cljs.core.Symbol("weathergen.dtc","stpt-action","weathergen.dtc/stpt-action",913350624,null),new cljs.core.Symbol("cljs.core","vals","cljs.core/vals",1473678353,null),new cljs.core.Symbol("cljs.core","set","cljs.core/set",724680876,null)),new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null))),cljs.spec.alpha.nilable_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","or","cljs.spec.alpha/or",-831679639,null),new cljs.core.Keyword(null,"keyword","keyword",811389747),cljs.core.list(new cljs.core.Symbol("cljs.core","->","cljs.core/->",1488366311,null),new cljs.core.Symbol("weathergen.dtc","stpt-action","weathergen.dtc/stpt-action",913350624,null),new cljs.core.Symbol("cljs.core","vals","cljs.core/vals",1473678353,null),new cljs.core.Symbol("cljs.core","set","cljs.core/set",724680876,null)),new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.or_spec_impl.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Keyword(null,"string","string",-1989541586)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","->","cljs.core/->",1488366311,null),new cljs.core.Symbol("weathergen.dtc","stpt-action","weathergen.dtc/stpt-action",913350624,null),new cljs.core.Symbol("cljs.core","vals","cljs.core/vals",1473678353,null),new cljs.core.Symbol("cljs.core","set","cljs.core/set",724680876,null)),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.set.call(null,cljs.core.vals.call(null,weathergen.dtc.stpt_action)),cljs.core.string_QMARK_], null),null),null));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null),cljs.core.string_QMARK_);
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529),new cljs.core.Symbol("cljs.core","boolean?","cljs.core/boolean?",1400713761,null),cljs.core.boolean_QMARK_);
weathergen.dtc.target = cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__40566){
return cljs.core.map_QMARK_.call(null,G__40566);
}),(function (G__40566){
return cljs.core.contains_QMARK_.call(null,G__40566,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125));
}),(function (G__40566){
return cljs.core.contains_QMARK_.call(null,G__40566,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945));
})], null),(function (G__40566){
return ((cljs.core.map_QMARK_.call(null,G__40566)) && (cljs.core.contains_QMARK_.call(null,G__40566,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))) && (cljs.core.contains_QMARK_.call(null,G__40566,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))));
}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)))], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529)], null)]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null),weathergen.dtc.target));
weathergen.dtc.line = cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__40567){
return cljs.core.map_QMARK_.call(null,G__40567);
}),(function (G__40567){
return cljs.core.contains_QMARK_.call(null,G__40567,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125));
}),(function (G__40567){
return cljs.core.contains_QMARK_.call(null,G__40567,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945));
})], null),(function (G__40567){
return ((cljs.core.map_QMARK_.call(null,G__40567)) && (cljs.core.contains_QMARK_.call(null,G__40567,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))) && (cljs.core.contains_QMARK_.call(null,G__40567,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)))], null),null]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),weathergen.dtc.line));
weathergen.dtc.ppt = cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__40568){
return cljs.core.map_QMARK_.call(null,G__40568);
}),(function (G__40568){
return cljs.core.contains_QMARK_.call(null,G__40568,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125));
}),(function (G__40568){
return cljs.core.contains_QMARK_.call(null,G__40568,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945));
}),(function (G__40568){
return cljs.core.contains_QMARK_.call(null,G__40568,new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459));
})], null),(function (G__40568){
return ((cljs.core.map_QMARK_.call(null,G__40568)) && (cljs.core.contains_QMARK_.call(null,G__40568,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))) && (cljs.core.contains_QMARK_.call(null,G__40568,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))) && (cljs.core.contains_QMARK_.call(null,G__40568,new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459))));
}),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586)], null),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459)))], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586)], null)]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null),weathergen.dtc.ppt));
weathergen.dtc.weapon_target = cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__40569){
return cljs.core.map_QMARK_.call(null,G__40569);
}),(function (G__40569){
return cljs.core.contains_QMARK_.call(null,G__40569,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125));
}),(function (G__40569){
return cljs.core.contains_QMARK_.call(null,G__40569,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945));
})], null),(function (G__40569){
return ((cljs.core.map_QMARK_.call(null,G__40569)) && (cljs.core.contains_QMARK_.call(null,G__40569,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))) && (cljs.core.contains_QMARK_.call(null,G__40569,new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945))));
}),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945)))], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600)], null)]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","weapon-targets","weathergen.dtc/weapon-targets",2097083099),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","weapon-target","weathergen.dtc/weapon-target",-502371985,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","weapon-target","weathergen.dtc/weapon-target",-502371985,null),weathergen.dtc.weapon_target));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)], null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__40570){
return cljs.core.map_QMARK_.call(null,G__40570);
}),(function (G__40570){
return cljs.core.contains_QMARK_.call(null,G__40570,new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245));
}),(function (G__40570){
return cljs.core.contains_QMARK_.call(null,G__40570,new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315));
}),(function (G__40570){
return cljs.core.contains_QMARK_.call(null,G__40570,new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652));
})], null),(function (G__40570){
return ((cljs.core.map_QMARK_.call(null,G__40570)) && (cljs.core.contains_QMARK_.call(null,G__40570,new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245))) && (cljs.core.contains_QMARK_.call(null,G__40570,new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315))) && (cljs.core.contains_QMARK_.call(null,G__40570,new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652)))], null),null])));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),"null"], null), null),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),null], null), null));
weathergen.dtc.dtc = cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__40571){
return cljs.core.map_QMARK_.call(null,G__40571);
}),(function (G__40571){
return cljs.core.contains_QMARK_.call(null,G__40571,new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734));
})], null),(function (G__40571){
return ((cljs.core.map_QMARK_.call(null,G__40571)) && (cljs.core.contains_QMARK_.call(null,G__40571,new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734)))], null),null]));
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","parse-stpt-line","weathergen.dtc/parse-stpt-line",580436060,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)], null))),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"line","line",212345235)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.string_QMARK_], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)], null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)], null)),cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__40572){
return cljs.core.map_QMARK_.call(null,G__40572);
}),(function (G__40572){
return cljs.core.contains_QMARK_.call(null,G__40572,new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249));
})], null),(function (G__40572){
return ((cljs.core.map_QMARK_.call(null,G__40572)) && (cljs.core.contains_QMARK_.call(null,G__40572,new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)))], null),null])),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249)], null)),null,null,null));
weathergen.dtc.parse_stpt_line = (function weathergen$dtc$parse_stpt_line(line){
var vec__40573 = clojure.string.split.call(null,line,/=/);
var id = cljs.core.nth.call(null,vec__40573,(0),null);
var v = cljs.core.nth.call(null,vec__40573,(1),null);
var vec__40576 = clojure.string.split.call(null,id,/_/);
var category = cljs.core.nth.call(null,vec__40576,(0),null);
var num_str = cljs.core.nth.call(null,vec__40576,(1),null);
var G__40579 = category;
switch (G__40579) {
case "target":
var vec__40580 = cljs.core.map.call(null,clojure.string.trim,clojure.string.split.call(null,v,/,/));
var x_str = cljs.core.nth.call(null,vec__40580,(0),null);
var y_str = cljs.core.nth.call(null,vec__40580,(1),null);
var z_str = cljs.core.nth.call(null,vec__40580,(2),null);
var action_str = cljs.core.nth.call(null,vec__40580,(3),null);
var comment = cljs.core.nth.call(null,vec__40580,(4),null);
var action = (function (){var G__40583 = action_str;
var G__40583__$1 = (((G__40583 == null))?null:weathergen.dtc.number.call(null,G__40583));
if((G__40583__$1 == null)){
return null;
} else {
return cljs.core.long$.call(null,G__40583__$1);
}
})();
return new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),weathergen.dtc.number.call(null,x_str),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),weathergen.dtc.number.call(null,y_str),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818),weathergen.dtc.number.call(null,z_str)], null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),weathergen.dtc.integer.call(null,num_str),new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145),weathergen.dtc.stpt_action.call(null,action,action),new cljs.core.Keyword("weathergen.dtc","comment","weathergen.dtc/comment",-1410310600),comment], null);

break;
case "lineSTPT":
var vec__40584 = cljs.core.map.call(null,clojure.string.trim,clojure.string.split.call(null,v,/,/));
var x_str = cljs.core.nth.call(null,vec__40584,(0),null);
var y_str = cljs.core.nth.call(null,vec__40584,(1),null);
var z_str = cljs.core.nth.call(null,vec__40584,(2),null);
return new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),weathergen.dtc.number.call(null,x_str),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),weathergen.dtc.number.call(null,y_str),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818),weathergen.dtc.number.call(null,z_str)], null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),weathergen.dtc.integer.call(null,num_str)], null);

break;
case "ppt":
var vec__40587 = cljs.core.map.call(null,clojure.string.trim,clojure.string.split.call(null,v,/,/));
var x_str = cljs.core.nth.call(null,vec__40587,(0),null);
var y_str = cljs.core.nth.call(null,vec__40587,(1),null);
var z_str = cljs.core.nth.call(null,vec__40587,(2),null);
var radius = cljs.core.nth.call(null,vec__40587,(3),null);
var threat = cljs.core.nth.call(null,vec__40587,(4),null);
return new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566),weathergen.dtc.number.call(null,x_str),new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375),weathergen.dtc.number.call(null,y_str),new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818),weathergen.dtc.number.call(null,z_str)], null),new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945),weathergen.dtc.integer.call(null,num_str),new cljs.core.Keyword("weathergen.dtc","radius","weathergen.dtc/radius",811087459),weathergen.dtc.number.call(null,radius),new cljs.core.Keyword("weathergen.dtc","threat","weathergen.dtc/threat",149534586),threat], null);

break;
default:
return null;

}
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","parse","weathergen.dtc/parse",-1466316675,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"contents","contents",-1567174023),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"contents","contents",-1567174023),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"contents","contents",-1567174023)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.string_QMARK_], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)], null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"contents","contents",-1567174023),new cljs.core.Symbol("cljs.core","string?","cljs.core/string?",-2072921719,null)),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null),weathergen.dtc.dtc,null,null),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null),null,null,null));
/**
 * Given the contents of an ini file, parse it into its relevant
 *   sections.
 */
weathergen.dtc.parse = (function weathergen$dtc$parse(contents){
return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734),cljs.core.group_by.call(null,new cljs.core.Keyword("weathergen.dtc","category","weathergen.dtc/category",1219007249),cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,weathergen.dtc.parse_stpt_line,cljs.core.take_while.call(null,(function (p1__40592_SHARP_){
return (!(clojure.string.starts_with_QMARK_.call(null,p1__40592_SHARP_,"[")));
}),cljs.core.drop.call(null,(1),cljs.core.drop_while.call(null,(function (p1__40591_SHARP_){
return cljs.core.not_EQ_.call(null,p1__40591_SHARP_,"[STPT]");
}),cljs.core.remove.call(null,cljs.core.empty_QMARK_,cljs.core.map.call(null,clojure.string.trim,clojure.string.split_lines.call(null,contents)))))))))], null);
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","zero-coords?","weathergen.dtc/zero-coords?",-1402825671,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"steerpoint","steerpoint",-402509784),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)], null))),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Symbol("cljs.core","boolean?","cljs.core/boolean?",1400713761,null)),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"steerpoint","steerpoint",-402509784),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)], null))),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"steerpoint","steerpoint",-402509784)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.map_spec_impl.call(null,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"gfn","gfn",791517474),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[null,null,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (G__40593){
return cljs.core.map_QMARK_.call(null,G__40593);
}),(function (G__40593){
return cljs.core.contains_QMARK_.call(null,G__40593,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125));
})], null),(function (G__40593){
return ((cljs.core.map_QMARK_.call(null,G__40593)) && (cljs.core.contains_QMARK_.call(null,G__40593,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125))));
}),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)], null),cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),new cljs.core.Symbol(null,"%","%",-950237169,null))),cljs.core.list(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.list(new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),new cljs.core.Symbol(null,"%","%",-950237169,null),new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)))], null),null]))], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)], null))], null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"steerpoint","steerpoint",-402509784),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","keys","cljs.spec.alpha/keys",1109346032,null),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125)], null))),cljs.spec.alpha.spec_impl.call(null,new cljs.core.Symbol("cljs.core","boolean?","cljs.core/boolean?",1400713761,null),cljs.core.boolean_QMARK_,null,null),new cljs.core.Symbol("cljs.core","boolean?","cljs.core/boolean?",1400713761,null),null,null,null));
/**
 * Returns true if all coordinate elements are zero
 */
weathergen.dtc.zero_coords_QMARK_ = (function weathergen$dtc$zero_coords_QMARK_(p__40594){
var map__40595 = p__40594;
var map__40595__$1 = (((((!((map__40595 == null))))?(((((map__40595.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__40595.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__40595):map__40595);
var coordinates = cljs.core.get.call(null,map__40595__$1,new cljs.core.Keyword("weathergen.dtc","coordinates","weathergen.dtc/coordinates",-1965136125));
var map__40597 = coordinates;
var map__40597__$1 = (((((!((map__40597 == null))))?(((((map__40597.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__40597.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__40597):map__40597);
var x = cljs.core.get.call(null,map__40597__$1,new cljs.core.Keyword("weathergen.dtc","x","weathergen.dtc/x",-384550566));
var y = cljs.core.get.call(null,map__40597__$1,new cljs.core.Keyword("weathergen.dtc","y","weathergen.dtc/y",-474567375));
var z = cljs.core.get.call(null,map__40597__$1,new cljs.core.Keyword("weathergen.dtc","z","weathergen.dtc/z",1291536818));
return (((x === (0))) && ((y === (0))) && ((z === (0))));
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","flight-path","weathergen.dtc/flight-path",2033127162,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null))),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"dtc","dtc",-782550637)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.dtc.dtc], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)], null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null),weathergen.dtc.target),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","target","weathergen.dtc/target",-315914873,null)),null,null,null));
weathergen.dtc.flight_path = (function weathergen$dtc$flight_path(dtc){
var land_QMARK_ = (function (navpoint){
return cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"land","land",-1402569867),new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145).cljs$core$IFn$_invoke$arity$1(navpoint));
});
var targets = new cljs.core.Keyword("weathergen.dtc","targets","weathergen.dtc/targets",203711245).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734).cljs$core$IFn$_invoke$arity$1(dtc));
var navpoints = cljs.core.take_while.call(null,((function (land_QMARK_,targets){
return (function (p1__40599_SHARP_){
return cljs.core.not_EQ_.call(null,new cljs.core.Keyword("weathergen.dtc","action","weathergen.dtc/action",1537999145).cljs$core$IFn$_invoke$arity$1(p1__40599_SHARP_),new cljs.core.Keyword(null,"none","none",1333468478));
});})(land_QMARK_,targets))
,targets);
var G__40603 = navpoints;
var vec__40604 = G__40603;
var seq__40605 = cljs.core.seq.call(null,vec__40604);
var first__40606 = cljs.core.first.call(null,seq__40605);
var seq__40605__$1 = cljs.core.next.call(null,seq__40605);
var point = first__40606;
var more = seq__40605__$1;
var path = cljs.core.PersistentVector.EMPTY;
var landed_QMARK_ = false;
var G__40603__$1 = G__40603;
var path__$1 = path;
var landed_QMARK___$1 = landed_QMARK_;
while(true){
var vec__40610 = G__40603__$1;
var seq__40611 = cljs.core.seq.call(null,vec__40610);
var first__40612 = cljs.core.first.call(null,seq__40611);
var seq__40611__$1 = cljs.core.next.call(null,seq__40611);
var point__$1 = first__40612;
var more__$1 = seq__40611__$1;
var path__$2 = path__$1;
var landed_QMARK___$2 = landed_QMARK___$1;
if(cljs.core.not.call(null,point__$1)){
return path__$2;
} else {
var is_land_QMARK_ = land_QMARK_.call(null,point__$1);
var G__40613 = more__$1;
var G__40614 = cljs.core.conj.call(null,path__$2,((((landed_QMARK___$2) && (is_land_QMARK_)))?cljs.core.assoc.call(null,point__$1,new cljs.core.Keyword("weathergen.dtc","alternate?","weathergen.dtc/alternate?",-1722390529),true):point__$1));
var G__40615 = ((landed_QMARK___$2) || (is_land_QMARK_));
G__40603__$1 = G__40613;
path__$1 = G__40614;
landed_QMARK___$1 = G__40615;
continue;
}
break;
}
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","lines","weathergen.dtc/lines",-1273343117,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(1),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(5)),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(0),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(4))),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"dtc","dtc",-782550637)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.dtc.dtc], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)], null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(1),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(5)),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(0),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(4)),cljs.spec.alpha.every_impl.call(null,cljs.core.list(new cljs.core.Symbol("s","coll-of","s/coll-of",-1705285349,null),new cljs.core.Symbol(null,"line","line",1852876762,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(1),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(5)),cljs.spec.alpha.every_impl.call(null,new cljs.core.Symbol(null,"line","line",1852876762,null),weathergen.dtc.line,new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),(function (G__40617){
return ((cljs.core.coll_QMARK_.call(null,G__40617)) && (((((function (){var or__4131__auto__ = (1);
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return (0);
}
})() <= cljs.core.bounded_count.call(null,((5) + (1))
,G__40617))) && ((cljs.core.bounded_count.call(null,((5) + (1))
,G__40617) <= (function (){var or__4131__auto__ = (5);
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return (9007199254740991);
}
})())))));
}),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(1),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(5),new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),true,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(1),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(5))], null),null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null,new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),(function (G__40616){
return ((cljs.core.coll_QMARK_.call(null,G__40616)) && (((((function (){var or__4131__auto__ = (0);
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return (0);
}
})() <= cljs.core.bounded_count.call(null,((4) + (1))
,G__40616))) && ((cljs.core.bounded_count.call(null,((4) + (1))
,G__40616) <= (function (){var or__4131__auto__ = (4);
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return (9007199254740991);
}
})())))));
}),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(0),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(4),new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),true,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(1),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(5)),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(0),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(4))], null),null),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),new cljs.core.Symbol("weathergen.dtc","line","weathergen.dtc/line",-496557539,null),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(1),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(5)),new cljs.core.Keyword(null,"min-count","min-count",1594709013),(0),new cljs.core.Keyword(null,"max-count","max-count",1539185305),(4)),null,null,null));
/**
 * Returns a description of the steerpoint lines (e.g. tanker area) in
 *   the DTC.
 */
weathergen.dtc.lines = (function weathergen$dtc$lines(dtc){
return cljs.core.map.call(null,cljs.core.second,cljs.core.sort_by.call(null,cljs.core.first,cljs.core.group_by.call(null,(function (p1__40618_SHARP_){
return (cljs.core.long$.call(null,(new cljs.core.Keyword("weathergen.dtc","ordinal","weathergen.dtc/ordinal",1230503945).cljs$core$IFn$_invoke$arity$1(p1__40618_SHARP_) / (5))) + (1));
}),cljs.core.remove.call(null,weathergen.dtc.zero_coords_QMARK_,new cljs.core.Keyword("weathergen.dtc","lines","weathergen.dtc/lines",1381092652).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734).cljs$core$IFn$_invoke$arity$1(dtc))))));
});
cljs.spec.alpha.def_impl.call(null,new cljs.core.Symbol("weathergen.dtc","ppts","weathergen.dtc/ppts",-1641398454,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","fspec","cljs.spec.alpha/fspec",-1289128341,null),new cljs.core.Keyword(null,"args","args",1315556576),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),new cljs.core.Keyword(null,"ret","ret",-468222814),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null))),cljs.spec.alpha.fspec_impl.call(null,cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.cat_impl.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"dtc","dtc",-782550637)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [weathergen.dtc.dtc], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)], null)),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","cat","cljs.spec.alpha/cat",-1471398329,null),new cljs.core.Keyword(null,"dtc","dtc",-782550637),new cljs.core.Symbol("weathergen.dtc","dtc","weathergen.dtc/dtc",-1088799717,null)),cljs.spec.alpha.spec_impl.call(null,cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null)),cljs.spec.alpha.rep_impl.call(null,new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null),weathergen.dtc.ppt),null,null),cljs.core.list(new cljs.core.Symbol("cljs.spec.alpha","*","cljs.spec.alpha/*",-1238084288,null),new cljs.core.Symbol("weathergen.dtc","ppt","weathergen.dtc/ppt",266871180,null)),null,null,null));
/**
 * Returns a description of the pre-planned threats in the DTC.
 */
weathergen.dtc.ppts = (function weathergen$dtc$ppts(dtc){
return cljs.core.remove.call(null,weathergen.dtc.zero_coords_QMARK_,new cljs.core.Keyword("weathergen.dtc","ppts","weathergen.dtc/ppts",1013037315).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword("weathergen.dtc","steerpoints","weathergen.dtc/steerpoints",-1460776734).cljs$core$IFn$_invoke$arity$1(dtc)));
});
