(List (AndOr OP_AND_IF (Com {[LIT_CHARS _have]} {[LIT_CHARS grep-status]} ) (AndOr OP_OR_IF (FunctionDef _comp_dpkg_installed_packages [] (Com {[LIT_CHARS grep-status]} {[LIT_CHARS -P]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "^"][VarSub 1]]} {[LIT_CHARS -a]} {[LIT_CHARS -FStatus]} {[SQ ]} {[LIT_CHARS -n]} {[LIT_CHARS -s]} {[LIT_CHARS Package]} ) ) (FunctionDef _comp_dpkg_installed_packages [] (Pipeline (Com {[LIT_CHARS command]} {[LIT_CHARS grep]} {[LIT_CHARS -A]} {[LIT_CHARS 1]} {[DQ [LIT_CHARS "Package: "][VarSub 1]]} {[LIT_CHARS /var/lib/dpkg/status]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Com {[LIT_CHARS command]} {[LIT_CHARS grep]} {[LIT_CHARS -B]} {[LIT_CHARS 1]} {[LIT_CHARS -Ee]} {[DQ [LIT_CHARS "ok installed|half-installed|unpacked| "][LIT_CHARS " half-configured"]]} {[LIT_CHARS -Ee]} {[DQ [LIT_CHARS "^Essential: yes"]]} ) (Com {[LIT_CHARS awk]} {[DQ [LIT_CHARS "/Package: "][VarSub 1][LIT_CHARS "/ { print "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "2 }"]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) ) ) ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS _have]} {[LIT_CHARS grep-status]} ) (AndOr OP_OR_IF (FunctionDef _comp_dpkg_purgeable_packages [] (Com {[LIT_CHARS grep-status]} {[LIT_CHARS -P]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "^"][VarSub 1]]} {[LIT_CHARS -a]} {[LIT_CHARS -FStatus]} {[SQ ]} {[LIT_CHARS -o]} {[LIT_CHARS -FStatus]} {[SQ ]} {[LIT_CHARS -n]} {[LIT_CHARS -s]} {[LIT_CHARS Package]} ) ) (FunctionDef _comp_dpkg_purgeable_packages [] (Pipeline (Com {[LIT_CHARS command]} {[LIT_CHARS grep]} {[LIT_CHARS -A]} {[LIT_CHARS 1]} {[DQ [LIT_CHARS "Package: "][VarSub 1]]} {[LIT_CHARS /var/lib/dpkg/status]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Com {[LIT_CHARS command]} {[LIT_CHARS grep]} {[LIT_CHARS -B]} {[LIT_CHARS 1]} {[LIT_CHARS -Ee]} {[DQ [LIT_CHARS "ok installed|half-installed|unpacked| "][LIT_CHARS " half-configured|config-files"]]} {[LIT_CHARS -Ee]} {[DQ [LIT_CHARS "^Essential: yes"]]} ) (Com {[LIT_CHARS awk]} {[DQ [LIT_CHARS "/Package: "][VarSub 1][LIT_CHARS "/ { print "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "2 }"]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) ) ) ) ) (AndOr OP_AND_IF (FunctionDef _dpkg [] (List (= scope= flags=0 words=[{[LIT_CHARS cur]}, {[LIT_CHARS prev]}, {[LIT_CHARS words]}, {[LIT_CHARS cword]}, {[LIT_CHARS split]}] bindings=[]) (AndOr OP_OR_IF (Com {[LIT_CHARS _init_completion]} {[LIT_CHARS -s]} ) (Com {[LIT_CHARS return]} ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS _expand]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) (= scope= flags=0 words=[] bindings=[('i', {[VarSub cword]})]) (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[VarSub cur]} {[LIT_CHARS -] [LIT_OTHER "*"]}}) (While (DBracket {B? LOGICAL_BINARY_AND {B2 BINARY_STRING_NOT_EQUAL {[VarSub prev]} {[LIT_CHARS -] [LIT_OTHER "*"]}} {B2 BINARY_INT_NE {[VarSub i]} {[LIT_CHARS 1]}}}) (List (= scope= flags=0 words=[] bindings=[('i', {[ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) (= scope= flags=0 words=[] bindings=[('prev', {[VarSub words bracket_op=(Index {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}})]})]) ) ) ) (Case to_match={[VarSub prev]}, pat_word_list=[[{[LIT_CHARS -c]}, {[LIT_CHARS -i]}, {[LIT_CHARS -A]}, {[LIT_CHARS -I]}, {[LIT_CHARS -f]}, {[LIT_CHARS -e]}, {[LIT_CHARS -x]}, {[LIT_CHARS -X]}, {[LIT_CHARS -W]}, {[LIT_CHARS --install]}, {[LIT_CHARS --unpack]}, {[LIT_CHARS --record-avail]}, {[LIT_CHARS --contents]}, {[LIT_CHARS --info]}, {[LIT_CHARS --fsys-tarfile]}, {[LIT_CHARS --field]}, {[LIT_CHARS --control]}, {[LIT_CHARS --extract]}, {[LIT_CHARS --show]}], [{[LIT_CHARS -b]}, {[LIT_CHARS --build]}], [{[LIT_CHARS -s]}, {[LIT_CHARS -p]}, {[LIT_CHARS -l]}, {[LIT_CHARS --status]}, {[LIT_CHARS --print-avail]}, {[LIT_CHARS --list]}], [{[LIT_CHARS -S]}, {[LIT_CHARS --search]}], [{[LIT_CHARS -r]}, {[LIT_CHARS --remove]}], [{[LIT_CHARS -L]}, {[LIT_CHARS -P]}, {[LIT_CHARS --listfiles]}, {[LIT_CHARS --purge]}]] (List (Com {[LIT_CHARS _filedir]} {[SQ ]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) (List (Com {[LIT_CHARS _filedir]} {[LIT_CHARS -d]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) (List (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS apt-cache]} {[LIT_CHARS pkgnames]} {[DQ [VarSub cur]]})]}]})]) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) (List (Com {[LIT_CHARS _filedir]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) (List (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS _comp_dpkg_installed_packages]} {[DQ [VarSub cur]]})]}]})]) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) (List (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS _comp_dpkg_purgeable_packages]} {[DQ [VarSub cur]]})]}]})]) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) ) (AndOr OP_AND_IF (Com {[VarSub split]} ) (Com {[LIT_CHARS return]} ) ) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) (AndOr OP_AND_IF (DBracket {B2 BINARY_STRING_EQUAL {[VarSub COMPREPLY]} {[LIT_OTHER "*"] [LIT_DBRACKET_LIKE "="]}}) (Com {[LIT_CHARS compopt]} {[LIT_CHARS -o]} {[LIT_CHARS nospace]} ) ) ) ) (Com {[LIT_CHARS complete]} {[LIT_CHARS -F]} {[LIT_CHARS _dpkg]} {[LIT_CHARS dpkg]} {[LIT_CHARS dpkg-deb]} {[LIT_CHARS dpkg-query]} ) ) (AndOr OP_AND_IF (FunctionDef _dpkg_reconfigure [] (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]} ) ) (= scope= flags=0 words=[{[LIT_CHARS opt]}] bindings=[]) (Case to_match={[VarSub prev]}, pat_word_list=[[{[LIT_CHARS -f]}, {[LIT_CHARS --frontend]}], [{[LIT_CHARS -p]}, {[LIT_CHARS --priority]}]] (List (= scope= flags=0 words=[] bindings=[('opt', {[Array {[ComSub (Com {[LIT_CHARS printf]} {[SQ ]} {[LIT_CHARS /usr/share/perl5/Debconf/FrontEnd/] [LIT_OTHER "*"]})]}]})]) (= scope= flags=0 words=[] bindings=[('opt', {[Array {[VarSub opt bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_SLASH /]}]]}]})]) (= scope= flags=0 words=[] bindings=[('opt', {[Array {[VarSub opt bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS .pm]}]]}]})]) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) (List (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub cur]]} {[LIT_CHARS -] [LIT_OTHER "*"]}}) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS _comp_dpkg_installed_packages]} {[DQ [VarSub cur]]})]}]})]) ) ) ) (Com {[LIT_CHARS complete]} {[LIT_CHARS -F]} {[LIT_CHARS _dpkg_reconfigure]} {[LIT_CHARS -o]} {[LIT_CHARS default]} {[LIT_CHARS dpkg-reconfigure]} ) ) )