(command.CommandList
  children: [
    (command.ShFunction
      name: _koji_search
      body: 
        (BraceGroup
          children: [
            (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 '$('>
                              child: 
                                (C {<compgen>} {<-W>} 
                                  {(SQ <'$( "$1" -q search $2 "$cur*" 2>/dev/null )'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                )
                            )
                          }
                        ]
                      )
                    }
                  spids: [11]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: _koji_build
      body: (BraceGroup children:[(C {<_koji_search>} {(DQ ($ Id.VSub_Number '$1'))} {<build>})])
    )
    (command.ShFunction
      name: _koji_package
      body: (BraceGroup children:[(C {<_koji_search>} {(DQ ($ Id.VSub_Number '$1'))} {<package>})])
    )
    (command.ShFunction
      name: _koji_user
      body: (BraceGroup children:[(C {<_koji_search>} {(DQ ($ Id.VSub_Number '$1'))} {<user>})])
    )
    (command.ShFunction
      name: _koji_tag
      body: 
        (BraceGroup
          children: [
            (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 '$('>
                              child: 
                                (C {<compgen>} {<-W>} {(SQ <'$( "$1" -q list-tags 2>/dev/null )'>)} 
                                  {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                )
                            )
                          }
                        ]
                      )
                    }
                  spids: [100]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: _koji_target
      body: 
        (BraceGroup
          children: [
            (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 '$('>
                              child: 
                                (C {<compgen>} {<-W>} 
                                  {
                                    (SQ <'$( "$1" -q list-targets 2>/dev/null |\n'> 
                                      <'        awk "{ print \\$1 }" )'>
                                    )
                                  } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                )
                            )
                          }
                        ]
                      )
                    }
                  spids: [135]
                )
              ]
            )
          ]
        )
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.ShFunction
          name: _koji
          body: 
            (BraceGroup
              children: [
                (C {<local>} {<cur>} {<prev>} {<words>} {<cword>} {<split>})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<_init_completion>} {<-s>})
                    (command.ControlFlow token:<Id.ControlFlow_Return return>)
                  ]
                )
                (C {<local>} {<commandix>} {<command>})
                (command.ForExpr
                  init: 
                    (arith_expr.BinaryAssign
                      op_id: Id.Arith_Equal
                      left: <Id.Lit_ArithVarLike commandix>
                      right: {<Id.Lit_Digits 1>}
                    )
                  cond: 
                    (arith_expr.Binary
                      op_id: Id.Arith_Less
                      left: <Id.Lit_ArithVarLike commandix>
                      right: <Id.Lit_ArithVarLike cword>
                    )
                  update: 
                    (arith_expr.UnaryAssign
                      op_id: Id.Node_PostDPlus
                      child: <Id.Lit_ArithVarLike commandix>
                    )
                  body: 
                    (command.DoGroup
                      children: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DBracket
                                          expr: 
                                            (bool_expr.Binary
                                              op_id: Id.BoolBinary_GlobNEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    token: <Id.VSub_Name words>
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: <Id.Lit_ArithVarLike commandix>
                                                      )
                                                  )
                                                }
                                              right: {<-> <Id.Lit_Other '*'>}
                                            )
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:command)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (braced_var_sub
                                            token: <Id.VSub_Name words>
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: <Id.Lit_ArithVarLike commandix>
                                              )
                                          )
                                        }
                                      spids: [247]
                                    )
                                  ]
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Break break>
                                )
                              ]
                              spids: [225 244]
                            )
                          ]
                        )
                      ]
                    )
                )
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{<-h>} {<--help>} {<--help-commands>}]
                      action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)]
                      spids: [273 278 284 -1]
                    )
                    (case_arm
                      pat_list: [{<-c>} {<--config>} {<--keytab>} {<-o>}]
                      action: [
                        (C {<_filedir>})
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                        )
                      ]
                      spids: [287 294 303 -1]
                    )
                    (case_arm
                      pat_list: [{<--runas>} {<--user>} {<--editor>} {<--by>}]
                      action: [
                        (C {<_koji_user>} {(DQ ($ Id.VSub_Number '$1'))})
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                        )
                      ]
                      spids: [306 313 326 -1]
                    )
                    (case_arm
                      pat_list: [{<--authtype>}]
                      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 '$('>
                                          child: 
                                            (C {<compgen>} {<-W>} {(SQ <'noauth ssl password kerberos'>)} 
                                              {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [333]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                        )
                      ]
                      spids: [329 330 362 -1]
                    )
                    (case_arm
                      pat_list: [{<--topdir>}]
                      action: [
                        (C {<_filedir>} {<-d>})
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                        )
                      ]
                      spids: [365 366 377 -1]
                    )
                    (case_arm
                      pat_list: [{<--type>}]
                      action: [
                        (command.Case
                          to_match: {($ Id.VSub_DollarName '$command')}
                          arms: [
                            (case_arm
                              pat_list: [{<latest-pkg>} {<list-tagged>}]
                              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 '$('>
                                                  child: 
                                                    (C {<compgen>} {<-W>} {(SQ <maven>)} {<-->} 
                                                      {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                    )
                                                )
                                              }
                                            ]
                                          )
                                        }
                                      spids: [397]
                                    )
                                  ]
                                )
                              ]
                              spids: [391 394 421 -1]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                        )
                      ]
                      spids: [380 381 430 -1]
                    )
                    (case_arm
                      pat_list: [{<--name>}]
                      action: [
                        (command.Case
                          to_match: {($ Id.VSub_DollarName '$command')}
                          arms: [
                            (case_arm
                              pat_list: [{<list-targets>}]
                              action: [(C {<_koji_target>} {(DQ ($ Id.VSub_Number '$1'))})]
                              spids: [444 445 455 -1]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                        )
                      ]
                      spids: [433 434 464 -1]
                    )
                    (case_arm
                      pat_list: [{<--owner>}]
                      action: [
                        (C {<_koji_user>} {(DQ ($ Id.VSub_Number '$1'))})
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                        )
                      ]
                      spids: [467 468 481 -1]
                    )
                    (case_arm
                      pat_list: [{<--tag>} {<--latestfrom>}]
                      action: [
                        (C {<_koji_tag>} {(DQ ($ Id.VSub_Number '$1'))})
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                        )
                      ]
                      spids: [484 487 500 -1]
                    )
                    (case_arm
                      pat_list: [{<--package>}]
                      action: [
                        (C {<_koji_package>} {(DQ ($ Id.VSub_Number '$1'))})
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                        )
                      ]
                      spids: [503 504 517 -1]
                    )
                    (case_arm
                      pat_list: [{<--build>}]
                      action: [
                        (C {<_koji_build>} {(DQ ($ Id.VSub_Number '$1'))})
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                        )
                      ]
                      spids: [520 521 534 -1]
                    )
                    (case_arm
                      pat_list: [{<--build-target>}]
                      action: [
                        (C {<_koji_target>} {(DQ ($ Id.VSub_Number '$1'))})
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                        )
                      ]
                      spids: [537 538 551 -1]
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {($ Id.VSub_DollarName '$split')})
                    (command.ControlFlow token:<Id.ControlFlow_Return return>)
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DBracket
                                  expr: (bool_expr.WordTest w:{($ Id.VSub_DollarName '$command')})
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DBracket
                                          expr: 
                                            (bool_expr.Binary
                                              op_id: Id.BoolBinary_GlobDEqual
                                              left: {($ Id.VSub_DollarName '$cur')}
                                              right: {<-> <Id.Lit_Other '*'>}
                                            )
                                        )
                                      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 '$('>
                                                  child: 
                                                    (C {<compgen>} {<-W>} 
                                                      {
                                                        (SQ 
                                                          <
'$( _parse_help "$1" "$command --help" )'
                                                          >
                                                        )
                                                      } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                    )
                                                )
                                              }
                                            ]
                                          )
                                        }
                                      spids: [595]
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DAmp]
                                  children: [
                                    (command.DBracket
                                      expr: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobDEqual
                                          left: {($ Id.VSub_DollarName '$COMPREPLY')}
                                          right: {<Id.Lit_Other '*'> <Id.BoolBinary_GlobEqual '='>}
                                        )
                                    )
                                    (C {<compopt>} {<-o>} {<nospace>})
                                  ]
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                )
                              ]
                              spids: [578 592]
                            )
                          ]
                        )
                        (C {<local>} {<i>} {<Id.Lit_VarLike 'nth='> <1>})
                        (command.ForExpr
                          init: 
                            (arith_expr.BinaryAssign
                              op_id: Id.Arith_Equal
                              left: <Id.Lit_ArithVarLike i>
                              right: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Plus
                                  left: <Id.Lit_ArithVarLike commandix>
                                  right: {<Id.Lit_Digits 1>}
                                )
                            )
                          cond: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Less
                              left: <Id.Lit_ArithVarLike i>
                              right: <Id.Lit_ArithVarLike cword>
                            )
                          update: 
                            (arith_expr.UnaryAssign
                              op_id: Id.Node_PostDPlus
                              child: <Id.Lit_ArithVarLike i>
                            )
                          body: 
                            (command.DoGroup
                              children: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (command.DBracket
                                      expr: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobDEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                token: <Id.VSub_Name words>
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: <Id.Lit_ArithVarLike i>
                                                  )
                                              )
                                            }
                                          right: {<-> <Id.Lit_Other '*'>}
                                        )
                                    )
                                    (command.DParen
                                      child: 
                                        (arith_expr.UnaryAssign
                                          op_id: Id.Node_PostDPlus
                                          child: <Id.Lit_ArithVarLike nth>
                                        )
                                    )
                                  ]
                                )
                              ]
                            )
                        )
                        (command.Case
                          to_match: {($ Id.VSub_DollarName '$command')}
                          arms: [
                            (case_arm
                              pat_list: [{<build>} {<maven-build>} {<win-build>}]
                              action: [
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{<1>}]
                                      action: [(C {<_koji_target>} {(DQ ($ Id.VSub_Number '$1'))})]
                                      spids: [741 742 752 -1]
                                    )
                                    (case_arm
                                      pat_list: [{<2>}]
                                      action: [(C {<_filedir>} {<src.rpm>})]
                                      spids: [755 756 764 -1]
                                    )
                                  ]
                                )
                              ]
                              spids: [726 731 770 -1]
                            )
                            (case_arm
                              pat_list: [{<cancel>}]
                              action: [(C {<_koji_build>} {(DQ ($ Id.VSub_Number '$1'))})]
                              spids: [773 774 784 -1]
                            )
                            (case_arm
                              pat_list: [{<chain-build>}]
                              action: [
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{<1>}]
                                      action: [(C {<_koji_target>} {(DQ ($ Id.VSub_Number '$1'))})]
                                      spids: [798 799 809 -1]
                                    )
                                  ]
                                )
                              ]
                              spids: [787 788 815 -1]
                            )
                            (case_arm
                              pat_list: [{<download-build>}]
                              action: [
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{<1>}]
                                      action: [(C {<_koji_build>} {(DQ ($ Id.VSub_Number '$1'))})]
                                      spids: [829 830 840 -1]
                                    )
                                  ]
                                )
                              ]
                              spids: [818 819 846 -1]
                            )
                            (case_arm
                              pat_list: [{<import-comps>}]
                              action: [
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{<1>}]
                                      action: [(C {<_filedir>} {<xml>})]
                                      spids: [860 861 869 -1]
                                    )
                                    (case_arm
                                      pat_list: [{<2>}]
                                      action: [(C {<_koji_tag>} {(DQ ($ Id.VSub_Number '$1'))})]
                                      spids: [872 873 883 -1]
                                    )
                                  ]
                                )
                              ]
                              spids: [849 850 889 -1]
                            )
                            (case_arm
                              pat_list: [{<latest-by-tag>}]
                              action: [(C {<_koji_package>} {(DQ ($ Id.VSub_Number '$1'))})]
                              spids: [892 893 903 -1]
                            )
                            (case_arm
                              pat_list: [
                                {<latest-pkg>}
                                {<list-groups>}
                                {<list-tag-inheritance>}
                                {<show-groups>}
                              ]
                              action: [
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{<1>}]
                                      action: [(C {<_koji_tag>} {(DQ ($ Id.VSub_Number '$1'))})]
                                      spids: [923 924 934 -1]
                                    )
                                  ]
                                )
                              ]
                              spids: [906 913 940 -1]
                            )
                            (case_arm
                              pat_list: [{<list-tagged>}]
                              action: [
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{<1>}]
                                      action: [(C {<_koji_tag>} {(DQ ($ Id.VSub_Number '$1'))})]
                                      spids: [954 955 965 -1]
                                    )
                                    (case_arm
                                      pat_list: [{<2>}]
                                      action: [(C {<_koji_package>} {(DQ ($ Id.VSub_Number '$1'))})]
                                      spids: [968 969 979 -1]
                                    )
                                  ]
                                )
                              ]
                              spids: [943 944 985 -1]
                            )
                            (case_arm
                              pat_list: [{<list-untagged>}]
                              action: [
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{<1>}]
                                      action: [(C {<_koji_package>} {(DQ ($ Id.VSub_Number '$1'))})]
                                      spids: [999 1000 1010 -1]
                                    )
                                  ]
                                )
                              ]
                              spids: [988 989 1016 -1]
                            )
                            (case_arm
                              pat_list: [{<move-pkg>}]
                              action: [
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{<1>} {<2>}]
                                      action: [(C {<_koji_tag>} {(DQ ($ Id.VSub_Number '$1'))})]
                                      spids: [1030 1033 1043 -1]
                                    )
                                    (case_arm
                                      pat_list: [{<Id.Lit_Star '*'>}]
                                      action: [(C {<_koji_package>} {(DQ ($ Id.VSub_Number '$1'))})]
                                      spids: [1046 1047 1057 -1]
                                    )
                                  ]
                                )
                              ]
                              spids: [1019 1020 1063 -1]
                            )
                            (case_arm
                              pat_list: [{<search>}]
                              action: [
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{<1>}]
                                      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 '$('>
                                                          child: 
                                                            (C {<compgen>} {<-W>} 
                                                              {
                                                                (SQ <'package build tag target\n'> 
                                                                  <
'                            user host rpm'
                                                                  >
                                                                )
                                                              } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                                            )
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [1081]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [1077 1078 1106 -1]
                                    )
                                  ]
                                )
                              ]
                              spids: [1066 1067 1112 -1]
                            )
                            (case_arm
                              pat_list: [{<tag-pkg>} {<untag-pkg>}]
                              action: [
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{<1>}]
                                      action: [(C {<_koji_tag>} {(DQ ($ Id.VSub_Number '$1'))})]
                                      spids: [1128 1129 1139 -1]
                                    )
                                    (case_arm
                                      pat_list: [{<Id.Lit_Star '*'>}]
                                      action: [(C {<_koji_package>} {(DQ ($ Id.VSub_Number '$1'))})]
                                      spids: [1142 1143 1153 -1]
                                    )
                                  ]
                                )
                              ]
                              spids: [1115 1118 1159 -1]
                            )
                            (case_arm
                              pat_list: [{<taginfo>}]
                              action: [(C {<_koji_tag>} {(DQ ($ Id.VSub_Number '$1'))})]
                              spids: [1162 1163 1173 -1]
                            )
                            (case_arm
                              pat_list: [{<wait-repo>}]
                              action: [
                                (command.Case
                                  to_match: {($ Id.VSub_DollarName '$nth')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{<1>}]
                                      action: [
                                        (command.ForExpr
                                          init: 
                                            (arith_expr.BinaryAssign
                                              op_id: Id.Arith_Equal
                                              left: <Id.Lit_ArithVarLike i>
                                              right: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Plus
                                                  left: <Id.Lit_ArithVarLike commandix>
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                            )
                                          cond: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Less
                                              left: <Id.Lit_ArithVarLike i>
                                              right: <Id.Lit_ArithVarLike cword>
                                            )
                                          update: 
                                            (arith_expr.UnaryAssign
                                              op_id: Id.Node_PostDPlus
                                              child: <Id.Lit_ArithVarLike i>
                                            )
                                          body: 
                                            (command.DoGroup
                                              children: [
                                                (command.If
                                                  arms: [
                                                    (if_arm
                                                      cond: 
                                                        (condition.Shell
                                                          commands: [
                                                            (command.Sentence
                                                              child: 
                                                                (command.DBracket
                                                                  expr: 
                                                                    (bool_expr.Binary
                                                                      op_id: 
Id.BoolBinary_GlobDEqual
                                                                      left: 
                                                                        {
                                                                          (braced_var_sub
                                                                            token: 
                                                                              <Id.VSub_Name words>
                                                                            bracket_op: 
                                                                              (bracket_op.ArrayIndex
                                                                                expr: 
                                                                                  <
Id.Lit_ArithVarLike i
                                                                                  >
                                                                              )
                                                                          )
                                                                        }
                                                                      right: {<--target>}
                                                                    )
                                                                )
                                                              terminator: <Id.Op_Semi _>
                                                            )
                                                          ]
                                                        )
                                                      action: [
                                                        (C {<_koji_target>} 
                                                          {(DQ ($ Id.VSub_Number '$1'))}
                                                        )
                                                        (command.ControlFlow
                                                          token: <Id.ControlFlow_Return return>
                                                        )
                                                      ]
                                                      spids: [1219 1237]
                                                    )
                                                  ]
                                                )
                                              ]
                                            )
                                        )
                                        (C {<_koji_tag>} {(DQ ($ Id.VSub_Number '$1'))})
                                      ]
                                      spids: [1187 1188 1263 -1]
                                    )
                                  ]
                                )
                              ]
                              spids: [1176 1177 1269 -1]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                        )
                      ]
                      spids: [566 575]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DBracket
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: {($ Id.VSub_DollarName '$cur')}
                                      right: {<-> <Id.Lit_Other '*'>}
                                    )
                                )
                              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 '$('>
                                          child: 
                                            (C {<compgen>} {<-W>} {(SQ <'$( _parse_help "$1" )'>)} {<-->} 
                                              {(DQ ($ Id.VSub_DollarName '$cur'))}
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1299]
                            )
                          ]
                        )
                        (command.AndOr
                          ops: [Id.Op_DAmp]
                          children: [
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {($ Id.VSub_DollarName '$COMPREPLY')}
                                  right: {<Id.Lit_Other '*'> <Id.BoolBinary_GlobEqual '='>}
                                )
                            )
                            (C {<compopt>} {<-o>} {<nospace>})
                          ]
                        )
                      ]
                      spids: [1282 1296]
                    )
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DBracket
                                  expr: 
                                    (bool_expr.LogicalNot
                                      child: (bool_expr.WordTest w:{($ Id.VSub_DollarName '$command')})
                                    )
                                )
                              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 '$('>
                                          child: 
                                            (C {<compgen>} {<-W>} 
                                              {
                                                (SQ <'$( "$1" --help-commands 2>/dev/null | \\\n'> 
                                                  <
'            awk "/^(  +|\\t)/ { print \\$1 }" )'
                                                  >
                                                )
                                              } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))}
                                            )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1357]
                            )
                          ]
                        )
                      ]
                      spids: [1343 1354]
                    )
                  ]
                )
              ]
            )
        )
        (C {<complete>} {<-F>} {<_koji>} {<koji>} {<arm-koji>} {<ppc-koji>} {<s390-koji>} {<sparc-koji>})
      ]
    )
  ]
)