(command.CommandList children: [ (command.ShFunction name: _puppet_logdest body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: {($ Id.VSub_DollarName '$cur')} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'syslog console /'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [25] ) ] ) ] spids: [11 22] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'syslog console'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [52] ) ] ) (C {<_filedir>}) ] ) ] ) ) (command.ShFunction name: _puppet_digest body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'MD5 MD2 SHA1 SHA256'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [91] ) ] ) ] ) ) (command.ShFunction name: _puppet_certs body: (command.BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'puppetca='> (DQ <'puppet cert'>)}) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [{<type>} {<puppetca>}] redirects: [(redir.Redir op:<Id.Redir_AndGreat '&>'> fd:-1 arg_word:{</dev/null>})] more_env: [ (env_pair name: PATH val: {($ Id.VSub_DollarName '$PATH') <Id.Lit_Other ':'> </sbin> <Id.Lit_Other ':'> </usr/sbin> <Id.Lit_Other ':'> </usr/local/sbin> } spids: [132] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:puppetca) op: assign_op.Equal rhs: {<puppetca>} spids: [152] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_Number '$1'))} right: {<--all>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cert_list) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$puppetca')} {<--list>} {<--all>}) (C {<sed>} {<-e>} {(SQ <'s/^[+-]\\?\\s*\\(\\S\\+\\)\\s\\+.*$/\\1/'>)} ) ] negated: F ) ] ) ) } spids: [175] ) ] ) ] spids: [157 172] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cert_list) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {($ Id.VSub_DollarName '$puppetca')} {<--list>})] ) ) } spids: [200] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName '$cert_list'))} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [213] ) ] ) ] ) ) (command.ShFunction name: _puppet_types body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:puppet_types) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<puppet>} {<describe>} {<--list>}) (C {<sed>} {<-e>} {(SQ <'s/^\\(\\S\\+\\).*$/\\1/'>)}) ] negated: F ) ] ) ) } spids: [246] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName '$puppet_types'))} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [268] ) ] ) ] ) ) (command.ShFunction name: _puppet_references body: (command.BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'puppetdoc='> (DQ <'puppet doc'>)}) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [{<type>} {<puppetdoc>}] redirects: [(redir.Redir op:<Id.Redir_AndGreat '&>'> fd:-1 arg_word:{</dev/null>})] more_env: [ (env_pair name: PATH val: {($ Id.VSub_DollarName '$PATH') <Id.Lit_Other ':'> </sbin> <Id.Lit_Other ':'> </usr/sbin> <Id.Lit_Other ':'> </usr/local/sbin> } spids: [309] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:puppetdoc) op: assign_op.Equal rhs: {<puppetdoc>} spids: [329] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:puppet_doc_list) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {($ Id.VSub_DollarName '$puppetdoc')} {<--list>}) (C {<sed>} {<-e>} {(SQ <'s/^\\(\\S\\+\\).*$/\\1/'>)}) ] negated: F ) ] ) ) } spids: [334] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName '$puppet_doc_list'))} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [354] ) ] ) ] ) ) (command.ShFunction name: _puppet_subcmd_opts body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.LogicalOr left: (bool_expr.Unary op_id: Id.BoolUnary_z child: {($ Id.VSub_DollarName '$cur')} ) right: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$cur')} right: {<-> <Id.Lit_Other '*'>} ) ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'$( _parse_usage "$1" "help $2" )'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [412] ) ] ) ] ) ] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _puppet body: (command.BraceGroup children: [ (C {<local>} {<cur>} {<prev>} {<words>} {<cword>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_init_completion>}) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (C {<local>} {<xspec>} {<helpopts>} {<subcommand>} {<action>}) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<-h>} {<--help>} {<-V>} {<--version>}] action: [ (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [485 492 500 -1] ) ] ) (command.Case to_match: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>}) ) ) } arms: [ (case_arm pat_list: [{<puppetmasterd>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subcommand) op: assign_op.Equal rhs: {<master>} spids: [523] ) ] ) ] spids: [519 520 527 -1] ) (case_arm pat_list: [{<puppetd>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subcommand) op: assign_op.Equal rhs: {<agent>} spids: [534] ) ] ) ] spids: [530 531 538 -1] ) (case_arm pat_list: [{<puppetca>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subcommand) op: assign_op.Equal rhs: {<cert>} spids: [545] ) ] ) ] spids: [541 542 549 -1] ) (case_arm pat_list: [{<ralsh>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subcommand) op: assign_op.Equal rhs: {<resource>} spids: [556] ) ] ) ] spids: [552 553 560 -1] ) (case_arm pat_list: [{<puppetrun>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subcommand) op: assign_op.Equal rhs: {<kick>} spids: [567] ) ] ) ] spids: [563 564 571 -1] ) (case_arm pat_list: [{<puppetqd>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subcommand) op: assign_op.Equal rhs: {<queue>} spids: [578] ) ] ) ] spids: [574 575 582 -1] ) (case_arm pat_list: [{<filebucket>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subcommand) op: assign_op.Equal rhs: {<filebucket>} spids: [589] ) ] ) ] spids: [585 586 593 -1] ) (case_arm pat_list: [{<puppetdoc>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subcommand) op: assign_op.Equal rhs: {<doc>} spids: [600] ) ] ) ] spids: [596 597 604 -1] ) (case_arm pat_list: [{<pi>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subcommand) op: assign_op.Equal rhs: {<describe>} spids: [611] ) ] ) ] spids: [607 608 615 -1] ) (case_arm pat_list: [{<puppet>}] action: [ (command.Case to_match: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) } arms: [ (case_arm pat_list: [ {<agent>} {<apply>} {<cert>} {<describe>} {<doc>} {<filebucket>} {<kick>} {<master>} {<parser>} {<queue>} {<resource>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subcommand) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>}) ) ) } spids: [658] ) ] ) ] spids: [634 655 667 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <.pp>} {<Id.Lit_Star '*'> <.rb>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subcommand) op: assign_op.Equal rhs: {<apply>} spids: [678] ) ] ) ] spids: [670 675 682 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} { (SQ <'agent apply cert describe doc\n'> < ' filebucket kick master parser queue resource' > ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [689] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [685 686 719 -1] ) ] ) ] spids: [618 619 -1 725] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$subcommand')} arms: [ (case_arm pat_list: [{<agent>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<--certname>}] action: [ (C {<_known_hosts_real>} {(DQ ($ Id.VSub_DollarName '$cur'))}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [747 748 763 -1] ) (case_arm pat_list: [{<--digest>}] action: [ (C {<_puppet_digest>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [766 767 778 -1] ) (case_arm pat_list: [{<--fqdn>}] action: [ (C {<_known_hosts_real>} {(DQ ($ Id.VSub_DollarName '$cur'))}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [781 782 797 -1] ) (case_arm pat_list: [{<-l>} {<--logdest>}] action: [ (C {<_puppet_logdest>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [800 803 814 -1] ) (case_arm pat_list: [{<--masterport>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <8140>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [821] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [817 818 850 -1] ) (case_arm pat_list: [{<-w>} {<--waitforcert>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'0 15 30 60 120'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [859] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [853 856 888 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<_puppet_subcmd_opts>} {(DQ ($ Id.VSub_Number '$1'))} {($ Id.VSub_DollarName '$subcommand')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <--no-daemonize>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [908] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [891 892 -1 937] ) ] ) ] spids: [736 737 940 -1] ) (case_arm pat_list: [{<apply>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<--catalog>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <->)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [958] ) ] ) (C {<_filedir>} {<json>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [954 955 992 -1] ) (case_arm pat_list: [{<--execute>}] action: [ (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [995 996 1004 -1] ) (case_arm pat_list: [{<-l>} {<--logdest>}] action: [ (C {<_puppet_logdest>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1007 1010 1021 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {<-> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<_puppet_subcmd_opts>} {(DQ ($ Id.VSub_Number '$1'))} {($ Id.VSub_DollarName '$subcommand')} ) ] spids: [1028 1044] ) ] else_action: [(C {<_filedir>})] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1024 1025 -1 1070] ) ] ) ] spids: [943 944 1073 -1] ) (case_arm pat_list: [{<cert>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<--digest>}] action: [ (C {<_puppet_digest>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1087 1088 1099 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:action) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$prev')} spids: [1106] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} { (SQ < '--digest --debug --help --verbose --version' > ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1110] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$action')} arms: [ (case_arm pat_list: [ {<fingerprint>} {<list>} {<verify>} {<--fingerprint>} {<--list>} {<--verify>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <--all>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1157] ) ] ) (C {<_puppet_certs>} {<--all>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1143 1154 1191 -1] ) (case_arm pat_list: [{<generate>} {<--generate>}] action: [ (C {<_known_hosts_real>} {(DQ ($ Id.VSub_DollarName '$cur'))}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1194 1197 1212 -1] ) (case_arm pat_list: [ {<clean>} {<print>} {<revoke>} {<--clean>} {<--print>} {<--revoke>} ] action: [ (C {<_puppet_certs>} {<--all>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1215 1226 1239 -1] ) (case_arm pat_list: [{<sign>} {<--sign>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <--all>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1248] ) ] ) (C {<_puppet_certs>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1242 1245 1280 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} { (SQ < 'clean fingerprint generate\n' > <' list print revoke sign verify reinventory'> ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1287] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1283 1284 -1 1317] ) ] ) ] spids: [1102 1103 -1 1320] ) ] ) ] spids: [1076 1077 1323 -1] ) (case_arm pat_list: [{<describe>}] action: [ (C {<_puppet_subcmd_opts>} {(DQ ($ Id.VSub_Number '$1'))} {($ Id.VSub_DollarName '$subcommand')} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {<-> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] action: [(C {<_puppet_types>})] spids: [1339 1355] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1326 1327 1369 -1] ) (case_arm pat_list: [{<doc>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<-o>} {<--outputdir>}] action: [ (C {<_filedir>} {<-d>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1383 1386 1399 -1] ) (case_arm pat_list: [{<-m>} {<--mode>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'text trac pdf rdoc'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1408] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1402 1405 1437 -1] ) (case_arm pat_list: [{<-r>} {<--reference>}] action: [ (C {<_puppet_references>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1440 1443 1454 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {<-> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<_puppet_subcmd_opts>} {(DQ ($ Id.VSub_Number '$1'))} {($ Id.VSub_DollarName '$subcommand')} ) ] spids: [1461 1477] ) ] else_action: [(C {<_filedir>})] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1457 1458 -1 1503] ) ] ) ] spids: [1372 1373 1506 -1] ) (case_arm pat_list: [{<filebucket>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<-s>} {<--server>}] action: [ (C {<_known_hosts_real>} {(DQ ($ Id.VSub_DollarName '$cur'))}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1520 1523 1538 -1] ) (case_arm pat_list: [{<-b>} {<--bucket>}] action: [ (C {<_filedir>} {<-d>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1541 1544 1557 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {<-> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<_puppet_subcmd_opts>} {(DQ ($ Id.VSub_Number '$1'))} {($ Id.VSub_DollarName '$subcommand')} ) ] spids: [1564 1580] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'backup get restore'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1595] ) ] ) (C {<_filedir>}) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1560 1561 -1 1632] ) ] ) ] spids: [1509 1510 1635 -1] ) (case_arm pat_list: [{<kick>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<-c>} {<--class>}] action: [ (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1649 1652 1660 -1] ) (case_arm pat_list: [{<--host>}] action: [ (C {<_known_hosts_real>} {(DQ ($ Id.VSub_DollarName '$cur'))}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1663 1664 1679 -1] ) (case_arm pat_list: [{<-t>} {<--tag>}] action: [ (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1682 1685 1693 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {<-> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<_puppet_subcmd_opts>} {(DQ ($ Id.VSub_Number '$1'))} {($ Id.VSub_DollarName '$subcommand')} ) ] spids: [1700 1716] ) ] else_action: [ (C {<_known_hosts_real>} {(DQ ($ Id.VSub_DollarName '$cur'))}) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1696 1697 -1 1746] ) ] ) ] spids: [1638 1639 1749 -1] ) (case_arm pat_list: [{<master>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<-l>} {<--logdest>}] action: [ (C {<_puppet_logdest>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1763 1766 1777 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<_puppet_subcmd_opts>} {(DQ ($ Id.VSub_Number '$1'))} {($ Id.VSub_DollarName '$subcommand')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <--no-daemonize>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1797] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1780 1781 -1 1826] ) ] ) ] spids: [1752 1753 1829 -1] ) (case_arm pat_list: [{<parser>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:action) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$prev')} spids: [1836] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$action')} arms: [ (case_arm pat_list: [{<validate>}] action: [ (C {<_filedir>} {<pp>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1847 1848 1861 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <validate>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1868] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1864 1865 -1 1897] ) ] ) ] spids: [1832 1833 1900 -1] ) (case_arm pat_list: [{<queue>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<-l>} {<--logdest>}] action: [ (C {<_puppet_logdest>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1914 1917 1928 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {<-> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<_puppet_subcmd_opts>} {(DQ ($ Id.VSub_Number '$1'))} {($ Id.VSub_DollarName '$subcommand')} ) ] spids: [1935 1951] ) ] else_action: [(C {<_filedir>})] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1931 1932 -1 1977] ) ] ) ] spids: [1903 1904 1980 -1] ) (case_arm pat_list: [{<resource>} {<Id.Lit_Star '*'>}] action: [ (C {<_puppet_subcmd_opts>} {(DQ ($ Id.VSub_Number '$1'))} {($ Id.VSub_DollarName '$subcommand')} ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1983 1986 2003 -1] ) ] ) ] ) ) (C {<complete>} {<-F>} {<_puppet>} {<puppetmasterd>} {<puppetd>} {<puppetca>} {<ralsh>} {<puppetrun>} {<puppetqd>} {<filebucket>} {<puppetdoc>} {<puppet>} ) ] ) ] )