QADBFM3CVFGBTTRANM2E3MI7M5N4W7CAMA2EVTUYQ2GGUF4CQFIQC
for {
select {
case elem := <-route:
if elem == oldRoot {
break
}
for i, a := range g.arcs {
if a.to == elem {
route <- a.from
a.to, a.from = a.from, a.to
ret.arcs[i] = a
}
for route != oldRoot && route != "" {
for i, a := range g.arcs {
if a.to == route {
route = a.from
a.to, a.from = a.from, a.to
ret.arcs[i] = a