(command.If
  arms: [
    (if_arm
      cond: 
        (condition.Shell
          commands: [(command.Sentence child:(C {<true>}) terminator:<Id.Op_Semi _>)]
        )
      action: [
        (command.AndOr
          ops: [Id.Op_DAmp]
          children: [
            (C {<test>} 
              {
                (DQ 
                  (braced_var_sub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Number 0>
                    var_name: 0
                    suffix_op: 
                      (suffix_op.Unary
                        op: <Id.VOp1_Percent '%'>
                        arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>}
                      )
                    right: <Id.Right_DollarBrace '}'>
                  )
                )
              } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_Number 0))}
            )
            (C {<cd>} 
              {
                (DQ 
                  (braced_var_sub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Number 0>
                    var_name: 0
                    suffix_op: 
                      (suffix_op.Unary
                        op: <Id.VOp1_Percent '%'>
                        arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>}
                      )
                    right: <Id.Right_DollarBrace '}'>
                  )
                )
              }
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'UNAME='> name:UNAME)
              op: assign_op.Equal
              rhs: 
                {
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.AndOr
                        ops: [Id.Op_DPipe Id.Op_DPipe]
                        children: [
                          (command.Simple
                            words: [{<'./busybox'>} {<uname>}]
                            redirects: [
                              (redir
                                op: <Id.Redir_Great '2>'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<'/dev/null'>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                          (C {<uname>})
                          (C {<true>})
                        ]
                      )
                    right: <Id.Eof_RParen _>
                  )
                }
              spids: [176]
            )
          ]
          redirects: []
        )
        (C {<unset>} {<PYTHONPATH>} {<PYTHONSTARTUP>} {<PYTHONHOME>} {<PYTHONCASEOK>} {<PYTHONIOENCODING>})
        (command.If
          arms: [
            (if_arm
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {<test>} {(DQ ($ Id.VSub_DollarName NO_BUSYBOX))})
                            (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} {<Id.Lit_Equals '='>} 
                              {<Darwin>}
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'BUSYBOX='> name:BUSYBOX)
                      op: assign_op.Equal
                      rhs: (rhs_word.Empty)
                      spids: [238]
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATCH='> name:PATCH)
                      op: assign_op.Equal
                      rhs: {(SQ <'patch -t'>)}
                      spids: [241]
                    )
                  ]
                  redirects: []
                )
              ]
              spids: [211 232]
            )
            (if_arm
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {<test>} {(DQ ($ Id.VSub_DollarName BASH_VERSION))})
                            (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName STATICPYTHON_IN_BUSYBOX))})
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              action: [
                (C {<unset>} {<BASH_VERSION>})
                (C {<export>} {<Id.Lit_VarLike 'STATICPYTHON_IN_BUSYBOX='> <1>})
                (C {<exec>} {<'./busybox'>} {<sh>} {<-->} {(DQ ($ Id.VSub_Number 0))} 
                  {(DQ ($ Id.VSub_At '@'))}
                )
              ]
              spids: [249 268]
            )
          ]
          else_action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'BUSYBOX='> name:BUSYBOX)
                  op: assign_op.Equal
                  rhs: {<'./busybox'>}
                  spids: [301]
                )
              ]
              redirects: []
            )
            (C {<export>} {<Id.Lit_VarLike 'PATH='> <'/dev/null'>})
            (C {<set>} {<-e>})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<test>} {<-d>} {<busybox.bin>})
                (C {<'./busybox'>} {<mkdir>} {<busybox.bin>})
              ]
            )
            (command.ForEach
              iter_names: [F]
              iterable: 
                (for_iter.Words
                  words: [
                    {<cp>}
                    {<mv>}
                    {<rm>}
                    {<sleep>}
                    {<touch>}
                    {<mkdir>}
                    {<tar>}
                    {<expr>}
                    {<sed>}
                    {<awk>}
                    {<ls>}
                    {<pwd>}
                    {<test>}
                    {<cmp>}
                    {<diff>}
                    {<patch>}
                    {<xz>}
                    {<sort>}
                    {<cat>}
                    {<head>}
                    {<tail>}
                    {<chmod>}
                    {<chown>}
                    {<uname>}
                    {<basename>}
                    {<tr>}
                    {<find>}
                    {<grep>}
                    {<ln>}
                  ]
                )
              body: 
                (command.DoGroup
                  children: [
                    (C {<'./busybox'>} {<rm>} {<-f>} {<'busybox.bin/'> (DQ ($ Id.VSub_DollarName F))})
                    (C {<'./busybox'>} {<ln>} {<-s>} {<'../busybox'>} 
                      {<'busybox.bin/'> (DQ ($ Id.VSub_DollarName F))}
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATCH='> name:PATCH)
                  op: assign_op.Equal
                  rhs: {<patch>}
                  spids: [439]
                )
              ]
              redirects: []
            )
            (command.Sentence
              child: (C {<'./busybox'>} {<rm>} {<-f>} {<'busybox.bin/make'>})
              terminator: <Id.Op_Semi _>
            )
            (C {<'./busybox'>} {<ln>} {<-s>} {<'../make'>} {<'busybox.bin/make'>})
            (command.Sentence
              child: (C {<'./busybox'>} {<rm>} {<-f>} {<'busybox.bin/perl'>})
              terminator: <Id.Op_Semi _>
            )
            (C {<'./busybox'>} {<ln>} {<-s>} {<'../perl'>} {<'busybox.bin/perl'>})
            (C {<export>} {<Id.Lit_VarLike 'PATH='> (DQ ($ Id.VSub_DollarName PWD) <'/busybox.bin'>)})
            (C {<export>} 
              {<Id.Lit_VarLike 'SHELL='> (DQ ($ Id.VSub_DollarName PWD) <'/busybox.bin/sh'>)}
            )
          ]
          redirects: []
        )
        (C {<set>} {<-e>})
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INSTS_BASE='> name:INSTS_BASE)
              op: assign_op.Equal
              rhs: 
                {
                  (DQ 
                    <
'bzip2-1.0.5.inst.tbz2 ncurses-5.6.inst.tbz2 readline-5.2.inst.tbz2 sqlite-3.7.0.1.inst.tbz2 zlib-1.2.3.3.inst.tbz2'
                    >
                  )
                }
              spids: [518]
            )
          ]
          redirects: []
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'STEPS='> name:STEPS)
              op: assign_op.Equal
              rhs: (rhs_word.Empty)
              spids: [524]
            )
          ]
          redirects: []
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USE_SSL='> name:USE_SSL)
              op: assign_op.Equal
              rhs: (rhs_word.Empty)
              spids: [526]
            )
          ]
          redirects: []
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USE_TC='> name:USE_TC)
              op: assign_op.Equal
              rhs: (rhs_word.Empty)
              spids: [528]
            )
          ]
          redirects: []
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USE_LMDB='> name:USE_LMDB)
              op: assign_op.Equal
              rhs: (rhs_word.Empty)
              spids: [530]
            )
          ]
          redirects: []
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET='> name:TARGET)
              op: assign_op.Equal
              rhs: {<python2.7-static>}
              spids: [532]
            )
          ]
          redirects: []
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PYTHONTBZ2='> name:PYTHONTBZ2)
              op: assign_op.Equal
              rhs: {<Python-2.7.12.tar.xz>}
              spids: [535]
            )
          ]
          redirects: []
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_CO='> name:IS_CO)
              op: assign_op.Equal
              rhs: (rhs_word.Empty)
              spids: [538]
            )
          ]
          redirects: []
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_PY3='> name:IS_PY3)
              op: assign_op.Equal
              rhs: (rhs_word.Empty)
              spids: [540]
            )
          ]
          redirects: []
        )
        (command.ForEach
          iter_names: [ARG]
          iterable: (for_iter.Words words:[{(DQ ($ Id.VSub_At '@'))}])
          body: 
            (command.DoGroup
              children: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARG='> name:ARG)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (DQ 
                            (braced_var_sub
                              left: <Id.Left_DollarBrace '${'>
                              token: <Id.VSub_Name ARG>
                              var_name: ARG
                              suffix_op: 
                                (suffix_op.Unary
                                  op: <Id.VOp1_Percent '%'>
                                  arg_word: {<-static>}
                                )
                              right: <Id.Right_DollarBrace '}'>
                            )
                          )
                        }
                      spids: [557]
                    )
                  ]
                  redirects: []
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName ARG))} {<Id.Lit_Equals '='>} 
                                      {<stackless>}
                                    )
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName ARG))} {<Id.Lit_Equals '='>} 
                                      {<stackless2.7>}
                                    )
                                  ]
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET='> name:TARGET)
                              op: assign_op.Equal
                              rhs: {<stackless2.7-static>}
                              spids: [598]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'PYTHONTBZ2='>
                                  name: PYTHONTBZ2
                                )
                              op: assign_op.Equal
                              rhs: {<stackless-2712-export.tar.xz>}
                              spids: [602]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_CO='> name:IS_CO)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [606]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_XX='> name:IS_XX)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [609]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_PY3='> name:IS_PY3)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [612]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USE_SSL='> name:USE_SSL)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [615]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [570 595]
                    )
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName ARG))} {<Id.Lit_Equals '='>} 
                                      {<stacklessco>}
                                    )
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName ARG))} {<Id.Lit_Equals '='>} 
                                      {<stacklessco2.7>}
                                    )
                                  ]
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET='> name:TARGET)
                              op: assign_op.Equal
                              rhs: {<stacklessco2.7-static>}
                              spids: [646]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'PYTHONTBZ2='>
                                  name: PYTHONTBZ2
                                )
                              op: assign_op.Equal
                              rhs: {<stackless-2712-export.tar.xz>}
                              spids: [650]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_CO='> name:IS_CO)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [654]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_XX='> name:IS_XX)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [658]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ISP_PY3='> name:ISP_PY3)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [661]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USE_SSL='> name:USE_SSL)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [664]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [618 643]
                    )
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName ARG))} {<Id.Lit_Equals '='>} 
                                      {<stacklessxx>}
                                    )
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName ARG))} {<Id.Lit_Equals '='>} 
                                      {<stacklessxx2.7>}
                                    )
                                  ]
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET='> name:TARGET)
                              op: assign_op.Equal
                              rhs: {<stacklessxx2.7-static>}
                              spids: [696]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'PYTHONTBZ2='>
                                  name: PYTHONTBZ2
                                )
                              op: assign_op.Equal
                              rhs: {<stackless-2712-export.tar.xz>}
                              spids: [700]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_CO='> name:IS_CO)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [704]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_XX='> name:IS_XX)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [708]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ISP_PY3='> name:ISP_PY3)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [715]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USE_SSL='> name:USE_SSL)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [718]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USE_TC='> name:USE_TC)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [722]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USE_LMDB='> name:USE_LMDB)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [726]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [668 693]
                    )
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName ARG))} {<Id.Lit_Equals '='>} 
                                      {<python>}
                                    )
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName ARG))} {<Id.Lit_Equals '='>} 
                                      {<python2.7>}
                                    )
                                  ]
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET='> name:TARGET)
                              op: assign_op.Equal
                              rhs: {<python2.7-static>}
                              spids: [758]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'PYTHONTBZ2='>
                                  name: PYTHONTBZ2
                                )
                              op: assign_op.Equal
                              rhs: {<Python-2.7.12.tar.xz>}
                              spids: [762]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_CO='> name:IS_CO)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [766]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_XX='> name:IS_XX)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [769]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_PY3='> name:IS_PY3)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [772]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USE_SSL='> name:USE_SSL)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [775]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [730 755]
                    )
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<test>} {(DQ ($ Id.VSub_DollarName ARG))} {<Id.Lit_Equals '='>} 
                                  {<python3.2>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET='> name:TARGET)
                              op: assign_op.Equal
                              rhs: {<python3.2-static>}
                              spids: [794]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'PYTHONTBZ2='>
                                  name: PYTHONTBZ2
                                )
                              op: assign_op.Equal
                              rhs: {<Python-3.2.tar.bz2>}
                              spids: [798]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_CO='> name:IS_CO)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [802]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_XX='> name:IS_XX)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [805]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_PY3='> name:IS_PY3)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [808]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USE_SSL='> name:USE_SSL)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [812]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [778 791]
                    )
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<test>} {(DQ ($ Id.VSub_DollarName ARG))} {<Id.Lit_Equals '='>} 
                                  {<stackless3.2>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET='> name:TARGET)
                              op: assign_op.Equal
                              rhs: {<stackless3.2-static>}
                              spids: [831]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'PYTHONTBZ2='>
                                  name: PYTHONTBZ2
                                )
                              op: assign_op.Equal
                              rhs: {<stackless-32-export.tar.bz2>}
                              spids: [835]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_CO='> name:IS_CO)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [839]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_XX='> name:IS_XX)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [842]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_PY3='> name:IS_PY3)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [845]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USE_SSL='> name:USE_SSL)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [849]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [815 828]
                    )
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<test>} {(DQ ($ Id.VSub_DollarName ARG))} {<Id.Lit_Equals '='>} 
                                  {<stacklessxl3.2>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGET='> name:TARGET)
                              op: assign_op.Equal
                              rhs: {<stacklessxl3.2-static>}
                              spids: [868]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'PYTHONTBZ2='>
                                  name: PYTHONTBZ2
                                )
                              op: assign_op.Equal
                              rhs: {<stackless-32-export.tar.bz2>}
                              spids: [872]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_CO='> name:IS_CO)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [876]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_XX='> name:IS_XX)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [879]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IS_PY3='> name:IS_PY3)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [882]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USE_SSL='> name:USE_SSL)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [886]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [852 865]
                    )
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<test>} {(DQ ($ Id.VSub_DollarName ARG))} {<Id.Lit_Equals '='>} 
                                  {<usessl>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USE_SSL='> name:USE_SSL)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [906]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [890 903]
                    )
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<test>} {(DQ ($ Id.VSub_DollarName ARG))} {<Id.Lit_Equals '='>} 
                                  {<nossl>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USE_SSL='> name:USE_SSL)
                              op: assign_op.Equal
                              rhs: (rhs_word.Empty)
                              spids: [926]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [910 923]
                    )
                  ]
                  else_action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'STEPS='> name:STEPS)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName STEPS) <' '> ($ Id.VSub_DollarName ARG))}
                          spids: [932]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  redirects: []
                )
              ]
            )
          redirects: []
        )
        (command.If
          arms: [
            (if_arm
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName STEPS))})
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'STEPS='> name:STEPS)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (DQ 
                            <
'initbuilddir initdeps buildlibssl buildlibevent2 buildlibtc configure fixsemaphore patchsetup fixsetup patchimport patchgetpath patchsqlite patchssl patchlocale fixsetup makeminipython extractpyrex patchsyncless patchgevent patchgeventmysql patchmsgpack patchpythontokyocabinet patchpythonlmdb patchconcurrence patchpycrypto patchaloaes fixsetup makepython buildpythonlibzip buildtarget'
                            >
                          )
                        }
                      spids: [970]
                    )
                  ]
                  redirects: []
                )
              ]
              spids: [944 955]
            )
          ]
          else_action: []
          redirects: []
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INSTS='> name:INSTS)
              op: assign_op.Equal
              rhs: {(DQ ($ Id.VSub_DollarName INSTS_BASE))}
              spids: [978]
            )
          ]
          redirects: []
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'BUILDDIR='> name:BUILDDIR)
              op: assign_op.Equal
              rhs: {(DQ ($ Id.VSub_DollarName TARGET) <.build>)}
              spids: [983]
            )
          ]
          redirects: []
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PBUILDDIR='> name:PBUILDDIR)
              op: assign_op.Equal
              rhs: {(DQ ($ Id.VSub_DollarName PWD) <'/'> ($ Id.VSub_DollarName BUILDDIR))}
              spids: [989]
            )
          ]
          redirects: []
        )
        (command.If
          arms: [
            (if_arm
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} {<Id.Lit_Equals '='>} {<Darwin>})
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              action: [
                (C {<export>} 
                  {<Id.Lit_VarLike 'CC='> 
                    (DQ <'gcc-mp-4.4 -m32 -static-libgcc -I'> ($ Id.VSub_DollarName PBUILDDIR) 
                      <'/build-include'>
                    )
                  }
                )
                (C {<export>} {<Id.Lit_VarLike 'AR='> <ar>})
                (C {<export>} {<Id.Lit_VarLike 'RANLIB='> <ranlib>})
                (C {<export>} {<Id.Lit_VarLike 'LD='> <ld>})
                (C {<export>} 
                  {<Id.Lit_VarLike 'LDFLAGS='> 
                    (DQ <-L> ($ Id.VSub_DollarName PBUILDDIR) <'/build-lib'>)
                  }
                )
                (C {<export>} {<Id.Lit_VarLike 'STRIP='> <strip>})
              ]
              spids: [1003 1016]
            )
          ]
          else_action: [
            (C {<export>} 
              {<Id.Lit_VarLike 'CC='> 
                (DQ ($ Id.VSub_DollarName PBUILDDIR) 
                  <'/cross-compiler-i686/bin/i686-gcc -static -fno-stack-protector'>
                )
              }
            )
            (C {<export>} 
              {<Id.Lit_VarLike 'AR='> 
                (DQ ($ Id.VSub_DollarName PBUILDDIR) <'/cross-compiler-i686/bin/i686-ar'>)
              }
            )
            (C {<export>} 
              {<Id.Lit_VarLike 'RANLIB='> 
                (DQ ($ Id.VSub_DollarName PBUILDDIR) <'/cross-compiler-i686/bin/i686-ranlib'>)
              }
            )
            (C {<export>} 
              {<Id.Lit_VarLike 'LD='> 
                (DQ ($ Id.VSub_DollarName PBUILDDIR) <'/cross-compiler-i686/bin/i686-ld'>)
              }
            )
            (C {<export>} {<Id.Lit_VarLike 'LDFLAGS='> (DQ )})
            (C {<export>} 
              {<Id.Lit_VarLike 'STRIP='> 
                (DQ ($ Id.VSub_DollarName PBUILDDIR) <'/cross-compiler-i686/bin/i686-strip -s'>)
              }
            )
          ]
          redirects: []
        )
        (C {<echo>} {(DQ <'Running in directory: '> ($ Id.VSub_DollarName PWD))})
        (C {<echo>} {(DQ <'Building target: '> ($ Id.VSub_DollarName TARGET))})
        (C {<echo>} {(DQ <'Building in directory: '> ($ Id.VSub_DollarName BUILDDIR))})
        (C {<echo>} {(DQ <'Using Python source distribution: '> ($ Id.VSub_DollarName PYTHONTBZ2))})
        (C {<echo>} {(DQ <'Will run steps: '> ($ Id.VSub_DollarName STEPS))})
        (C {<echo>} {(DQ <'Is adding coroutine libraries: '> ($ Id.VSub_DollarName IS_CO))})
        (C {<echo>} {(DQ <'Is using OpenSSL for SSL functionality: '> ($ Id.VSub_DollarName USE_SSL))})
        (C {<echo>} {(DQ <'Is using Tokyo Cabinet database: '> ($ Id.VSub_DollarName USE_TC))})
        (C {<echo>} {(DQ <'Is using LMDB (database): '> ($ Id.VSub_DollarName USE_LMDB))})
        (C {<echo>} {(DQ <'Operating system UNAME: '> ($ Id.VSub_DollarName UNAME))})
        (C {<echo>})
        (command.ShFunction
          name: initbuilddir
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<rm>} {<-rf>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<mkdir>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} 
                                      {<Id.Lit_Equals '='>} {<Linux>}
                                    )
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} 
                                      {<Id.Lit_Equals '='>} {<Darwin>}
                                    )
                                  ]
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [(C {<Id.Lit_Colon ':'>})]
                      spids: [1241 1266]
                    )
                  ]
                  else_action: [
                    (C {<set>} {<Id.Lit_Other '+'> <x>})
                    (command.Simple
                      words: [
                        {<echo>}
                        {(DQ <'fatal: unsupported operating system: '> ($ Id.VSub_DollarName UNAME))}
                      ]
                      redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
                      more_env: []
                      do_fork: T
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<2>}
                    )
                  ]
                  redirects: []
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} {<Id.Lit_Equals '='>} 
                                  {<Darwin>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {<mkdir>} {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/build-include'>)})
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                            )
                          ]
                        )
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {<mkdir>} {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/build-lib'>)})
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                            )
                          ]
                        )
                      ]
                      spids: [1301 1314]
                    )
                  ]
                  else_action: [
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Subshell
                          child: 
                            (command.CommandList
                              children: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<mkdir>} {<cross-compiler-i686>})
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<cd>} {<cross-compiler-i686>})
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<tar>} {<xjvf>} {<'../../gcxbase.inst.tbz2'>})
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<tar>} {<xjvf>} {<'../../gcc.inst.tbz2'>})
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<tar>} {<xjvf>} {<'../../gcxtool.inst.tbz2'>})
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                              ]
                            )
                          redirects: []
                        )
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                        )
                      ]
                    )
                  ]
                  redirects: []
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} {<Id.Lit_Equals '='>} 
                                  {<Darwin>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (command.Subshell
                              child: 
                                (command.CommandList
                                  children: [
                                    (command.Sentence
                                      child: (C {<echo>} {(SQ <'#!/bin/sh'>)})
                                      terminator: <Id.Op_Semi _>
                                    )
                                    (C {<echo>} {(SQ <'echo i386-apple-darwin9.8.0'>)})
                                  ]
                                )
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/config.guess.fake'>)}
                                )
                              ]
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                            )
                          ]
                        )
                      ]
                      spids: [1467 1480]
                    )
                  ]
                  else_action: [
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Subshell
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: (C {<echo>} {(SQ <'#!/bin/sh'>)})
                                  terminator: <Id.Op_Semi _>
                                )
                                (C {<echo>} {(SQ <'echo i686-pc-linux-gnu'>)})
                              ]
                            )
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/config.guess.fake'>)}
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                        )
                      ]
                    )
                  ]
                  redirects: []
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} 
                      {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/config.guess.fake'>)}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (C {<echo>} {(SQ <'#include <stdio.h>'>)})
                            (C {<echo>} {(SQ <'main() { return!printf("Hello, World!\\n"); }'>)})
                          ]
                        )
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/hello.c'>)}
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.Pipeline
                                  children: [
                                    (C {($ Id.VSub_DollarName CC)} {<-o>} 
                                      {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/hello'>)} {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/hello.c'>)}
                                    )
                                  ]
                                  negated: T
                                  stderr_indices: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (C {<set>} {<Id.Lit_Other '+'> <x>})
                        (command.Simple
                          words: [{<echo>} {(DQ <'fatal: the C compiler doesn\'t work'>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_GreatAnd '>&'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<2>}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} 
                                          {<Id.Lit_Equals '='>} {<Darwin>}
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.Simple
                                  words: [
                                    {<echo>}
                                    {
                                      (DQ 
                                        <
'info: did you install MacPorts and run: sudo port install gcc44'
                                        >
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_GreatAnd '>&'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: {<2>}
                                    )
                                  ]
                                  more_env: []
                                  do_fork: T
                                )
                              ]
                              spids: [1643 1656]
                            )
                          ]
                          else_action: []
                          redirects: []
                        )
                        (command.ControlFlow
                          token: <Id.ControlFlow_Exit exit>
                          arg_word: {<2>}
                        )
                      ]
                      spids: [1605 1624]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {($ Id.VSub_DollarName STRIP)} {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/hello'>)})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (C {<local>} 
                  {<Id.Lit_VarLike 'OUT='> 
                    (DQ 
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: (C {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/hello'>)})
                        right: <Id.Eof_RParen _>
                      )
                    )
                  }
                )
                (C {<test>} {(DQ ($ Id.VSub_QMark '?'))} {<Id.Lit_Equals '='>} {<0>})
                (C {<test>} {(DQ ($ Id.VSub_DollarName OUT))} {<Id.Lit_Equals '='>} 
                  {(DQ <'Hello, World!'>)}
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} 
                                              {
                                                (DQ 
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name PYTHONTBZ2>
                                                    var_name: PYTHONTBZ2
                                                    suffix_op: 
                                                      (suffix_op.Unary
                                                        op: <Id.VOp1_Percent '%'>
                                                        arg_word: {<.xz>}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                )
                                              } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ (${ Id.VSub_Name PYTHONTBZ2))}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (command.Pipeline
                                          children: [
                                            (command.Simple
                                              words: [{<xz>} {<-d>}]
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_Less '<'>
                                                  loc: (redir_loc.Fd fd:0)
                                                  arg: {<'../'> (DQ ($ Id.VSub_DollarName PYTHONTBZ2))}
                                                )
                                              ]
                                              more_env: []
                                              do_fork: T
                                            )
                                            (C {<tar>} {<xv>})
                                          ]
                                          negated: F
                                          stderr_indices: []
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1751 1773]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<tar>} {<xjvf>} {<'../'> (DQ ($ Id.VSub_DollarName PYTHONTBZ2))})
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                              ]
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: (C {<test>} {<-d>} {<Python-> <Id.Lit_Star '*'>})
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<mv>} {<Python-> <Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'>} 
                                          {<.>}
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1853 1863]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: (C {<test>} {<-d>} {<python-> <Id.Lit_Star '*'>})
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<mv>} {<python-> <Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'>} 
                                          {<.>}
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1884 1894]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: (C {<test>} {<-d>} {<stackless-> <Id.Lit_Star '*'>})
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<mv>} 
                                          {<stackless-> <Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'>} {<.>}
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1915 1925]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                  {(SQ <'s@^(Parser/pgenmain[.]o:)@disabled_$1@'>)} {<Makefile.pre.in>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/Modules'>)})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xzvf>} {<'../../greenlet-0.3.1.tar.gz'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: (C {<test>} {(DQ ($ Id.VSub_DollarName IS_PY3))})
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (command.Simple
                                          words: [{($ Id.VSub_DollarName PATCH)} {<-p0>}]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_Less '<'>
                                              loc: (redir_loc.Fd fd:0)
                                              arg: {<'../../greenlet-0.3.1-pycapsule.patch'>}
                                            )
                                          ]
                                          more_env: []
                                          do_fork: T
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [2020 2029]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mkdir>} {<-p>} {<advzip>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {<advzip>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} 
                                              {<Id.Lit_Equals '='>} {<Darwin>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<tar>} {<xjvf>} {<'../../advzip.darwin.inst.tbz2'>})
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [2112 2125]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<tar>} {<xjvf>} {<'../../advzip.inst.tbz2'>})
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                              ]
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (C {<cp>} {<-f>} {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/config.guess.fake'>)} 
                  {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/config.guess'>)}
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: initdeps
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} {<Id.Lit_Equals '='>} 
                                  {<Darwin>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {<builddeps>})
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                            )
                          ]
                        )
                      ]
                      spids: [2200 2213]
                    )
                  ]
                  else_action: [
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<extractinsts>})
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                        )
                      ]
                    )
                  ]
                  redirects: []
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: builddeps
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<buildlibz>})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<buildlibbz2>})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<buildlibreadline>})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<buildlibsqlite3>})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<buildlibevent2>})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: buildlibbz2
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<bzip2-1.0.6>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xzvf>} {<'../bzip2-1.0.6.tar.gz'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {<bzip2-1.0.6>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                  {
                                    (SQ 
                                      <
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@ -O3@g if s@^CFLAGS\\s*=@CFLAGS = @'
                                      >
                                    )
                                  } {<Makefile>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<make>} {<Id.Lit_VarLike 'CC='> (DQ ($ Id.VSub_DollarName CC))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<libbz2.a>} {<'../build-lib/libbz2-staticpython.a'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<bzlib.h>} {<'../build-include/'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: buildlibtc
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<test>} {(DQ ($ Id.VSub_DollarName USE_TC))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<tokyocabinet-1.4.47>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xzvf>} {<'../tokyocabinet-1.4.47.tar.gz'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {<tokyocabinet-1.4.47>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} 
                                              {<Id.Lit_Equals '='>} {<Darwin>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                          {(SQ <'s@^ *(LIBS="-l(?:z|bz2))@$1-staticpython @'>)} {<configure>}
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [2596 2609]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                  {(SQ <'s@nanl\\([^()]*\\)@NAN@g'>)} {<Id.Lit_Star '*'> <.c>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<'./configure'>} 
                                  {<--prefix> <Id.Lit_Equals '='> <'/dev/null/missing'>} {<--disable-shared>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                  {
                                    (SQ 
                                      <
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@ -O2@g if s@^CFLAGS\\s*=@CFLAGS = @; s@ -I\\S+@ @g, s@=@= -I.@ if s@^CPPFLAGS\\s*=\\s*@CPPFLAGS = @'
                                      >
                                    )
                                  } {<Makefile>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<make>} {<libtokyocabinet.a>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {($ Id.VSub_DollarName RANLIB)} {<libtokyocabinet.a>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<libtokyocabinet.a>} 
                                  {<'../build-lib/libtokyocabinet-staticpython.a'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<tc> <Id.Lit_Star '*'> <.h>} {<'../build-include/'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: buildlibreadline
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<readline-5.2>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xzvf>} {<'../readline-5.2.tar.gz'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {<readline-5.2>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<'./configure'>} {<--disable-shared>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                  {
                                    (SQ 
                                      <
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@ -O2@g if s@^CFLAGS\\s*=@CFLAGS = @'
                                      >
                                    )
                                  } {<Makefile>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<make>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<libreadline.a>} 
                                  {<'../build-lib/libreadline-staticpython.a'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<'../build-include/readline'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mkdir>} {<'../build-include/readline'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<rlstdc.h>} {<rltypedefs.h>} {<keymaps.h>} {<tilde.h>} 
                                  {<readline.h>} {<history.h>} {<chardefs.h>} {<'../build-include/readline/'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: buildlibsqlite3
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<sqlite-amalgamation-3070603>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<unzip>} {<'../sqlite-amalgamation-3070603.zip'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {<sqlite-amalgamation-3070603>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {($ Id.VSub_DollarName CC)} {<-c>} {<-O2>} {<-DSQLITE_ENABLE_STAT2>} 
                                  {<-DSQLITE_ENABLE_FTS3>} {<-DSQLITE_ENABLE_FTS4>} {<-DSQLITE_ENABLE_RTREE>} {<-W>} {<-Wall>} {<sqlite3.c>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {($ Id.VSub_DollarName AR)} {<cr>} {<libsqlite3.a>} {<sqlite3.o>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {($ Id.VSub_DollarName RANLIB)} {<libsqlite3.a>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<libsqlite3.a>} {<'../build-lib/libsqlite3-staticpython.a'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<sqlite3.h>} {<'../build-include/'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: buildlibz
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<zlib-1.2.5>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xjvf>} {<'../zlib-1.2.5.tar.bz2'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {<zlib-1.2.5>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<'./configure'>} {<--static>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                  {
                                    (SQ 
                                      <
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@ -O3@g if s@^CFLAGS\\s*=@CFLAGS = @'
                                      >
                                    )
                                  } {<Makefile>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<make>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<libz.a>} {<'../build-lib/libz-staticpython.a'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<zconf.h>} {<zlib.h>} {<'../build-include/'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: buildlibssl
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<test>} {(DQ ($ Id.VSub_DollarName USE_SSL))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<openssl-0.9.8zh.tar.gz>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xzvf>} {<'../openssl-0.9.8zh.tar.gz'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {<openssl-0.9.8zh>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} 
                                              {<Id.Lit_Equals '='>} {<Linux>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<'./Configure'>} {<no-shared>} {<linux-elf>} {<no-dso>})
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [3398 3411]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<'./Configure'>} {<no-shared>} {<darwin-i386-cc>})
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                              ]
                              redirects: []
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                  {
                                    (SQ 
                                      <
's@\\s(?:-g|-arch\\s+\\S+)(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@ -O2@g, s@\\s-D(DSO_DLFCN|HAVE_DLFCN_H)(?!\\S)@@g if s@^CFLAG\\s*=\\s*@CFLAG = @'
                                      >
                                    )
                                  } {<Makefile>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<ln>} {<-s>} {<.>} {<'crypto/des/asm/perlasm'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<make>} {<build_libs>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<libssl.a>} {<'../build-lib/libssl-staticpython.a'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<libcrypto.a>} {<'../build-lib/libcrypto-staticpython.a'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mkdir>} {<'../build-include/openssl'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'include/openssl/'> <Id.Lit_Star '*'> <.h>} 
                                  {<'../build-include/openssl/'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: buildlibevent2
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<test>} {(DQ ($ Id.VSub_DollarName IS_CO))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<libevent-2.0.16-stable>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<'build-include/event2'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<'build-lib/libevent'> <Id.Lit_Star '*'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xzvf>} {<'../libevent-2.0.16-stable.tar.gz'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {<libevent-2.0.16-stable>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (C {<local>} {<Id.Lit_VarLike 'SSL_FLAGS='> <--disable-openssl>})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: (C {<test>} {(DQ ($ Id.VSub_DollarName USE_SSL))})
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'SSL_FLAGS='>
                                              name: SSL_FLAGS
                                            )
                                          op: assign_op.Equal
                                          rhs: {<--enable-openssl>}
                                          spids: [3733]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                          {
                                            (SQ 
                                              <
's@^for ac_lib in \\x27\\x27 ssl;@for ac_lib in \\x27\\x27 \\x27ssl-staticpython -lcrypto-staticpython\\x27;@;\n'
                                              > <'                    s@ -lcrypto(?= )@ -lcrypto-staticpython@g'>
                                            )
                                          } {<configure>}
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [3721 3730]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<'./configure'>} {($ Id.VSub_DollarName SSL_FLAGS)} 
                                  {<--disable-debug-mode>} {<--disable-shared>} {<--disable-libevent-regress>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: (C {<test>} {(DQ ($ Id.VSub_DollarName USE_SSL))})
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<grep>} {(SQ <'^#define HAVE_OPENSSL 1$'>)} {<config.h>})
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [3782 3791]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<cp>} {<-f>} {<'../config.guess.fake'>} {<config.guess>})
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                  {
                                    (SQ 
                                      <
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@ -O2@g if s@^CFLAGS\\s*=@CFLAGS = @'
                                      >
                                    )
                                  } {<Makefile>} {<Id.Lit_Star '*'> <'/Makefile'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<make>} {<'./include/event2/event-config.h'>} {<libevent_core.la>} 
                                  {<libevent.la>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {($ Id.VSub_DollarName AR)} {<cr>} {<libevent_evhttp.a>} 
                                  {<bufferevent_sock.o>} {<http.o>} {<listener.o>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {($ Id.VSub_DollarName RANLIB)} {<libevent_evhttp.a>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'.libs/libevent_core.a'>} 
                                  {<'../build-lib/libevent_core-staticpython.a'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<libevent_evhttp.a>} 
                                  {<'../build-lib/libevent_evhttp-staticpython.a'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mkdir>} {<'../build-include/event2'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'include/event2/'> <Id.Lit_Star '*'> <.h>} 
                                  {<'../build-include/event2/'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: extractinsts
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.ForEach
                  iter_names: [INSTTBZ2]
                  iterable: (for_iter.Words words:[{($ Id.VSub_DollarName INSTS)}])
                  body: 
                    (command.DoGroup
                      children: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (command.Subshell
                              child: 
                                (command.CommandList
                                  children: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<cd>} 
                                          {
                                            (DQ ($ Id.VSub_DollarName BUILDDIR) 
                                              <'/cross-compiler-i686'>
                                            )
                                          }
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<tar>} {<xjvf>} 
                                          {<'../../'> (DQ ($ Id.VSub_DollarName INSTTBZ2))}
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                )
                              redirects: []
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                            )
                          ]
                        )
                      ]
                    )
                  redirects: []
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} {<Id.Lit_Equals '='>} 
                                  {<Linux>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (C {<ln>} {<-s>} {<'cross-compiler-i686/lib'>} 
                          {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/build-lib'>)}
                        )
                        (C {<ln>} {<-s>} {<'cross-compiler-i686/include'>} 
                          {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/build-include'>)}
                        )
                      ]
                      spids: [4045 4058]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: configure
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (C {<perl>} {<-pi>} {<-e>} {(SQ <'$_="" if /ASDLGEN/'>)} {<Makefile.pre.in>})
                            (C {<local>} {<Id.Lit_VarLike 'REGSFLAGS='>})
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} {<Id.Lit_Equals '='>} 
                                  {<Darwin>}
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'REGSFLAGS='>
                                          name: REGSFLAGS
                                        )
                                      op: assign_op.Equal
                                      rhs: {<--enable-stacklessfewerregisters>}
                                      spids: [4164]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<'./configure'>} {<--disable-shared>} {<--disable-ipv6>} 
                                  {($ Id.VSub_DollarName REGSFLAGS)}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (C {<fixmakefile>})
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: fixsemaphore
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} 
                                              {<Id.Lit_Equals '='>} {<Linux>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<perl>} {<-pi>} {<-e>} 
                                          {
                                            (SQ 
                                              <
's@^#define POSIX_SEMAPHORES_NOT_ENABLED 1$@/* #undef POSIX_SEMAPHORES_NOT_ENABLED */@'
                                              >
                                            )
                                          } {<pyconfig.h>}
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [4225 4238]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: fixmakefile
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                  {
                                    (SQ 
                                      <
's@\\s-(?:ldl|framework\\s+CoreFoundation)(?!\\S)@@g if s@^LIBS\\s*=@LIBS = @'
                                      >
                                    )
                                  } {<Makefile>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                  {
                                    (SQ 
                                      <
's@\\s-(?:g|O\\d*)(?!\\S)@@g, s@$@ -O2@ if s@^OPT\\s*=@OPT = @'
                                      >
                                    )
                                  } {<Makefile>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                  {
                                    (SQ 
                                      <
's@\\s-(?:g|O\\d*)(?!\\S)@@g, s@$@ -O2@ if s@^SLPFLAGS\\s*=@SLPFLAGS = @'
                                      >
                                    )
                                  } {<Makefile>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                  {
                                    (SQ 
                                      <
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@@g if s@^CFLAGS\\s*=@CFLAGS = @'
                                      >
                                    )
                                  } {<Makefile>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: (C {<test>} {(DQ ($ Id.VSub_DollarName IS_PY3))})
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.Pipeline
                                                      children: [
                                                        (C {<grep>} {(SQ <'@SLPFLAGS@'>)} {<Makefile>})
                                                      ]
                                                      negated: T
                                                      stderr_indices: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [(C {<Id.Lit_Colon ':'>})]
                                          spids: [4440 4453]
                                        )
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} 
                                                      {<Id.Lit_Equals '='>} {<Darwin>}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.AndOr
                                              ops: [Id.Op_DPipe]
                                              children: [
                                                (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                                  {
                                                    (SQ 
                                                      <
's~\\@SLPFLAGS\\@~-fomit-frame-pointer -DSTACKLESS_FRHACK=1 -O2~g'
                                                      >
                                                    )
                                                  } {<Makefile>}
                                                )
                                                (command.ControlFlow
                                                  token: <Id.ControlFlow_Return return>
                                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [4459 4472]
                                        )
                                      ]
                                      else_action: [
                                        (command.AndOr
                                          ops: [Id.Op_DPipe]
                                          children: [
                                            (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                              {
                                                (SQ 
                                                  <'s~\\@SLPFLAGS\\@~-fno-omit-frame-pointer -O2~g'>
                                                )
                                              } {<Makefile>}
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Return return>
                                              arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                            )
                                          ]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [4428 4437]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: patchsetup
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: (C {<test>} {(DQ ($ Id.VSub_DollarName IS_PY3))})
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {<cp>} {<Modules.Setup.3.2.static>} 
                              {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/Modules/Setup'>)}
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                            )
                          ]
                        )
                      ]
                      spids: [4564 4573]
                    )
                  ]
                  else_action: [
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<cp>} {<Modules.Setup.2.7.static>} 
                          {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/Modules/Setup'>)}
                        )
                        (command.ControlFlow
                          token: <Id.ControlFlow_Return return>
                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                        )
                      ]
                    )
                  ]
                  redirects: []
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: fixsetup
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} {<Id.Lit_Equals '='>} 
                                  {<Darwin>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                              {
                                (SQ <'\n'> <'        s@\\s-lncurses\\S*@ -lncurses.5@g;\n'> 
                                  <
'        s@^(?:_locale|spwd)(?!\\S)@#@; s@\\s-(?:lcrypt|lm)(?!\\S)@@g;\n'
                                  > <'        s@\\s-(lz|lsqlite3|lreadline|lbz2)(?!\\S)@ -$1-staticpython@g;\n'> <'        '>
                                )
                              } {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/Modules/Setup'>)}
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                            )
                          ]
                        )
                      ]
                      spids: [4635 4648]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                      {(SQ <'s@\\s-(levent_core|levent_evhttp)(?!\\S)@ -$1-staticpython@g'>)} {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/Modules/Setup'>)}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<sleep>} {<2>})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<touch>} {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/Modules/Setup'>)})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<make>} {<Makefile>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (C {<fixmakefile>})
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: (C {<test>} {(DQ ($ Id.VSub_DollarName IS_PY3))})
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (command.Subshell
                              child: 
                                (command.CommandList
                                  children: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<grep>} {(SQ <'^_thread '>)} {<'Modules/Setup.config'>})
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<grep>} {(SQ <signal>)} {<'Modules/Setup.config'>})
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                )
                              redirects: []
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                            )
                          ]
                        )
                      ]
                      spids: [4824 4833]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: patchimport
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                      {
                        (SQ 
                          <
's@#ifdef HAVE_DYNAMIC_LOADING(?!_NOT)@#ifdef HAVE_DYNAMIC_LOADING_NOT  /* StaticPython */@g'
                          >
                        )
                      } {(DQ ($ Id.VSub_DollarName BUILDDIR)) <'/Python/import.c'>} 
                      {(DQ ($ Id.VSub_DollarName BUILDDIR)) <'/Python/importdl.c'>}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: patchgetpath
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-0777>} {<-e>} 
                      {
                        (SQ 
                          <
's@\\s+static\\s+void\\s+calculate_path(?!   )\\s*\\(\\s*void\\s*\\)\\s*{@\\n\\nstatic void calculate_path(void);  /* StaticPython */\\nstatic void calculate_path_not(void) {@g'
                          >
                        )
                      } {(DQ ($ Id.VSub_DollarName BUILDDIR)) <'/Modules/getpath.c'>}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.Pipeline
                                  children: [
                                    (C {<grep>} {<-q>} {<StaticPython-appended>} 
                                      {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/Modules/getpath.c'>)}
                                    )
                                  ]
                                  negated: T
                                  stderr_indices: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: (C {<test>} {(DQ ($ Id.VSub_DollarName IS_PY3))})
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (command.Simple
                                      words: [{<cat>} {<calculate_path.3.2.c>}]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_DGreat '>>'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: 
                                            {
                                              (DQ ($ Id.VSub_DollarName BUILDDIR) 
                                                <'/Modules/getpath.c'>
                                              )
                                            }
                                        )
                                      ]
                                      more_env: []
                                      do_fork: T
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                              ]
                              spids: [5011 5020]
                            )
                          ]
                          else_action: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Simple
                                  words: [{<cat>} {<calculate_path.2.7.c>}]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_DGreat '>>'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: 
                                        {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/Modules/getpath.c'>)}
                                    )
                                  ]
                                  more_env: []
                                  do_fork: T
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [4992 5008]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: patchsqlite
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.Pipeline
                                  children: [
                                    (C {<grep>} {(SQ <'^#define MODULE_NAME '>)} 
                                      {
                                        (DQ ($ Id.VSub_DollarName BUILDDIR) 
                                          <'/Modules/_sqlite/util.h'>
                                        )
                                      }
                                    )
                                  ]
                                  negated: T
                                  stderr_indices: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-0777>} {<-e>} 
                              {
                                (SQ 
                                  <
's@\\n#define PYSQLITE_UTIL_H\\n@\\n#define PYSQLITE_UTIL_H\\n#define MODULE_NAME "_sqlite3"  /* StaticPython */\\n@'
                                  >
                                )
                              } {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/Modules/_sqlite/util.h'>)}
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                            )
                          ]
                        )
                      ]
                      spids: [5083 5099]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
                (command.ForEach
                  iter_names: [F]
                  iterable: 
                    (for_iter.Words
                      words: [
                        {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/Modules/_sqlite/'>) <Id.Lit_Star '*'> 
                          <.c>
                        }
                      ]
                    )
                  body: 
                    (command.DoGroup
                      children: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<grep>} {<-q>} {(SQ <'^#include "util.h"'>)} 
                                              {(DQ ($ Id.VSub_DollarName F))}
                                            )
                                          ]
                                          negated: T
                                          stderr_indices: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-0777>} {<-e>} 
                                      {(SQ <'s@\\A@#include "util.h"  /* StaticPython */\\n@'>)} {(DQ ($ Id.VSub_DollarName F))}
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                              ]
                              spids: [5150 5167]
                            )
                          ]
                          else_action: []
                          redirects: []
                        )
                      ]
                    )
                  redirects: []
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: generate_loader_py
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (C {<local>} {<Id.Lit_VarLike 'CEXT_MODNAME='> (DQ ($ Id.VSub_Number 1))})
                (C {<local>} {<Id.Lit_VarLike 'PY_MODNAME='> (DQ ($ Id.VSub_Number 2))})
                (C {<local>} 
                  {<Id.Lit_VarLike 'PY_FILENAME='> 
                    (DQ <'Lib/'> 
                      (braced_var_sub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name PY_MODNAME>
                        var_name: PY_MODNAME
                        suffix_op: 
                          (suffix_op.PatSub
                            pat: {<.>}
                            replace: {<Id.Lit_Slash '/'>}
                            replace_mode: Id.Lit_Slash
                            slash_tok: <Id.VOp2_Slash _>
                          )
                        right: <Id.Right_DollarBrace '}'>
                      ) <.py>
                    )
                  }
                )
                (C {<Id.Lit_Colon ':'>} {<Generating>} {<loader>} 
                  {(DQ ($ Id.VSub_DollarName PY_FILENAME))}
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Simple
                      words: [
                        {<echo>}
                        {
                          (DQ <'import sys; import '> ($ Id.VSub_DollarName CEXT_MODNAME) 
                            <'; sys.modules[__name__] = '> ($ Id.VSub_DollarName CEXT_MODNAME)
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName PY_FILENAME))}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: patch_and_copy_cext
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (C {<local>} {<Id.Lit_VarLike 'SOURCE_C='> (DQ ($ Id.VSub_Number 1))})
                (C {<local>} {<Id.Lit_VarLike 'TARGET_C='> (DQ ($ Id.VSub_Number 2))})
                (C {<local>} 
                  {<Id.Lit_VarLike 'CEXT_MODNAME='> 
                    (DQ 
                      (braced_var_sub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name TARGET_C>
                        var_name: TARGET_C
                        suffix_op: (suffix_op.Unary op:<Id.VOp1_Percent '%'> arg_word:{<.c>})
                        right: <Id.Right_DollarBrace '}'>
                      )
                    )
                  }
                )
                (C {<export>} 
                  {<Id.Lit_VarLike 'CEXT_MODNAME='> 
                    (DQ 
                      (braced_var_sub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name CEXT_MODNAME>
                        var_name: CEXT_MODNAME
                        suffix_op: 
                          (suffix_op.Unary
                            op: <Id.VOp1_DPound '##'>
                            arg_word: {<Id.Lit_Other '*'> <Id.Lit_Slash '/'>}
                          )
                        right: <Id.Right_DollarBrace '}'>
                      )
                    )
                  }
                )
                (C {<export>} 
                  {<Id.Lit_VarLike 'CEXT_MODNAME='> 
                    (DQ 
                      (braced_var_sub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name CEXT_MODNAME>
                        var_name: CEXT_MODNAME
                        suffix_op: 
                          (suffix_op.PatSub
                            pat: {<._>}
                            replace: {<_>}
                            replace_mode: Id.Lit_Slash
                            slash_tok: <Id.VOp2_Slash _>
                          )
                        right: <Id.Right_DollarBrace '}'>
                      )
                    )
                  }
                )
                (C {<export>} 
                  {<Id.Lit_VarLike 'CEXT_MODNAME='> 
                    (DQ 
                      (braced_var_sub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name CEXT_MODNAME>
                        var_name: CEXT_MODNAME
                        suffix_op: 
                          (suffix_op.PatSub
                            pat: {<.>}
                            replace: {<_>}
                            replace_mode: Id.Lit_Slash
                            slash_tok: <Id.VOp2_Slash _>
                          )
                        right: <Id.Right_DollarBrace '}'>
                      )
                    )
                  }
                )
                (C {<export>} 
                  {<Id.Lit_VarLike 'CEXT_MODNAME='> <Id.Lit_Underscore _> 
                    (DQ 
                      (braced_var_sub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name CEXT_MODNAME>
                        var_name: CEXT_MODNAME
                        suffix_op: (suffix_op.Unary op:<Id.VOp1_Pound '#'> arg_word:{<_>})
                        right: <Id.Right_DollarBrace '}'>
                      )
                    )
                  }
                )
                (C {<Id.Lit_Colon ':'>} {<Copying>} {<and>} {<patching>} 
                  {(DQ ($ Id.VSub_DollarName SOURCE_C))} {<to>} {(DQ ($ Id.VSub_DollarName TARGET_C)) <Id.Lit_Comma ','>} 
                  {<Id.Lit_VarLike 'CEXT_MODNAME='> (DQ ($ Id.VSub_DollarName CEXT_MODNAME))}
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Simple
                      words: [
                        {<perl>}
                        {<-0777>}
                        {<-pe>}
                        {
                          (SQ <'\n'> 
                            <'    s@^(PyMODINIT_FUNC)\\s+\\w+\\(@$1 init$ENV{CEXT_MODNAME}(@mg;\n'> <'    s@( Py_InitModule\\d*)\\(\\s*"\\w[\\w.]*",@$1("$ENV{CEXT_MODNAME}",@g;\n'> 
                            <'    # Cython version of the one below.\n'> <'    s@( Py_InitModule\\d*\\(\\s*__Pyx_NAMESTR\\()"\\w[\\w.]*"\\),@$1"$ENV{CEXT_MODNAME}"),@g;\n'> 
                            <'    # For PyCrypto.\n'> 
                            <
'    s@^[ \\t]*(#[ \\t]*define\\s+MODULE_NAME\\s+\\S+)@#define MODULE_NAME $ENV{CEXT_MODNAME}@mg;\n'
                            > 
                            <
'    s@^[ \\t]*(#[ \\t]*define\\s+MODULE_NAME\\s+\\S+.*triple DES.*)@#define MODULE_NAME _Crypto_Cipher_DES3@mg;\n'
                            > <'  '>
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Less '<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: {(DQ ($ Id.VSub_DollarName SOURCE_C))}
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName TARGET_C))}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: enable_module
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (C {<local>} {<Id.Lit_VarLike 'CEXT_MODNAME='> (DQ ($ Id.VSub_Number 1))})
                (C {<export>} {<CEXT_MODNAME>})
                (C {<Id.Lit_Colon ':'>} {<Enabling>} {<module> <Id.Lit_Colon ':'>} 
                  {(DQ ($ Id.VSub_DollarName CEXT_MODNAME))}
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<grep>} {<-qE>} {(DQ <'^#?'> ($ Id.VSub_DollarName CEXT_MODNAME) <' '>)} 
                      {<'Modules/Setup'>}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<perl>} {<-0777>} {<-pi>} {<-e>} 
                      {(SQ <'s@^#$ENV{CEXT_MODNAME} @$ENV{CEXT_MODNAME} @mg'>)} {<'Modules/Setup'>}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: patchssl
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<test>} {(DQ ($ Id.VSub_DollarName USE_SSL))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<enable_module>} {<_ssl>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<enable_module>} {<_hashlib>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: patchsyncless
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<test>} {(DQ ($ Id.VSub_DollarName IS_CO))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<syncless-> <Id.Lit_Star '*'>} {<syncless.dir>} 
                                  {<'Lib/syncless'>} {<'Modules/syncless'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xzvf>} {<'../syncless-0.25.tar.gz'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mv>} {<syncless-0.25>} {<syncless.dir>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mkdir>} {<'Lib/syncless'>} {<'Modules/syncless'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'syncless.dir/syncless/'> <Id.Lit_Star '*'> <.py>} 
                                  {<'Lib/syncless/'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<generate_loader_py>} {<_syncless_coio>} {<syncless.coio>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<patch_and_copy_cext>} {<'syncless.dir/coio_src/coio.c'>} 
                                  {<'Modules/syncless/_syncless_coio.c'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'syncless.dir/coio_src/coio_minihdns.c'>} 
                                  {<'syncless.dir/coio_src/coio_minihdns.h'>} {<'syncless.dir/coio_src/coio_c_'> <Id.Lit_Star '*'> <.h>} {<'Modules/syncless/'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<enable_module>} {<_syncless_coio>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: patchgevent
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<test>} {(DQ ($ Id.VSub_DollarName IS_CO))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<gevent-> <Id.Lit_Star '*'>} {<gevent.dir>} 
                                  {<'Lib/gevent'>} {<'Modules/gevent'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xzvf>} {<'../gevent-0.13.6.tar.gz'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mv>} {<gevent-0.13.6>} {<gevent.dir>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mkdir>} {<'Lib/gevent'>} {<'Modules/gevent'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'gevent.dir/gevent/'> <Id.Lit_Star '*'> <.py>} 
                                  {<'Lib/gevent/'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-f>} {<'gevent.dir/gevent/win32util.py'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<generate_loader_py>} {<_gevent_core>} {<gevent.core>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<patch_and_copy_cext>} {<'gevent.dir/gevent/core.c'>} 
                                  {<'Modules/gevent/_gevent_core.c'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Simple
                                  words: [{<cat>}]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_Great '>'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: {<'Modules/gevent/libevent.h'>}
                                    )
                                    (redir
                                      op: <Id.Redir_DLess '<<'>
                                      loc: (redir_loc.Fd fd:0)
                                      arg: 
                                        (redir_param.HereDoc
                                          here_begin: {(SQ <END>)}
                                          here_end_span_id: 5997
                                          stdin_parts: [
                                            <'/**** pts ****/\n'>
                                            <'#include "sys/queue.h"\n'>
                                            <'#define LIBEVENT_HTTP_MODERN\n'>
                                            <'#include "event2/event.h"\n'>
                                            <'#include "event2/event_struct.h"\n'>
                                            <'#include "event2/event_compat.h"\n'>
                                            <'#include "event2/http.h"\n'>
                                            <'#include "event2/http_compat.h"\n'>
                                            <'#include "event2/http_struct.h"\n'>
                                            <'#include "event2/buffer.h"\n'>
                                            <'#include "event2/buffer_compat.h"\n'>
                                            <'#include "event2/dns.h"\n'>
                                            <'#include "event2/dns_compat.h"\n'>
                                            <'#define EVBUFFER_DRAIN evbuffer_drain\n'>
                                            <'#define EVHTTP_SET_CB  evhttp_set_cb\n'>
                                            <
'#define EVBUFFER_PULLUP(BUF, SIZE) evbuffer_pullup(BUF, SIZE)\n'
                                            >
                                            <'#define current_base event_global_current_base_\n'>
                                            <'#define TAILQ_GET_NEXT(X) TAILQ_NEXT((X), next)\n'>
                                            <'extern void *current_base;\n'>
                                          ]
                                        )
                                    )
                                  ]
                                  more_env: []
                                  do_fork: T
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<enable_module>} {<_gevent_core>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: patchgeventmysql
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<test>} {(DQ ($ Id.VSub_DollarName IS_CO))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<geventmysql-> <Id.Lit_Star '*'>} {<geventmysql.dir>} 
                                  {<'Lib/geventmysql'>} {<'Modules/geventmysql'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xjvf>} {<'../geventmysql-20110201.tbz2'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mv>} {<gevent-MySQL>} {<geventmysql.dir>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mkdir>} {<'Lib/geventmysql'>} {<'Modules/geventmysql'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} 
                                  {<'geventmysql.dir/lib/geventmysql/'> <Id.Lit_Star '*'> <.py>} {<'Lib/geventmysql/'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<generate_loader_py>} {<_geventmysql_mysql>} {<geventmysql._mysql>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<patch_and_copy_cext>} 
                                  {<'geventmysql.dir/lib/geventmysql/geventmysql._mysql.c'>} {<'Modules/geventmysql/geventmysql._mysql.c'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<enable_module>} {<_geventmysql_mysql>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: run_pyrexc
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Simple
                      words: [
                        {(DQ ($ Id.VSub_DollarName PBUILDDIR)) <'/minipython'>}
                        {<-S>}
                        {<-W>}
                        {<ignore> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <DeprecationWarning>}
                        {<-c>}
                        {(DQ <'from Pyrex.Compiler.Main import main; main(command_line=1)'>)}
                        {(DQ ($ Id.VSub_At '@'))}
                      ]
                      redirects: []
                      more_env: [
                        (env_pair
                          name: PYTHONPATH
                          val: 
                            {
                              (DQ ($ Id.VSub_DollarName PBUILDDIR) <'/Lib:'> ($ Id.VSub_DollarName PWD) 
                                <'/pyrex.dir'>
                              )
                            }
                          spids: [6209]
                        )
                      ]
                      do_fork: T
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: run_mkzip
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<rm>} {<-f>} {(DQ ($ Id.VSub_Number 1))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(DQ ($ Id.VSub_DollarName PBUILDDIR) <'/advzip/bin/advzip'>)} {<-a>} {<-4>} 
                      {(DQ ($ Id.VSub_At '@'))}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: old_run_mkzip
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (C {<local>} 
                  {<Id.Lit_VarLike 'PYTHON='> (DQ ($ Id.VSub_DollarName PBUILDDIR)) <'/python.exe'>}
                )
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {<test>} {<-f>} {(DQ ($ Id.VSub_DollarName PBUILDDIR)) <'/minipython'>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PYTHON='> name:PYTHON)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName PBUILDDIR)) <'/minipython'>}
                          spids: [6347]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Simple
                      words: [
                        {(DQ ($ Id.VSub_DollarName PYTHON))}
                        {<-S>}
                        {<-c>}
                        {
                          (SQ <'if 1:\n'> <'  import os\n'> <'  import os.path\n'> <'  import stat\n'> 
                            <'  import sys\n'> <'  import zipfile\n'> <'  def All(filename):\n'> <'    s = os.lstat(filename)\n'> 
                            <'    assert not stat.S_ISLNK(s.st_mode), filename\n'> <'    if stat.S_ISDIR(s.st_mode):\n'> <'      for entry in os.listdir(filename):\n'> 
                            <'        for filename2 in All(os.path.join(filename, entry)):\n'> <'          yield filename2\n'> <'    else:\n'> <'      yield filename\n'> 
                            <'  zip_filename = sys.argv[1]\n'> <'  zipfile.zlib.Z_DEFAULT_COMPRESSION = 9  # Maximum effort.\n'> 
                            <
'  z = zipfile.ZipFile(zip_filename, "w", compression=zipfile.ZIP_DEFLATED)\n'
                            > <'  for filename in sys.argv[2:]:\n'> <'    for filename2 in All(filename):\n'> 
                            <'      z.write(filename2)\n'> <'  z.close()'>
                          )
                        }
                        {(DQ ($ Id.VSub_At '@'))}
                      ]
                      redirects: []
                      more_env: [
                        (env_pair
                          name: PYTHONPATH
                          val: {(DQ ($ Id.VSub_DollarName PBUILDDIR) <'/Lib'>)}
                          spids: [6358]
                        )
                      ]
                      do_fork: T
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: patchpythontokyocabinet
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<test>} {(DQ ($ Id.VSub_DollarName USE_TC))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<python-tokyocabinet-> <Id.Lit_Star '*'>} 
                                  {<tokyocabinet.dir>} {<'Lib/tokyocabinet'>} {<'Modules/tokyocabinet'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xjvf>} {<'../python-tokyocabinet-20111221.tar.bz2'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mv>} {<python-tokyocabinet-20111221>} {<tokyocabinet.dir>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mkdir>} {<'Lib/tokyocabinet'>} {<'Modules/tokyocabinet'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Subshell
                                  child: 
                                    (command.AndOr
                                      ops: [Id.Op_DAmp]
                                      children: [
                                        (C {<cd>} {<'tokyocabinet.dir/tokyocabinet'>})
                                        (command.Simple
                                          words: [{($ Id.VSub_DollarName PATCH)} {<-p0>}]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_Less '<'>
                                              loc: (redir_loc.Fd fd:0)
                                              arg: {<'../../../tokyocabinet_hash_c.patch'>}
                                            )
                                          ]
                                          more_env: []
                                          do_fork: T
                                        )
                                      ]
                                    )
                                  redirects: []
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'tokyocabinet.dir/tokyocabinet/'> <Id.Lit_Star '*'> <.py>} 
                                  {<'Lib/tokyocabinet/'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (C {<local>} {<M>})
                            (command.ForEach
                              iter_names: [M]
                              iterable: (for_iter.Words words:[{<btree>} {<hash>} {<table>}])
                              body: 
                                (command.DoGroup
                                  children: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<patch_and_copy_cext>} 
                                          {<'tokyocabinet.dir/tokyocabinet/'> 
                                            ($ Id.VSub_DollarName M) <.c>
                                          } {<'Modules/tokyocabinet/_tokyocabinet_'> ($ Id.VSub_DollarName M) <.c>}
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<generate_loader_py>} 
                                          {<_tokyocabinet_> ($ Id.VSub_DollarName M)} {<tokyocabinet.> ($ Id.VSub_DollarName M)}
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<enable_module>} 
                                          {<_tokyocabinet_> ($ Id.VSub_DollarName M)}
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                )
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: patchpythonlmdb
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<test>} {(DQ ($ Id.VSub_DollarName USE_LMDB))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<lmdb-> <Id.Lit_Star '*'>} {<lmdb.dir>} {<'Lib/lmdb'>} 
                                  {<'Modules/lmdb'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xzvf>} {<'../lmdb-0.92.tar.gz'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mv>} {<lmdb-0.92>} {<lmdb.dir>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mkdir>} {<'Lib/lmdb'>} {<'Modules/lmdb'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.Simple
                              words: [
                                {<echo>}
                                {
                                  (SQ <'from _lmdb_cpython import *\n'> 
                                    <'from _lmdb_cpython import open\n'> <'from _lmdb_cpython import __all__'>
                                  )
                                }
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'Lib/lmdb/__init__.py'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'lmdb.dir/lmdb/tool.py'>} {<'Lib/lmdb/'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'lmdb.dir/lib/mdb.c'>} {<'Modules/lmdb/lmdb_mdb.c'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'lmdb.dir/lib/midl.c'>} {<'Modules/lmdb/lmdb_midl.c'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<perl>} {<-pi> <Id.Lit_TildeLike '~'>} {<-e>} 
                                  {(SQ <'s@(pthread_mutexattr_setpshared\\()@0&&$1@g'>)} {<'Modules/lmdb/lmdb_mdb.c'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<patch_and_copy_cext>} {<'lmdb.dir/lmdb/cpython.c'>} 
                                  {<'Modules/lmdb/_lmdb_cpython.c'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<enable_module>} {<_lmdb_cpython>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: extractpyrex
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<test>} {(DQ ($ Id.VSub_DollarName IS_CO))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (C {<rm>} {<-rf>} {<pyrex.dir>})
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xzvf>} {<'../Pyrex-0.9.9.tar.gz'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mv>} {<Pyrex-0.9.9>} {<pyrex.dir>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: patchmsgpack
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<test>} {(DQ ($ Id.VSub_DollarName IS_XX))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<msgpack-> <Id.Lit_Star '*'>} {<msgpack.dir>} 
                                  {<'Lib/msgpack'>} {<'Modules/msgpack'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xjvf>} {<'../msgpack-python-20111221.tar.bz2'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mv>} {<msgpack-python-20111221>} {<msgpack.dir>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'VERSION='> 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<grep>} {(SQ <'^version = '>)} {<'msgpack.dir/setup.py'>})
                                  right: <Id.Eof_RParen _>
                                )
                              }
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<test>} {(DQ ($ Id.VSub_DollarName VERSION))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Subshell
                                  child: 
                                    (command.AndOr
                                      ops: [Id.Op_DAmp]
                                      children: [
                                        (C {<cd>} {<'msgpack.dir/msgpack'>})
                                        (command.Simple
                                          words: [{($ Id.VSub_DollarName PATCH)} {<-p0>}]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_Less '<'>
                                              loc: (redir_loc.Fd fd:0)
                                              arg: {<'../../../msgpack_pyx.patch'>}
                                            )
                                          ]
                                          more_env: []
                                          do_fork: T
                                        )
                                      ]
                                    )
                                  redirects: []
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mv>} {<'msgpack.dir/msgpack/_msgpack.pyx'>} 
                                  {<'msgpack.dir/msgpack/_msgpack_msgpack.pyx'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<run_pyrexc>} {<'msgpack.dir/msgpack/_msgpack_msgpack.pyx'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mkdir>} {<'Lib/msgpack'>} {<'Modules/msgpack'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Simple
                                  words: [{<echo>} {(DQ ($ Id.VSub_DollarName VERSION))}]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_Great '>'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: {<'Lib/msgpack/__version__.py'>}
                                    )
                                  ]
                                  more_env: []
                                  do_fork: T
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'msgpack.dir/msgpack/__init__.py'>} {<'Lib/msgpack/'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'msgpack.dir/msgpack/_msgpack_msgpack.c'>} 
                                  {<'msgpack.dir/msgpack/'> <Id.Lit_Star '*'> <.h>} {<'Modules/msgpack/'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<generate_loader_py>} {<_msgpack_msgpack>} {<msgpack._msgpack>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<enable_module>} {<_msgpack_msgpack>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: patchconcurrence
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<test>} {(DQ ($ Id.VSub_DollarName IS_CO))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<concurrence-> <Id.Lit_Star '*'>} {<concurrence.dir>} 
                                  {<'Lib/concurrence'>} {<'Modules/concurrence'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xzvf>} {<'../concurrence-0.3.1.tar.gz'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mv>} {<concurrence-0.3.1>} {<concurrence.dir>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mkdir>} {<'Lib/concurrence'>} {<'Modules/concurrence'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Pipeline
                                  children: [
                                    (command.Subshell
                                      child: 
                                        (command.AndOr
                                          ops: [Id.Op_DAmp]
                                          children: [
                                            (C {<cd>} {<'concurrence.dir/lib'>})
                                            (C {<tar>} {<c>} 
                                              {
                                                (command_sub
                                                  left_token: <Id.Left_DollarParen '$('>
                                                  child: 
                                                    (C {<find>} {<concurrence>} {<-type>} {<f>} {<-iname>} 
                                                      {(SQ <'*.py'>)}
                                                    )
                                                  right: <Id.Eof_RParen _>
                                                )
                                              }
                                            )
                                          ]
                                        )
                                      redirects: []
                                    )
                                    (command.Subshell
                                      child: 
                                        (command.AndOr
                                          ops: [Id.Op_DAmp]
                                          children: [(C {<cd>} {<Lib>}) (C {<tar>} {<x>})]
                                        )
                                      redirects: []
                                    )
                                  ]
                                  negated: F
                                  stderr_indices: []
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<generate_loader_py>} {<_concurrence_event>} {<concurrence._event>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.Simple
                              words: [{<cat>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'Modules/concurrence/event.h'>}
                                )
                                (redir
                                  op: <Id.Redir_DLess '<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: 
                                    (redir_param.HereDoc
                                      here_begin: {(SQ <END>)}
                                      here_end_span_id: 7445
                                      stdin_parts: [
                                        <'/**** pts ****/\n'>
                                        <'#include <event2/event.h>\n'>
                                        <'#include <event2/event_struct.h>\n'>
                                        <'#include <event2/event_compat.h>\n'>
                                      ]
                                    )
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<run_pyrexc>} 
                                  {<'concurrence.dir/lib/concurrence/concurrence._event.pyx'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<patch_and_copy_cext>} 
                                  {<'concurrence.dir/lib/concurrence/concurrence._event.c'>} {<'Modules/concurrence/concurrence._event.c'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<enable_module>} {<_concurrence_event>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<generate_loader_py>} {<_concurrence_io_io>} {<concurrence.io._io>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<run_pyrexc>} 
                                  {<'concurrence.dir/lib/concurrence/io/concurrence.io._io.pyx'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<patch_and_copy_cext>} 
                                  {<'concurrence.dir/lib/concurrence/io/concurrence.io._io.c'>} {<'Modules/concurrence/concurrence.io._io.c'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'concurrence.dir/lib/concurrence/io/io_base.c'>} 
                                  {<'concurrence.dir/lib/concurrence/io/io_base.h'>} {<'Modules/concurrence/'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<enable_module>} {<_concurrence_io_io>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<generate_loader_py>} {<_concurrence_database_mysql_mysql>} 
                                  {<concurrence.database.mysql._mysql>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<run_pyrexc>} {<-I>} {<'concurrence.dir/lib/concurrence/io'>} 
                                  {
                                    <
'concurrence.dir/lib/concurrence/database/mysql/concurrence.database.mysql._mysql.pyx'
                                    >
                                  }
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<patch_and_copy_cext>} 
                                  {
                                    <
'concurrence.dir/lib/concurrence/database/mysql/concurrence.database.mysql._mysql.c'
                                    >
                                  } {<'Modules/concurrence/concurrence.database.mysql._mysql.c'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<enable_module>} {<_concurrence_database_mysql_mysql>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: patchpycrypto
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<test>} {(DQ ($ Id.VSub_DollarName IS_CO))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<pycrypto-> <Id.Lit_Star '*'>} {<pycrypto.dir>} 
                                  {<'Lib/Crypto'>} {<'Modules/pycrypto'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xzvf>} {<'../pycrypto-2.3.tar.gz'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mv>} {<pycrypto-2.3>} {<pycrypto.dir>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mkdir>} {<'Lib/Crypto'>} {<'Modules/pycrypto'>} 
                                  {<'Modules/pycrypto/libtom'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Pipeline
                                  children: [
                                    (command.Subshell
                                      child: 
                                        (command.AndOr
                                          ops: [Id.Op_DAmp]
                                          children: [
                                            (C {<cd>} {<'pycrypto.dir/lib'>})
                                            (C {<tar>} {<c>} 
                                              {
                                                (command_sub
                                                  left_token: <Id.Left_DollarParen '$('>
                                                  child: 
                                                    (C {<find>} {<Crypto>} {<-type>} {<f>} {<-iname>} 
                                                      {(SQ <'*.py'>)}
                                                    )
                                                  right: <Id.Eof_RParen _>
                                                )
                                              }
                                            )
                                          ]
                                        )
                                      redirects: []
                                    )
                                    (command.Subshell
                                      child: 
                                        (command.AndOr
                                          ops: [Id.Op_DAmp]
                                          children: [(C {<cd>} {<Lib>}) (C {<tar>} {<x>})]
                                        )
                                      redirects: []
                                    )
                                  ]
                                  negated: F
                                  stderr_indices: []
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<ln>} {<-s>} {<_Crypto_Cipher_DES.c>} {<'Modules/pycrypto/DES.c'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'pycrypto.dir/src/hash_template.c'>} 
                                  {<'pycrypto.dir/src/block_template.c'>} {<'pycrypto.dir/src/stream_template.c'>} {<'pycrypto.dir/src/pycrypto_compat.h'>} 
                                  {<'pycrypto.dir/src/_counter.h'>} {<'pycrypto.dir/src/Blowfish-tables.h'>} {<'pycrypto.dir/src/cast5.c'>} {<'Modules/pycrypto/'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'pycrypto.dir/src/libtom/tomcrypt_des.c'>} 
                                  {<'pycrypto.dir/src/libtom/'> <Id.Lit_Star '*'> <.h>} {<'Modules/pycrypto/libtom/'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (C {<local>} {<M>} {<CEXT_MODNAME>})
                            (command.ForEach
                              iter_names: [M]
                              iterable: 
                                (for_iter.Words
                                  words: [
                                    {<Crypto.Hash.MD2>}
                                    {<Crypto.Hash.MD4>}
                                    {<Crypto.Hash.SHA256>}
                                    {<Crypto.Hash.RIPEMD160>}
                                    {<Crypto.Cipher.AES>}
                                    {<Crypto.Cipher.ARC2>}
                                    {<Crypto.Cipher.Blowfish>}
                                    {<Crypto.Cipher.CAST>}
                                    {<Crypto.Cipher.DES>}
                                    {<Crypto.Cipher.DES3>}
                                    {<Crypto.Cipher.ARC4>}
                                    {<Crypto.Cipher.XOR>}
                                    {<Crypto.Util.strxor>}
                                    {<Crypto.Util._counter>}
                                  ]
                                )
                              body: 
                                (command.DoGroup
                                  children: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CEXT_MODNAME='>
                                              name: CEXT_MODNAME
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (braced_var_sub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name M>
                                                  var_name: M
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op: <Id.VOp1_DPound '##'>
                                                      arg_word: 
                                                        {<Id.Lit_Other '*'> <Id.Lit_Slash '/'>}
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                          spids: [7942]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CEXT_MODNAME='>
                                              name: CEXT_MODNAME
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (braced_var_sub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name CEXT_MODNAME>
                                                  var_name: CEXT_MODNAME
                                                  suffix_op: 
                                                    (suffix_op.PatSub
                                                      pat: {<._>}
                                                      replace: {<_>}
                                                      replace_mode: Id.Lit_Slash
                                                      slash_tok: <Id.VOp2_Slash _>
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                          spids: [7953]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CEXT_MODNAME='>
                                              name: CEXT_MODNAME
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (braced_var_sub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name CEXT_MODNAME>
                                                  var_name: CEXT_MODNAME
                                                  suffix_op: 
                                                    (suffix_op.PatSub
                                                      pat: {<.>}
                                                      replace: {<_>}
                                                      replace_mode: Id.Lit_Slash
                                                      slash_tok: <Id.VOp2_Slash _>
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                          spids: [7966]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CEXT_MODNAME='>
                                              name: CEXT_MODNAME
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {<Id.Lit_Underscore _> 
                                              (DQ 
                                                (braced_var_sub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name CEXT_MODNAME>
                                                  var_name: CEXT_MODNAME
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op: <Id.VOp1_Pound '#'>
                                                      arg_word: {<_>}
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                          spids: [7979]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<generate_loader_py>} 
                                          {(DQ ($ Id.VSub_DollarName CEXT_MODNAME))} {(DQ ($ Id.VSub_DollarName M))}
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<patch_and_copy_cext>} 
                                          {
                                            (DQ <'pycrypto.dir/src/'> 
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name M>
                                                var_name: M
                                                suffix_op: 
                                                  (suffix_op.Unary
                                                    op: <Id.VOp1_DPound '##'>
                                                    arg_word: {<Id.Lit_Other '*'> <.>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              ) <.c>
                                            )
                                          } {<'Modules/pycrypto/'> (DQ ($ Id.VSub_DollarName CEXT_MODNAME)) <.c>}
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<enable_module>} {(DQ ($ Id.VSub_DollarName CEXT_MODNAME))})
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                )
                              redirects: []
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<perl>} {<-0777>} {<-pi>} {<-e>} 
                                  {(SQ <'s@ Py_InitModule\\("Crypto[.]\\w+[.]"@ Py_InitModule(""@g'>)} {<'Modules/pycrypto/hash_template.c'>} {<'Modules/pycrypto/stream_template.c'>} 
                                  {<'Modules/pycrypto/block_template.c'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: patchaloaes
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<test>} {(DQ ($ Id.VSub_DollarName IS_CO))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<aloaes-> <Id.Lit_Star '*'>} {<aloaes.dir>} 
                                  {<'Lib/aes'>} {<'Modules/aloaes'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<tar>} {<xzvf>} {<'../alo-aes-0.3.tar.gz'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mv>} {<alo-aes-0.3>} {<aloaes.dir>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<mkdir>} {<'Lib/aes'>} {<'Modules/aloaes'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'aloaes.dir/aes/'> <Id.Lit_Star '*'> <.py>} {<'Lib/aes/'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<generate_loader_py>} {<_aes_aes>} {<aes._aes>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<patch_and_copy_cext>} {<'aloaes.dir/aes/aesmodule.c'>} 
                                  {<'Modules/aloaes/_aes_aes.c'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<'aloaes.dir/aes/rijndael-alg-fst.c'>} 
                                  {<'aloaes.dir/aes/rijndael-alg-fst.h'>} {<'Modules/aloaes/'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<enable_module>} {<_aes_aes>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: patchlocale
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} 
                                              {<Id.Lit_Equals '='>} {<Darwin>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<test>} {(DQ ($ Id.VSub_DollarName IS_PY3))})
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.AndOr
                                              ops: [Id.Op_DPipe]
                                              children: [
                                                (command.Subshell
                                                  child: 
                                                    (command.AndOr
                                                      ops: [Id.Op_DAmp]
                                                      children: [
                                                        (C {<cd>} {<Lib>})
                                                        (command.Simple
                                                          words: [
                                                            {($ Id.VSub_DollarName PATCH)}
                                                            {<-p1>}
                                                          ]
                                                          redirects: [
                                                            (redir
                                                              op: <Id.Redir_Less '<'>
                                                              loc: (redir_loc.Fd fd:0)
                                                              arg: {<'../../locale.darwin.3.2.patch'>}
                                                            )
                                                          ]
                                                          more_env: []
                                                          do_fork: T
                                                        )
                                                      ]
                                                    )
                                                  redirects: []
                                                )
                                                (command.ControlFlow
                                                  token: <Id.ControlFlow_Return return>
                                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [8353 8362]
                                        )
                                      ]
                                      else_action: [
                                        (command.AndOr
                                          ops: [Id.Op_DPipe]
                                          children: [
                                            (command.Subshell
                                              child: 
                                                (command.AndOr
                                                  ops: [Id.Op_DAmp]
                                                  children: [
                                                    (C {<cd>} {<Lib>})
                                                    (command.Simple
                                                      words: [{($ Id.VSub_DollarName PATCH)} {<-p1>}]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_Less '<'>
                                                          loc: (redir_loc.Fd fd:0)
                                                          arg: {<'../../locale.darwin.2.7.patch'>}
                                                        )
                                                      ]
                                                      more_env: []
                                                      do_fork: T
                                                    )
                                                  ]
                                                )
                                              redirects: []
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Return return>
                                              arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                            )
                                          ]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [8329 8342]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: makeminipython
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<test>} {(DQ ($ Id.VSub_DollarName IS_CO))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} 
                                              {<Id.Lit_Equals '='>} {<Darwin>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<make>} {<python.exe>})
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<mv>} {<-f>} {<python.exe>} {<minipython>})
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [8480 8493]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<make>} {<python>})
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<mv>} {<-f>} {<python>} {<minipython>})
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                              ]
                              redirects: []
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {($ Id.VSub_DollarName STRIP)} {<minipython>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: makepython
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} 
                                              {<Id.Lit_Equals '='>} {<Darwin>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<make>} {<python.exe>})
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [8612 8625]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<make>} {<python>})
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<rm>} {<-f>} {<python.exe>})
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<ln>} {<-s>} {<python>} {<python.exe>})
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                              ]
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: buildpythonlibzip
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (C {<set>} {<-ex>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS)
                                  op: assign_op.Equal
                                  rhs: {(SQ <'\n'>)}
                                  spids: [8723]
                                )
                              ]
                              redirects: []
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe Id.Op_DPipe]
                              children: [
                                (C {<cd>} {(DQ ($ Id.VSub_DollarName BUILDDIR))})
                                (command.Subshell
                                  child: 
                                    (command.AndOr
                                      ops: [Id.Op_DAmp]
                                      children: [
                                        (C {<test>} {<-f>} {<xlib.zip>})
                                        (C {<mv>} {<xlib.zip>} {<xlib.zip.old>})
                                      ]
                                    )
                                  redirects: []
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<xlib>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cp>} {<-R>} {<Lib>} {<xlib>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-f>} 
                                  {
                                    (command_sub
                                      left_token: <Id.Left_DollarParen '$('>
                                      child: (C {<find>} {<xlib>} {<-iname>} {(SQ <'*.pyc'>)})
                                      right: <Id.Eof_RParen _>
                                    )
                                  }
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (C {<rm>} {<-f>} {<'xlib/plat-'> <Id.Lit_Star '*'> <'/regen'>})
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-rf>} {<'xlib/email/test'>} {<'xlib/bdddb'>} {<'xlib/ctypes'>} 
                                  {<'xlib/distutils'>} {<'xlib/idlelib'>} {<'xlib/lib-tk'>} {<'xlib/lib2to3'>} {<'xlib/msilib'>} 
                                  {<'xlib/plat-aix'> <Id.Lit_Star '*'>} {<'xlib/plat-atheos'>} {<'xlib/plat-beos'> <Id.Lit_Star '*'>} {<'xlib/plat-freebsd'> <Id.Lit_Star '*'>} 
                                  {<'xlib/plat-irix'> <Id.Lit_Star '*'>} {<'xlib/plat-unixware'> <Id.Lit_Star '*'>} {<'xlib/plat-mac'>} {<'xlib/plat-netbsd'> <Id.Lit_Star '*'>} 
                                  {<'xlib/plat-next'> <Id.Lit_Star '*'>} {<'xlib/plat-os2'> <Id.Lit_Star '*'>} {<'xlib/plat-riscos'>} {<'xlib/plat-sunos'> <Id.Lit_Star '*'>} 
                                  {<'xlib/site-packages'> <Id.Lit_Star '*'>} {<'xlib/sqlite3/test/'> <Id.Lit_Star '*'>} {<'xlib/turtle'> <Id.Lit_Star '*'>} {<'xlib/tkinter'>} 
                                  {<'xlib/bsddb/test'>} {<'xlib/test'>} {<'xlib/'> <Id.Lit_Star '*'> <.egg-info>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} 
                                              {<Id.Lit_Equals '='>} {<Darwin>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<rm>} {<-rf>} {<'xlib/plat-linux2'>})
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [8934 8947]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<rm>} {<-rf>} {<'xlib/plat-darwin'>})
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: (C {<test>} {(DQ ($ Id.VSub_DollarName IS_PY3))})
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<cp>} {<'../site.3.2.py'>} {<'xlib/site.py'>})
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (command.Subshell
                                          child: 
                                            (command.AndOr
                                              ops: [Id.Op_DAmp]
                                              children: [
                                                (C {<cd>} {<xlib>})
                                                (command.Simple
                                                  words: [{($ Id.VSub_DollarName PATCH)} {<-p1>}]
                                                  redirects: [
                                                    (redir
                                                      op: <Id.Redir_Less '<'>
                                                      loc: (redir_loc.Fd fd:0)
                                                      arg: 
                                                        {
                                                          <
'../../encodings_idna_missing_unicodedata.3.2.patch'
                                                          >
                                                        }
                                                    )
                                                  ]
                                                  more_env: []
                                                  do_fork: T
                                                )
                                              ]
                                            )
                                          redirects: []
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [8986 8995]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {<cp>} {<'../site.2.7.py'>} {<'xlib/site.py'>})
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                    )
                                  ]
                                )
                              ]
                              redirects: []
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<cd>} {<xlib>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-f>} {<Id.Lit_Star '*'> <Id.Lit_TildeLike '~'>} 
                                  {<Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'> <Id.Lit_TildeLike '~'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<rm>} {<-f>} {<'../xlib.zip'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<run_mkzip>} {<'../xlib.zip'>} {<Id.Lit_Star '*'>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                                )
                              ]
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: do_elfosfix
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<perl>} 
                      {<-e> 
                        (SQ <'\n'> <'use integer;\n'> <'use strict;\n'> <'\n'> 
                          <'#** ELF operating system codes from FreeBSDs /usr/share/misc/magic\n'> <'my %ELF_os_codes=qw{\n'> <'SYSV 0\n'> <'HP-UX 1\n'> <'NetBSD 2\n'> <'GNU/Linux 3\n'> <'GNU/Hurd 4\n'> 
                          <'86Open 5\n'> <'Solaris 6\n'> <'Monterey 7\n'> <'IRIX 8\n'> <'FreeBSD 9\n'> <'Tru64 10\n'> <'Novell 11\n'> 
                          <'OpenBSD 12\n'> <'ARM 97\n'> <'embedded 255\n'> <'};\n'> <'my $from_oscode=$ELF_os_codes{"SYSV"};\n'> 
                          <'my $to_oscode=$ELF_os_codes{"GNU/Linux"};\n'> <'\n'> <'for my $fn (@ARGV) {\n'> <'  my $f;\n'> <'  if (!open $f, "+<", $fn) {\n'> 
                          <'    print STDERR "$0: $fn: $!\\n";\n'> <'    exit 2  # next\n'> <'  }\n'> <'  my $head;\n'> 
                          <'  # vvv Imp: continue on next file instead of die()ing\n'> <'  die if 8!=sysread($f,$head,8);\n'> <'  if (substr($head,0,4)ne"\\177ELF") {\n'> 
                          <'    print STDERR "$0: $fn: not an ELF file\\n";\n'> <'    close($f); next;\n'> <'  }\n'> <'  if (vec($head,7,8)==$to_oscode) {\n'> 
                          <'    print STDERR "$0: info: $fn: already fixed\\n";\n'> <'  }\n'> <'  if ($from_oscode!=$to_oscode && vec($head,7,8)==$from_oscode) {\n'> 
                          <'    vec($head,7,8)=$to_oscode;\n'> <'    die if 0!=sysseek($f,0,0);\n'> <'    die if length($head)!=syswrite($f,$head);\n'> <'  }\n'> 
                          <'  die "file error\\n" if !close($f);\n'> <'}'>
                        )
                      } {<-->} {(DQ ($ Id.VSub_At '@'))}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: buildtarget
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<cp>} {(DQ ($ Id.VSub_DollarName BUILDDIR)) <'/python.exe'>} 
                      {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/'> ($ Id.VSub_DollarName TARGET))}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {($ Id.VSub_DollarName STRIP)} 
                      {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/'> ($ Id.VSub_DollarName TARGET))}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<test>} {(DQ ($ Id.VSub_DollarName UNAME))} {<Id.Lit_Equals '='>} 
                                  {<Linux>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {<do_elfosfix>} 
                              {
                                (DQ ($ Id.VSub_DollarName BUILDDIR) <'/'> ($ Id.VSub_DollarName TARGET))
                              }
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                            )
                          ]
                        )
                      ]
                      spids: [9273 9286]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Simple
                      words: [{<cat>} {(DQ ($ Id.VSub_DollarName BUILDDIR)) <'/xlib.zip'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: 
                            {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/'> ($ Id.VSub_DollarName TARGET))}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<cp>} {(DQ ($ Id.VSub_DollarName BUILDDIR) <'/'> ($ Id.VSub_DollarName TARGET))} 
                      {(DQ ($ Id.VSub_DollarName TARGET))}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<ls>} {<-l>} {(DQ ($ Id.VSub_DollarName TARGET))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: betry
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<mkdir>} {<-p>} {<bch>} {<'be/bardir'>})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Simple
                      words: [{<echo>} {(DQ <'print \'FOO\''>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'be/foo.py'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Simple
                      words: [{<echo>} {(DQ <'print \'BAR\''>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'be/bardir/bar.py'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<cp>} {(DQ ($ Id.VSub_DollarName TARGET))} {<'be/sp'>})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<cp>} {(DQ ($ Id.VSub_DollarName TARGET))} {<'bch/sp'>})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
                (C {<export>} {<Id.Lit_VarLike 'PYTHONPATH='> <bardir>})
                (C {<unset>} {<PYTHONHOME>})
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.AndOr
                          ops: [Id.Op_DAmp]
                          children: [(C {<cd>} {<be>}) (C {<'./sp'>})]
                        )
                      redirects: []
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {(DQ ($ Id.VSub_QMark '?'))}
                    )
                  ]
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShFunction
          name: fail_step
          body: 
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (C {<set>} {<Id.Lit_Other '+'> <ex>})
                (C {<echo>} 
                  {(DQ <'Failed in step '> ($ Id.VSub_Number 2) <' with code '> ($ Id.VSub_Number 1))}
                )
                (C {<echo>} 
                  {
                    (DQ <'Fix and retry with: '> ($ Id.VSub_Number 0) <' '> 
                      (braced_var_sub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name TARGET>
                        var_name: TARGET
                        suffix_op: (suffix_op.Unary op:<Id.VOp1_Percent '%'> arg_word:{<-static>})
                        right: <Id.Right_DollarBrace '}'>
                      ) <' '> ($ Id.VSub_Number 2) <' '> ($ Id.VSub_Number 3)
                    )
                  }
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Exit exit>
                  arg_word: {(DQ ($ Id.VSub_Number 1))}
                )
              ]
              redirects: []
              right: <Id.Lit_RBrace '}'>
            )
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'XSTEPS='> name:XSTEPS)
              op: assign_op.Equal
              rhs: 
                {
                  (DQ 
                    (command_sub
                      left_token: <Id.Left_DollarParen '$('>
                      child: (C {<echo>} {($ Id.VSub_DollarName STEPS)})
                      right: <Id.Eof_RParen _>
                    ) <' '>
                  )
                }
              spids: [9556]
            )
          ]
          redirects: []
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'XSTEPS0='> name:XSTEPS0)
              op: assign_op.Equal
              rhs: {(DQ ($ Id.VSub_DollarName XSTEPS))}
              spids: [9569]
            )
          ]
          redirects: []
        )
        (command.ForEach
          iter_names: [STEP]
          iterable: (for_iter.Words words:[{($ Id.VSub_DollarName XSTEPS)}])
          body: 
            (command.DoGroup
              children: [
                (C {<echo>} {(DQ <'Running step: '> ($ Id.VSub_DollarName STEP))})
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'XSTEPS='> name:XSTEPS)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (DQ 
                            (braced_var_sub
                              left: <Id.Left_DollarBrace '${'>
                              token: <Id.VSub_Name XSTEPS>
                              var_name: XSTEPS
                              suffix_op: 
                                (suffix_op.Unary
                                  op: <Id.VOp1_Pound '#'>
                                  arg_word: {<Id.Lit_Other '*'> <' '>}
                                )
                              right: <Id.Right_DollarBrace '}'>
                            )
                          )
                        }
                      spids: [9595]
                    )
                  ]
                  redirects: []
                )
                (C {<echo>} {(DQ <'Steps remaining: '> ($ Id.VSub_DollarName XSTEPS))})
                (C {<set>} {<-x>})
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.Pipeline
                                  children: [(C {($ Id.VSub_DollarName STEP)})]
                                  negated: T
                                  stderr_indices: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (C {<set>} {<Id.Lit_Other '+'> <x>})
                        (C {<fail_step>} {(DQ ($ Id.VSub_QMark '?'))} {(DQ ($ Id.VSub_DollarName STEP))} 
                          {(DQ ($ Id.VSub_DollarName XSTEPS))}
                        )
                      ]
                      spids: [9627 9634]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
                (C {<set>} {<Id.Lit_Other '+'> <x>})
              ]
            )
          redirects: []
        )
        (C {<echo>} 
          {
            (DQ <'OK running '> ($ Id.VSub_Number 0) <' '> 
              (braced_var_sub
                left: <Id.Left_DollarBrace '${'>
                token: <Id.VSub_Name TARGET>
                var_name: TARGET
                suffix_op: (suffix_op.Unary op:<Id.VOp1_Percent '%'> arg_word:{<-static>})
                right: <Id.Right_DollarBrace '}'>
              ) <' '> ($ Id.VSub_DollarName XSTEPS0)
            )
          }
        )
        (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
      ]
      spids: [133 138]
    )
  ]
  else_action: []
  redirects: []
)