(CommandList children: [ (AndOr ops: [Op_DAmp] children: [ (FuncDef name: _7z body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:cur) op:Equal spids:[13]) (assign_pair lhs:(LhsName name:prev) op:Equal spids:[15]) (assign_pair lhs:(LhsName name:words) op:Equal spids:[17]) (assign_pair lhs:(LhsName name:cword) op:Equal spids:[19]) ] spids: [11] ) (AndOr ops: [Op_DPipe] children: [ (C {(_init_completion)} {(-n)} {(Lit_Other '=')}) (ControlFlow token:<ControlFlow_Return return>) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_eq left: {($ VSub_Name '$cword')} right: {(1)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'a b d e l t u x'>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [53 69] ) } ] ) } spids: [50] ) ] spids: [50] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [16777215 47] ) ] spids: [16777215 77] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:mode) op:Equal spids:[83])] spids: [81] ) (AndOr ops: [Op_DAmp Op_DPipe] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [88 93] ) } right: {(Lit_Other '[') (adu) (Lit_Other ']')} ) ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:mode) op:Equal rhs:{(w)} spids:[105])] spids: [105] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:mode) op:Equal rhs:{(r)} spids:[110])] spids: [110] ) ] ) (Case to_match: {($ VSub_Name '$cur')} arms: [ (case_arm pat_list: [{(-ao) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-P) (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 3)}) ) spids: [135 141] ) } {(-W)} {(SQ <'a s t u'>)} {(--)} { (DQ (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 3)}) ) spids: [152 156] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [130 159] ) } ] ) } spids: [127] ) ] spids: [127] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [122 124 167 16777215] ) (case_arm pat_list: [ {(-) (ExtGlobPart op:<ExtGlob_QMark '?('> spids:[171 173]) (Lit_Other '[') (ix) (Lit_Other ']') (Lit_Other '*') } ] action: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:opt) op:Equal spids:[183])] spids: [181] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$cur')} right: {(BoolUnary_a -a) (Lit_Other '[') (ix) (Lit_Other ']') (Lit_Other '*') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:opt) op: Equal rhs: { (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 3)}) ) spids: [207 213] ) } spids: [206] ) (assign_pair lhs: (LhsName name:cur) op: Equal rhs: { (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin:(ArithWord w:{(Lit_Digits 3)})) spids: [216 220] ) } spids: [215] ) ] spids: [206] ) ] spids: [16777215 203] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:opt) op: Equal rhs: { (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 2)}) ) spids: [227 233] ) } spids: [226] ) (assign_pair lhs: (LhsName name:cur) op: Equal rhs: { (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin:(ArithWord w:{(Lit_Digits 2)})) spids: [236 240] ) } spids: [235] ) ] spids: [226] ) ] spids: [223 243] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {($ VSub_Name '$cur')} right: {(Lit_Other '*') (Lit_Other '[') (Lit_Other '@') (EscapedLiteralPart token: <Lit_EscapedChar '\\!'> ) (Lit_Other ']') (Lit_Other '*') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-P) ($ VSub_Name '$opt')} {(-W)} {(SQ <'@ ! r@ r-@ r0@ r! r-! r0!'>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [270 291] ) } ] ) } spids: [267] ) ] spids: [267] ) ] spids: [16777215 264] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$cur')} right: {(ExtGlobPart op:<ExtGlob_QMark '?('> spids:[304 312]) (Lit_Other '@') (Lit_Other '*') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:x) op: Equal spids: [324] ) (assign_pair lhs: (LhsName name:tmp) op: Equal spids: [326] ) ] spids: [322] ) (AndOr ops: [Op_DAmp] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:x) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-P) (DQ (${ VSub_Name opt) (BracedVarSub token: <VSub_Name cur> suffix_op: (StringUnary op_id: VOp1_DPercent arg_word: {('@*')} ) spids: [339 343] ) ('@') ) } {(-f)} {(--)} { (DQ (BracedVarSub token: <VSub_Name cur> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('*@')} ) spids: [352 356] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [330 359] ) } spids: [329] ) ] spids: [329] ) (While cond: [ (Sentence child: (C {(read)} {(-r)} {(tmp)}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: PlusEqual rhs: { (ArrayLiteralPart words: [{(DQ ($ VSub_Name '$tmp'))}] ) } spids: [376] ) ] spids: [376] ) ] spids: [373 386] ) redirects: [ (Redir op_id: Redir_TLess fd: 16777215 arg_word: {(DQ ($ VSub_Name '$x'))} spids: [388] ) ] ) ] ) (C {(compopt)} {(-o)} {(filenames)}) ] spids: [296 319] ) ] spids: [16777215 402] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [170 178 408 16777215] ) (case_arm pat_list: [ {(-mhe) (Lit_Other '=') (Lit_Other '*')} {(-mhc) (Lit_Other '=') (Lit_Other '*')} {(-ms) (Lit_Other '=') (Lit_Other '*')} {(-mt) (Lit_Other '=') (Lit_Other '*')} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'on off'>)} {(--)} { (DQ (BracedVarSub token: <VSub_Name cur> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('*=')} ) spids: [445 449] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [432 452] ) } ] ) } spids: [429] ) ] spids: [429] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [411 426 460 16777215] ) (case_arm pat_list: [{(-mx) (Lit_Other '=') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'0 1 3 5 7 9'>)} {(--)} { (DQ (BracedVarSub token: <VSub_Name cur> suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {('*=')} ) spids: [485 489] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [472 492] ) } ] ) } spids: [469] ) ] spids: [469] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [463 466 500 16777215] ) (case_arm pat_list: [{(-o) (Lit_Other '*')} {(-w) (Lit_Other '?') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:x) op: Equal spids: [514] ) (assign_pair lhs: (LhsName name:tmp) op: Equal spids: [516] ) ] spids: [512] ) (AndOr ops: [Op_DAmp] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:x) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-P) (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 2)}) ) spids: [525 531] ) } {(-S/)} {(-d)} {(--)} { (DQ (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 2)}) ) spids: [540 544] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [520 547] ) } spids: [519] ) ] spids: [519] ) (While cond: [ (Sentence child: (C {(read)} {(-r)} {(tmp)}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: PlusEqual rhs: {(ArrayLiteralPart words:[{(DQ ($ VSub_Name '$tmp'))}])} spids: [564] ) ] spids: [564] ) ] spids: [561 574] ) redirects: [ (Redir op_id: Redir_TLess fd: 16777215 arg_word: {(DQ ($ VSub_Name '$x'))} spids: [576] ) ] ) ] ) (C {(compopt)} {(-o)} {(nospace)} {(-o)} {(filenames)}) (ControlFlow token:<ControlFlow_Return return>) ] spids: [503 509 597 16777215] ) (case_arm pat_list: [{(-r) (Lit_Other '?') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-P) (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 2)}) ) spids: [614 620] ) } {(-W)} {(SQ <'- 0'>)} {(--)} { (DQ (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 2)}) ) spids: [631 635] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [609 638] ) } ] ) } spids: [606] ) ] spids: [606] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [600 603 646 16777215] ) (case_arm pat_list: [{(-scs) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-P) (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 4)}) ) spids: [662 668] ) } {(-W)} {(SQ <'UTF-8 WIN DOS'>)} {(--)} { (DQ (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 4)}) ) spids: [681 685] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [657 688] ) } ] ) } spids: [654] ) ] spids: [654] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [649 651 696 16777215] ) (case_arm pat_list: [{(-ssc) (Lit_Other '?') (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-P) (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 4)}) ) spids: [713 719] ) } {(-W)} {(SQ <->)} {(--)} { (DQ (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 4)}) ) spids: [730 734] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [708 737] ) } ] ) } spids: [705] ) ] spids: [705] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [699 702 745 16777215] ) (case_arm pat_list: [{(-t) (Lit_Other '*')}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$mode')} right: {(w)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-P) (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w: {(Lit_Digits 2)} ) ) spids: [777 783] ) } {(-W)} {(SQ <'7z bzip2 gzip swfc\n'> <' tar wim xz zip'>)} {(--)} { (DQ (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin: (ArithWord w: {(Lit_Digits 2)} ) ) spids: [795 799] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [772 802] ) } ] ) } spids: [769] ) ] spids: [769] ) ] spids: [16777215 766] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-P) (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 2)}) ) spids: [818 824] ) } {(-W)} { (SQ <'7z apm arj bzip2 cab\n'> < ' chm cpio cramfs deb dmg elf fat flv gzip hfs iso lzh lzma\n' > <' lzma86 macho mbr mslz mub nsis ntfs pe ppmd rar rpm\n'> < ' squashfs swf swfc tar udf vhd wim xar xz z zip' > ) } {(--)} { (DQ (BracedVarSub token: <VSub_Name cur> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 2)}) ) spids: [840 844] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [813 847] ) } ] ) } spids: [810] ) ] spids: [810] ) ] spids: [807 852] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [748 750 858 16777215] ) (case_arm pat_list: [ {(-m) (Lit_Other '*') (Lit_Other '=') (Lit_Other '*')} {(-p) (Lit_Other '*')} {(-u) (Lit_Other '*')} {(-v) (Lit_Other '*')} ] action: [(ControlFlow token:<ControlFlow_Return return>)] spids: [861 874 880 16777215] ) ] spids: [115 119 883] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$cur')} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} { (SQ < '-ai -an -ao -ax -bd -i -m{x,s,f,he,hc,mt}=\n' > <' -o -p -r -scs -sfx -si -slp -slt -so -ssc -t -u -v -w -x -y'> ) } {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [907 926] ) } ] ) } spids: [904] ) ] spids: [904] ) (AndOr ops: [Op_DPipe] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$COMPREPLY')} right: {(-) (ExtGlobPart op:<ExtGlob_At '@('> spids:[938 954])} ) ) (C {(compopt)} {(-o)} {(nospace)}) ] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [16777215 901] ) ] spids: [16777215 971] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:args) op:Equal spids:[977])] spids: [975] ) (C {(_count_args)} {(Lit_Other '=')}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_eq left: {($ VSub_Name '$args')} right: {(2)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_filedir_xspec)} {(unzip)}) (AndOr ops: [Op_DAmp Op_DPipe] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$mode')} right: {(w)} ) ) (C {(_filedir)} {(SQ <'@(7z|bz2|swf|?(g)tar|?(t)[bglx]z|tb?(z)2|wim)'>)}) (C {(_filedir)} { (SQ < '@(7z|arj|bz2|cab|chm|cpio|deb|dmg|flv|gem|img|iso|lz[ah]|lzma?(86)|pmd|[rx]ar|rpm|sw[fm]|?(g)tar|taz|?(t)[bglx]z|tb?(z)2|vhd|wim|Z)' > ) } ) ] ) ] spids: [16777215 998] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [1042 1047] ) } right: {(d)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: { (SingleQuotedPart left: <Left_DollarSingleQuote "$'"> tokens: [<Char_OneChar '\\n'>] ) } spids: [1061] ) ] spids: [1059] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(printf)} {(SQ <'%s\\n'>)} { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [ { ($ VSub_Number '$1' ) } {(l)} { (BracedVarSub token: < VSub_Name words > bracket_op: (ArrayIndex expr: (ArithWord w: { ( Lit_Digits 2 ) } ) ) spids: [ 1091 1096 ] ) } {(-slt)} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: { ( /dev/null ) } spids: [1102] ) ] ) (SimpleCommand words: [ {(sed)} {(-n)} { (SQ < '/^Path =/s/^Path = \\(.*\\)$/\\1/p' > ) } ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: { ( /dev/null ) } spids: [1117] ) ] ) (C {(tail)} {(-n) (Lit_Other '+' ) (2) } ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1085 1128] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1077 1130] ) ) } {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [1070 1139] ) } ] ) } spids: [1067] ) ] spids: [1067] ) (C {(compopt)} {(-o)} {(filenames)}) ] spids: [16777215 1056] ) ] else_action: [(C {(_filedir)})] spids: [1151 1157] ) ] spids: [1035 1160] ) ] spids: [8] ) spids: [4 7] ) (C {(complete)} {(-F)} {(_7z)} {(7z)} {(7za)}) ] ) ] )