(CommandList
  children: [
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:PATH)
              op: Equal
              rhs: 
                {(/bin) (Lit_Other ':') (/sbin) (Lit_Other ':') (/usr/bin) (Lit_Other ':') (/usr/sbin)}
              spids: [144]
            )
          ]
          spids: [144]
        )
      terminator: <Op_Semi ';'>
    )
    (C {(export)} {(PATH)})
    (FuncDef
      name: do_purge
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(echo)} {(DQ ('purge ') ($ VSub_At '$@'))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[182])]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ('not implemented yet') (Lit_Other '\\') (n))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[194])]
            )
          ]
          spids: [172]
        )
      spids: [168 171]
    )
    (FuncDef
      name: uncompress_page
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:pname) op:Equal spids:[219])]
              spids: [217]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:fname) op:Equal spids:[224])]
              spids: [222]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:sect) op:Equal spids:[229])]
              spids: [227]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:ext) op:Equal spids:[234])]
              spids: [232]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pname)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [242]
                )
              ]
              spids: [242]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <.>)} spids:[246])]
                  spids: [246]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(set)} {($ VSub_Name '$pname')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-lt)} {(3)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(DQ (' \t'))}
                              spids: [280]
                            )
                          ]
                          spids: [280]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [{(echo)} {(ignoring)} {($ VSub_Name '$pname')}]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[293])]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 276]
                )
              ]
              spids: [16777215 306]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:fname)
                      op: Equal
                      rhs: {($ VSub_Number '$1')}
                      spids: [313]
                    )
                  ]
                  spids: [313]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(shift)})
            (While
              cond: [
                (Sentence
                  child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(2)} {(Lit_Other ']')})
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:fname)
                          op: Equal
                          rhs: {($ VSub_Name '$fname') (.) ($ VSub_Number '$1')}
                          spids: [338]
                        )
                      ]
                      spids: [338]
                    )
                    (C {(shift)})
                  ]
                  spids: [335 347]
                )
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sect)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [350]
                )
              ]
              spids: [350]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ext)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [354]
                )
              ]
              spids: [354]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(DQ (' \t'))} spids:[359])]
              spids: [359]
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$ext'))}
              arms: [
                (case_arm
                  pat_list: [{(gz)} {(Z)}]
                  action: [
                    (BraceGroup
                      children: [
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ (' \t'))}
                                  spids: [383]
                                )
                              ]
                              spids: [383]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (C {(set)} 
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [(C {(file)} {($ VSub_Name '$pname')})]
                                )
                              left_token: <Left_Backtick '`'>
                              spids: [392 396]
                            )
                          }
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {($ VSub_Number '$2')} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(DQ (gzip))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (SimpleCommand
                                  words: [{(echo)} {(moving)} {(hard)} {(link)} {($ VSub_Name '$pname')}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 1
                                      arg_word: {(2)}
                                      spids: [430]
                                    )
                                  ]
                                )
                                (C {(mv)} {($ VSub_Name '$pname')} 
                                  {($ VSub_Name '$fname') (.) ($ VSub_Name '$ext')}
                                )
                              ]
                              spids: [16777215 416]
                            )
                          ]
                          else_action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {($ VSub_Number '$2')} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ (symbolic))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (SimpleCommand
                                      words: [{(echo)} {(gunzipping)} {(page)} {($ VSub_Name '$pname')}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 1
                                          arg_word: {(2)}
                                          spids: [477]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:temp)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [(C {(mktemp)} {(-t)} {(manager)})]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [482 488]
                                                  )
                                                }
                                              spids: [481]
                                            )
                                          ]
                                          spids: [481]
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Exit exit>
                                          arg_word: {(1)}
                                        )
                                      ]
                                    )
                                    (SimpleCommand
                                      words: [{(gunzip)} {(-c)} {($ VSub_Name '$pname')}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 16777215
                                          arg_word: {($ VSub_Name '$temp')}
                                          spids: [503]
                                        )
                                      ]
                                    )
                                    (C {(chmod)} {(u) (Lit_Other '+') (w)} {($ VSub_Name '$pname')})
                                    (C {(cp)} {($ VSub_Name '$temp')} {($ VSub_Name '$pname')})
                                    (C {(chmod)} {(444)} {($ VSub_Name '$pname')})
                                    (C {(mv)} {($ VSub_Name '$pname')} 
                                      {($ VSub_Name '$fname') (.) ($ VSub_Name '$sect')}
                                    )
                                    (C {(rm)} {(-f)} {($ VSub_Name '$temp')})
                                  ]
                                  spids: [16777215 466]
                                )
                              ]
                              else_action: [
                                (SimpleCommand
                                  words: [{(echo)} {(skipping)} {(symlink)} {($ VSub_Name '$pname')}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 1
                                      arg_word: {(2)}
                                      spids: [570]
                                    )
                                  ]
                                )
                              ]
                              spids: [547 574]
                            )
                          ]
                          spids: [446 577]
                        )
                      ]
                      spids: [379]
                    )
                  ]
                  spids: [374 377 580 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (BraceGroup
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(DQ (' \t'))}
                              spids: [589]
                            )
                          ]
                          spids: [589]
                        )
                        (SimpleCommand
                          words: [{(echo)} {(skipping)} {(file)} {($ VSub_Name '$pname')}]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[603])]
                        )
                      ]
                      spids: [586]
                    )
                  ]
                  spids: [583 584 609 16777215]
                )
              ]
              spids: [365 371 612]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(DQ (' \t'))} spids:[619])]
              spids: [619]
            )
          ]
          spids: [214]
        )
      spids: [210 213]
    )
    (FuncDef
      name: do_uncompress
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[646])]
              spids: [644]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:dir) op:Equal spids:[651])]
              spids: [649]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:workdir) op:Equal spids:[656])]
              spids: [654]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:workdir)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(pwd)})])
                        left_token: <Left_Backtick '`'>
                        spids: [661 663]
                      )
                    }
                  spids: [660]
                )
              ]
              spids: [660]
            )
            (While
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(0)} 
                      {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-d)} {($ VSub_Number '$1')} {(Lit_Other ']')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {($ VSub_Number '$1')}
                                  spids: [699]
                                )
                              ]
                              spids: [699]
                            )
                            (C {(cd)} {($ VSub_Name '$dir')})
                            (ForEach
                              iter_name: i
                              iter_words: [{(Lit_Other '*')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {($ VSub_Name '$i')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (cat) (Lit_Other '?')}]
                                          spids: [728 731 733 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (BraceGroup
                                              children: [
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (C {(Lit_Other '[')} {(-d)} 
                                                              {($ VSub_Name '$i')} {(Lit_Other ']')}
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      action: [
                                                        (C {(do_uncompress)} {($ VSub_Name '$i')})
                                                      ]
                                                      spids: [16777215 757]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(Lit_Other '[')} {(-e)} 
                                                                  {($ VSub_Name '$i')} {(Lit_Other ']')}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(uncompress_page)} {($ VSub_Name '$i')})
                                                          ]
                                                          spids: [16777215 781]
                                                        )
                                                      ]
                                                      spids: [16777215 789]
                                                    )
                                                  ]
                                                  spids: [766 792]
                                                )
                                              ]
                                              spids: [742]
                                            )
                                          ]
                                          spids: [739 740 796 16777215]
                                        )
                                      ]
                                      spids: [721 725 799]
                                    )
                                  ]
                                  spids: [718 802]
                                )
                              spids: [713 716]
                            )
                            (C {(cd)} {($ VSub_Name '$workdir')})
                          ]
                          spids: [16777215 696]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [{(echo)} {(DQ ('directory ') ($ VSub_Number '$1') (' not found'))}]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[821])]
                        )
                      ]
                      spids: [810 825]
                    )
                    (C {(shift)})
                  ]
                  spids: [681 831]
                )
            )
          ]
          spids: [641]
        )
      spids: [637 640]
    )
    (FuncDef
      name: so_purge_page
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:so_entries) op:Equal spids:[854])]
              spids: [852]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:lines) op:Equal spids:[859])]
              spids: [857]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:fname) op:Equal spids:[864])]
              spids: [862]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:so_entries)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(grep)} {(DQ ('^') (Lit_Other '\\') (.so))} {($ VSub_Number '$1')})
                                  (C {(wc)} {(-l)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [869 885]
                      )
                    }
                  spids: [868]
                )
              ]
              spids: [868]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_Name '$so_entries')} {(-eq)} {(0)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 902]
                )
              ]
              spids: [16777215 910]
            )
            (SimpleCommand
              words: [{(echo)} {($ VSub_Number '$1')} {(contains)} {(a)} {(.so)} {(entry)}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[930])]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lines)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [{(wc)} {(-l)}]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Less
                                    fd: 16777215
                                    arg_word: {($ VSub_Number '$1')}
                                    spids: [946]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [941 949]
                      )
                    }
                  spids: [940]
                )
              ]
              spids: [940]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_Name '$lines')} {(-eq)} {(1)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:fname)
                              op: Equal
                              rhs: {($ VSub_Number '$1')}
                              spids: [978]
                            )
                          ]
                          spids: [978]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(echo)} {(replacing)} {($ VSub_Name '$fname')} {(with)} {(a)} {(hard)} {(link)})
                    (Sentence
                      child: 
                        (C {(set)} 
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [(C {(cat)} {($ VSub_Name '$fname')})]
                                )
                              left_token: <Left_Backtick '`'>
                              spids: [1000 1004]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(rm)} {(-f)} {($ VSub_Name '$fname')})
                    (C {(ln)} {(../) ($ VSub_Number '$2')} {($ VSub_Name '$fname')})
                  ]
                  spids: [16777215 975]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(echo)} {(inlining)} {(page)} {($ VSub_Name '$fname')}]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[1034])]
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:temp)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(mktemp)} {(-t)} {(manager)})]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1039 1045]
                              )
                            }
                          spids: [1038]
                        )
                      ]
                      spids: [1038]
                    )
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                )
                (Pipeline
                  children: [
                    (C {(cat)} {($ VSub_Name '$fname')})
                    (Subshell
                      child: 
                        (CommandList
                          children: [
                            (Sentence
                              child: (C {(cd)} {(..)})
                              terminator: <Op_Semi ';'>
                            )
                            (C {(soelim)})
                          ]
                        )
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {($ VSub_Name '$temp')}
                          spids: [1073]
                        )
                      ]
                      spids: [1062 1071]
                    )
                  ]
                  negated: F
                )
                (C {(chmod)} {(u) (Lit_Other '+') (w)} {($ VSub_Name '$fname')})
                (C {(cp)} {($ VSub_Name '$temp')} {($ VSub_Name '$fname')})
                (C {(chmod)} {(444)} {($ VSub_Name '$fname')})
                (C {(rm)} {(-f)} {($ VSub_Name '$temp')})
              ]
              spids: [1023 1108]
            )
          ]
          spids: [849]
        )
      spids: [845 848]
    )
    (FuncDef
      name: remove_so
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:pname) op:Equal spids:[1137])]
              spids: [1135]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:fname) op:Equal spids:[1142])]
              spids: [1140]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:sect) op:Equal spids:[1147])]
              spids: [1145]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pname)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1155]
                )
              ]
              spids: [1155]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <.>)} spids:[1159])]
                  spids: [1159]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(set)} {($ VSub_Name '$pname')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-lt)} {(2)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(DQ (' \t'))}
                              spids: [1189]
                            )
                          ]
                          spids: [1189]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [{(echo)} {(ignoring)} {($ VSub_Name '$pname')}]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[1202])]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 1185]
                )
              ]
              spids: [16777215 1215]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:fname)
                      op: Equal
                      rhs: {($ VSub_Number '$1')}
                      spids: [1222]
                    )
                  ]
                  spids: [1222]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(shift)})
            (While
              cond: [
                (Sentence
                  child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(1)} {(Lit_Other ']')})
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:fname)
                          op: Equal
                          rhs: {($ VSub_Name '$fname') (.) ($ VSub_Number '$1')}
                          spids: [1247]
                        )
                      ]
                      spids: [1247]
                    )
                    (C {(shift)})
                  ]
                  spids: [1244 1256]
                )
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sect)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1259]
                )
              ]
              spids: [1259]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(DQ (' \t'))} spids:[1264])]
              spids: [1264]
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$sect'))}
              arms: [
                (case_arm
                  pat_list: [{(gz)}]
                  action: [
                    (BraceGroup
                      children: [
                        (Sentence
                          child: 
                            (SimpleCommand
                              words: [{(echo)} {(file)} {($ VSub_Name '$pname')} {(already)} {(gzipped)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 1
                                  arg_word: {(2)}
                                  spids: [1294]
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      spids: [1282]
                    )
                  ]
                  spids: [1279 1280 1301 16777215]
                )
                (case_arm
                  pat_list: [{(Z)}]
                  action: [
                    (BraceGroup
                      children: [
                        (Sentence
                          child: 
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {(file)}
                                {($ VSub_Name '$pname')}
                                {(already)}
                                {(compressed)}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 1
                                  arg_word: {(2)}
                                  spids: [1319]
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      spids: [1307]
                    )
                  ]
                  spids: [1304 1305 1326 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '[') (12345678ln) (Lit_Other ']') (Lit_Other '*')}]
                  action: [
                    (BraceGroup
                      children: [
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ (' \t'))}
                                  spids: [1337]
                                )
                              ]
                              spids: [1337]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (C {(set)} 
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [(C {(file)} {($ VSub_Name '$pname')})]
                                )
                              left_token: <Left_Backtick '`'>
                              spids: [1346 1350]
                            )
                          }
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {($ VSub_Number '$2')} {(Lit_Other '=')} 
                                      {(DQ (gzip))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (SimpleCommand
                                  words: [{(echo)} {(moving)} {(hard)} {(link)} {($ VSub_Name '$pname')}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 1
                                      arg_word: {(2)}
                                      spids: [1383]
                                    )
                                  ]
                                )
                                (C {(mv)} {($ VSub_Name '$pname')} {($ VSub_Name '$pname') (.gz)})
                              ]
                              spids: [16777215 1369]
                            )
                          ]
                          else_action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {($ VSub_Number '$2')} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ (symbolic))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {(DQ ("removing .so's in  page ") ($ VSub_Name '$pname'))}
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 1
                                          arg_word: {(2)}
                                          spids: [1428]
                                        )
                                      ]
                                    )
                                    (C {(so_purge_page)} {($ VSub_Name '$pname')})
                                  ]
                                  spids: [16777215 1418]
                                )
                              ]
                              else_action: [
                                (SimpleCommand
                                  words: [{(echo)} {(skipping)} {(symlink)} {($ VSub_Name '$pname')}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 1
                                      arg_word: {(2)}
                                      spids: [1460]
                                    )
                                  ]
                                )
                              ]
                              spids: [1437 1464]
                            )
                          ]
                          spids: [1398 1467]
                        )
                      ]
                      spids: [1334]
                    )
                  ]
                  spids: [1329 1333 1470 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (BraceGroup
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(DQ (' \t'))}
                              spids: [1479]
                            )
                          ]
                          spids: [1479]
                        )
                        (SimpleCommand
                          words: [{(echo)} {(skipping)} {(file)} {($ VSub_Name '$pname')}]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[1493])]
                        )
                      ]
                      spids: [1476]
                    )
                  ]
                  spids: [1473 1474 1499 16777215]
                )
              ]
              spids: [1270 1276 1502]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(DQ (' \t'))} spids:[1509])]
              spids: [1509]
            )
          ]
          spids: [1132]
        )
      spids: [1128 1131]
    )
    (FuncDef
      name: compress_page
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:pname) op:Equal spids:[1539])]
              spids: [1537]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:fname) op:Equal spids:[1544])]
              spids: [1542]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:sect) op:Equal spids:[1549])]
              spids: [1547]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pname)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1557]
                )
              ]
              spids: [1557]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <.>)} spids:[1561])]
                  spids: [1561]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(set)} {($ VSub_Name '$pname')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-lt)} {(2)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(DQ (' \t'))}
                              spids: [1591]
                            )
                          ]
                          spids: [1591]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [{(echo)} {(ignoring)} {($ VSub_Name '$pname')}]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[1604])]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 1587]
                )
              ]
              spids: [16777215 1617]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:fname)
                      op: Equal
                      rhs: {($ VSub_Number '$1')}
                      spids: [1624]
                    )
                  ]
                  spids: [1624]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(shift)})
            (While
              cond: [
                (Sentence
                  child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(1)} {(Lit_Other ']')})
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:fname)
                          op: Equal
                          rhs: {($ VSub_Name '$fname') (.) ($ VSub_Number '$1')}
                          spids: [1649]
                        )
                      ]
                      spids: [1649]
                    )
                    (C {(shift)})
                  ]
                  spids: [1646 1658]
                )
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sect)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1661]
                )
              ]
              spids: [1661]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(DQ (' \t'))} spids:[1666])]
              spids: [1666]
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$sect'))}
              arms: [
                (case_arm
                  pat_list: [{(gz)}]
                  action: [
                    (BraceGroup
                      children: [
                        (Sentence
                          child: 
                            (SimpleCommand
                              words: [{(echo)} {(file)} {($ VSub_Name '$pname')} {(already)} {(gzipped)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 1
                                  arg_word: {(2)}
                                  spids: [1696]
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      spids: [1684]
                    )
                  ]
                  spids: [1681 1682 1703 16777215]
                )
                (case_arm
                  pat_list: [{(Z)}]
                  action: [
                    (BraceGroup
                      children: [
                        (Sentence
                          child: 
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {(file)}
                                {($ VSub_Name '$pname')}
                                {(already)}
                                {(compressed)}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 1
                                  arg_word: {(2)}
                                  spids: [1721]
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      spids: [1709]
                    )
                  ]
                  spids: [1706 1707 1728 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '[') (12345678ln) (Lit_Other ']') (Lit_Other '*')}]
                  action: [
                    (BraceGroup
                      children: [
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ (' \t'))}
                                  spids: [1739]
                                )
                              ]
                              spids: [1739]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (C {(set)} 
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [(C {(file)} {($ VSub_Name '$pname')})]
                                )
                              left_token: <Left_Backtick '`'>
                              spids: [1748 1752]
                            )
                          }
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {($ VSub_Number '$2')} {(Lit_Other '=')} 
                                      {(DQ (gzip))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (SimpleCommand
                                  words: [{(echo)} {(moving)} {(hard)} {(link)} {($ VSub_Name '$pname')}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 1
                                      arg_word: {(2)}
                                      spids: [1785]
                                    )
                                  ]
                                )
                                (C {(mv)} {($ VSub_Name '$pname')} {($ VSub_Name '$pname') (.gz)})
                              ]
                              spids: [16777215 1771]
                            )
                          ]
                          else_action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {($ VSub_Number '$2')} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ (symbolic))} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (SimpleCommand
                                      words: [{(echo)} {(gzipping)} {(page)} {($ VSub_Name '$pname')}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 1
                                          arg_word: {(2)}
                                          spids: [1831]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:temp)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [(C {(mktemp)} {(-t)} {(manager)})]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [1836 1842]
                                                  )
                                                }
                                              spids: [1835]
                                            )
                                          ]
                                          spids: [1835]
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Exit exit>
                                          arg_word: {(1)}
                                        )
                                      ]
                                    )
                                    (Pipeline
                                      children: [
                                        (C {(cat)} {($ VSub_Name '$pname')})
                                        (Subshell
                                          child: 
                                            (CommandList
                                              children: [
                                                (Sentence
                                                  child: (C {(cd)} {(..)})
                                                  terminator: <Op_Semi ';'>
                                                )
                                                (C {(soelim)})
                                              ]
                                            )
                                          spids: [1859 1868]
                                        )
                                        (SimpleCommand
                                          words: [{(gzip)} {(-c)} {(--)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$temp')}
                                              spids: [1877]
                                            )
                                          ]
                                        )
                                      ]
                                      negated: F
                                    )
                                    (C {(chmod)} {(u) (Lit_Other '+') (w)} {($ VSub_Name '$pname')})
                                    (C {(cp)} {($ VSub_Name '$temp')} {($ VSub_Name '$pname')})
                                    (C {(chmod)} {(444)} {($ VSub_Name '$pname')})
                                    (C {(mv)} {($ VSub_Name '$pname')} {($ VSub_Name '$pname') (.gz)})
                                    (C {(rm)} {(-f)} {($ VSub_Name '$temp')})
                                  ]
                                  spids: [16777215 1820]
                                )
                              ]
                              else_action: [
                                (SimpleCommand
                                  words: [{(echo)} {(skipping)} {(symlink)} {($ VSub_Name '$pname')}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 1
                                      arg_word: {(2)}
                                      spids: [1943]
                                    )
                                  ]
                                )
                              ]
                              spids: [1920 1947]
                            )
                          ]
                          spids: [1800 1950]
                        )
                      ]
                      spids: [1736]
                    )
                  ]
                  spids: [1731 1735 1953 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (BraceGroup
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(DQ (' \t'))}
                              spids: [1962]
                            )
                          ]
                          spids: [1962]
                        )
                        (SimpleCommand
                          words: [{(echo)} {(skipping)} {(file)} {($ VSub_Name '$pname')}]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[1976])]
                        )
                      ]
                      spids: [1959]
                    )
                  ]
                  spids: [1956 1957 1982 16777215]
                )
              ]
              spids: [1672 1678 1985]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(DQ (' \t'))} spids:[1992])]
              spids: [1992]
            )
          ]
          spids: [1534]
        )
      spids: [1530 1533]
    )
    (FuncDef
      name: do_compress_so
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[2018])]
              spids: [2016]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:dir) op:Equal spids:[2023])]
              spids: [2021]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:workdir) op:Equal spids:[2028])]
              spids: [2026]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:what) op:Equal spids:[2033])]
              spids: [2031]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:what)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [2037]
                )
              ]
              spids: [2037]
            )
            (C {(shift)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:workdir)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(pwd)})])
                        left_token: <Left_Backtick '`'>
                        spids: [2045 2047]
                      )
                    }
                  spids: [2044]
                )
              ]
              spids: [2044]
            )
            (While
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(0)} 
                      {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-d)} {($ VSub_Number '$1')} {(Lit_Other ']')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {($ VSub_Number '$1')}
                                  spids: [2083]
                                )
                              ]
                              spids: [2083]
                            )
                            (C {(cd)} {($ VSub_Name '$dir')})
                            (ForEach
                              iter_name: i
                              iter_words: [{(Lit_Other '*')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {($ VSub_Name '$i')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (cat) (Lit_Other '?')}]
                                          spids: [2112 2115 2117 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (BraceGroup
                                              children: [
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (C {(Lit_Other '[')} {(-d)} 
                                                              {($ VSub_Name '$i')} {(Lit_Other ']')}
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      action: [
                                                        (C {(do_compress_so)} {($ VSub_Name '$what')} 
                                                          {($ VSub_Name '$i')}
                                                        )
                                                      ]
                                                      spids: [16777215 2141]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(Lit_Other '[')} {(-e)} 
                                                                  {($ VSub_Name '$i')} {(Lit_Other ']')}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {($ VSub_Name '$what')} 
                                                              {($ VSub_Name '$i')}
                                                            )
                                                          ]
                                                          spids: [16777215 2168]
                                                        )
                                                      ]
                                                      spids: [16777215 2176]
                                                    )
                                                  ]
                                                  spids: [2152 2179]
                                                )
                                              ]
                                              spids: [2126]
                                            )
                                          ]
                                          spids: [2123 2124 2183 16777215]
                                        )
                                      ]
                                      spids: [2105 2109 2186]
                                    )
                                  ]
                                  spids: [2102 2189]
                                )
                              spids: [2097 2100]
                            )
                            (C {(cd)} {($ VSub_Name '$workdir')})
                          ]
                          spids: [16777215 2080]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [{(echo)} {(DQ ('directory ') ($ VSub_Number '$1') (' not found'))}]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2208])]
                        )
                      ]
                      spids: [2197 2212]
                    )
                    (C {(shift)})
                  ]
                  spids: [2065 2218]
                )
            )
          ]
          spids: [2013]
        )
      spids: [2009 2012]
    )
    (FuncDef
      name: ctl_usage
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(echo)} {(DQ ('usage: ') ($ VSub_Number '$1') (' -compress <path> ... '))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2247])]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ('       ') ($ VSub_Number '$1') (' -uncompress <path> ... '))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2259])]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ('       ') ($ VSub_Number '$1') (' -purge <days> <path> ... '))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2271])]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ('       ') ($ VSub_Number '$1') (' -purge expire <path> ... '))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2283])]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [2236]
        )
      spids: [2232 2235]
    )
    (FuncDef
      name: do_compress
      body: 
        (BraceGroup
          children: [
            (C {(do_compress_so)} {(remove_so)} {(DQ ($ VSub_At '$@'))})
            (C {(do_compress_so)} {(compress_page)} {(DQ ($ VSub_At '$@'))})
          ]
          spids: [2307]
        )
      spids: [2303 2306]
    )
    (Sentence
      child: 
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-lt)} {(2)} {(Lit_Other ']')})
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Sentence
                  child: (C {(ctl_usage)} {($ VSub_Number '$0')})
                  terminator: <Op_Semi ';'>
                )
              ]
              spids: [16777215 2361]
            )
          ]
          spids: [16777215 2369]
        )
      terminator: <Op_Semi ';'>
    )
    (Case
      to_match: {(DQ ($ VSub_Number '$1'))}
      arms: [
        (case_arm
          pat_list: [{(-compress)}]
          action: [
            (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
            (C {(do_compress)} {(DQ ($ VSub_At '$@'))})
          ]
          spids: [2383 2384 2396 16777215]
        )
        (case_arm
          pat_list: [{(-uncompress)}]
          action: [
            (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
            (C {(do_uncompress)} {(DQ ($ VSub_At '$@'))})
          ]
          spids: [2399 2400 2412 16777215]
        )
        (case_arm
          pat_list: [{(-purge)}]
          action: [
            (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
            (C {(do_purge)} {(DQ ($ VSub_At '$@'))})
          ]
          spids: [2415 2416 2428 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [(C {(ctl_usage)} {($ VSub_Number '$0')})]
          spids: [2431 2432 2438 16777215]
        )
      ]
      spids: [2374 2380 2440]
    )
  ]
)