fn centers(orbiting: &HashMap<String, String>, outermost: &String) -> Vec<String> {
    let mut satellite = Some(outermost);
    let mut cntrs = Vec::new();
    while let Some(sat) = satellite {
        cntrs.push(sat.clone());
        satellite = orbiting.get(sat);
    }
    cntrs
}
// Body centers, from outermost satellite body to world center body
Body centers, from outermost satellite body to world center body
Body centers from outermost satellite body to world center body
fn centers(orbiting: &HashMap<String, String>, outermost: &String) -> Vec<String> {
    let mut satellite = Some(outermost);
    let mut cntrs = Vec::new();
    while let Some(sat) = satellite {
        cntrs.push(sat.clone());
        satellite = orbiting.get(sat);
    }
    cntrs
}
fn centers ( orbiting : & HashMap < String , String > , outermost : & String ) -> Vec < String > { let mut satellite = Some ( outermost ) ; let mut cntrs = Vec :: new ( ) ; while let Some ( sat ) = satellite { cntrs . push ( sat . clone ( ) ) ; satellite = orbiting . get ( sat ) ; } cntrs }
Body centers, from outermost satellite body to world center body
Body centers from outermost satellite body to world center body
orbiting
&HashMap<String, String>
outermost
&String
orbiting
&HashMap<String, String>
outermost
&String