(List (AndOr OP_OR_IF (DBracket {B2 BINARY_STRING_EQUAL {[VarSub OSTYPE]} {[LIT_OTHER "*"] [LIT_CHARS linux] [LIT_OTHER "*"]}}) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) (AndOr OP_AND_IF (FunctionDef _route [] (List (= scope= flags=0 words=[{[LIT_CHARS cur]}, {[LIT_CHARS prev]}, {[LIT_CHARS words]}, {[LIT_CHARS cword]}] bindings=[]) (AndOr OP_OR_IF (Com {[LIT_CHARS _init_completion]} ) (Com {[LIT_CHARS return]} ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub prev]} {[LIT_CHARS dev]}}) (List (Com {[LIT_CHARS _available_interfaces]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) ) (= scope= flags=0 words=[{[LIT_CHARS opt]}, {[LIT_CHARS found]}, {[LIT_CHARS i]}] bindings=[]) (For opt [{[LIT_CHARS add]}, {[LIT_CHARS del]}, {[LIT_CHARS -host]}, {[LIT_CHARS -net]}, {[LIT_CHARS netmask]}, {[LIT_CHARS metric]}, {[LIT_CHARS mss]}, {[LIT_CHARS window]}, {[LIT_CHARS irtt]}, {[LIT_CHARS reject]}, {[LIT_CHARS mod]}, {[LIT_CHARS dyn]}, {[LIT_CHARS reinstate]}, {[LIT_CHARS dev]}, {[LIT_CHARS default]}, {[LIT_CHARS gw]}]) (List (= scope= flags=0 words=[] bindings=[('found', {[LIT_CHARS false]})]) (ForExpr {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}} {A2 AS_OP_LESS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub words bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[(#len)]]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}} {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} } (AndOr OP_AND_IF (DBracket {B2 BINARY_STRING_EQUAL {[VarSub words bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})]} {[VarSub opt]}}) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('found', {[LIT_CHARS true]})]) (Com {[LIT_CHARS break]} ) ) ) ) (AndOr OP_OR_IF (Com {[VarSub found]} ) (Com {[LIT_CHARS COMPREPLY] [LIT_DBRACKET_LIKE "["] [VarSub COMPREPLY bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[(#len)]] [LIT_DBRACKET_LIKE "]="] [DQ [VarSub opt]]} ) ) ) ) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) ) ) (Com {[LIT_CHARS complete]} {[LIT_CHARS -F]} {[LIT_CHARS _route]} {[LIT_CHARS route]} ) ) )