(command.If
  arms: [
    (if_arm
      cond: [
        (command.Sentence
          child: (C {(true)})
          terminator: (Token id:Id.Op_Semi val:';' span_id:136)
        )
      ]
      action: [
        (command.AndOr
          ops: [Id.Op_DAmp]
          children: [
            (C {(test)} 
              {
                (DQ 
                  (braced_var_sub
                    token: (Token id:Id.VSub_Number val:0 span_id:148)
                    suffix_op: 
                      (suffix_op.Unary
                        op_id: Id.VOp1_Percent
                        arg_word: {(Id.Lit_Slash /) ('*')}
                      )
                  )
                )
              } {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(DQ ($ Id.VSub_Number '$0'))}
            )
            (C {(cd)} 
              {
                (DQ 
                  (braced_var_sub
                    token: (Token id:Id.VSub_Number val:0 span_id:168)
                    suffix_op: 
                      (suffix_op.Unary
                        op_id: Id.VOp1_Percent
                        arg_word: {(Id.Lit_Slash /) ('*')}
                      )
                  )
                )
              }
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:UNAME)
              op: assign_op.Equal
              rhs: 
                {
                  (command_sub
                    left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:177)
                    command_list: 
                      (command.CommandList
                        children: [
                          (command.AndOr
                            ops: [Id.Op_DPipe Id.Op_DPipe]
                            children: [
                              (command.Simple
                                words: [{(./busybox)} {(uname)}]
                                redirects: [
                                  (redir.Redir
                                    op: (Token id:Id.Redir_Great val:'2>' span_id:182)
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                  )
                                ]
                              )
                              (C {(uname)})
                              (C {(true)})
                            ]
                          )
                        ]
                      )
                  )
                }
              spids: [176]
            )
          ]
        )
        (C {(unset)} {(PYTHONPATH)} {(PYTHONSTARTUP)} {(PYTHONHOME)} {(PYTHONCASEOK)} {(PYTHONIOENCODING)})
        (command.If
          arms: [
            (if_arm
              cond: [
                (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: (Token id:Id.Op_Semi val:';' span_id:230)
                )
              ]
              action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:BUSYBOX)
                      op: assign_op.Equal
                      rhs: (word.Empty)
                      spids: [238]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:PATCH)
                      op: assign_op.Equal
                      rhs: {(SQ (Token id:Id.Lit_Chars val:'patch -t' span_id:243))}
                      spids: [241]
                    )
                  ]
                )
              ]
              spids: [211 232]
            )
            (if_arm
              cond: [
                (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: (Token id:Id.Op_Semi val:';' span_id:266)
                )
              ]
              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 name:BUSYBOX)
                  op: assign_op.Equal
                  rhs: {(./busybox)}
                  spids: [301]
                )
              ]
            )
            (C {(export)} {(Id.Lit_VarLike 'PATH=') (/dev/null)})
            (C {(Id.KW_Set set)} {(-e)})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [(C {(test)} {(-d)} {(busybox.bin)}) (C {(./busybox)} {(mkdir)} {(busybox.bin)})]
            )
            (command.ForEach
              iter_name: F
              iter_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)}
              ]
              do_arg_iter: F
              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'))}
                    )
                  ]
                )
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:PATCH)
                  op: assign_op.Equal
                  rhs: {(patch)}
                  spids: [439]
                )
              ]
            )
            (command.Sentence
              child: (C {(./busybox)} {(rm)} {(-f)} {(busybox.bin/make)})
              terminator: (Token id:Id.Op_Semi val:';' span_id:453)
            )
            (C {(./busybox)} {(ln)} {(-s)} {(../make)} {(busybox.bin/make)})
            (command.Sentence
              child: (C {(./busybox)} {(rm)} {(-f)} {(busybox.bin/perl)})
              terminator: (Token id:Id.Op_Semi val:';' span_id:473)
            )
            (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))}
            )
          ]
        )
        (C {(Id.KW_Set set)} {(-e)})
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name 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]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:STEPS)
              op: assign_op.Equal
              rhs: (word.Empty)
              spids: [524]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:USE_SSL)
              op: assign_op.Equal
              rhs: (word.Empty)
              spids: [526]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:USE_TC)
              op: assign_op.Equal
              rhs: (word.Empty)
              spids: [528]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:USE_LMDB)
              op: assign_op.Equal
              rhs: (word.Empty)
              spids: [530]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:TARGET)
              op: assign_op.Equal
              rhs: {(python2.7-static)}
              spids: [532]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:PYTHONTBZ2)
              op: assign_op.Equal
              rhs: {(Python-2.7.12.tar.xz)}
              spids: [535]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:IS_CO)
              op: assign_op.Equal
              rhs: (word.Empty)
              spids: [538]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:IS_PY3)
              op: assign_op.Equal
              rhs: (word.Empty)
              spids: [540]
            )
          ]
        )
        (command.ForEach
          iter_name: ARG
          iter_words: [{(DQ ($ Id.VSub_At '$@'))}]
          do_arg_iter: F
          body: 
            (command.DoGroup
              children: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:ARG)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (DQ 
                            (braced_var_sub
                              token: (Token id:Id.VSub_Name val:ARG span_id:560)
                              suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(-static)})
                            )
                          )
                        }
                      spids: [557]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (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: (Token id:Id.Op_Semi val:';' span_id:593)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:TARGET)
                              op: assign_op.Equal
                              rhs: {(stackless2.7-static)}
                              spids: [598]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:PYTHONTBZ2)
                              op: assign_op.Equal
                              rhs: {(stackless-2712-export.tar.xz)}
                              spids: [602]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_CO)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [606]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_XX)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [609]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_PY3)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [612]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:USE_SSL)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [615]
                            )
                          ]
                        )
                      ]
                      spids: [570 595]
                    )
                    (if_arm
                      cond: [
                        (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: (Token id:Id.Op_Semi val:';' span_id:641)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:TARGET)
                              op: assign_op.Equal
                              rhs: {(stacklessco2.7-static)}
                              spids: [646]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:PYTHONTBZ2)
                              op: assign_op.Equal
                              rhs: {(stackless-2712-export.tar.xz)}
                              spids: [650]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_CO)
                              op: assign_op.Equal
                              rhs: {(1)}
                              spids: [654]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_XX)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [658]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ISP_PY3)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [661]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:USE_SSL)
                              op: assign_op.Equal
                              rhs: {(1)}
                              spids: [664]
                            )
                          ]
                        )
                      ]
                      spids: [618 643]
                    )
                    (if_arm
                      cond: [
                        (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: (Token id:Id.Op_Semi val:';' span_id:691)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:TARGET)
                              op: assign_op.Equal
                              rhs: {(stacklessxx2.7-static)}
                              spids: [696]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:PYTHONTBZ2)
                              op: assign_op.Equal
                              rhs: {(stackless-2712-export.tar.xz)}
                              spids: [700]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_CO)
                              op: assign_op.Equal
                              rhs: {(1)}
                              spids: [704]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_XX)
                              op: assign_op.Equal
                              rhs: {(1)}
                              spids: [708]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ISP_PY3)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [715]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:USE_SSL)
                              op: assign_op.Equal
                              rhs: {(1)}
                              spids: [718]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:USE_TC)
                              op: assign_op.Equal
                              rhs: {(1)}
                              spids: [722]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:USE_LMDB)
                              op: assign_op.Equal
                              rhs: {(1)}
                              spids: [726]
                            )
                          ]
                        )
                      ]
                      spids: [668 693]
                    )
                    (if_arm
                      cond: [
                        (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: (Token id:Id.Op_Semi val:';' span_id:753)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:TARGET)
                              op: assign_op.Equal
                              rhs: {(python2.7-static)}
                              spids: [758]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:PYTHONTBZ2)
                              op: assign_op.Equal
                              rhs: {(Python-2.7.12.tar.xz)}
                              spids: [762]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_CO)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [766]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_XX)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [769]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_PY3)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [772]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:USE_SSL)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [775]
                            )
                          ]
                        )
                      ]
                      spids: [730 755]
                    )
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ Id.VSub_DollarName '$ARG'))} {(Id.Lit_Equals '=')} 
                              {(python3.2)}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:789)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:TARGET)
                              op: assign_op.Equal
                              rhs: {(python3.2-static)}
                              spids: [794]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:PYTHONTBZ2)
                              op: assign_op.Equal
                              rhs: {(Python-3.2.tar.bz2)}
                              spids: [798]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_CO)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [802]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_XX)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [805]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_PY3)
                              op: assign_op.Equal
                              rhs: {(1)}
                              spids: [808]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:USE_SSL)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [812]
                            )
                          ]
                        )
                      ]
                      spids: [778 791]
                    )
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ Id.VSub_DollarName '$ARG'))} {(Id.Lit_Equals '=')} 
                              {(stackless3.2)}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:826)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:TARGET)
                              op: assign_op.Equal
                              rhs: {(stackless3.2-static)}
                              spids: [831]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:PYTHONTBZ2)
                              op: assign_op.Equal
                              rhs: {(stackless-32-export.tar.bz2)}
                              spids: [835]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_CO)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [839]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_XX)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [842]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_PY3)
                              op: assign_op.Equal
                              rhs: {(1)}
                              spids: [845]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:USE_SSL)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [849]
                            )
                          ]
                        )
                      ]
                      spids: [815 828]
                    )
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ Id.VSub_DollarName '$ARG'))} {(Id.Lit_Equals '=')} 
                              {(stacklessxl3.2)}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:863)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:TARGET)
                              op: assign_op.Equal
                              rhs: {(stacklessxl3.2-static)}
                              spids: [868]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:PYTHONTBZ2)
                              op: assign_op.Equal
                              rhs: {(stackless-32-export.tar.bz2)}
                              spids: [872]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_CO)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [876]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_XX)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [879]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:IS_PY3)
                              op: assign_op.Equal
                              rhs: {(1)}
                              spids: [882]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:USE_SSL)
                              op: assign_op.Equal
                              rhs: {(1)}
                              spids: [886]
                            )
                          ]
                        )
                      ]
                      spids: [852 865]
                    )
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ Id.VSub_DollarName '$ARG'))} {(Id.Lit_Equals '=')} 
                              {(usessl)}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:901)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:USE_SSL)
                              op: assign_op.Equal
                              rhs: {(1)}
                              spids: [906]
                            )
                          ]
                        )
                      ]
                      spids: [890 903]
                    )
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ Id.VSub_DollarName '$ARG'))} {(Id.Lit_Equals '=')} 
                              {(nossl)}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:921)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:USE_SSL)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [926]
                            )
                          ]
                        )
                      ]
                      spids: [910 923]
                    )
                  ]
                  else_action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:STEPS)
                          op: assign_op.Equal
                          rhs: 
                            {(DQ ($ Id.VSub_DollarName '$STEPS') (' ') ($ Id.VSub_DollarName '$ARG'))}
                          spids: [932]
                        )
                      ]
                    )
                  ]
                )
              ]
            )
        )
        (command.If
          arms: [
            (if_arm
              cond: [
                (command.Sentence
                  child: (C {(test)} {(-z)} {(DQ ($ Id.VSub_DollarName '$STEPS'))})
                  terminator: (Token id:Id.Op_Semi val:';' span_id:953)
                )
              ]
              action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name 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]
                    )
                  ]
                )
              ]
              spids: [944 955]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:INSTS)
              op: assign_op.Equal
              rhs: {(DQ ($ Id.VSub_DollarName '$INSTS_BASE'))}
              spids: [978]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:BUILDDIR)
              op: assign_op.Equal
              rhs: {(DQ ($ Id.VSub_DollarName '$TARGET') (.build))}
              spids: [983]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:PBUILDDIR)
              op: assign_op.Equal
              rhs: {(DQ ($ Id.VSub_DollarName '$PWD') (/) ($ Id.VSub_DollarName '$BUILDDIR'))}
              spids: [989]
            )
          ]
        )
        (command.If
          arms: [
            (if_arm
              cond: [
                (command.Sentence
                  child: 
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} {(Id.Lit_Equals '=')} {(Darwin)})
                  terminator: (Token id:Id.Op_Semi val:';' span_id:1014)
                )
              ]
              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'))
              }
            )
          ]
        )
        (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: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(rm)} {(-rf)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1218)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(mkdir)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1233)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (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: (Token id:Id.Op_Semi val:';' span_id:1264)
                        )
                      ]
                      action: [(C {(Id.Lit_Other ':')})]
                      spids: [1241 1266]
                    )
                  ]
                  else_action: [
                    (C {(Id.KW_Set set)} {(Id.Lit_Other '+') (x)})
                    (command.Simple
                      words: [
                        {(echo)}
                        {
                          (DQ ('fatal: unsupported operating system: ') 
                            ($ Id.VSub_DollarName '$UNAME')
                          )
                        }
                      ]
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:1288)
                          fd: -1
                          arg_word: {(2)}
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1292)
                      arg_word: {(2)}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} {(Id.Lit_Equals '=')} 
                              {(Darwin)}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1312)
                        )
                      ]
                      action: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {(mkdir)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/build-include))})
                            (command.ControlFlow
                              token: (Token id:Id.ControlFlow_Return val:return span_id:1326)
                              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: (Token id:Id.ControlFlow_Return val:return span_id:1342)
                              arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                      spids: [1301 1314]
                    )
                  ]
                  else_action: [
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Subshell
                          command_list: 
                            (command.CommandList
                              children: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                    (command.ControlFlow
                                      token: (Token id:Id.ControlFlow_Return val:return span_id:1362)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(mkdir)} {(cross-compiler-i686)})
                                    (command.ControlFlow
                                      token: (Token id:Id.ControlFlow_Return val:return span_id:1375)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(cd)} {(cross-compiler-i686)})
                                    (command.ControlFlow
                                      token: (Token id:Id.ControlFlow_Return val:return span_id:1388)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(tar)} {(xjvf)} {(../../gcxbase.inst.tbz2)})
                                    (command.ControlFlow
                                      token: (Token id:Id.ControlFlow_Return val:return span_id:1403)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(tar)} {(xjvf)} {(../../gcc.inst.tbz2)})
                                    (command.ControlFlow
                                      token: (Token id:Id.ControlFlow_Return val:return span_id:1418)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(tar)} {(xjvf)} {(../../gcxtool.inst.tbz2)})
                                    (command.ControlFlow
                                      token: (Token id:Id.ControlFlow_Return val:return span_id:1433)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                            )
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1444)
                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                        )
                      ]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} {(Id.Lit_Equals '=')} 
                              {(Darwin)}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1478)
                        )
                      ]
                      action: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (command.Subshell
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (command.Sentence
                                      child: 
                                        (C {(echo)} 
                                          {(SQ (Token id:Id.Lit_Chars val:'#!/bin/sh' span_id:1487))}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:1489)
                                    )
                                    (C {(echo)} 
                                      {
                                        (SQ 
                                          (Token
                                            id: Id.Lit_Chars
                                            val: 'echo i386-apple-darwin9.8.0'
                                            span_id: 1494
                                          )
                                        )
                                      }
                                    )
                                  ]
                                )
                              redirects: [
                                (redir.Redir
                                  op: (Token id:Id.Redir_Great val:'>' span_id:1498)
                                  fd: -1
                                  arg_word: 
                                    {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/config.guess.fake))}
                                )
                              ]
                            )
                            (command.ControlFlow
                              token: (Token id:Id.ControlFlow_Return val:return span_id:1506)
                              arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                      spids: [1467 1480]
                    )
                  ]
                  else_action: [
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Subshell
                          command_list: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: 
                                    (C {(echo)} 
                                      {(SQ (Token id:Id.Lit_Chars val:'#!/bin/sh' span_id:1520))}
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:1522)
                                )
                                (C {(echo)} 
                                  {
                                    (SQ 
                                      (Token
                                        id: Id.Lit_Chars
                                        val: 'echo i686-pc-linux-gnu'
                                        span_id: 1527
                                      )
                                    )
                                  }
                                )
                              ]
                            )
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_Great val:'>' span_id:1531)
                              fd: -1
                              arg_word: {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/config.guess.fake))}
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:1539)
                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                        )
                      ]
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(chmod)} {(Id.Lit_Other '+') (x)} 
                      {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/config.guess.fake))}
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1561)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (C {(echo)} 
                              {(SQ (Token id:Id.Lit_Chars val:'#include <stdio.h>' span_id:1577))}
                            )
                            (C {(echo)} 
                              {
                                (SQ 
                                  (Token
                                    id: Id.Lit_Chars
                                    val: 'main() { return!printf("Hello, World!\\n"); }'
                                    span_id: 1584
                                  )
                                )
                              }
                            )
                          ]
                        )
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_Great val:'>' span_id:1590)
                          fd: -1
                          arg_word: {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/hello.c))}
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1598)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (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
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1622)
                        )
                      ]
                      action: [
                        (C {(Id.KW_Set set)} {(Id.Lit_Other '+') (x)})
                        (command.Simple
                          words: [{(echo)} {(DQ ("fatal: the C compiler doesn't work"))}]
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:1639)
                              fd: -1
                              arg_word: {(2)}
                            )
                          ]
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} 
                                      {(Id.Lit_Equals '=')} {(Darwin)}
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:1654)
                                )
                              ]
                              action: [
                                (command.Simple
                                  words: [
                                    {(echo)}
                                    {
                                      (DQ 
                                        (
'info: did you install MacPorts and run: sudo port install gcc44'
                                        )
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:1665)
                                      fd: -1
                                      arg_word: {(2)}
                                    )
                                  ]
                                )
                              ]
                              spids: [1643 1656]
                            )
                          ]
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Exit val:exit span_id:1672)
                          arg_word: {(2)}
                        )
                      ]
                      spids: [1605 1624]
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {($ Id.VSub_DollarName '$STRIP')} 
                      {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/hello))}
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1689)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (C {(local)} 
                  {(Id.Lit_VarLike 'OUT=') 
                    (DQ 
                      (command_sub
                        left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:1700)
                        command_list: 
                          (command.CommandList
                            children: [(C {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/hello))})]
                          )
                      )
                    )
                  }
                )
                (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
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:1744)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} 
                                          {
                                            (DQ 
                                              (braced_var_sub
                                                token: 
                                                  (Token
                                                    id: Id.VSub_Name
                                                    val: PYTHONTBZ2
                                                    span_id: 1757
                                                  )
                                                suffix_op: 
                                                  (suffix_op.Unary
                                                    op_id: Id.VOp1_Percent
                                                    arg_word: {(.xz)}
                                                  )
                                              )
                                            )
                                          } {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(DQ (${ Id.VSub_Name PYTHONTBZ2))}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:1771)
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (command.Pipeline
                                          children: [
                                            (command.Simple
                                              words: [{(xz)} {(-d)}]
                                              redirects: [
                                                (redir.Redir
                                                  op: (Token id:Id.Redir_Less val:'<' span_id:1780)
                                                  fd: -1
                                                  arg_word: 
                                                    {(../) (DQ ($ Id.VSub_DollarName '$PYTHONTBZ2'))}
                                                )
                                              ]
                                            )
                                            (C {(tar)} {(xv)})
                                          ]
                                          negated: F
                                        )
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 1794
                                            )
                                          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: (Token id:Id.ControlFlow_Return val:return span_id:1815)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1829)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:1846)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {(test)} {(-d)} {(Python-) (Id.Lit_Star '*')})
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:1861)
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(mv)} {(Python-) (Id.Lit_Star '*') (/) (Id.Lit_Star '*')} 
                                          {(.)}
                                        )
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 1877
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1853 1863]
                                )
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {(test)} {(-d)} {(python-) (Id.Lit_Star '*')})
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:1892)
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(mv)} {(python-) (Id.Lit_Star '*') (/) (Id.Lit_Star '*')} 
                                          {(.)}
                                        )
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 1908
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1884 1894]
                                )
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {(test)} {(-d)} {(stackless-) (Id.Lit_Star '*')})
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:1923)
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(mv)} 
                                          {(stackless-) (Id.Lit_Star '*') (/) (Id.Lit_Star '*')} {(.)}
                                        )
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 1939
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1915 1925]
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      (Token
                                        id: Id.Lit_Chars
                                        val: 's@^(Parser/pgenmain[.]o:)@disabled_$1@'
                                        span_id: 1961
                                      )
                                    )
                                  } {(Makefile.pre.in)}
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:1968)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:1979)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/Modules))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:1998)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:2013)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_PY3'))})
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:2027)
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (command.Simple
                                          words: [{($ Id.VSub_DollarName '$PATCH')} {(-p0)}]
                                          redirects: [
                                            (redir.Redir
                                              op: (Token id:Id.Redir_Less val:'<' span_id:2040)
                                              fd: -1
                                              arg_word: {(../../greenlet-0.3.1-pycapsule.patch)}
                                            )
                                          ]
                                        )
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 2045
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [2020 2029]
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2059)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2077)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mkdir)} {(-p)} {(advzip)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2092)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(advzip)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2105)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} 
                                          {(Id.Lit_Equals '=')} {(Darwin)}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:2123)
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(tar)} {(xjvf)} {(../../advzip.darwin.inst.tbz2)})
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 2136
                                            )
                                          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: (Token id:Id.ControlFlow_Return val:return span_id:2154)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2168)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (C {(cp)} {(-f)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/config.guess.fake))} 
                  {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/config.guess))}
                )
              ]
            )
        )
        (command.ShFunction
          name: initdeps
          body: 
            (command.BraceGroup
              children: [
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} {(Id.Lit_Equals '=')} 
                              {(Darwin)}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:2211)
                        )
                      ]
                      action: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {(builddeps)})
                            (command.ControlFlow
                              token: (Token id:Id.ControlFlow_Return val:return span_id:2223)
                              arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                      spids: [2200 2213]
                    )
                  ]
                  else_action: [
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {(extractinsts)})
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:2240)
                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                        )
                      ]
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: builddeps
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(buildlibz)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2287)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(buildlibbz2)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2298)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(buildlibreadline)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2309)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(buildlibsqlite3)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2320)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(buildlibevent2)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2331)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: buildlibbz2
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2357)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(bzip2-1.0.6)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2372)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:2387)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(bzip2-1.0.6)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2400)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      (Token
                                        id: Id.Lit_Chars
                                        val: 
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@ -O3@g if s@^CFLAGS\\s*=@CFLAGS = @'
                                        span_id: 2415
                                      )
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2422)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:2438)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:2453)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cp)} {(bzlib.h)} {(../build-include/)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2468)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2479)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: buildlibtc
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$USE_TC'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2503)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2518)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(tokyocabinet-1.4.47)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2533)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:2548)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(tokyocabinet-1.4.47)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2561)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} 
                                          {(Id.Lit_Equals '=')} {(Darwin)}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:2607)
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                                          {
                                            (SQ 
                                              (Token
                                                id: Id.Lit_Chars
                                                val: 's@^ *(LIBS="-l(?:z|bz2))@$1-staticpython @'
                                                span_id: 2628
                                              )
                                            )
                                          } {(configure)}
                                        )
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 2635
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [2596 2609]
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      (Token
                                        id: Id.Lit_Chars
                                        val: 's@nanl\\([^()]*\\)@NAN@g'
                                        span_id: 2657
                                      )
                                    )
                                  } {(Id.Lit_Star '*') (.c)}
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2665)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:2685)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      (Token
                                        id: Id.Lit_Chars
                                        val: 
'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 = @'
                                        span_id: 2700
                                      )
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2707)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(make)} {(libtokyocabinet.a)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2720)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {($ Id.VSub_DollarName '$RANLIB')} {(libtokyocabinet.a)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2733)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:2748)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:2773)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2784)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: buildlibreadline
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2810)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(readline-5.2)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2825)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../readline-5.2.tar.gz)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2840)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(readline-5.2)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2853)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(./configure)} {(--disable-shared)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2866)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      (Token
                                        id: Id.Lit_Chars
                                        val: 
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@ -O2@g if s@^CFLAGS\\s*=@CFLAGS = @'
                                        span_id: 2881
                                      )
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2888)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(make)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2899)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:2918)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(../build-include/readline)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2933)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mkdir)} {(../build-include/readline)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:2946)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:2973)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:2984)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: buildlibsqlite3
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3010)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(sqlite-amalgamation-3070603)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3025)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(unzip)} {(../sqlite-amalgamation-3070603.zip)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3038)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(sqlite-amalgamation-3070603)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3051)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3080)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3097)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {($ Id.VSub_DollarName '$RANLIB')} {(libsqlite3.a)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3110)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3125)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cp)} {(sqlite3.h)} {(../build-include/)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3140)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:3151)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: buildlibz
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3177)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(zlib-1.2.5)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3192)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3207)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(zlib-1.2.5)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3220)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(./configure)} {(--static)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3233)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      (Token
                                        id: Id.Lit_Chars
                                        val: 
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@ -O3@g if s@^CFLAGS\\s*=@CFLAGS = @'
                                        span_id: 3248
                                      )
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3255)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(make)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3266)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3281)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cp)} {(zconf.h)} {(zlib.h)} {(../build-include/)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3298)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:3309)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: buildlibssl
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$USE_SSL'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:3333)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3348)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3363)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3378)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(openssl-0.9.8zh)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3391)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} 
                                          {(Id.Lit_Equals '=')} {(Linux)}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:3409)
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(./Configure)} {(no-shared)} {(linux-elf)} {(no-dso)})
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 3424
                                            )
                                          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: (Token id:Id.ControlFlow_Return val:return span_id:3446)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      (Token
                                        id: Id.Lit_Chars
                                        val: 
'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 = @'
                                        span_id: 3483
                                      )
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3490)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(ln)} {(-s)} {(.)} {(crypto/des/asm/perlasm)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3511)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(make)} {(build_libs)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3524)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3539)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3554)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mkdir)} {(../build-include/openssl)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3567)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3584)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:3595)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: buildlibevent2
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:3619)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3634)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(libevent-2.0.16-stable)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3649)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(build-include/event2)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3664)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3680)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3695)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(libevent-2.0.16-stable)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3708)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (C {(local)} {(Id.Lit_VarLike 'SSL_FLAGS=') (--disable-openssl)})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {(test)} {(DQ ($ Id.VSub_DollarName '$USE_SSL'))})
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:3728)
                                    )
                                  ]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:SSL_FLAGS)
                                          op: assign_op.Equal
                                          rhs: {(--enable-openssl)}
                                          spids: [3733]
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                                          {
                                            (SQ 
                                              (Token
                                                id: Id.Lit_Chars
                                                val: 
's@^for ac_lib in \\x27\\x27 ssl;@for ac_lib in \\x27\\x27 \\x27ssl-staticpython -lcrypto-staticpython\\x27;@;\n'
                                                span_id: 3745
                                              ) 
                                              (Token
                                                id: Id.Lit_Chars
                                                val: 
'                    s@ -lcrypto(?= )@ -lcrypto-staticpython@g'
                                                span_id: 3746
                                              )
                                            )
                                          } {(configure)}
                                        )
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 3753
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [3721 3730]
                                )
                              ]
                            )
                            (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: (Token id:Id.ControlFlow_Return val:return span_id:3775)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {(test)} {(DQ ($ Id.VSub_DollarName '$USE_SSL'))})
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:3789)
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(grep)} 
                                          {
                                            (SQ 
                                              (Token
                                                id: Id.Lit_Chars
                                                val: '^#define HAVE_OPENSSL 1$'
                                                span_id: 3797
                                              )
                                            )
                                          } {(config.h)}
                                        )
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 3804
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [3782 3791]
                                )
                              ]
                            )
                            (C {(cp)} {(-f)} {(../config.guess.fake)} {(config.guess)})
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      (Token
                                        id: Id.Lit_Chars
                                        val: 
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@ -O2@g if s@^CFLAGS\\s*=@CFLAGS = @'
                                        span_id: 3831
                                      )
                                    )
                                  } {(Makefile)} {(Id.Lit_Star '*') (/Makefile)}
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3841)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3858)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3879)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {($ Id.VSub_DollarName '$RANLIB')} {(libevent_evhttp.a)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3892)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3907)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3922)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mkdir)} {(../build-include/event2)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:3935)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:3952)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:3963)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: extractinsts
          body: 
            (command.BraceGroup
              children: [
                (command.ForEach
                  iter_name: INSTTBZ2
                  iter_words: [{($ Id.VSub_DollarName '$INSTS')}]
                  do_arg_iter: F
                  body: 
                    (command.DoGroup
                      children: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (command.Subshell
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(cd)} 
                                          {
                                            (DQ ($ Id.VSub_DollarName '$BUILDDIR') 
                                              (/cross-compiler-i686)
                                            )
                                          }
                                        )
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 4002
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(tar)} {(xjvf)} 
                                          {(../../) (DQ ($ Id.VSub_DollarName '$INSTTBZ2'))}
                                        )
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 4020
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                )
                            )
                            (command.ControlFlow
                              token: (Token id:Id.ControlFlow_Return val:return span_id:4031)
                              arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                    )
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} {(Id.Lit_Equals '=')} 
                              {(Linux)}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:4056)
                        )
                      ]
                      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]
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: configure
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:4107)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (C {(perl)} {(-pi)} {(-e)} 
                              {(SQ (Token id:Id.Lit_Chars val:'$_="" if /ASDLGEN/' span_id:4133))} {(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 name:REGSFLAGS)
                                      op: assign_op.Equal
                                      rhs: {(--enable-stacklessfewerregisters)}
                                      spids: [4164]
                                    )
                                  ]
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(./configure)} {(--disable-shared)} {(--disable-ipv6)} 
                                  {($ Id.VSub_DollarName '$REGSFLAGS')}
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:4178)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:4189)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (C {(fixmakefile)})
              ]
            )
        )
        (command.ShFunction
          name: fixsemaphore
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:4218)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} 
                                          {(Id.Lit_Equals '=')} {(Linux)}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:4236)
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(perl)} {(-pi)} {(-e)} 
                                          {
                                            (SQ 
                                              (Token
                                                id: Id.Lit_Chars
                                                val: 
's@^#define POSIX_SEMAPHORES_NOT_ENABLED 1$@/* #undef POSIX_SEMAPHORES_NOT_ENABLED */@'
                                                span_id: 4260
                                              )
                                            )
                                          } {(pyconfig.h)}
                                        )
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 4269
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [4225 4238]
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:4283)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: fixmakefile
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:4309)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      (Token
                                        id: Id.Lit_Chars
                                        val: 
's@\\s-(?:ldl|framework\\s+CoreFoundation)(?!\\S)@@g if s@^LIBS\\s*=@LIBS = @'
                                        span_id: 4340
                                      )
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:4347)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      (Token
                                        id: Id.Lit_Chars
                                        val: 
's@\\s-(?:g|O\\d*)(?!\\S)@@g, s@$@ -O2@ if s@^OPT\\s*=@OPT = @'
                                        span_id: 4370
                                      )
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:4377)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      (Token
                                        id: Id.Lit_Chars
                                        val: 
's@\\s-(?:g|O\\d*)(?!\\S)@@g, s@$@ -O2@ if s@^SLPFLAGS\\s*=@SLPFLAGS = @'
                                        span_id: 4392
                                      )
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:4399)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      (Token
                                        id: Id.Lit_Chars
                                        val: 
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@@g if s@^CFLAGS\\s*=@CFLAGS = @'
                                        span_id: 4414
                                      )
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:4421)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_PY3'))})
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:4435)
                                    )
                                  ]
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (command.Sentence
                                              child: 
                                                (command.Pipeline
                                                  children: [
                                                    (C {(grep)} 
                                                      {
                                                        (SQ 
                                                          (Token
                                                            id: Id.Lit_Chars
                                                            val: '@SLPFLAGS@'
                                                            span_id: 4447
                                                          )
                                                        )
                                                      } {(Makefile)}
                                                    )
                                                  ]
                                                  negated: T
                                                )
                                              terminator: (Token id:Id.Op_Semi val:';' span_id:4451)
                                            )
                                          ]
                                          action: [(C {(Id.Lit_Other ':')})]
                                          spids: [4440 4453]
                                        )
                                        (if_arm
                                          cond: [
                                            (command.Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} 
                                                  {(Id.Lit_Equals '=')} {(Darwin)}
                                                )
                                              terminator: (Token id:Id.Op_Semi val:';' span_id:4470)
                                            )
                                          ]
                                          action: [
                                            (command.AndOr
                                              ops: [Id.Op_DPipe]
                                              children: [
                                                (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                                                  {
                                                    (SQ 
                                                      (Token
                                                        id: Id.Lit_Chars
                                                        val: 
's~\\@SLPFLAGS\\@~-fomit-frame-pointer -DSTACKLESS_FRHACK=1 -O2~g'
                                                        span_id: 4491
                                                      )
                                                    )
                                                  } {(Makefile)}
                                                )
                                                (command.ControlFlow
                                                  token: 
                                                    (Token
                                                      id: Id.ControlFlow_Return
                                                      val: return
                                                      span_id: 4498
                                                    )
                                                  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 
                                                  (Token
                                                    id: Id.Lit_Chars
                                                    val: 
's~\\@SLPFLAGS\\@~-fno-omit-frame-pointer -O2~g'
                                                    span_id: 4516
                                                  )
                                                )
                                              } {(Makefile)}
                                            )
                                            (command.ControlFlow
                                              token: 
                                                (Token
                                                  id: Id.ControlFlow_Return
                                                  val: return
                                                  span_id: 4523
                                                )
                                              arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [4428 4437]
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:4540)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: patchsetup
          body: 
            (command.BraceGroup
              children: [
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_PY3'))})
                          terminator: (Token id:Id.Op_Semi val:';' span_id:4571)
                        )
                      ]
                      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: (Token id:Id.ControlFlow_Return val:return span_id:4587)
                              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: (Token id:Id.ControlFlow_Return val:return span_id:4608)
                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                        )
                      ]
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: fixsetup
          body: 
            (command.BraceGroup
              children: [
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} {(Id.Lit_Equals '=')} 
                              {(Darwin)}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:4646)
                        )
                      ]
                      action: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                              {
                                (SQ (Token id:Id.Lit_Chars val:'\n' span_id:4695) 
                                  (Token
                                    id: Id.Lit_Chars
                                    val: '        s@\\s-lncurses\\S*@ -lncurses.5@g;\n'
                                    span_id: 4696
                                  ) 
                                  (Token
                                    id: Id.Lit_Chars
                                    val: 
'        s@^(?:_locale|spwd)(?!\\S)@#@; s@\\s-(?:lcrypt|lm)(?!\\S)@@g;\n'
                                    span_id: 4697
                                  ) 
                                  (Token
                                    id: Id.Lit_Chars
                                    val: 
'        s@\\s-(lz|lsqlite3|lreadline|lbz2)(?!\\S)@ -$1-staticpython@g;\n'
                                    span_id: 4698
                                  ) (Token id:Id.Lit_Chars val:'        ' span_id:4699)
                                )
                              } {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/Modules/Setup))}
                            )
                            (command.ControlFlow
                              token: (Token id:Id.ControlFlow_Return val:return span_id:4709)
                              arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                      spids: [4635 4648]
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                      {
                        (SQ 
                          (Token
                            id: Id.Lit_Chars
                            val: 's@\\s-(levent_core|levent_evhttp)(?!\\S)@ -$1-staticpython@g'
                            span_id: 4727
                          )
                        )
                      } {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/Modules/Setup))}
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:4737)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(sleep)} {(2)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:4750)
                      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: (Token id:Id.ControlFlow_Return val:return span_id:4769)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:4790)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(make)} {(Makefile)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:4803)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:4814)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (C {(fixmakefile)})
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_PY3'))})
                          terminator: (Token id:Id.Op_Semi val:';' span_id:4831)
                        )
                      ]
                      action: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (command.Subshell
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 4846
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(grep)} 
                                          {(SQ (Token id:Id.Lit_Chars val:'^_thread ' span_id:4856))} {(Modules/Setup.config)}
                                        )
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 4863
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(grep)} 
                                          {(SQ (Token id:Id.Lit_Chars val:signal span_id:4873))} {(Modules/Setup.config)}
                                        )
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 4880
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                )
                            )
                            (command.ControlFlow
                              token: (Token id:Id.ControlFlow_Return val:return span_id:4891)
                              arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                      spids: [4824 4833]
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: patchimport
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                      {
                        (SQ 
                          (Token
                            id: Id.Lit_Chars
                            val: 
's@#ifdef HAVE_DYNAMIC_LOADING(?!_NOT)@#ifdef HAVE_DYNAMIC_LOADING_NOT  /* StaticPython */@g'
                            span_id: 4922
                          )
                        )
                      } {(DQ ($ Id.VSub_DollarName '$BUILDDIR')) (/Python/import.c)} 
                      {(DQ ($ Id.VSub_DollarName '$BUILDDIR')) (/Python/importdl.c)}
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:4937)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: patchgetpath
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-0777)} {(-e)} 
                      {
                        (SQ 
                          (Token
                            id: Id.Lit_Chars
                            val: 
'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'
                            span_id: 4975
                          )
                        )
                      } {(DQ ($ Id.VSub_DollarName '$BUILDDIR')) (/Modules/getpath.c)}
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:4985)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              children: [
                                (C {(grep)} {(-q)} {(StaticPython-appended)} 
                                  {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/Modules/getpath.c))}
                                )
                              ]
                              negated: T
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:5006)
                        )
                      ]
                      action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_PY3'))})
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:5018)
                                )
                              ]
                              action: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (command.Simple
                                      words: [{(cat)} {(calculate_path.3.2.c)}]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_DGreat val:'>>' span_id:5027)
                                          fd: -1
                                          arg_word: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$BUILDDIR') 
                                                (/Modules/getpath.c)
                                              )
                                            }
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: (Token id:Id.ControlFlow_Return val:return span_id:5035)
                                      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.Redir
                                      op: (Token id:Id.Redir_DGreat val:'>>' span_id:5049)
                                      fd: -1
                                      arg_word: 
                                        {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/Modules/getpath.c))}
                                    )
                                  ]
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:5057)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      ]
                      spids: [4992 5008]
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: patchsqlite
          body: 
            (command.BraceGroup
              children: [
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              children: [
                                (C {(grep)} 
                                  {
                                    (SQ 
                                      (Token
                                        id: Id.Lit_Chars
                                        val: '^#define MODULE_NAME '
                                        span_id: 5090
                                      )
                                    )
                                  } {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/Modules/_sqlite/util.h))}
                                )
                              ]
                              negated: T
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:5097)
                        )
                      ]
                      action: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-0777)} {(-e)} 
                              {
                                (SQ 
                                  (Token
                                    id: Id.Lit_Chars
                                    val: 
's@\\n#define PYSQLITE_UTIL_H\\n@\\n#define PYSQLITE_UTIL_H\\n#define MODULE_NAME "_sqlite3"  /* StaticPython */\\n@'
                                    span_id: 5112
                                  )
                                )
                              } {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/Modules/_sqlite/util.h))}
                            )
                            (command.ControlFlow
                              token: (Token id:Id.ControlFlow_Return val:return span_id:5122)
                              arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                      spids: [5083 5099]
                    )
                  ]
                )
                (command.ForEach
                  iter_name: F
                  iter_words: [
                    {(DQ ($ Id.VSub_DollarName '$BUILDDIR') (/Modules/_sqlite/)) (Id.Lit_Star '*') 
                      (.c)
                    }
                  ]
                  do_arg_iter: F
                  body: 
                    (command.DoGroup
                      children: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {(grep)} {(-q)} 
                                          {
                                            (SQ 
                                              (Token
                                                id: Id.Lit_Chars
                                                val: '^#include "util.h"'
                                                span_id: 5159
                                              )
                                            )
                                          } {(DQ ($ Id.VSub_DollarName '$F'))}
                                        )
                                      ]
                                      negated: T
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:5165)
                                )
                              ]
                              action: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-0777)} {(-e)} 
                                      {
                                        (SQ 
                                          (Token
                                            id: Id.Lit_Chars
                                            val: 's@\\A@#include "util.h"  /* StaticPython */\\n@'
                                            span_id: 5180
                                          )
                                        )
                                      } {(DQ ($ Id.VSub_DollarName '$F'))}
                                    )
                                    (command.ControlFlow
                                      token: (Token id:Id.ControlFlow_Return val:return span_id:5189)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                              spids: [5150 5167]
                            )
                          ]
                        )
                      ]
                    )
                )
              ]
            )
        )
        (command.ShFunction
          name: generate_loader_py
          body: 
            (command.BraceGroup
              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
                        token: (Token id:Id.VSub_Name val:PY_MODNAME span_id:5234)
                        suffix_op: 
                          (suffix_op.PatSub
                            pat: {(.)}
                            replace: {(Id.Lit_Slash /)}
                            replace_mode: Id.Lit_Slash
                          )
                      ) (.py)
                    )
                  }
                )
                (C {(Id.Lit_Other ':')} {(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.Redir
                          op: (Token id:Id.Redir_Great val:'>' span_id:5265)
                          fd: -1
                          arg_word: {(DQ ($ Id.VSub_DollarName '$PY_FILENAME'))}
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:5272)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: patch_and_copy_cext
          body: 
            (command.BraceGroup
              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
                        token: (Token id:Id.VSub_Name val:TARGET_C span_id:5309)
                        suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(.c)})
                      )
                    )
                  }
                )
                (C {(export)} 
                  {(Id.Lit_VarLike 'CEXT_MODNAME=') 
                    (DQ 
                      (braced_var_sub
                        token: (Token id:Id.VSub_Name val:CEXT_MODNAME span_id:5321)
                        suffix_op: 
                          (suffix_op.Unary
                            op_id: Id.VOp1_DPound
                            arg_word: {('*') (Id.Lit_Slash /)}
                          )
                      )
                    )
                  }
                )
                (C {(export)} 
                  {(Id.Lit_VarLike 'CEXT_MODNAME=') 
                    (DQ 
                      (braced_var_sub
                        token: (Token id:Id.VSub_Name val:CEXT_MODNAME span_id:5334)
                        suffix_op: 
                          (suffix_op.PatSub
                            pat: {(._)}
                            replace: {(_)}
                            replace_mode: Id.Lit_Slash
                          )
                      )
                    )
                  }
                )
                (C {(export)} 
                  {(Id.Lit_VarLike 'CEXT_MODNAME=') 
                    (DQ 
                      (braced_var_sub
                        token: (Token id:Id.VSub_Name val:CEXT_MODNAME span_id:5349)
                        suffix_op: 
                          (suffix_op.PatSub
                            pat: {(.)}
                            replace: {(_)}
                            replace_mode: Id.Lit_Slash
                          )
                      )
                    )
                  }
                )
                (C {(export)} 
                  {(Id.Lit_VarLike 'CEXT_MODNAME=') (_) 
                    (DQ 
                      (braced_var_sub
                        token: (Token id:Id.VSub_Name val:CEXT_MODNAME span_id:5365)
                        suffix_op: (suffix_op.Unary op_id:Id.VOp1_Pound arg_word:{(_)})
                      )
                    )
                  }
                )
                (C {(Id.Lit_Other ':')} {(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 (Token id:Id.Lit_Chars val:'\n' span_id:5414) 
                            (Token
                              id: Id.Lit_Chars
                              val: 
'    s@^(PyMODINIT_FUNC)\\s+\\w+\\(@$1 init$ENV{CEXT_MODNAME}(@mg;\n'
                              span_id: 5415
                            ) 
                            (Token
                              id: Id.Lit_Chars
                              val: 
'    s@( Py_InitModule\\d*)\\(\\s*"\\w[\\w.]*",@$1("$ENV{CEXT_MODNAME}",@g;\n'
                              span_id: 5416
                            ) (Token id:Id.Lit_Chars val:'    # Cython version of the one below.\n' span_id:5417) 
                            (Token
                              id: Id.Lit_Chars
                              val: 
'    s@( Py_InitModule\\d*\\(\\s*__Pyx_NAMESTR\\()"\\w[\\w.]*"\\),@$1"$ENV{CEXT_MODNAME}"),@g;\n'
                              span_id: 5418
                            ) (Token id:Id.Lit_Chars val:'    # For PyCrypto.\n' span_id:5419) 
                            (Token
                              id: Id.Lit_Chars
                              val: 
'    s@^[ \\t]*(#[ \\t]*define\\s+MODULE_NAME\\s+\\S+)@#define MODULE_NAME $ENV{CEXT_MODNAME}@mg;\n'
                              span_id: 5420
                            ) 
                            (Token
                              id: Id.Lit_Chars
                              val: 
'    s@^[ \\t]*(#[ \\t]*define\\s+MODULE_NAME\\s+\\S+.*triple DES.*)@#define MODULE_NAME _Crypto_Cipher_DES3@mg;\n'
                              span_id: 5421
                            ) (Token id:Id.Lit_Chars val:'  ' span_id:5422)
                          )
                        }
                      ]
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_Less val:'<' span_id:5397)
                          fd: -1
                          arg_word: {(DQ ($ Id.VSub_DollarName '$SOURCE_C'))}
                        )
                        (redir.Redir
                          op: (Token id:Id.Redir_Great val:'>' span_id:5402)
                          fd: -1
                          arg_word: {(DQ ($ Id.VSub_DollarName '$TARGET_C'))}
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:5427)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: enable_module
          body: 
            (command.BraceGroup
              children: [
                (C {(local)} {(Id.Lit_VarLike 'CEXT_MODNAME=') (DQ ($ Id.VSub_Number '$1'))})
                (C {(export)} {(CEXT_MODNAME)})
                (C {(Id.Lit_Other ':')} {(Enabling)} {(module) (Id.Lit_Other ':')} 
                  {(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: (Token id:Id.ControlFlow_Return val:return span_id:5482)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(perl)} {(-0777)} {(-pi)} {(-e)} 
                      {
                        (SQ 
                          (Token
                            id: Id.Lit_Chars
                            val: 's@^#$ENV{CEXT_MODNAME} @$ENV{CEXT_MODNAME} @mg'
                            span_id: 5498
                          )
                        )
                      } {(Modules/Setup)}
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:5505)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: patchssl
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$USE_SSL'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:5529)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:5544)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_ssl)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:5557)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_hashlib)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:5570)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:5581)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: patchsyncless
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:5605)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:5620)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:5642)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../syncless-0.25.tar.gz)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:5657)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mv)} {(syncless-0.25)} {(syncless.dir)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:5672)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/syncless)} {(Modules/syncless)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:5687)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:5704)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(generate_loader_py)} {(_syncless_coio)} {(syncless.coio)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:5719)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:5734)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:5761)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_syncless_coio)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:5774)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:5785)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: patchgevent
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:5809)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:5824)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:5846)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:5861)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mv)} {(gevent-0.13.6)} {(gevent.dir)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:5876)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/gevent)} {(Modules/gevent)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:5891)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:5908)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(rm)} {(-f)} {(gevent.dir/gevent/win32util.py)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:5923)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(generate_loader_py)} {(_gevent_core)} {(gevent.core)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:5938)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:5953)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Simple
                                  words: [{(cat)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:5962)
                                      fd: -1
                                      arg_word: {(Modules/gevent/libevent.h)}
                                    )
                                    (redir.HereDoc
                                      op: (Token id:Id.Redir_DLess val:'<<' span_id:5965)
                                      fd: -1
                                      here_begin: {(SQ (Token id:Id.Lit_Chars val:END span_id:5967))}
                                      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')
                                      ]
                                    )
                                  ]
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:5972)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_gevent_core)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6005)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:6016)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: patchgeventmysql
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:6040)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6055)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:6077)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(tar)} {(xjvf)} {(../geventmysql-20110201.tbz2)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6092)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mv)} {(gevent-MySQL)} {(geventmysql.dir)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6107)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/geventmysql)} {(Modules/geventmysql)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6122)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:6139)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(generate_loader_py)} {(_geventmysql_mysql)} {(geventmysql._mysql)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6154)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:6169)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_geventmysql_mysql)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6182)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:6193)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: run_pyrexc
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Simple
                      words: [
                        {(DQ ($ Id.VSub_DollarName '$PBUILDDIR')) (/minipython)}
                        {(-S)}
                        {(-W)}
                        {(ignore) (Id.Lit_Other ':') (Id.Lit_Other ':') (DeprecationWarning)}
                        {(-c)}
                        {(DQ ('from Pyrex.Compiler.Main import main; main(command_line=1)'))}
                        {(DQ ($ Id.VSub_At '$@'))}
                      ]
                      more_env: [
                        (env_pair
                          name: PYTHONPATH
                          val: 
                            {
                              (DQ ($ Id.VSub_DollarName '$PBUILDDIR') ('/Lib:') 
                                ($ Id.VSub_DollarName '$PWD') (/pyrex.dir)
                              )
                            }
                          spids: [6209]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:6243)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: run_mkzip
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(rm)} {(-f)} {(DQ ($ Id.VSub_Number '$1'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:6283)
                      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: (Token id:Id.ControlFlow_Return val:return span_id:6308)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: old_run_mkzip
          body: 
            (command.BraceGroup
              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 name:PYTHON)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$PBUILDDIR')) (/minipython)}
                          spids: [6347]
                        )
                      ]
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Simple
                      words: [
                        {(DQ ($ Id.VSub_DollarName '$PYTHON'))}
                        {(-S)}
                        {(-c)}
                        {
                          (SQ (Token id:Id.Lit_Chars val:'if 1:\n' span_id:6373) 
                            (Token
                              id: Id.Lit_Chars
                              val: '  import os\n'
                              span_id: 6374
                            ) (Token id:Id.Lit_Chars val:'  import os.path\n' span_id:6375) 
                            (Token
                              id: Id.Lit_Chars
                              val: '  import stat\n'
                              span_id: 6376
                            ) (Token id:Id.Lit_Chars val:'  import sys\n' span_id:6377) 
                            (Token
                              id: Id.Lit_Chars
                              val: '  import zipfile\n'
                              span_id: 6378
                            ) (Token id:Id.Lit_Chars val:'  def All(filename):\n' span_id:6379) 
                            (Token
                              id: Id.Lit_Chars
                              val: '    s = os.lstat(filename)\n'
                              span_id: 6380
                            ) (Token id:Id.Lit_Chars val:'    assert not stat.S_ISLNK(s.st_mode), filename\n' span_id:6381) 
                            (Token
                              id: Id.Lit_Chars
                              val: '    if stat.S_ISDIR(s.st_mode):\n'
                              span_id: 6382
                            ) (Token id:Id.Lit_Chars val:'      for entry in os.listdir(filename):\n' span_id:6383) 
                            (Token
                              id: Id.Lit_Chars
                              val: '        for filename2 in All(os.path.join(filename, entry)):\n'
                              span_id: 6384
                            ) (Token id:Id.Lit_Chars val:'          yield filename2\n' span_id:6385) 
                            (Token
                              id: Id.Lit_Chars
                              val: '    else:\n'
                              span_id: 6386
                            ) (Token id:Id.Lit_Chars val:'      yield filename\n' span_id:6387) 
                            (Token
                              id: Id.Lit_Chars
                              val: '  zip_filename = sys.argv[1]\n'
                              span_id: 6388
                            ) 
                            (Token
                              id: Id.Lit_Chars
                              val: '  zipfile.zlib.Z_DEFAULT_COMPRESSION = 9  # Maximum effort.\n'
                              span_id: 6389
                            ) 
                            (Token
                              id: Id.Lit_Chars
                              val: 
'  z = zipfile.ZipFile(zip_filename, "w", compression=zipfile.ZIP_DEFLATED)\n'
                              span_id: 6390
                            ) (Token id:Id.Lit_Chars val:'  for filename in sys.argv[2:]:\n' span_id:6391) 
                            (Token
                              id: Id.Lit_Chars
                              val: '    for filename2 in All(filename):\n'
                              span_id: 6392
                            ) (Token id:Id.Lit_Chars val:'      z.write(filename2)\n' span_id:6393) 
                            (Token
                              id: Id.Lit_Chars
                              val: '  z.close()'
                              span_id: 6394
                            )
                          )
                        }
                        {(DQ ($ Id.VSub_At '$@'))}
                      ]
                      more_env: [
                        (env_pair
                          name: PYTHONPATH
                          val: {(DQ ($ Id.VSub_DollarName '$PBUILDDIR') (/Lib))}
                          spids: [6358]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:6403)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: patchpythontokyocabinet
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$USE_TC'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:6427)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6442)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:6464)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(tar)} {(xjvf)} {(../python-tokyocabinet-20111221.tar.bz2)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6479)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mv)} {(python-tokyocabinet-20111221)} {(tokyocabinet.dir)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6494)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/tokyocabinet)} {(Modules/tokyocabinet)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6509)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Subshell
                                  command_list: 
                                    (command.CommandList
                                      children: [
                                        (command.AndOr
                                          ops: [Id.Op_DAmp]
                                          children: [
                                            (C {(cd)} {(tokyocabinet.dir/tokyocabinet)})
                                            (command.Simple
                                              words: [{($ Id.VSub_DollarName '$PATCH')} {(-p0)}]
                                              redirects: [
                                                (redir.Redir
                                                  op: (Token id:Id.Redir_Less val:'<' span_id:6531)
                                                  fd: -1
                                                  arg_word: {(../../../tokyocabinet_hash_c.patch)}
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6537)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:6558)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (C {(local)} {(M)})
                            (command.ForEach
                              iter_name: M
                              iter_words: [{(btree)} {(hash)} {(table)}]
                              do_arg_iter: F
                              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: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 6598
                                            )
                                          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: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 6615
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(enable_module)} 
                                          {(_tokyocabinet_) ($ Id.VSub_DollarName '$M')}
                                        )
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 6629
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                )
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:6643)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: patchpythonlmdb
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$USE_LMDB'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:6667)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6682)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:6704)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../lmdb-0.92.tar.gz)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6719)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mv)} {(lmdb-0.92)} {(lmdb.dir)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6734)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/lmdb)} {(Modules/lmdb)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6749)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.Simple
                              words: [
                                {(echo)}
                                {
                                  (SQ 
                                    (Token
                                      id: Id.Lit_Chars
                                      val: 'from _lmdb_cpython import *\n'
                                      span_id: 6759
                                    ) (Token id:Id.Lit_Chars val:'from _lmdb_cpython import open\n' span_id:6760) 
                                    (Token
                                      id: Id.Lit_Chars
                                      val: 'from _lmdb_cpython import __all__'
                                      span_id: 6761
                                    )
                                  )
                                }
                              ]
                              redirects: [
                                (redir.Redir
                                  op: (Token id:Id.Redir_Great val:'>' span_id:6764)
                                  fd: -1
                                  arg_word: {(Lib/lmdb/__init__.py)}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cp)} {(lmdb.dir/lmdb/tool.py)} {(Lib/lmdb/)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6776)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:6791)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:6806)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Id.Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      (Token
                                        id: Id.Lit_Chars
                                        val: 's@(pthread_mutexattr_setpshared\\()@0&&$1@g'
                                        span_id: 6825
                                      )
                                    )
                                  } {(Modules/lmdb/lmdb_mdb.c)}
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6832)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:6847)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_lmdb_cpython)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6864)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:6875)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: extractpyrex
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:6899)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6914)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:6936)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mv)} {(Pyrex-0.9.9)} {(pyrex.dir)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:6951)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:6962)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: patchmsgpack
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_XX'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:6989)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7004)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7026)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(tar)} {(xjvf)} {(../msgpack-python-20111221.tar.bz2)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7041)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mv)} {(msgpack-python-20111221)} {(msgpack.dir)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7056)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (C {(local)} 
                              {(Id.Lit_VarLike 'VERSION=') 
                                (command_sub
                                  left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:7066)
                                  command_list: 
                                    (command.CommandList
                                      children: [
                                        (C {(grep)} 
                                          {
                                            (SQ 
                                              (Token
                                                id: Id.Lit_Chars
                                                val: '^version = '
                                                span_id: 7070
                                              )
                                            )
                                          } {(msgpack.dir/setup.py)}
                                        )
                                      ]
                                    )
                                )
                              }
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(test)} {(DQ ($ Id.VSub_DollarName '$VERSION'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7085)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Subshell
                                  command_list: 
                                    (command.CommandList
                                      children: [
                                        (command.AndOr
                                          ops: [Id.Op_DAmp]
                                          children: [
                                            (C {(cd)} {(msgpack.dir/msgpack)})
                                            (command.Simple
                                              words: [{($ Id.VSub_DollarName '$PATCH')} {(-p0)}]
                                              redirects: [
                                                (redir.Redir
                                                  op: (Token id:Id.Redir_Less val:'<' span_id:7103)
                                                  fd: -1
                                                  arg_word: {(../../../msgpack_pyx.patch)}
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7109)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7124)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7137)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/msgpack)} {(Modules/msgpack)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7152)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Simple
                                  words: [{(echo)} {(DQ ($ Id.VSub_DollarName '$VERSION'))}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:7165)
                                      fd: -1
                                      arg_word: {(Lib/msgpack/__version__.py)}
                                    )
                                  ]
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7170)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7185)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7204)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(generate_loader_py)} {(_msgpack_msgpack)} {(msgpack._msgpack)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7219)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_msgpack_msgpack)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7232)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:7243)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: patchconcurrence
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:7270)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7285)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7307)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7322)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mv)} {(concurrence-0.3.1)} {(concurrence.dir)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7337)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/concurrence)} {(Modules/concurrence)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7352)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Pipeline
                                  children: [
                                    (command.Subshell
                                      command_list: 
                                        (command.CommandList
                                          children: [
                                            (command.AndOr
                                              ops: [Id.Op_DAmp]
                                              children: [
                                                (C {(cd)} {(concurrence.dir/lib)})
                                                (C {(tar)} {(c)} 
                                                  {
                                                    (command_sub
                                                      left_token: 
                                                        (Token
                                                          id: Id.Left_DollarParen
                                                          val: '$('
                                                          span_id: 7374
                                                        )
                                                      command_list: 
                                                        (command.CommandList
                                                          children: [
                                                            (C {(find)} {(concurrence)} {(-type)} {(f)} 
                                                              {(-iname)} {(SQ (Token id:Id.Lit_Chars val:'*.py' span_id:7386))}
                                                            )
                                                          ]
                                                        )
                                                    )
                                                  }
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                    )
                                    (command.Subshell
                                      command_list: 
                                        (command.CommandList
                                          children: [
                                            (command.AndOr
                                              ops: [Id.Op_DAmp]
                                              children: [(C {(cd)} {(Lib)}) (C {(tar)} {(x)})]
                                            )
                                          ]
                                        )
                                    )
                                  ]
                                  negated: F
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7408)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(generate_loader_py)} {(_concurrence_event)} {(concurrence._event)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7424)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.Simple
                              words: [{(cat)}]
                              redirects: [
                                (redir.Redir
                                  op: (Token id:Id.Redir_Great val:'>' span_id:7433)
                                  fd: -1
                                  arg_word: {(Modules/concurrence/event.h)}
                                )
                                (redir.HereDoc
                                  op: (Token id:Id.Redir_DLess val:'<<' span_id:7436)
                                  fd: -1
                                  here_begin: {(SQ (Token id:Id.Lit_Chars val:END span_id:7438))}
                                  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')
                                  ]
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(run_pyrexc)} 
                                  {(concurrence.dir/lib/concurrence/concurrence._event.pyx)}
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7453)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7468)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_concurrence_event)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7481)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7497)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7510)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7525)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7546)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_concurrence_io_io)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7559)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7575)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7592)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7607)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_concurrence_database_mysql_mysql)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7620)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:7632)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: patchpycrypto
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:7656)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7671)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7693)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../pycrypto-2.3.tar.gz)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7708)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mv)} {(pycrypto-2.3)} {(pycrypto.dir)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7723)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7740)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Pipeline
                                  children: [
                                    (command.Subshell
                                      command_list: 
                                        (command.CommandList
                                          children: [
                                            (command.AndOr
                                              ops: [Id.Op_DAmp]
                                              children: [
                                                (C {(cd)} {(pycrypto.dir/lib)})
                                                (C {(tar)} {(c)} 
                                                  {
                                                    (command_sub
                                                      left_token: 
                                                        (Token
                                                          id: Id.Left_DollarParen
                                                          val: '$('
                                                          span_id: 7762
                                                        )
                                                      command_list: 
                                                        (command.CommandList
                                                          children: [
                                                            (C {(find)} {(Crypto)} {(-type)} {(f)} 
                                                              {(-iname)} {(SQ (Token id:Id.Lit_Chars val:'*.py' span_id:7774))}
                                                            )
                                                          ]
                                                        )
                                                    )
                                                  }
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                    )
                                    (command.Subshell
                                      command_list: 
                                        (command.CommandList
                                          children: [
                                            (command.AndOr
                                              ops: [Id.Op_DAmp]
                                              children: [(C {(cd)} {(Lib)}) (C {(tar)} {(x)})]
                                            )
                                          ]
                                        )
                                    )
                                  ]
                                  negated: F
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:7796)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7814)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7855)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:7878)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (C {(local)} {(M)} {(CEXT_MODNAME)})
                            (command.ForEach
                              iter_name: M
                              iter_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)}
                              ]
                              do_arg_iter: F
                              body: 
                                (command.DoGroup
                                  children: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:CEXT_MODNAME)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (braced_var_sub
                                                  token: (Token id:Id.VSub_Name val:M span_id:7945)
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op_id: Id.VOp1_DPound
                                                      arg_word: {('*') (Id.Lit_Slash /)}
                                                    )
                                                )
                                              )
                                            }
                                          spids: [7942]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:CEXT_MODNAME)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (braced_var_sub
                                                  token: 
                                                    (Token
                                                      id: Id.VSub_Name
                                                      val: CEXT_MODNAME
                                                      span_id: 7956
                                                    )
                                                  suffix_op: 
                                                    (suffix_op.PatSub
                                                      pat: {(._)}
                                                      replace: {(_)}
                                                      replace_mode: Id.Lit_Slash
                                                    )
                                                )
                                              )
                                            }
                                          spids: [7953]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:CEXT_MODNAME)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (braced_var_sub
                                                  token: 
                                                    (Token
                                                      id: Id.VSub_Name
                                                      val: CEXT_MODNAME
                                                      span_id: 7969
                                                    )
                                                  suffix_op: 
                                                    (suffix_op.PatSub
                                                      pat: {(.)}
                                                      replace: {(_)}
                                                      replace_mode: Id.Lit_Slash
                                                    )
                                                )
                                              )
                                            }
                                          spids: [7966]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:CEXT_MODNAME)
                                          op: assign_op.Equal
                                          rhs: 
                                            {(_) 
                                              (DQ 
                                                (braced_var_sub
                                                  token: 
                                                    (Token
                                                      id: Id.VSub_Name
                                                      val: CEXT_MODNAME
                                                      span_id: 7983
                                                    )
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op_id: Id.VOp1_Pound
                                                      arg_word: {(_)}
                                                    )
                                                )
                                              )
                                            }
                                          spids: [7979]
                                        )
                                      ]
                                    )
                                    (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: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 8002
                                            )
                                          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
                                                token: (Token id:Id.VSub_Name val:M span_id:8014)
                                                suffix_op: 
                                                  (suffix_op.Unary
                                                    op_id: Id.VOp1_DPound
                                                    arg_word: {('*.')}
                                                  )
                                              ) (.c)
                                            )
                                          } {(Modules/pycrypto/) (DQ ($ Id.VSub_DollarName '$CEXT_MODNAME')) (.c)}
                                        )
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 8029
                                            )
                                          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: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 8044
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                )
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(perl)} {(-0777)} {(-pi)} {(-e)} 
                                  {
                                    (SQ 
                                      (Token
                                        id: Id.Lit_Chars
                                        val: 
's@ Py_InitModule\\("Crypto[.]\\w+[.]"@ Py_InitModule(""@g'
                                        span_id: 8064
                                      )
                                    )
                                  } {(Modules/pycrypto/hash_template.c)} {(Modules/pycrypto/stream_template.c)} 
                                  {(Modules/pycrypto/block_template.c)}
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:8081)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:8093)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: patchaloaes
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:8117)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:8132)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:8154)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:8169)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mv)} {(alo-aes-0.3)} {(aloaes.dir)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:8184)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/aes)} {(Modules/aloaes)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:8199)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:8216)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(generate_loader_py)} {(_aes_aes)} {(aes._aes)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:8231)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:8246)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:8267)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_aes_aes)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:8280)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:8291)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: patchlocale
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:8321)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} 
                                          {(Id.Lit_Equals '=')} {(Darwin)}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:8339)
                                    )
                                  ]
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (command.Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_PY3'))})
                                              terminator: (Token id:Id.Op_Semi val:';' span_id:8359)
                                            )
                                          ]
                                          action: [
                                            (command.AndOr
                                              ops: [Id.Op_DPipe]
                                              children: [
                                                (command.Subshell
                                                  command_list: 
                                                    (command.CommandList
                                                      children: [
                                                        (command.AndOr
                                                          ops: [Id.Op_DAmp]
                                                          children: [
                                                            (C {(cd)} {(Lib)})
                                                            (command.Simple
                                                              words: [
                                                                {($ Id.VSub_DollarName '$PATCH')}
                                                                {(-p1)}
                                                              ]
                                                              redirects: [
                                                                (redir.Redir
                                                                  op: 
                                                                    (Token
                                                                      id: Id.Redir_Less
                                                                      val: '<'
                                                                      span_id: 8375
                                                                    )
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {(../../locale.darwin.3.2.patch)}
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                        )
                                                      ]
                                                    )
                                                )
                                                (command.ControlFlow
                                                  token: 
                                                    (Token
                                                      id: Id.ControlFlow_Return
                                                      val: return
                                                      span_id: 8381
                                                    )
                                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [8352 8361]
                                        )
                                      ]
                                      else_action: [
                                        (command.AndOr
                                          ops: [Id.Op_DPipe]
                                          children: [
                                            (command.Subshell
                                              command_list: 
                                                (command.CommandList
                                                  children: [
                                                    (command.AndOr
                                                      ops: [Id.Op_DAmp]
                                                      children: [
                                                        (C {(cd)} {(Lib)})
                                                        (command.Simple
                                                          words: [
                                                            {($ Id.VSub_DollarName '$PATCH')}
                                                            {(-p1)}
                                                          ]
                                                          redirects: [
                                                            (redir.Redir
                                                              op: 
                                                                (Token
                                                                  id: Id.Redir_Less
                                                                  val: '<'
                                                                  span_id: 8406
                                                                )
                                                              fd: -1
                                                              arg_word: 
                                                                {(../../locale.darwin.2.7.patch)}
                                                            )
                                                          ]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                )
                                            )
                                            (command.ControlFlow
                                              token: 
                                                (Token
                                                  id: Id.ControlFlow_Return
                                                  val: return
                                                  span_id: 8412
                                                )
                                              arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [8328 8341]
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:8429)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: makeminipython
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:8453)
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:8468)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} 
                                          {(Id.Lit_Equals '=')} {(Darwin)}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:8490)
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(make)} {(python.exe)})
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 8501
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(mv)} {(-f)} {(python.exe)} {(minipython)})
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 8518
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [8479 8492]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(make)} {(python)})
                                    (command.ControlFlow
                                      token: (Token id:Id.ControlFlow_Return val:return span_id:8534)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(mv)} {(-f)} {(python)} {(minipython)})
                                    (command.ControlFlow
                                      token: (Token id:Id.ControlFlow_Return val:return span_id:8551)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {($ Id.VSub_DollarName '$STRIP')} {(minipython)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:8567)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:8578)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: makepython
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:8604)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} 
                                          {(Id.Lit_Equals '=')} {(Darwin)}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:8622)
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(make)} {(python.exe)})
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 8633
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [8611 8624]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(make)} {(python)})
                                    (command.ControlFlow
                                      token: (Token id:Id.ControlFlow_Return val:return span_id:8649)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(rm)} {(-f)} {(python.exe)})
                                    (command.ControlFlow
                                      token: (Token id:Id.ControlFlow_Return val:return span_id:8664)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(ln)} {(-s)} {(python)} {(python.exe)})
                                    (command.ControlFlow
                                      token: (Token id:Id.ControlFlow_Return val:return span_id:8681)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:8695)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: buildpythonlibzip
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Subshell
                      command_list: 
                        (command.CommandList
                          children: [
                            (C {(Id.KW_Set set)} {(-ex)})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:IFS)
                                  op: assign_op.Equal
                                  rhs: {(SQ (Token id:Id.Lit_Chars val:'\n' span_id:8724))}
                                  spids: [8722]
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR'))})
                                (command.Subshell
                                  command_list: 
                                    (command.CommandList
                                      children: [
                                        (command.AndOr
                                          ops: [Id.Op_DAmp]
                                          children: [
                                            (C {(test)} {(-f)} {(xlib.zip)})
                                            (C {(mv)} {(xlib.zip)} {(xlib.zip.old)})
                                          ]
                                        )
                                      ]
                                    )
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:8755)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(xlib)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:8770)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cp)} {(-R)} {(Lib)} {(xlib)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:8795)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(rm)} {(-f)} 
                                  {
                                    (command_sub
                                      left_token: 
                                        (Token
                                          id: Id.Left_DollarParen
                                          val: '$('
                                          span_id: 8806
                                        )
                                      command_list: 
                                        (command.CommandList
                                          children: [
                                            (C {(find)} {(xlib)} {(-iname)} 
                                              {(SQ (Token id:Id.Lit_Chars val:'*.pyc' span_id:8814))}
                                            )
                                          ]
                                        )
                                    )
                                  }
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:8820)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:8926)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} 
                                          {(Id.Lit_Equals '=')} {(Darwin)}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:8944)
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(rm)} {(-rf)} {(xlib/plat-linux2)})
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 8957
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [8933 8946]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(rm)} {(-rf)} {(xlib/plat-darwin)})
                                    (command.ControlFlow
                                      token: (Token id:Id.ControlFlow_Return val:return span_id:8975)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {(test)} {(DQ ($ Id.VSub_DollarName '$IS_PY3'))})
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:8992)
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {(cp)} {(../site.3.2.py)} {(xlib/site.py)})
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 9005
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (command.Subshell
                                          command_list: 
                                            (command.CommandList
                                              children: [
                                                (command.AndOr
                                                  ops: [Id.Op_DAmp]
                                                  children: [
                                                    (C {(cd)} {(xlib)})
                                                    (command.Simple
                                                      words: [{($ Id.VSub_DollarName '$PATCH')} {(-p1)}]
                                                      redirects: [
                                                        (redir.Redir
                                                          op: 
                                                            (Token
                                                              id: Id.Redir_Less
                                                              val: '<'
                                                              span_id: 9031
                                                            )
                                                          fd: -1
                                                          arg_word: 
                                                            {
                                                              (
../../encodings_idna_missing_unicodedata.3.2.patch
                                                              )
                                                            }
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                )
                                              ]
                                            )
                                        )
                                        (command.ControlFlow
                                          token: 
                                            (Token
                                              id: Id.ControlFlow_Return
                                              val: return
                                              span_id: 9037
                                            )
                                          arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [8985 8994]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Id.Op_DPipe]
                                  children: [
                                    (C {(cp)} {(../site.2.7.py)} {(xlib/site.py)})
                                    (command.ControlFlow
                                      token: (Token id:Id.ControlFlow_Return val:return span_id:9055)
                                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(cd)} {(xlib)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:9071)
                                  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: (Token id:Id.ControlFlow_Return val:return span_id:9092)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(rm)} {(-f)} {(../xlib.zip)})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:9107)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(run_mkzip)} {(../xlib.zip)} {(Id.Lit_Star '*')})
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:9122)
                                  arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:9133)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: do_elfosfix
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(perl)} 
                      {(-e) 
                        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:9159) 
                          (Token
                            id: Id.Lit_Chars
                            val: 'use integer;\n'
                            span_id: 9160
                          ) (Token id:Id.Lit_Chars val:'use strict;\n' span_id:9161) (Token id:Id.Lit_Chars val:'\n' span_id:9162) 
                          (Token
                            id: Id.Lit_Chars
                            val: 
'#** ELF operating system codes from FreeBSDs /usr/share/misc/magic\n'
                            span_id: 9163
                          ) (Token id:Id.Lit_Chars val:'my %ELF_os_codes=qw{\n' span_id:9164) 
                          (Token
                            id: Id.Lit_Chars
                            val: 'SYSV 0\n'
                            span_id: 9165
                          ) (Token id:Id.Lit_Chars val:'HP-UX 1\n' span_id:9166) 
                          (Token
                            id: Id.Lit_Chars
                            val: 'NetBSD 2\n'
                            span_id: 9167
                          ) (Token id:Id.Lit_Chars val:'GNU/Linux 3\n' span_id:9168) 
                          (Token
                            id: Id.Lit_Chars
                            val: 'GNU/Hurd 4\n'
                            span_id: 9169
                          ) (Token id:Id.Lit_Chars val:'86Open 5\n' span_id:9170) 
                          (Token
                            id: Id.Lit_Chars
                            val: 'Solaris 6\n'
                            span_id: 9171
                          ) (Token id:Id.Lit_Chars val:'Monterey 7\n' span_id:9172) 
                          (Token
                            id: Id.Lit_Chars
                            val: 'IRIX 8\n'
                            span_id: 9173
                          ) (Token id:Id.Lit_Chars val:'FreeBSD 9\n' span_id:9174) 
                          (Token
                            id: Id.Lit_Chars
                            val: 'Tru64 10\n'
                            span_id: 9175
                          ) (Token id:Id.Lit_Chars val:'Novell 11\n' span_id:9176) 
                          (Token
                            id: Id.Lit_Chars
                            val: 'OpenBSD 12\n'
                            span_id: 9177
                          ) (Token id:Id.Lit_Chars val:'ARM 97\n' span_id:9178) 
                          (Token
                            id: Id.Lit_Chars
                            val: 'embedded 255\n'
                            span_id: 9179
                          ) (Token id:Id.Lit_Chars val:'};\n' span_id:9180) 
                          (Token
                            id: Id.Lit_Chars
                            val: 'my $from_oscode=$ELF_os_codes{"SYSV"};\n'
                            span_id: 9181
                          ) (Token id:Id.Lit_Chars val:'my $to_oscode=$ELF_os_codes{"GNU/Linux"};\n' span_id:9182) 
                          (Token id:Id.Lit_Chars val:'\n' span_id:9183) (Token id:Id.Lit_Chars val:'for my $fn (@ARGV) {\n' span_id:9184) 
                          (Token
                            id: Id.Lit_Chars
                            val: '  my $f;\n'
                            span_id: 9185
                          ) (Token id:Id.Lit_Chars val:'  if (!open $f, "+<", $fn) {\n' span_id:9186) 
                          (Token
                            id: Id.Lit_Chars
                            val: '    print STDERR "$0: $fn: $!\\n";\n'
                            span_id: 9187
                          ) (Token id:Id.Lit_Chars val:'    exit 2  # next\n' span_id:9188) 
                          (Token id:Id.Lit_Chars val:'  }\n' span_id:9189) (Token id:Id.Lit_Chars val:'  my $head;\n' span_id:9190) 
                          (Token
                            id: Id.Lit_Chars
                            val: '  # vvv Imp: continue on next file instead of die()ing\n'
                            span_id: 9191
                          ) (Token id:Id.Lit_Chars val:'  die if 8!=sysread($f,$head,8);\n' span_id:9192) 
                          (Token
                            id: Id.Lit_Chars
                            val: '  if (substr($head,0,4)ne"\\177ELF") {\n'
                            span_id: 9193
                          ) (Token id:Id.Lit_Chars val:'    print STDERR "$0: $fn: not an ELF file\\n";\n' span_id:9194) 
                          (Token
                            id: Id.Lit_Chars
                            val: '    close($f); next;\n'
                            span_id: 9195
                          ) (Token id:Id.Lit_Chars val:'  }\n' span_id:9196) 
                          (Token
                            id: Id.Lit_Chars
                            val: '  if (vec($head,7,8)==$to_oscode) {\n'
                            span_id: 9197
                          ) (Token id:Id.Lit_Chars val:'    print STDERR "$0: info: $fn: already fixed\\n";\n' span_id:9198) 
                          (Token id:Id.Lit_Chars val:'  }\n' span_id:9199) 
                          (Token
                            id: Id.Lit_Chars
                            val: 
'  if ($from_oscode!=$to_oscode && vec($head,7,8)==$from_oscode) {\n'
                            span_id: 9200
                          ) (Token id:Id.Lit_Chars val:'    vec($head,7,8)=$to_oscode;\n' span_id:9201) 
                          (Token
                            id: Id.Lit_Chars
                            val: '    die if 0!=sysseek($f,0,0);\n'
                            span_id: 9202
                          ) (Token id:Id.Lit_Chars val:'    die if length($head)!=syswrite($f,$head);\n' span_id:9203) 
                          (Token id:Id.Lit_Chars val:'  }\n' span_id:9204) (Token id:Id.Lit_Chars val:'  die "file error\\n" if !close($f);\n' span_id:9205) 
                          (Token id:Id.Lit_Chars val:'}' span_id:9206)
                        )
                      } {(--)} {(DQ ($ Id.VSub_At '$@'))}
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:9217)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: buildtarget
          body: 
            (command.BraceGroup
              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: (Token id:Id.ControlFlow_Return val:return span_id:9248)
                      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: (Token id:Id.ControlFlow_Return val:return span_id:9265)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ Id.VSub_DollarName '$UNAME'))} {(Id.Lit_Equals '=')} 
                              {(Linux)}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:9283)
                        )
                      ]
                      action: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {(do_elfosfix)} 
                              {
                                (DQ ($ Id.VSub_DollarName '$BUILDDIR') (/) 
                                  ($ Id.VSub_DollarName '$TARGET')
                                )
                              }
                            )
                            (command.ControlFlow
                              token: (Token id:Id.ControlFlow_Return val:return span_id:9298)
                              arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                      spids: [9272 9285]
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Simple
                      words: [{(cat)} {(DQ ($ Id.VSub_DollarName '$BUILDDIR')) (/xlib.zip)}]
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_DGreat val:'>>' span_id:9315)
                          fd: -1
                          arg_word: 
                            {
                              (DQ ($ Id.VSub_DollarName '$BUILDDIR') (/) 
                                ($ Id.VSub_DollarName '$TARGET')
                              )
                            }
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:9324)
                      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: (Token id:Id.ControlFlow_Return val:return span_id:9345)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(ls)} {(-l)} {(DQ ($ Id.VSub_DollarName '$TARGET'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:9362)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: betry
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(mkdir)} {(-p)} {(bch)} {(be/bardir)})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:9392)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Simple
                      words: [{(echo)} {(DQ ("print 'FOO'"))}]
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_Great val:'>' span_id:9405)
                          fd: -1
                          arg_word: {(be/foo.py)}
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:9410)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (command.Simple
                      words: [{(echo)} {(DQ ("print 'BAR'"))}]
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_Great val:'>' span_id:9423)
                          fd: -1
                          arg_word: {(be/bardir/bar.py)}
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:9428)
                      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: (Token id:Id.ControlFlow_Return val:return span_id:9445)
                      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: (Token id:Id.ControlFlow_Return val:return span_id:9462)
                      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
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [(C {(cd)} {(be)}) (C {(./sp)})]
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Return val:return span_id:9496)
                      arg_word: {(DQ ($ Id.VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
            )
        )
        (command.ShFunction
          name: fail_step
          body: 
            (command.BraceGroup
              children: [
                (C {(Id.KW_Set 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
                        token: (Token id:Id.VSub_Name val:TARGET span_id:9535)
                        suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(-static)})
                      ) (' ') ($ Id.VSub_Number '$2') (' ') ($ Id.VSub_Number '$3')
                    )
                  }
                )
                (command.ControlFlow
                  token: (Token id:Id.ControlFlow_Exit val:exit span_id:9546)
                  arg_word: {(DQ ($ Id.VSub_Number '$1'))}
                )
              ]
            )
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:XSTEPS)
              op: assign_op.Equal
              rhs: 
                {
                  (DQ 
                    (command_sub
                      left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:9557)
                      command_list: 
                        (command.CommandList
                          children: [(C {(echo)} {($ Id.VSub_DollarName '$STEPS')})]
                        )
                    ) (' ')
                  )
                }
              spids: [9555]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:XSTEPS0)
              op: assign_op.Equal
              rhs: {(DQ ($ Id.VSub_DollarName '$XSTEPS'))}
              spids: [9568]
            )
          ]
        )
        (command.ForEach
          iter_name: STEP
          iter_words: [{($ Id.VSub_DollarName '$XSTEPS')}]
          do_arg_iter: F
          body: 
            (command.DoGroup
              children: [
                (C {(echo)} {(DQ ('Running step: ') ($ Id.VSub_DollarName '$STEP'))})
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:XSTEPS)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (DQ 
                            (braced_var_sub
                              token: (Token id:Id.VSub_Name val:XSTEPS span_id:9597)
                              suffix_op: (suffix_op.Unary op_id:Id.VOp1_Pound arg_word:{('* ')})
                            )
                          )
                        }
                      spids: [9594]
                    )
                  ]
                )
                (C {(echo)} {(DQ ('Steps remaining: ') ($ Id.VSub_DollarName '$XSTEPS'))})
                (C {(Id.KW_Set set)} {(-x)})
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              children: [(C {($ Id.VSub_DollarName '$STEP')})]
                              negated: T
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:9630)
                        )
                      ]
                      action: [
                        (C {(Id.KW_Set set)} {(Id.Lit_Other '+') (x)})
                        (C {(fail_step)} {(DQ ($ Id.VSub_QMark '$?'))} 
                          {(DQ ($ Id.VSub_DollarName '$STEP'))} {(DQ ($ Id.VSub_DollarName '$XSTEPS'))}
                        )
                      ]
                      spids: [9625 9632]
                    )
                  ]
                )
                (C {(Id.KW_Set set)} {(Id.Lit_Other '+') (x)})
              ]
            )
        )
        (C {(echo)} 
          {
            (DQ ('OK running ') ($ Id.VSub_Number '$0') (' ') 
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:TARGET span_id:9673)
                suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(-static)})
              ) (' ') ($ Id.VSub_DollarName '$XSTEPS0')
            )
          }
        )
        (command.ControlFlow
          token: (Token id:Id.ControlFlow_Exit val:exit span_id:9682)
          arg_word: {(0)}
        )
      ]
      spids: [133 138]
    )
  ]
)