(command.If
  arms: [
    (if_arm
      cond: [(command.Sentence child:(C {(true)}) terminator:<Op_Semi ';'>)]
      action: [
        (command.AndOr
          ops: [Op_DAmp]
          children: [
            (C {(test)} 
              {
                (DQ 
                  (word_part.BracedVarSub
                    token: <VSub_Number 0>
                    suffix_op: 
                      (suffix_op.StringUnary
                        op_id: VOp1_Percent
                        arg_word: {(Lit_Slash /) ('*')}
                      )
                    spids: [147 152]
                  )
                )
              } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Number '$0'))}
            )
            (C {(cd)} 
              {
                (DQ 
                  (word_part.BracedVarSub
                    token: <VSub_Number 0>
                    suffix_op: 
                      (suffix_op.StringUnary
                        op_id: VOp1_Percent
                        arg_word: {(Lit_Slash /) ('*')}
                      )
                    spids: [167 172]
                  )
                )
              }
            )
          ]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:UNAME spids:[176])
              op: Equal
              rhs: 
                {
                  (word_part.CommandSubPart
                    command_list: 
                      (command.CommandList
                        children: [
                          (command.AndOr
                            ops: [Op_DPipe Op_DPipe]
                            children: [
                              (command.SimpleCommand
                                words: [{(./busybox)} {(uname)}]
                                redirects: [
                                  (redir.Redir
                                    op: <Redir_Great '2>'>
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                  )
                                ]
                              )
                              (C {(uname)})
                              (C {(true)})
                            ]
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [177 192]
                  )
                }
              spids: [176]
            )
          ]
          spids: [176]
        )
        (C {(unset)} {(PYTHONPATH)} {(PYTHONSTARTUP)} {(PYTHONHOME)} {(PYTHONCASEOK)} {(PYTHONIOENCODING)})
        (command.If
          arms: [
            (if_arm
              cond: [
                (command.Sentence
                  child: 
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {(DQ ($ VSub_DollarName '$NO_BUSYBOX'))})
                        (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} {(Lit_Other '=')} {(Darwin)})
                      ]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:BUSYBOX spids:[238])
                      op: Equal
                      rhs: (word.EmptyWord)
                      spids: [238]
                    )
                  ]
                  spids: [238]
                )
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:PATCH spids:[241])
                      op: Equal
                      rhs: {(SQ <'patch -t'>)}
                      spids: [241]
                    )
                  ]
                  spids: [241]
                )
              ]
              spids: [16777215 232]
            )
            (if_arm
              cond: [
                (command.Sentence
                  child: 
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {(DQ ($ VSub_DollarName '$BASH_VERSION'))})
                        (C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$STATICPYTHON_IN_BUSYBOX'))})
                      ]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(unset)} {(BASH_VERSION)})
                (C {(export)} {(Lit_VarLike 'STATICPYTHON_IN_BUSYBOX=') (1)})
                (C {(exec)} {(./busybox)} {(sh)} {(--)} {(DQ ($ VSub_Number '$0'))} {(DQ ($ VSub_At '$@'))})
              ]
              spids: [249 268]
            )
          ]
          else_action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:BUSYBOX spids:[301])
                  op: Equal
                  rhs: {(./busybox)}
                  spids: [301]
                )
              ]
              spids: [301]
            )
            (C {(export)} {(Lit_VarLike 'PATH=') (/dev/null)})
            (C {(set)} {(-e)})
            (command.AndOr
              ops: [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 ($ VSub_DollarName '$F'))})
                    (C {(./busybox)} {(ln)} {(-s)} {(../busybox)} 
                      {(busybox.bin/) (DQ ($ VSub_DollarName '$F'))}
                    )
                  ]
                  spids: [407 436]
                )
              spids: [343 405]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:PATCH spids:[439])
                  op: Equal
                  rhs: {(patch)}
                  spids: [439]
                )
              ]
              spids: [439]
            )
            (command.Sentence
              child: (C {(./busybox)} {(rm)} {(-f)} {(busybox.bin/make)})
              terminator: <Op_Semi ';'>
            )
            (C {(./busybox)} {(ln)} {(-s)} {(../make)} {(busybox.bin/make)})
            (command.Sentence
              child: (C {(./busybox)} {(rm)} {(-f)} {(busybox.bin/perl)})
              terminator: <Op_Semi ';'>
            )
            (C {(./busybox)} {(ln)} {(-s)} {(../perl)} {(busybox.bin/perl)})
            (C {(export)} {(Lit_VarLike 'PATH=') (DQ ($ VSub_DollarName '$PWD') (/busybox.bin))})
            (C {(export)} {(Lit_VarLike 'SHELL=') (DQ ($ VSub_DollarName '$PWD') (/busybox.bin/sh))})
          ]
          spids: [298 503]
        )
        (C {(set)} {(-e)})
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:INSTS_BASE spids:[518])
              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]
            )
          ]
          spids: [518]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:STEPS spids:[524])
              op: Equal
              rhs: (word.EmptyWord)
              spids: [524]
            )
          ]
          spids: [524]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:USE_SSL spids:[526])
              op: Equal
              rhs: (word.EmptyWord)
              spids: [526]
            )
          ]
          spids: [526]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:USE_TC spids:[528])
              op: Equal
              rhs: (word.EmptyWord)
              spids: [528]
            )
          ]
          spids: [528]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:USE_LMDB spids:[530])
              op: Equal
              rhs: (word.EmptyWord)
              spids: [530]
            )
          ]
          spids: [530]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:TARGET spids:[532])
              op: Equal
              rhs: {(python2.7-static)}
              spids: [532]
            )
          ]
          spids: [532]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:PYTHONTBZ2 spids:[535])
              op: Equal
              rhs: {(Python-2.7.12.tar.xz)}
              spids: [535]
            )
          ]
          spids: [535]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:IS_CO spids:[538])
              op: Equal
              rhs: (word.EmptyWord)
              spids: [538]
            )
          ]
          spids: [538]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:IS_PY3 spids:[540])
              op: Equal
              rhs: (word.EmptyWord)
              spids: [540]
            )
          ]
          spids: [540]
        )
        (command.ForEach
          iter_name: ARG
          iter_words: [{(DQ ($ VSub_At '$@'))}]
          do_arg_iter: F
          body: 
            (command.DoGroup
              children: [
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:ARG spids:[557])
                      op: Equal
                      rhs: 
                        {
                          (DQ 
                            (word_part.BracedVarSub
                              token: <VSub_Name ARG>
                              suffix_op: 
                                (suffix_op.StringUnary
                                  op_id: VOp1_Percent
                                  arg_word: {(-static)}
                                )
                              spids: [559 563]
                            )
                          )
                        }
                      spids: [557]
                    )
                  ]
                  spids: [557]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(test)} {(DQ ($ VSub_DollarName '$ARG'))} {(Lit_Other '=')} 
                                  {(stackless)}
                                )
                                (C {(test)} {(DQ ($ VSub_DollarName '$ARG'))} {(Lit_Other '=')} 
                                  {(stackless2.7)}
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:TARGET spids:[598])
                              op: Equal
                              rhs: {(stackless2.7-static)}
                              spids: [598]
                            )
                          ]
                          spids: [598]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:PYTHONTBZ2 spids:[602])
                              op: Equal
                              rhs: {(stackless-2712-export.tar.xz)}
                              spids: [602]
                            )
                          ]
                          spids: [602]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_CO spids:[606])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [606]
                            )
                          ]
                          spids: [606]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_XX spids:[609])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [609]
                            )
                          ]
                          spids: [609]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_PY3 spids:[612])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [612]
                            )
                          ]
                          spids: [612]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:USE_SSL spids:[615])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [615]
                            )
                          ]
                          spids: [615]
                        )
                      ]
                      spids: [16777215 595]
                    )
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(test)} {(DQ ($ VSub_DollarName '$ARG'))} {(Lit_Other '=')} 
                                  {(stacklessco)}
                                )
                                (C {(test)} {(DQ ($ VSub_DollarName '$ARG'))} {(Lit_Other '=')} 
                                  {(stacklessco2.7)}
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:TARGET spids:[646])
                              op: Equal
                              rhs: {(stacklessco2.7-static)}
                              spids: [646]
                            )
                          ]
                          spids: [646]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:PYTHONTBZ2 spids:[650])
                              op: Equal
                              rhs: {(stackless-2712-export.tar.xz)}
                              spids: [650]
                            )
                          ]
                          spids: [650]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_CO spids:[654])
                              op: Equal
                              rhs: {(1)}
                              spids: [654]
                            )
                          ]
                          spids: [654]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_XX spids:[658])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [658]
                            )
                          ]
                          spids: [658]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:ISP_PY3 spids:[661])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [661]
                            )
                          ]
                          spids: [661]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:USE_SSL spids:[664])
                              op: Equal
                              rhs: {(1)}
                              spids: [664]
                            )
                          ]
                          spids: [664]
                        )
                      ]
                      spids: [618 643]
                    )
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(test)} {(DQ ($ VSub_DollarName '$ARG'))} {(Lit_Other '=')} 
                                  {(stacklessxx)}
                                )
                                (C {(test)} {(DQ ($ VSub_DollarName '$ARG'))} {(Lit_Other '=')} 
                                  {(stacklessxx2.7)}
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:TARGET spids:[696])
                              op: Equal
                              rhs: {(stacklessxx2.7-static)}
                              spids: [696]
                            )
                          ]
                          spids: [696]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:PYTHONTBZ2 spids:[700])
                              op: Equal
                              rhs: {(stackless-2712-export.tar.xz)}
                              spids: [700]
                            )
                          ]
                          spids: [700]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_CO spids:[704])
                              op: Equal
                              rhs: {(1)}
                              spids: [704]
                            )
                          ]
                          spids: [704]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_XX spids:[708])
                              op: Equal
                              rhs: {(1)}
                              spids: [708]
                            )
                          ]
                          spids: [708]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:ISP_PY3 spids:[715])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [715]
                            )
                          ]
                          spids: [715]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:USE_SSL spids:[718])
                              op: Equal
                              rhs: {(1)}
                              spids: [718]
                            )
                          ]
                          spids: [718]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:USE_TC spids:[722])
                              op: Equal
                              rhs: {(1)}
                              spids: [722]
                            )
                          ]
                          spids: [722]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:USE_LMDB spids:[726])
                              op: Equal
                              rhs: {(1)}
                              spids: [726]
                            )
                          ]
                          spids: [726]
                        )
                      ]
                      spids: [668 693]
                    )
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(test)} {(DQ ($ VSub_DollarName '$ARG'))} {(Lit_Other '=')} 
                                  {(python)}
                                )
                                (C {(test)} {(DQ ($ VSub_DollarName '$ARG'))} {(Lit_Other '=')} 
                                  {(python2.7)}
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:TARGET spids:[758])
                              op: Equal
                              rhs: {(python2.7-static)}
                              spids: [758]
                            )
                          ]
                          spids: [758]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:PYTHONTBZ2 spids:[762])
                              op: Equal
                              rhs: {(Python-2.7.12.tar.xz)}
                              spids: [762]
                            )
                          ]
                          spids: [762]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_CO spids:[766])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [766]
                            )
                          ]
                          spids: [766]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_XX spids:[769])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [769]
                            )
                          ]
                          spids: [769]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_PY3 spids:[772])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [772]
                            )
                          ]
                          spids: [772]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:USE_SSL spids:[775])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [775]
                            )
                          ]
                          spids: [775]
                        )
                      ]
                      spids: [730 755]
                    )
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ VSub_DollarName '$ARG'))} {(Lit_Other '=')} {(python3.2)})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:TARGET spids:[794])
                              op: Equal
                              rhs: {(python3.2-static)}
                              spids: [794]
                            )
                          ]
                          spids: [794]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:PYTHONTBZ2 spids:[798])
                              op: Equal
                              rhs: {(Python-3.2.tar.bz2)}
                              spids: [798]
                            )
                          ]
                          spids: [798]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_CO spids:[802])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [802]
                            )
                          ]
                          spids: [802]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_XX spids:[805])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [805]
                            )
                          ]
                          spids: [805]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_PY3 spids:[808])
                              op: Equal
                              rhs: {(1)}
                              spids: [808]
                            )
                          ]
                          spids: [808]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:USE_SSL spids:[812])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [812]
                            )
                          ]
                          spids: [812]
                        )
                      ]
                      spids: [778 791]
                    )
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ VSub_DollarName '$ARG'))} {(Lit_Other '=')} 
                              {(stackless3.2)}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:TARGET spids:[831])
                              op: Equal
                              rhs: {(stackless3.2-static)}
                              spids: [831]
                            )
                          ]
                          spids: [831]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:PYTHONTBZ2 spids:[835])
                              op: Equal
                              rhs: {(stackless-32-export.tar.bz2)}
                              spids: [835]
                            )
                          ]
                          spids: [835]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_CO spids:[839])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [839]
                            )
                          ]
                          spids: [839]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_XX spids:[842])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [842]
                            )
                          ]
                          spids: [842]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_PY3 spids:[845])
                              op: Equal
                              rhs: {(1)}
                              spids: [845]
                            )
                          ]
                          spids: [845]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:USE_SSL spids:[849])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [849]
                            )
                          ]
                          spids: [849]
                        )
                      ]
                      spids: [815 828]
                    )
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ VSub_DollarName '$ARG'))} {(Lit_Other '=')} 
                              {(stacklessxl3.2)}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:TARGET spids:[868])
                              op: Equal
                              rhs: {(stacklessxl3.2-static)}
                              spids: [868]
                            )
                          ]
                          spids: [868]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:PYTHONTBZ2 spids:[872])
                              op: Equal
                              rhs: {(stackless-32-export.tar.bz2)}
                              spids: [872]
                            )
                          ]
                          spids: [872]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_CO spids:[876])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [876]
                            )
                          ]
                          spids: [876]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_XX spids:[879])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [879]
                            )
                          ]
                          spids: [879]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:IS_PY3 spids:[882])
                              op: Equal
                              rhs: {(1)}
                              spids: [882]
                            )
                          ]
                          spids: [882]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:USE_SSL spids:[886])
                              op: Equal
                              rhs: {(1)}
                              spids: [886]
                            )
                          ]
                          spids: [886]
                        )
                      ]
                      spids: [852 865]
                    )
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ VSub_DollarName '$ARG'))} {(Lit_Other '=')} {(usessl)})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:USE_SSL spids:[906])
                              op: Equal
                              rhs: {(1)}
                              spids: [906]
                            )
                          ]
                          spids: [906]
                        )
                      ]
                      spids: [890 903]
                    )
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ VSub_DollarName '$ARG'))} {(Lit_Other '=')} {(nossl)})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:USE_SSL spids:[926])
                              op: Equal
                              rhs: (word.EmptyWord)
                              spids: [926]
                            )
                          ]
                          spids: [926]
                        )
                      ]
                      spids: [910 923]
                    )
                  ]
                  else_action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:STEPS spids:[932])
                          op: Equal
                          rhs: {(DQ ($ VSub_DollarName '$STEPS') (' ') ($ VSub_DollarName '$ARG'))}
                          spids: [932]
                        )
                      ]
                      spids: [932]
                    )
                  ]
                  spids: [929 940]
                )
              ]
              spids: [553 942]
            )
          spids: [547 551]
        )
        (command.If
          arms: [
            (if_arm
              cond: [
                (command.Sentence
                  child: (C {(test)} {(-z)} {(DQ ($ VSub_DollarName '$STEPS'))})
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:STEPS spids:[970])
                      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: [970]
                )
              ]
              spids: [16777215 955]
            )
          ]
          spids: [16777215 975]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:INSTS spids:[978])
              op: Equal
              rhs: {(DQ ($ VSub_DollarName '$INSTS_BASE'))}
              spids: [978]
            )
          ]
          spids: [978]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:BUILDDIR spids:[983])
              op: Equal
              rhs: {(DQ ($ VSub_DollarName '$TARGET') (.build))}
              spids: [983]
            )
          ]
          spids: [983]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:PBUILDDIR spids:[989])
              op: Equal
              rhs: {(DQ ($ VSub_DollarName '$PWD') (/) ($ VSub_DollarName '$BUILDDIR'))}
              spids: [989]
            )
          ]
          spids: [989]
        )
        (command.If
          arms: [
            (if_arm
              cond: [
                (command.Sentence
                  child: (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} {(Lit_Other '=')} {(Darwin)})
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(export)} 
                  {(Lit_VarLike 'CC=') 
                    (DQ ('gcc-mp-4.4 -m32 -static-libgcc -I') ($ VSub_DollarName '$PBUILDDIR') 
                      (/build-include)
                    )
                  }
                )
                (C {(export)} {(Lit_VarLike 'AR=') (ar)})
                (C {(export)} {(Lit_VarLike 'RANLIB=') (ranlib)})
                (C {(export)} {(Lit_VarLike 'LD=') (ld)})
                (C {(export)} 
                  {(Lit_VarLike 'LDFLAGS=') (DQ (-L) ($ VSub_DollarName '$PBUILDDIR') (/build-lib))}
                )
                (C {(export)} {(Lit_VarLike 'STRIP=') (strip)})
              ]
              spids: [16777215 1016]
            )
          ]
          else_action: [
            (C {(export)} 
              {(Lit_VarLike 'CC=') 
                (DQ ($ VSub_DollarName '$PBUILDDIR') 
                  ('/cross-compiler-i686/bin/i686-gcc -static -fno-stack-protector')
                )
              }
            )
            (C {(export)} 
              {(Lit_VarLike 'AR=') 
                (DQ ($ VSub_DollarName '$PBUILDDIR') (/cross-compiler-i686/bin/i686-ar))
              }
            )
            (C {(export)} 
              {(Lit_VarLike 'RANLIB=') 
                (DQ ($ VSub_DollarName '$PBUILDDIR') (/cross-compiler-i686/bin/i686-ranlib))
              }
            )
            (C {(export)} 
              {(Lit_VarLike 'LD=') 
                (DQ ($ VSub_DollarName '$PBUILDDIR') (/cross-compiler-i686/bin/i686-ld))
              }
            )
            (C {(export)} {(Lit_VarLike 'LDFLAGS=') (DQ )})
            (C {(export)} 
              {(Lit_VarLike 'STRIP=') 
                (DQ ($ VSub_DollarName '$PBUILDDIR') ('/cross-compiler-i686/bin/i686-strip -s'))
              }
            )
          ]
          spids: [1067 1125]
        )
        (C {(echo)} {(DQ ('Running in directory: ') ($ VSub_DollarName '$PWD'))})
        (C {(echo)} {(DQ ('Building target: ') ($ VSub_DollarName '$TARGET'))})
        (C {(echo)} {(DQ ('Building in directory: ') ($ VSub_DollarName '$BUILDDIR'))})
        (C {(echo)} {(DQ ('Using Python source distribution: ') ($ VSub_DollarName '$PYTHONTBZ2'))})
        (C {(echo)} {(DQ ('Will run steps: ') ($ VSub_DollarName '$STEPS'))})
        (C {(echo)} {(DQ ('Is adding coroutine libraries: ') ($ VSub_DollarName '$IS_CO'))})
        (C {(echo)} {(DQ ('Is using OpenSSL for SSL functionality: ') ($ VSub_DollarName '$USE_SSL'))})
        (C {(echo)} {(DQ ('Is using Tokyo Cabinet database: ') ($ VSub_DollarName '$USE_TC'))})
        (C {(echo)} {(DQ ('Is using LMDB (database): ') ($ VSub_DollarName '$USE_LMDB'))})
        (C {(echo)} {(DQ ('Operating system UNAME: ') ($ VSub_DollarName '$UNAME'))})
        (C {(echo)})
        (command.FuncDef
          name: initbuilddir
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(rm)} {(-rf)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(mkdir)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} {(Lit_Other '=')} 
                                  {(Linux)}
                                )
                                (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} {(Lit_Other '=')} 
                                  {(Darwin)}
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [(C {(Lit_Other ':')})]
                      spids: [16777215 1266]
                    )
                  ]
                  else_action: [
                    (C {(set)} {(Lit_Other '+') (x)})
                    (command.SimpleCommand
                      words: [
                        {(echo)}
                        {(DQ ('fatal: unsupported operating system: ') ($ VSub_DollarName '$UNAME'))}
                      ]
                      redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(2)}
                    )
                  ]
                  spids: [1272 1297]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} {(Lit_Other '=')} {(Darwin)})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(mkdir)} {(DQ ($ VSub_DollarName '$BUILDDIR') (/build-include))})
                            (command.ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(DQ ($ VSub_QMark '$?'))}
                            )
                          ]
                        )
                        (command.AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(mkdir)} {(DQ ($ VSub_DollarName '$BUILDDIR') (/build-lib))})
                            (command.ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(DQ ($ VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                      spids: [16777215 1314]
                    )
                  ]
                  else_action: [
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (command.Subshell
                          child: 
                            (command.CommandList
                              children: [
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(mkdir)} {(cross-compiler-i686)})
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(cd)} {(cross-compiler-i686)})
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(tar)} {(xjvf)} {(../../gcxbase.inst.tbz2)})
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(tar)} {(xjvf)} {(../../gcc.inst.tbz2)})
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(tar)} {(xjvf)} {(../../gcxtool.inst.tbz2)})
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                            )
                          spids: [1352 1440]
                        )
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                        )
                      ]
                    )
                  ]
                  spids: [1349 1451]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} {(Lit_Other '=')} {(Darwin)})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.AndOr
                          ops: [Op_DPipe]
                          children: [
                            (command.Subshell
                              child: 
                                (command.CommandList
                                  children: [
                                    (command.Sentence
                                      child: (C {(echo)} {(SQ <'#!/bin/sh'>)})
                                      terminator: <Op_Semi ';'>
                                    )
                                    (C {(echo)} {(SQ <'echo i386-apple-darwin9.8.0'>)})
                                  ]
                                )
                              redirects: [
                                (redir.Redir
                                  op: <Redir_Great '>'>
                                  fd: 16777215
                                  arg_word: {(DQ ($ VSub_DollarName '$BUILDDIR') (/config.guess.fake))}
                                )
                              ]
                              spids: [1483 1496]
                            )
                            (command.ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(DQ ($ VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                      spids: [16777215 1480]
                    )
                  ]
                  else_action: [
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (command.Subshell
                          child: 
                            (command.CommandList
                              children: [
                                (command.Sentence
                                  child: (C {(echo)} {(SQ <'#!/bin/sh'>)})
                                  terminator: <Op_Semi ';'>
                                )
                                (C {(echo)} {(SQ <'echo i686-pc-linux-gnu'>)})
                              ]
                            )
                          redirects: [
                            (redir.Redir
                              op: <Redir_Great '>'>
                              fd: 16777215
                              arg_word: {(DQ ($ VSub_DollarName '$BUILDDIR') (/config.guess.fake))}
                            )
                          ]
                          spids: [1516 1529]
                        )
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                        )
                      ]
                    )
                  ]
                  spids: [1513 1546]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(chmod)} {(Lit_Other '+') (x)} 
                      {(DQ ($ VSub_DollarName '$BUILDDIR') (/config.guess.fake))}
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (C {(echo)} {(SQ <'#include <stdio.h>'>)})
                            (C {(echo)} {(SQ <'main() { return!printf("Hello, World!\\n"); }'>)})
                          ]
                        )
                      redirects: [
                        (redir.Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_DollarName '$BUILDDIR') (/hello.c))}
                        )
                      ]
                      spids: [1573 1588]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              children: [
                                (C {($ VSub_DollarName '$CC')} {(-o)} 
                                  {(DQ ($ VSub_DollarName '$BUILDDIR') (/hello))} {(DQ ($ VSub_DollarName '$BUILDDIR') (/hello.c))}
                                )
                              ]
                              negated: T
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(set)} {(Lit_Other '+') (x)})
                        (command.SimpleCommand
                          words: [{(echo)} {(DQ ("fatal: the C compiler doesn't work"))}]
                          redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} {(Lit_Other '=')} 
                                      {(Darwin)}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (command.SimpleCommand
                                  words: [
                                    {(echo)}
                                    {
                                      (DQ 
                                        (
'info: did you install MacPorts and run: sudo port install gcc44'
                                        )
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (redir.Redir
                                      op: <Redir_GreatAnd '>&'>
                                      fd: 16777215
                                      arg_word: {(2)}
                                    )
                                  ]
                                )
                              ]
                              spids: [16777215 1656]
                            )
                          ]
                          spids: [16777215 1669]
                        )
                        (command.ControlFlow
                          token: <ControlFlow_Exit exit>
                          arg_word: {(2)}
                        )
                      ]
                      spids: [16777215 1624]
                    )
                  ]
                  spids: [16777215 1677]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {($ VSub_DollarName '$STRIP')} {(DQ ($ VSub_DollarName '$BUILDDIR') (/hello))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:OUT spids:[1698])
                      op: Equal
                      rhs: 
                        {
                          (DQ 
                            (word_part.CommandSubPart
                              command_list: 
                                (command.CommandList
                                  children: [(C {(DQ ($ VSub_DollarName '$BUILDDIR') (/hello))})]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [1700 1705]
                            )
                          )
                        }
                      spids: [1698]
                    )
                  ]
                  spids: [1696]
                )
                (C {(test)} {(DQ ($ VSub_QMark '$?'))} {(Lit_Other '=')} {(0)})
                (C {(test)} {(DQ ($ VSub_DollarName '$OUT'))} {(Lit_Other '=')} {(DQ ('Hello, World!'))})
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} 
                                          {
                                            (DQ 
                                              (word_part.BracedVarSub
                                                token: <VSub_Name PYTHONTBZ2>
                                                suffix_op: 
                                                  (suffix_op.StringUnary
                                                    op_id: VOp1_Percent
                                                    arg_word: {(.xz)}
                                                  )
                                                spids: [1756 1760]
                                              )
                                            )
                                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ (${ VSub_Name PYTHONTBZ2))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (command.Pipeline
                                          children: [
                                            (command.SimpleCommand
                                              words: [{(xz)} {(-d)}]
                                              redirects: [
                                                (redir.Redir
                                                  op: <Redir_Less '<'>
                                                  fd: 16777215
                                                  arg_word: 
                                                    {(../) (DQ ($ VSub_DollarName '$PYTHONTBZ2'))}
                                                )
                                              ]
                                            )
                                            (C {(tar)} {(xv)})
                                          ]
                                          negated: F
                                        )
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 1773]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(tar)} {(xjvf)} {(../) (DQ ($ VSub_DollarName '$PYTHONTBZ2'))})
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                              spids: [1801 1822]
                            )
                          ]
                        )
                      spids: [1734 1825]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {(test)} {(-d)} {(Python-) (Lit_Other '*')})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(mv)} {(Python-) (Lit_Other '*') (/) (Lit_Other '*')} {(.)})
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 1863]
                                )
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {(test)} {(-d)} {(python-) (Lit_Other '*')})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(mv)} {(python-) (Lit_Other '*') (/) (Lit_Other '*')} {(.)})
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1884 1894]
                                )
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {(test)} {(-d)} {(stackless-) (Lit_Other '*')})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(mv)} {(stackless-) (Lit_Other '*') (/) (Lit_Other '*')} 
                                          {(.)}
                                        )
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1915 1925]
                                )
                              ]
                              spids: [16777215 1946]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                  {(SQ <'s@^(Parser/pgenmain[.]o:)@disabled_$1@'>)} {(Makefile.pre.in)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [1836 1975]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR') (/Modules))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../../greenlet-0.3.1.tar.gz)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {(test)} {(DQ ($ VSub_DollarName '$IS_PY3'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (command.SimpleCommand
                                          words: [{($ VSub_DollarName '$PATCH')} {(-p0)}]
                                          redirects: [
                                            (redir.Redir
                                              op: <Redir_Less '<'>
                                              fd: 16777215
                                              arg_word: {(../../greenlet-0.3.1-pycapsule.patch)}
                                            )
                                          ]
                                        )
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 2029]
                                )
                              ]
                              spids: [16777215 2052]
                            )
                          ]
                        )
                      spids: [1987 2055]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mkdir)} {(-p)} {(advzip)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(advzip)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} 
                                          {(Lit_Other '=')} {(Darwin)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(tar)} {(xjvf)} {(../../advzip.darwin.inst.tbz2)})
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 2125]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(tar)} {(xjvf)} {(../../advzip.inst.tbz2)})
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                              spids: [2143 2161]
                            )
                          ]
                        )
                      spids: [2067 2164]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (C {(cp)} {(-f)} {(DQ ($ VSub_DollarName '$BUILDDIR') (/config.guess.fake))} 
                  {(DQ ($ VSub_DollarName '$BUILDDIR') (/config.guess))}
                )
              ]
              spids: [1205]
            )
          spids: [1201 1204]
        )
        (command.FuncDef
          name: initdeps
          body: 
            (command.BraceGroup
              children: [
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} {(Lit_Other '=')} {(Darwin)})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(builddeps)})
                            (command.ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(DQ ($ VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                      spids: [16777215 2213]
                    )
                  ]
                  else_action: [
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(extractinsts)})
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                        )
                      ]
                    )
                  ]
                  spids: [2230 2247]
                )
              ]
              spids: [2197]
            )
          spids: [2193 2196]
        )
        (command.FuncDef
          name: builddeps
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(buildlibz)})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(buildlibbz2)})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(buildlibreadline)})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(buildlibsqlite3)})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(buildlibevent2)})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [2272]
            )
          spids: [2268 2271]
        )
        (command.FuncDef
          name: buildlibbz2
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(bzip2-1.0.6)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../bzip2-1.0.6.tar.gz)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(bzip2-1.0.6)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      <
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@ -O3@g if s@^CFLAGS\\s*=@CFLAGS = @'
                                      >
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(make)} {(Lit_VarLike 'CC=') (DQ ($ VSub_DollarName '$CC'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(libbz2.a)} {(../build-lib/libbz2-staticpython.a)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(bzlib.h)} {(../build-include/)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [2347 2475]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [2344]
            )
          spids: [2340 2343]
        )
        (command.FuncDef
          name: buildlibtc
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_DollarName '$USE_TC'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(tokyocabinet-1.4.47)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../tokyocabinet-1.4.47.tar.gz)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(tokyocabinet-1.4.47)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} 
                                          {(Lit_Other '=')} {(Darwin)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                          {(SQ <'s@^ *(LIBS="-l(?:z|bz2))@$1-staticpython @'>)} {(configure)}
                                        )
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 2609]
                                )
                              ]
                              spids: [16777215 2642]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                  {(SQ <'s@nanl\\([^()]*\\)@NAN@g'>)} {(Lit_Other '*') (.c)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(./configure)} {(--prefix) (Lit_Other '=') (/dev/null/missing)} 
                                  {(--disable-shared)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      <
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@ -O2@g if s@^CFLAGS\\s*=@CFLAGS = @; s@ -I\\S+@ @g, s@=@= -I.@ if s@^CPPFLAGS\\s*=\\s*@CPPFLAGS = @'
                                      >
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(make)} {(libtokyocabinet.a)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_DollarName '$RANLIB')} {(libtokyocabinet.a)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(libtokyocabinet.a)} 
                                  {(../build-lib/libtokyocabinet-staticpython.a)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(tc) (Lit_Other '*') (.h)} {(../build-include/)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [2508 2780]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [2492]
            )
          spids: [2488 2491]
        )
        (command.FuncDef
          name: buildlibreadline
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(readline-5.2)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../readline-5.2.tar.gz)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(readline-5.2)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(./configure)} {(--disable-shared)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      <
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@ -O2@g if s@^CFLAGS\\s*=@CFLAGS = @'
                                      >
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(make)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(libreadline.a)} {(../build-lib/libreadline-staticpython.a)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(../build-include/readline)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mkdir)} {(../build-include/readline)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [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: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [2800 2980]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [2797]
            )
          spids: [2793 2796]
        )
        (command.FuncDef
          name: buildlibsqlite3
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(sqlite-amalgamation-3070603)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(unzip)} {(../sqlite-amalgamation-3070603.zip)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(sqlite-amalgamation-3070603)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_DollarName '$CC')} {(-c)} {(-O2)} {(-DSQLITE_ENABLE_STAT2)} 
                                  {(-DSQLITE_ENABLE_FTS3)} {(-DSQLITE_ENABLE_FTS4)} {(-DSQLITE_ENABLE_RTREE)} {(-W)} {(-Wall)} {(sqlite3.c)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_DollarName '$AR')} {(cr)} {(libsqlite3.a)} {(sqlite3.o)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_DollarName '$RANLIB')} {(libsqlite3.a)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(libsqlite3.a)} {(../build-lib/libsqlite3-staticpython.a)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(sqlite3.h)} {(../build-include/)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [3000 3147]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [2997]
            )
          spids: [2993 2996]
        )
        (command.FuncDef
          name: buildlibz
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(zlib-1.2.5)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xjvf)} {(../zlib-1.2.5.tar.bz2)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(zlib-1.2.5)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(./configure)} {(--static)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      <
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@ -O3@g if s@^CFLAGS\\s*=@CFLAGS = @'
                                      >
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(make)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(libz.a)} {(../build-lib/libz-staticpython.a)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(zconf.h)} {(zlib.h)} {(../build-include/)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [3167 3305]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [3164]
            )
          spids: [3160 3163]
        )
        (command.FuncDef
          name: buildlibssl
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_DollarName '$USE_SSL'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(openssl-0.9.8zh.tar.gz)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../openssl-0.9.8zh.tar.gz)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(openssl-0.9.8zh)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} 
                                          {(Lit_Other '=')} {(Linux)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(./Configure)} {(no-shared)} {(linux-elf)} {(no-dso)})
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 3411]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(./Configure)} {(no-shared)} {(darwin-i386-cc)})
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                              spids: [3431 3456]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      <
's@\\s(?:-g|-arch\\s+\\S+)(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@ -O2@g, s@\\s-D(DSO_DLFCN|HAVE_DLFCN_H)(?!\\S)@@g if s@^CFLAG\\s*=\\s*@CFLAG = @'
                                      >
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(ln)} {(-s)} {(.)} {(crypto/des/asm/perlasm)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(make)} {(build_libs)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(libssl.a)} {(../build-lib/libssl-staticpython.a)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(libcrypto.a)} {(../build-lib/libcrypto-staticpython.a)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mkdir)} {(../build-include/openssl)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(include/openssl/) (Lit_Other '*') (.h)} 
                                  {(../build-include/openssl/)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [3338 3591]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [3322]
            )
          spids: [3318 3321]
        )
        (command.FuncDef
          name: buildlibevent2
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(libevent-2.0.16-stable)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(build-include/event2)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(build-lib/libevent) (Lit_Other '*')})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../libevent-2.0.16-stable.tar.gz)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(libevent-2.0.16-stable)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:SSL_FLAGS spids:[3717])
                                  op: Equal
                                  rhs: {(--disable-openssl)}
                                  spids: [3717]
                                )
                              ]
                              spids: [3715]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {(test)} {(DQ ($ VSub_DollarName '$USE_SSL'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (lhs_expr.LhsName name:SSL_FLAGS spids:[3733])
                                          op: Equal
                                          rhs: {(--enable-openssl)}
                                          spids: [3733]
                                        )
                                      ]
                                      spids: [3733]
                                    )
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                          {
                                            (SQ 
                                              <
's@^for ac_lib in \\x27\\x27 ssl;@for ac_lib in \\x27\\x27 \\x27ssl-staticpython -lcrypto-staticpython\\x27;@;\n'
                                              > <'                    s@ -lcrypto(?= )@ -lcrypto-staticpython@g'>
                                            )
                                          } {(configure)}
                                        )
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 3730]
                                )
                              ]
                              spids: [16777215 3760]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(./configure)} {($ VSub_DollarName '$SSL_FLAGS')} 
                                  {(--disable-debug-mode)} {(--disable-shared)} {(--disable-libevent-regress)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {(test)} {(DQ ($ VSub_DollarName '$USE_SSL'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(grep)} {(SQ <'^#define HAVE_OPENSSL 1$'>)} {(config.h)})
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 3791]
                                )
                              ]
                              spids: [16777215 3811]
                            )
                            (C {(cp)} {(-f)} {(../config.guess.fake)} {(config.guess)})
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      <
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@ -O2@g if s@^CFLAGS\\s*=@CFLAGS = @'
                                      >
                                    )
                                  } {(Makefile)} {(Lit_Other '*') (/Makefile)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(make)} {(./include/event2/event-config.h)} {(libevent_core.la)} 
                                  {(libevent.la)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_DollarName '$AR')} {(cr)} {(libevent_evhttp.a)} 
                                  {(bufferevent_sock.o)} {(http.o)} {(listener.o)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_DollarName '$RANLIB')} {(libevent_evhttp.a)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(.libs/libevent_core.a)} 
                                  {(../build-lib/libevent_core-staticpython.a)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(libevent_evhttp.a)} 
                                  {(../build-lib/libevent_evhttp-staticpython.a)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mkdir)} {(../build-include/event2)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(include/event2/) (Lit_Other '*') (.h)} 
                                  {(../build-include/event2/)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [3624 3959]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [3608]
            )
          spids: [3604 3607]
        )
        (command.FuncDef
          name: extractinsts
          body: 
            (command.BraceGroup
              children: [
                (command.ForEach
                  iter_name: INSTTBZ2
                  iter_words: [{($ VSub_DollarName '$INSTS')}]
                  do_arg_iter: F
                  body: 
                    (command.DoGroup
                      children: [
                        (command.AndOr
                          ops: [Op_DPipe]
                          children: [
                            (command.Subshell
                              child: 
                                (command.CommandList
                                  children: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(cd)} 
                                          {
                                            (DQ ($ VSub_DollarName '$BUILDDIR') (/cross-compiler-i686))
                                          }
                                        )
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(tar)} {(xjvf)} 
                                          {(../../) (DQ ($ VSub_DollarName '$INSTTBZ2'))}
                                        )
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                )
                              spids: [3991 4027]
                            )
                            (command.ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(DQ ($ VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                      spids: [3988 4038]
                    )
                  spids: [3984 3986]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} {(Lit_Other '=')} {(Linux)})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(ln)} {(-s)} {(cross-compiler-i686/lib)} 
                          {(DQ ($ VSub_DollarName '$BUILDDIR') (/build-lib))}
                        )
                        (C {(ln)} {(-s)} {(cross-compiler-i686/include)} 
                          {(DQ ($ VSub_DollarName '$BUILDDIR') (/build-include))}
                        )
                      ]
                      spids: [16777215 4058]
                    )
                  ]
                  spids: [16777215 4085]
                )
              ]
              spids: [3976]
            )
          spids: [3972 3975]
        )
        (command.FuncDef
          name: configure
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (C {(perl)} {(-pi)} {(-e)} {(SQ <'$_="" if /ASDLGEN/'>)} {(Makefile.pre.in)})
                            (command.Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:REGSFLAGS spids:[4141])
                                  op: Equal
                                  rhs: (word.EmptyWord)
                                  spids: [4141]
                                )
                              ]
                              spids: [4139]
                            )
                            (command.AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} {(Lit_Other '=')} 
                                  {(Darwin)}
                                )
                                (command.Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (lhs_expr.LhsName name:REGSFLAGS spids:[4164])
                                      op: Equal
                                      rhs: {(--enable-stacklessfewerregisters)}
                                      spids: [4164]
                                    )
                                  ]
                                  spids: [4164]
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(./configure)} {(--disable-shared)} {(--disable-ipv6)} 
                                  {($ VSub_DollarName '$REGSFLAGS')}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [4097 4185]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (C {(fixmakefile)})
              ]
              spids: [4094]
            )
          spids: [4090 4093]
        )
        (command.FuncDef
          name: fixsemaphore
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} 
                                          {(Lit_Other '=')} {(Linux)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(perl)} {(-pi)} {(-e)} 
                                          {
                                            (SQ 
                                              <
's@^#define POSIX_SEMAPHORES_NOT_ENABLED 1$@/* #undef POSIX_SEMAPHORES_NOT_ENABLED */@'
                                              >
                                            )
                                          } {(pyconfig.h)}
                                        )
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 4238]
                                )
                              ]
                              spids: [16777215 4276]
                            )
                          ]
                        )
                      spids: [4208 4279]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [4205]
            )
          spids: [4201 4204]
        )
        (command.FuncDef
          name: fixmakefile
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      <
's@\\s-(?:ldl|framework\\s+CoreFoundation)(?!\\S)@@g if s@^LIBS\\s*=@LIBS = @'
                                      >
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      <
's@\\s-(?:g|O\\d*)(?!\\S)@@g, s@$@ -O2@ if s@^OPT\\s*=@OPT = @'
                                      >
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      <
's@\\s-(?:g|O\\d*)(?!\\S)@@g, s@$@ -O2@ if s@^SLPFLAGS\\s*=@SLPFLAGS = @'
                                      >
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                  {
                                    (SQ 
                                      <
's@\\s-g(?!\\S)@@g, s@\\s-O\\d*(?!\\S)@@g if s@^CFLAGS\\s*=@CFLAGS = @'
                                      >
                                    )
                                  } {(Makefile)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {(test)} {(DQ ($ VSub_DollarName '$IS_PY3'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (command.Sentence
                                              child: 
                                                (command.Pipeline
                                                  children: [
                                                    (C {(grep)} {(SQ <'@SLPFLAGS@'>)} {(Makefile)})
                                                  ]
                                                  negated: T
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(C {(Lit_Other ':')})]
                                          spids: [16777215 4453]
                                        )
                                        (if_arm
                                          cond: [
                                            (command.Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} 
                                                  {(Lit_Other '=')} {(Darwin)}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (command.AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                                  {
                                                    (SQ 
                                                      <
's~\\@SLPFLAGS\\@~-fomit-frame-pointer -DSTACKLESS_FRHACK=1 -O2~g'
                                                      >
                                                    )
                                                  } {(Makefile)}
                                                )
                                                (command.ControlFlow
                                                  token: <ControlFlow_Return return>
                                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [4459 4472]
                                        )
                                      ]
                                      else_action: [
                                        (command.AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                              {
                                                (SQ 
                                                  <
's~\\@SLPFLAGS\\@~-fno-omit-frame-pointer -O2~g'
                                                  >
                                                )
                                              } {(Makefile)}
                                            )
                                            (command.ControlFlow
                                              token: <ControlFlow_Return return>
                                              arg_word: {(DQ ($ VSub_QMark '$?'))}
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [4505 4530]
                                    )
                                  ]
                                  spids: [16777215 4437]
                                )
                              ]
                              spids: [16777215 4533]
                            )
                          ]
                        )
                      spids: [4299 4536]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [4296]
            )
          spids: [4292 4295]
        )
        (command.FuncDef
          name: patchsetup
          body: 
            (command.BraceGroup
              children: [
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: (C {(test)} {(DQ ($ VSub_DollarName '$IS_PY3'))})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(cp)} {(Modules.Setup.3.2.static)} 
                              {(DQ ($ VSub_DollarName '$BUILDDIR') (/Modules/Setup))}
                            )
                            (command.ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(DQ ($ VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                      spids: [16777215 4573]
                    )
                  ]
                  else_action: [
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(cp)} {(Modules.Setup.2.7.static)} 
                          {(DQ ($ VSub_DollarName '$BUILDDIR') (/Modules/Setup))}
                        )
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                        )
                      ]
                    )
                  ]
                  spids: [4594 4615]
                )
              ]
              spids: [4553]
            )
          spids: [4549 4552]
        )
        (command.FuncDef
          name: fixsetup
          body: 
            (command.BraceGroup
              children: [
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} {(Lit_Other '=')} {(Darwin)})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                              {
                                (SQ <'\n'> <'        s@\\s-lncurses\\S*@ -lncurses.5@g;\n'> 
                                  <
'        s@^(?:_locale|spwd)(?!\\S)@#@; s@\\s-(?:lcrypt|lm)(?!\\S)@@g;\n'
                                  > <'        s@\\s-(lz|lsqlite3|lreadline|lbz2)(?!\\S)@ -$1-staticpython@g;\n'> <'        '>
                                )
                              } {(DQ ($ VSub_DollarName '$BUILDDIR') (/Modules/Setup))}
                            )
                            (command.ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(DQ ($ VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                      spids: [16777215 4648]
                    )
                  ]
                  spids: [16777215 4716]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                      {(SQ <'s@\\s-(levent_core|levent_evhttp)(?!\\S)@ -$1-staticpython@g'>)} {(DQ ($ VSub_DollarName '$BUILDDIR') (/Modules/Setup))}
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(sleep)} {(2)})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(touch)} {(DQ ($ VSub_DollarName '$BUILDDIR') (/Modules/Setup))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(make)} {(Makefile)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [4780 4810]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (C {(fixmakefile)})
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: (C {(test)} {(DQ ($ VSub_DollarName '$IS_PY3'))})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.AndOr
                          ops: [Op_DPipe]
                          children: [
                            (command.Subshell
                              child: 
                                (command.CommandList
                                  children: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(grep)} {(SQ <'^_thread '>)} {(Modules/Setup.config)})
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(grep)} {(SQ <signal>)} {(Modules/Setup.config)})
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                )
                              spids: [4836 4887]
                            )
                            (command.ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(DQ ($ VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                      spids: [16777215 4833]
                    )
                  ]
                  spids: [16777215 4898]
                )
              ]
              spids: [4632]
            )
          spids: [4628 4631]
        )
        (command.FuncDef
          name: patchimport
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                      {
                        (SQ 
                          <
's@#ifdef HAVE_DYNAMIC_LOADING(?!_NOT)@#ifdef HAVE_DYNAMIC_LOADING_NOT  /* StaticPython */@g'
                          >
                        )
                      } {(DQ ($ VSub_DollarName '$BUILDDIR')) (/Python/import.c)} 
                      {(DQ ($ VSub_DollarName '$BUILDDIR')) (/Python/importdl.c)}
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [4907]
            )
          spids: [4903 4906]
        )
        (command.FuncDef
          name: patchgetpath
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-0777)} {(-e)} 
                      {
                        (SQ 
                          <
's@\\s+static\\s+void\\s+calculate_path(?!   )\\s*\\(\\s*void\\s*\\)\\s*{@\\n\\nstatic void calculate_path(void);  /* StaticPython */\\nstatic void calculate_path_not(void) {@g'
                          >
                        )
                      } {(DQ ($ VSub_DollarName '$BUILDDIR')) (/Modules/getpath.c)}
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              children: [
                                (C {(grep)} {(-q)} {(StaticPython-appended)} 
                                  {(DQ ($ VSub_DollarName '$BUILDDIR') (/Modules/getpath.c))}
                                )
                              ]
                              negated: T
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: (C {(test)} {(DQ ($ VSub_DollarName '$IS_PY3'))})
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (command.SimpleCommand
                                      words: [{(cat)} {(calculate_path.3.2.c)}]
                                      redirects: [
                                        (redir.Redir
                                          op: <Redir_DGreat '>>'>
                                          fd: 16777215
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_DollarName '$BUILDDIR') (/Modules/getpath.c))
                                            }
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                              spids: [16777215 5020]
                            )
                          ]
                          else_action: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (command.SimpleCommand
                                  words: [{(cat)} {(calculate_path.2.7.c)}]
                                  redirects: [
                                    (redir.Redir
                                      op: <Redir_DGreat '>>'>
                                      fd: 16777215
                                      arg_word: 
                                        {(DQ ($ VSub_DollarName '$BUILDDIR') (/Modules/getpath.c))}
                                    )
                                  ]
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                          spids: [5042 5064]
                        )
                      ]
                      spids: [16777215 5008]
                    )
                  ]
                  spids: [16777215 5067]
                )
              ]
              spids: [4950]
            )
          spids: [4946 4949]
        )
        (command.FuncDef
          name: patchsqlite
          body: 
            (command.BraceGroup
              children: [
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              children: [
                                (C {(grep)} {(SQ <'^#define MODULE_NAME '>)} 
                                  {(DQ ($ VSub_DollarName '$BUILDDIR') (/Modules/_sqlite/util.h))}
                                )
                              ]
                              negated: T
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-0777)} {(-e)} 
                              {
                                (SQ 
                                  <
's@\\n#define PYSQLITE_UTIL_H\\n@\\n#define PYSQLITE_UTIL_H\\n#define MODULE_NAME "_sqlite3"  /* StaticPython */\\n@'
                                  >
                                )
                              } {(DQ ($ VSub_DollarName '$BUILDDIR') (/Modules/_sqlite/util.h))}
                            )
                            (command.ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(DQ ($ VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                      spids: [16777215 5099]
                    )
                  ]
                  spids: [16777215 5129]
                )
                (command.ForEach
                  iter_name: F
                  iter_words: [
                    {(DQ ($ VSub_DollarName '$BUILDDIR') (/Modules/_sqlite/)) (Lit_Other '*') (.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 <'^#include "util.h"'>)} 
                                          {(DQ ($ VSub_DollarName '$F'))}
                                        )
                                      ]
                                      negated: T
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-0777)} {(-e)} 
                                      {(SQ <'s@\\A@#include "util.h"  /* StaticPython */\\n@'>)} {(DQ ($ VSub_DollarName '$F'))}
                                    )
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                              spids: [16777215 5167]
                            )
                          ]
                          spids: [16777215 5196]
                        )
                      ]
                      spids: [5147 5200]
                    )
                  spids: [5138 5145]
                )
              ]
              spids: [5076]
            )
          spids: [5072 5075]
        )
        (command.FuncDef
          name: generate_loader_py
          body: 
            (command.BraceGroup
              children: [
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:CEXT_MODNAME spids:[5214])
                      op: Equal
                      rhs: {(DQ ($ VSub_Number '$1'))}
                      spids: [5214]
                    )
                  ]
                  spids: [5212]
                )
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:PY_MODNAME spids:[5222])
                      op: Equal
                      rhs: {(DQ ($ VSub_Number '$2'))}
                      spids: [5222]
                    )
                  ]
                  spids: [5220]
                )
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:PY_FILENAME spids:[5230])
                      op: Equal
                      rhs: 
                        {
                          (DQ (Lib/) 
                            (word_part.BracedVarSub
                              token: <VSub_Name PY_MODNAME>
                              suffix_op: 
                                (suffix_op.PatSub
                                  pat: {(.)}
                                  replace: {(Lit_Slash /)}
                                  replace_mode: Lit_Slash
                                  spids: [5235]
                                )
                              spids: [5233 5240]
                            ) (.py)
                          )
                        }
                      spids: [5230]
                    )
                  ]
                  spids: [5228]
                )
                (C {(Lit_Other ':')} {(Generating)} {(loader)} {(DQ ($ VSub_DollarName '$PY_FILENAME'))})
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.SimpleCommand
                      words: [
                        {(echo)}
                        {
                          (DQ ('import sys; import ') ($ VSub_DollarName '$CEXT_MODNAME') 
                            ('; sys.modules[__name__] = ') ($ VSub_DollarName '$CEXT_MODNAME')
                          )
                        }
                      ]
                      redirects: [
                        (redir.Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_DollarName '$PY_FILENAME'))}
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [5209]
            )
          spids: [5205 5208]
        )
        (command.FuncDef
          name: patch_and_copy_cext
          body: 
            (command.BraceGroup
              children: [
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:SOURCE_C spids:[5290])
                      op: Equal
                      rhs: {(DQ ($ VSub_Number '$1'))}
                      spids: [5290]
                    )
                  ]
                  spids: [5288]
                )
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:TARGET_C spids:[5298])
                      op: Equal
                      rhs: {(DQ ($ VSub_Number '$2'))}
                      spids: [5298]
                    )
                  ]
                  spids: [5296]
                )
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:CEXT_MODNAME spids:[5306])
                      op: Equal
                      rhs: 
                        {
                          (DQ 
                            (word_part.BracedVarSub
                              token: <VSub_Name TARGET_C>
                              suffix_op: (suffix_op.StringUnary op_id:VOp1_Percent arg_word:{(.c)})
                              spids: [5308 5312]
                            )
                          )
                        }
                      spids: [5306]
                    )
                  ]
                  spids: [5304]
                )
                (C {(export)} 
                  {(Lit_VarLike 'CEXT_MODNAME=') 
                    (DQ 
                      (word_part.BracedVarSub
                        token: <VSub_Name CEXT_MODNAME>
                        suffix_op: 
                          (suffix_op.StringUnary
                            op_id: VOp1_DPound
                            arg_word: {('*') (Lit_Slash /)}
                          )
                        spids: [5320 5325]
                      )
                    )
                  }
                )
                (C {(export)} 
                  {(Lit_VarLike 'CEXT_MODNAME=') 
                    (DQ 
                      (word_part.BracedVarSub
                        token: <VSub_Name CEXT_MODNAME>
                        suffix_op: 
                          (suffix_op.PatSub
                            pat: {(._)}
                            replace: {(_)}
                            replace_mode: Lit_Slash
                            spids: [5335]
                          )
                        spids: [5333 5340]
                      )
                    )
                  }
                )
                (C {(export)} 
                  {(Lit_VarLike 'CEXT_MODNAME=') 
                    (DQ 
                      (word_part.BracedVarSub
                        token: <VSub_Name CEXT_MODNAME>
                        suffix_op: 
                          (suffix_op.PatSub
                            pat: {(.)}
                            replace: {(_)}
                            replace_mode: Lit_Slash
                            spids: [5350]
                          )
                        spids: [5348 5355]
                      )
                    )
                  }
                )
                (C {(export)} 
                  {(Lit_VarLike 'CEXT_MODNAME=') (_) 
                    (DQ 
                      (word_part.BracedVarSub
                        token: <VSub_Name CEXT_MODNAME>
                        suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(_)})
                        spids: [5364 5368]
                      )
                    )
                  }
                )
                (C {(Lit_Other ':')} {(Copying)} {(and)} {(patching)} 
                  {(DQ ($ VSub_DollarName '$SOURCE_C'))} {(to)} {(DQ ($ VSub_DollarName '$TARGET_C')) (Lit_Comma ',')} 
                  {(Lit_VarLike 'CEXT_MODNAME=') (DQ ($ VSub_DollarName '$CEXT_MODNAME'))}
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.SimpleCommand
                      words: [
                        {(perl)}
                        {(-0777)}
                        {(-pe)}
                        {
                          (SQ <'\n'> 
                            <'    s@^(PyMODINIT_FUNC)\\s+\\w+\\(@$1 init$ENV{CEXT_MODNAME}(@mg;\n'> <'    s@( Py_InitModule\\d*)\\(\\s*"\\w[\\w.]*",@$1("$ENV{CEXT_MODNAME}",@g;\n'> 
                            <'    # Cython version of the one below.\n'> <'    s@( Py_InitModule\\d*\\(\\s*__Pyx_NAMESTR\\()"\\w[\\w.]*"\\),@$1"$ENV{CEXT_MODNAME}"),@g;\n'> 
                            <'    # For PyCrypto.\n'> 
                            <
'    s@^[ \\t]*(#[ \\t]*define\\s+MODULE_NAME\\s+\\S+)@#define MODULE_NAME $ENV{CEXT_MODNAME}@mg;\n'
                            > 
                            <
'    s@^[ \\t]*(#[ \\t]*define\\s+MODULE_NAME\\s+\\S+.*triple DES.*)@#define MODULE_NAME _Crypto_Cipher_DES3@mg;\n'
                            > <'  '>
                          )
                        }
                      ]
                      redirects: [
                        (redir.Redir
                          op: <Redir_Less '<'>
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_DollarName '$SOURCE_C'))}
                        )
                        (redir.Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_DollarName '$TARGET_C'))}
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [5285]
            )
          spids: [5281 5284]
        )
        (command.FuncDef
          name: enable_module
          body: 
            (command.BraceGroup
              children: [
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:CEXT_MODNAME spids:[5445])
                      op: Equal
                      rhs: {(DQ ($ VSub_Number '$1'))}
                      spids: [5445]
                    )
                  ]
                  spids: [5443]
                )
                (C {(export)} {(CEXT_MODNAME)})
                (C {(Lit_Other ':')} {(Enabling)} {(module) (Lit_Other ':')} 
                  {(DQ ($ VSub_DollarName '$CEXT_MODNAME'))}
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(grep)} {(-qE)} {(DQ ('^#?') ($ VSub_DollarName '$CEXT_MODNAME') (' '))} 
                      {(Modules/Setup)}
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(perl)} {(-0777)} {(-pi)} {(-e)} 
                      {(SQ <'s@^#$ENV{CEXT_MODNAME} @$ENV{CEXT_MODNAME} @mg'>)} {(Modules/Setup)}
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [5440]
            )
          spids: [5436 5439]
        )
        (command.FuncDef
          name: patchssl
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_DollarName '$USE_SSL'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_ssl)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_hashlib)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [5534 5577]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [5518]
            )
          spids: [5514 5517]
        )
        (command.FuncDef
          name: patchsyncless
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(syncless-) (Lit_Other '*')} {(syncless.dir)} 
                                  {(Lib/syncless)} {(Modules/syncless)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../syncless-0.25.tar.gz)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mv)} {(syncless-0.25)} {(syncless.dir)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/syncless)} {(Modules/syncless)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(syncless.dir/syncless/) (Lit_Other '*') (.py)} 
                                  {(Lib/syncless/)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(generate_loader_py)} {(_syncless_coio)} {(syncless.coio)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(patch_and_copy_cext)} {(syncless.dir/coio_src/coio.c)} 
                                  {(Modules/syncless/_syncless_coio.c)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [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_) (Lit_Other '*') (.h)} {(Modules/syncless/)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_syncless_coio)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [5610 5781]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [5594]
            )
          spids: [5590 5593]
        )
        (command.FuncDef
          name: patchgevent
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(gevent-) (Lit_Other '*')} {(gevent.dir)} 
                                  {(Lib/gevent)} {(Modules/gevent)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../gevent-0.13.6.tar.gz)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mv)} {(gevent-0.13.6)} {(gevent.dir)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/gevent)} {(Modules/gevent)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(gevent.dir/gevent/) (Lit_Other '*') (.py)} {(Lib/gevent/)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-f)} {(gevent.dir/gevent/win32util.py)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(generate_loader_py)} {(_gevent_core)} {(gevent.core)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(patch_and_copy_cext)} {(gevent.dir/gevent/core.c)} 
                                  {(Modules/gevent/_gevent_core.c)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (command.SimpleCommand
                                  words: [{(cat)}]
                                  redirects: [
                                    (redir.Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(Modules/gevent/libevent.h)}
                                    )
                                    (redir.HereDoc
                                      op: <Redir_DLess '<<'>
                                      fd: 16777215
                                      here_begin: {(SQ <END>)}
                                      here_end_span_id: 5997
                                      stdin_parts: [
                                        ('/**** pts ****/\n')
                                        ('#include "sys/queue.h"\n')
                                        ('#define LIBEVENT_HTTP_MODERN\n')
                                        ('#include "event2/event.h"\n')
                                        ('#include "event2/event_struct.h"\n')
                                        ('#include "event2/event_compat.h"\n')
                                        ('#include "event2/http.h"\n')
                                        ('#include "event2/http_compat.h"\n')
                                        ('#include "event2/http_struct.h"\n')
                                        ('#include "event2/buffer.h"\n')
                                        ('#include "event2/buffer_compat.h"\n')
                                        ('#include "event2/dns.h"\n')
                                        ('#include "event2/dns_compat.h"\n')
                                        ('#define EVBUFFER_DRAIN evbuffer_drain\n')
                                        ('#define EVHTTP_SET_CB  evhttp_set_cb\n')
                                        (
'#define EVBUFFER_PULLUP(BUF, SIZE) evbuffer_pullup(BUF, SIZE)\n'
                                        )
                                        ('#define current_base event_global_current_base_\n')
                                        ('#define TAILQ_GET_NEXT(X) TAILQ_NEXT((X), next)\n')
                                        ('extern void *current_base;\n')
                                      ]
                                    )
                                  ]
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_gevent_core)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [5814 6012]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [5798]
            )
          spids: [5794 5797]
        )
        (command.FuncDef
          name: patchgeventmysql
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(geventmysql-) (Lit_Other '*')} {(geventmysql.dir)} 
                                  {(Lib/geventmysql)} {(Modules/geventmysql)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xjvf)} {(../geventmysql-20110201.tbz2)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mv)} {(gevent-MySQL)} {(geventmysql.dir)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/geventmysql)} {(Modules/geventmysql)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(geventmysql.dir/lib/geventmysql/) (Lit_Other '*') (.py)} 
                                  {(Lib/geventmysql/)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(generate_loader_py)} {(_geventmysql_mysql)} {(geventmysql._mysql)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(patch_and_copy_cext)} 
                                  {(geventmysql.dir/lib/geventmysql/geventmysql._mysql.c)} {(Modules/geventmysql/geventmysql._mysql.c)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_geventmysql_mysql)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [6045 6189]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [6029]
            )
          spids: [6025 6028]
        )
        (command.FuncDef
          name: run_pyrexc
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.SimpleCommand
                      words: [
                        {(DQ ($ VSub_DollarName '$PBUILDDIR')) (/minipython)}
                        {(-S)}
                        {(-W)}
                        {(ignore) (Lit_Other ':') (Lit_Other ':') (DeprecationWarning)}
                        {(-c)}
                        {(DQ ('from Pyrex.Compiler.Main import main; main(command_line=1)'))}
                        {(DQ ($ VSub_At '$@'))}
                      ]
                      more_env: [
                        (env_pair
                          name: PYTHONPATH
                          val: 
                            {
                              (DQ ($ VSub_DollarName '$PBUILDDIR') ('/Lib:') ($ VSub_DollarName '$PWD') 
                                (/pyrex.dir)
                              )
                            }
                          spids: [6209]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [6206]
            )
          spids: [6202 6205]
        )
        (command.FuncDef
          name: run_mkzip
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(rm)} {(-f)} {(DQ ($ VSub_Number '$1'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(DQ ($ VSub_DollarName '$PBUILDDIR') (/advzip/bin/advzip))} {(-a)} {(-4)} 
                      {(DQ ($ VSub_At '$@'))}
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [6262]
            )
          spids: [6258 6261]
        )
        (command.FuncDef
          name: old_run_mkzip
          body: 
            (command.BraceGroup
              children: [
                (command.Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:PYTHON spids:[6329])
                      op: Equal
                      rhs: {(DQ ($ VSub_DollarName '$PBUILDDIR')) (/python.exe)}
                      spids: [6329]
                    )
                  ]
                  spids: [6327]
                )
                (command.AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {(test)} {(-f)} {(DQ ($ VSub_DollarName '$PBUILDDIR')) (/minipython)})
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:PYTHON spids:[6347])
                          op: Equal
                          rhs: {(DQ ($ VSub_DollarName '$PBUILDDIR')) (/minipython)}
                          spids: [6347]
                        )
                      ]
                      spids: [6347]
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.SimpleCommand
                      words: [
                        {(DQ ($ VSub_DollarName '$PYTHON'))}
                        {(-S)}
                        {(-c)}
                        {
                          (SQ <'if 1:\n'> <'  import os\n'> <'  import os.path\n'> <'  import stat\n'> 
                            <'  import sys\n'> <'  import zipfile\n'> <'  def All(filename):\n'> <'    s = os.lstat(filename)\n'> 
                            <'    assert not stat.S_ISLNK(s.st_mode), filename\n'> <'    if stat.S_ISDIR(s.st_mode):\n'> <'      for entry in os.listdir(filename):\n'> 
                            <'        for filename2 in All(os.path.join(filename, entry)):\n'> <'          yield filename2\n'> <'    else:\n'> <'      yield filename\n'> 
                            <'  zip_filename = sys.argv[1]\n'> <'  zipfile.zlib.Z_DEFAULT_COMPRESSION = 9  # Maximum effort.\n'> 
                            <
'  z = zipfile.ZipFile(zip_filename, "w", compression=zipfile.ZIP_DEFLATED)\n'
                            > <'  for filename in sys.argv[2:]:\n'> <'    for filename2 in All(filename):\n'> 
                            <'      z.write(filename2)\n'> <'  z.close()'>
                          )
                        }
                        {(DQ ($ VSub_At '$@'))}
                      ]
                      more_env: [
                        (env_pair
                          name: PYTHONPATH
                          val: {(DQ ($ VSub_DollarName '$PBUILDDIR') (/Lib))}
                          spids: [6358]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [6324]
            )
          spids: [6320 6323]
        )
        (command.FuncDef
          name: patchpythontokyocabinet
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_DollarName '$USE_TC'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(python-tokyocabinet-) (Lit_Other '*')} 
                                  {(tokyocabinet.dir)} {(Lib/tokyocabinet)} {(Modules/tokyocabinet)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xjvf)} {(../python-tokyocabinet-20111221.tar.bz2)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mv)} {(python-tokyocabinet-20111221)} {(tokyocabinet.dir)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/tokyocabinet)} {(Modules/tokyocabinet)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (command.Subshell
                                  child: 
                                    (command.AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(cd)} {(tokyocabinet.dir/tokyocabinet)})
                                        (command.SimpleCommand
                                          words: [{($ VSub_DollarName '$PATCH')} {(-p0)}]
                                          redirects: [
                                            (redir.Redir
                                              op: <Redir_Less '<'>
                                              fd: 16777215
                                              arg_word: {(../../../tokyocabinet_hash_c.patch)}
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                  spids: [6520 6533]
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(tokyocabinet.dir/tokyocabinet/) (Lit_Other '*') (.py)} 
                                  {(Lib/tokyocabinet/)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:M spids:[6567])
                                  op: Equal
                                  spids: [6567]
                                )
                              ]
                              spids: [6565]
                            )
                            (command.ForEach
                              iter_name: M
                              iter_words: [{(btree)} {(hash)} {(table)}]
                              do_arg_iter: F
                              body: 
                                (command.DoGroup
                                  children: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(patch_and_copy_cext)} 
                                          {(tokyocabinet.dir/tokyocabinet/) ($ VSub_DollarName '$M') 
                                            (.c)
                                          } {(Modules/tokyocabinet/_tokyocabinet_) ($ VSub_DollarName '$M') (.c)}
                                        )
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(generate_loader_py)} 
                                          {(_tokyocabinet_) ($ VSub_DollarName '$M')} {(tokyocabinet.) ($ VSub_DollarName '$M')}
                                        )
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(enable_module)} 
                                          {(_tokyocabinet_) ($ VSub_DollarName '$M')}
                                        )
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [6583 6636]
                                )
                              spids: [6575 6581]
                            )
                          ]
                        )
                      spids: [6432 6639]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [6416]
            )
          spids: [6412 6415]
        )
        (command.FuncDef
          name: patchpythonlmdb
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_DollarName '$USE_LMDB'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(lmdb-) (Lit_Other '*')} {(lmdb.dir)} {(Lib/lmdb)} 
                                  {(Modules/lmdb)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../lmdb-0.92.tar.gz)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mv)} {(lmdb-0.92)} {(lmdb.dir)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/lmdb)} {(Modules/lmdb)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.SimpleCommand
                              words: [
                                {(echo)}
                                {
                                  (SQ <'from _lmdb_cpython import *\n'> 
                                    <'from _lmdb_cpython import open\n'> <'from _lmdb_cpython import __all__'>
                                  )
                                }
                              ]
                              redirects: [
                                (redir.Redir
                                  op: <Redir_Great '>'>
                                  fd: 16777215
                                  arg_word: {(Lib/lmdb/__init__.py)}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(lmdb.dir/lmdb/tool.py)} {(Lib/lmdb/)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(lmdb.dir/lib/mdb.c)} {(Modules/lmdb/lmdb_mdb.c)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(lmdb.dir/lib/midl.c)} {(Modules/lmdb/lmdb_midl.c)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(perl)} {(-pi) (Lit_TildeLike '~')} {(-e)} 
                                  {(SQ <'s@(pthread_mutexattr_setpshared\\()@0&&$1@g'>)} {(Modules/lmdb/lmdb_mdb.c)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(patch_and_copy_cext)} {(lmdb.dir/lmdb/cpython.c)} 
                                  {(Modules/lmdb/_lmdb_cpython.c)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_lmdb_cpython)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [6672 6871]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [6656]
            )
          spids: [6652 6655]
        )
        (command.FuncDef
          name: extractpyrex
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (C {(rm)} {(-rf)} {(pyrex.dir)})
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../Pyrex-0.9.9.tar.gz)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mv)} {(Pyrex-0.9.9)} {(pyrex.dir)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [6904 6958]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [6888]
            )
          spids: [6884 6887]
        )
        (command.FuncDef
          name: patchmsgpack
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_DollarName '$IS_XX'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(msgpack-) (Lit_Other '*')} {(msgpack.dir)} 
                                  {(Lib/msgpack)} {(Modules/msgpack)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xjvf)} {(../msgpack-python-20111221.tar.bz2)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mv)} {(msgpack-python-20111221)} {(msgpack.dir)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:VERSION spids:[7065])
                                  op: Equal
                                  rhs: 
                                    {
                                      (word_part.CommandSubPart
                                        command_list: 
                                          (command.CommandList
                                            children: [
                                              (C {(grep)} {(SQ <'^version = '>)} 
                                                {(msgpack.dir/setup.py)}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [7066 7074]
                                      )
                                    }
                                  spids: [7065]
                                )
                              ]
                              spids: [7063]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(test)} {(DQ ($ VSub_DollarName '$VERSION'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (command.Subshell
                                  child: 
                                    (command.AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(cd)} {(msgpack.dir/msgpack)})
                                        (command.SimpleCommand
                                          words: [{($ VSub_DollarName '$PATCH')} {(-p0)}]
                                          redirects: [
                                            (redir.Redir
                                              op: <Redir_Less '<'>
                                              fd: 16777215
                                              arg_word: {(../../../msgpack_pyx.patch)}
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                  spids: [7092 7105]
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mv)} {(msgpack.dir/msgpack/_msgpack.pyx)} 
                                  {(msgpack.dir/msgpack/_msgpack_msgpack.pyx)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(run_pyrexc)} {(msgpack.dir/msgpack/_msgpack_msgpack.pyx)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/msgpack)} {(Modules/msgpack)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (command.SimpleCommand
                                  words: [{(echo)} {(DQ ($ VSub_DollarName '$VERSION'))}]
                                  redirects: [
                                    (redir.Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(Lib/msgpack/__version__.py)}
                                    )
                                  ]
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(msgpack.dir/msgpack/__init__.py)} {(Lib/msgpack/)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(msgpack.dir/msgpack/_msgpack_msgpack.c)} 
                                  {(msgpack.dir/msgpack/) (Lit_Other '*') (.h)} {(Modules/msgpack/)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(generate_loader_py)} {(_msgpack_msgpack)} {(msgpack._msgpack)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_msgpack_msgpack)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [6994 7239]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [6978]
            )
          spids: [6974 6977]
        )
        (command.FuncDef
          name: patchconcurrence
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(concurrence-) (Lit_Other '*')} {(concurrence.dir)} 
                                  {(Lib/concurrence)} {(Modules/concurrence)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../concurrence-0.3.1.tar.gz)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mv)} {(concurrence-0.3.1)} {(concurrence.dir)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/concurrence)} {(Modules/concurrence)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (command.Pipeline
                                  children: [
                                    (command.Subshell
                                      child: 
                                        (command.AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(cd)} {(concurrence.dir/lib)})
                                            (C {(tar)} {(c)} 
                                              {
                                                (word_part.CommandSubPart
                                                  command_list: 
                                                    (command.CommandList
                                                      children: [
                                                        (C {(find)} {(concurrence)} {(-type)} {(f)} 
                                                          {(-iname)} {(SQ <'*.py'>)}
                                                        )
                                                      ]
                                                    )
                                                  left_token: <Left_CommandSub '$('>
                                                  spids: [7374 7388]
                                                )
                                              }
                                            )
                                          ]
                                        )
                                      spids: [7363 7389]
                                    )
                                    (command.Subshell
                                      child: 
                                        (command.AndOr
                                          ops: [Op_DAmp]
                                          children: [(C {(cd)} {(Lib)}) (C {(tar)} {(x)})]
                                        )
                                      spids: [7394 7404]
                                    )
                                  ]
                                  negated: F
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(generate_loader_py)} {(_concurrence_event)} {(concurrence._event)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (redir.Redir
                                  op: <Redir_Great '>'>
                                  fd: 16777215
                                  arg_word: {(Modules/concurrence/event.h)}
                                )
                                (redir.HereDoc
                                  op: <Redir_DLess '<<'>
                                  fd: 16777215
                                  here_begin: {(SQ <END>)}
                                  here_end_span_id: 7445
                                  stdin_parts: [
                                    ('/**** pts ****/\n')
                                    ('#include <event2/event.h>\n')
                                    ('#include <event2/event_struct.h>\n')
                                    ('#include <event2/event_compat.h>\n')
                                  ]
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(run_pyrexc)} 
                                  {(concurrence.dir/lib/concurrence/concurrence._event.pyx)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(patch_and_copy_cext)} 
                                  {(concurrence.dir/lib/concurrence/concurrence._event.c)} {(Modules/concurrence/concurrence._event.c)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_concurrence_event)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(generate_loader_py)} {(_concurrence_io_io)} {(concurrence.io._io)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(run_pyrexc)} 
                                  {(concurrence.dir/lib/concurrence/io/concurrence.io._io.pyx)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [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: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [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: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_concurrence_io_io)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(generate_loader_py)} {(_concurrence_database_mysql_mysql)} 
                                  {(concurrence.database.mysql._mysql)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [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: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [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: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_concurrence_database_mysql_mysql)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [7275 7628]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [7259]
            )
          spids: [7255 7258]
        )
        (command.FuncDef
          name: patchpycrypto
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(pycrypto-) (Lit_Other '*')} {(pycrypto.dir)} 
                                  {(Lib/Crypto)} {(Modules/pycrypto)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../pycrypto-2.3.tar.gz)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mv)} {(pycrypto-2.3)} {(pycrypto.dir)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/Crypto)} {(Modules/pycrypto)} 
                                  {(Modules/pycrypto/libtom)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (command.Pipeline
                                  children: [
                                    (command.Subshell
                                      child: 
                                        (command.AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(cd)} {(pycrypto.dir/lib)})
                                            (C {(tar)} {(c)} 
                                              {
                                                (word_part.CommandSubPart
                                                  command_list: 
                                                    (command.CommandList
                                                      children: [
                                                        (C {(find)} {(Crypto)} {(-type)} {(f)} {(-iname)} 
                                                          {(SQ <'*.py'>)}
                                                        )
                                                      ]
                                                    )
                                                  left_token: <Left_CommandSub '$('>
                                                  spids: [7762 7776]
                                                )
                                              }
                                            )
                                          ]
                                        )
                                      spids: [7751 7777]
                                    )
                                    (command.Subshell
                                      child: 
                                        (command.AndOr
                                          ops: [Op_DAmp]
                                          children: [(C {(cd)} {(Lib)}) (C {(tar)} {(x)})]
                                        )
                                      spids: [7782 7792]
                                    )
                                  ]
                                  negated: F
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(ln)} {(-s)} {(_Crypto_Cipher_DES.c)} {(Modules/pycrypto/DES.c)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [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: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(pycrypto.dir/src/libtom/tomcrypt_des.c)} 
                                  {(pycrypto.dir/src/libtom/) (Lit_Other '*') (.h)} {(Modules/pycrypto/libtom/)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:M spids:[7888])
                                  op: Equal
                                  spids: [7888]
                                )
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:CEXT_MODNAME spids:[7890])
                                  op: Equal
                                  spids: [7890]
                                )
                              ]
                              spids: [7886]
                            )
                            (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.Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (lhs_expr.LhsName name:CEXT_MODNAME spids:[7942])
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (word_part.BracedVarSub
                                                  token: <VSub_Name M>
                                                  suffix_op: 
                                                    (suffix_op.StringUnary
                                                      op_id: VOp1_DPound
                                                      arg_word: {('*') (Lit_Slash /)}
                                                    )
                                                  spids: [7944 7949]
                                                )
                                              )
                                            }
                                          spids: [7942]
                                        )
                                      ]
                                      spids: [7942]
                                    )
                                    (command.Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (lhs_expr.LhsName name:CEXT_MODNAME spids:[7953])
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (word_part.BracedVarSub
                                                  token: <VSub_Name CEXT_MODNAME>
                                                  suffix_op: 
                                                    (suffix_op.PatSub
                                                      pat: {(._)}
                                                      replace: {(_)}
                                                      replace_mode: Lit_Slash
                                                      spids: [7957]
                                                    )
                                                  spids: [7955 7962]
                                                )
                                              )
                                            }
                                          spids: [7953]
                                        )
                                      ]
                                      spids: [7953]
                                    )
                                    (command.Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (lhs_expr.LhsName name:CEXT_MODNAME spids:[7966])
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (word_part.BracedVarSub
                                                  token: <VSub_Name CEXT_MODNAME>
                                                  suffix_op: 
                                                    (suffix_op.PatSub
                                                      pat: {(.)}
                                                      replace: {(_)}
                                                      replace_mode: Lit_Slash
                                                      spids: [7970]
                                                    )
                                                  spids: [7968 7975]
                                                )
                                              )
                                            }
                                          spids: [7966]
                                        )
                                      ]
                                      spids: [7966]
                                    )
                                    (command.Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (lhs_expr.LhsName name:CEXT_MODNAME spids:[7979])
                                          op: Equal
                                          rhs: 
                                            {(_) 
                                              (DQ 
                                                (word_part.BracedVarSub
                                                  token: <VSub_Name CEXT_MODNAME>
                                                  suffix_op: 
                                                    (suffix_op.StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {(_)}
                                                    )
                                                  spids: [7982 7986]
                                                )
                                              )
                                            }
                                          spids: [7979]
                                        )
                                      ]
                                      spids: [7979]
                                    )
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(generate_loader_py)} 
                                          {(DQ ($ VSub_DollarName '$CEXT_MODNAME'))} {(DQ ($ VSub_DollarName '$M'))}
                                        )
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(patch_and_copy_cext)} 
                                          {
                                            (DQ (pycrypto.dir/src/) 
                                              (word_part.BracedVarSub
                                                token: <VSub_Name M>
                                                suffix_op: 
                                                  (suffix_op.StringUnary
                                                    op_id: VOp1_DPound
                                                    arg_word: {('*.')}
                                                  )
                                                spids: [8013 8017]
                                              ) (.c)
                                            )
                                          } {(Modules/pycrypto/) (DQ ($ VSub_DollarName '$CEXT_MODNAME')) (.c)}
                                        )
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(enable_module)} {(DQ ($ VSub_DollarName '$CEXT_MODNAME'))})
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [7938 8051]
                                )
                              spids: [7898 7936]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(perl)} {(-0777)} {(-pi)} {(-e)} 
                                  {
                                    (SQ <'s@ Py_InitModule\\("Crypto[.]\\w+[.]"@ Py_InitModule(""@g'>)
                                  } {(Modules/pycrypto/hash_template.c)} {(Modules/pycrypto/stream_template.c)} 
                                  {(Modules/pycrypto/block_template.c)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [7661 8089]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [7645]
            )
          spids: [7641 7644]
        )
        (command.FuncDef
          name: patchaloaes
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(aloaes-) (Lit_Other '*')} {(aloaes.dir)} {(Lib/aes)} 
                                  {(Modules/aloaes)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(tar)} {(xzvf)} {(../alo-aes-0.3.tar.gz)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mv)} {(alo-aes-0.3)} {(aloaes.dir)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(mkdir)} {(Lib/aes)} {(Modules/aloaes)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(aloaes.dir/aes/) (Lit_Other '*') (.py)} {(Lib/aes/)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(generate_loader_py)} {(_aes_aes)} {(aes._aes)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(patch_and_copy_cext)} {(aloaes.dir/aes/aesmodule.c)} 
                                  {(Modules/aloaes/_aes_aes.c)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(aloaes.dir/aes/rijndael-alg-fst.c)} 
                                  {(aloaes.dir/aes/rijndael-alg-fst.h)} {(Modules/aloaes/)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(enable_module)} {(_aes_aes)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [8122 8287]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [8106]
            )
          spids: [8102 8105]
        )
        (command.FuncDef
          name: patchlocale
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} 
                                          {(Lit_Other '=')} {(Darwin)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (command.Sentence
                                              child: (C {(test)} {(DQ ($ VSub_DollarName '$IS_PY3'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (command.AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (command.Subshell
                                                  child: 
                                                    (command.AndOr
                                                      ops: [Op_DAmp]
                                                      children: [
                                                        (C {(cd)} {(Lib)})
                                                        (command.SimpleCommand
                                                          words: [
                                                            {($ VSub_DollarName '$PATCH')}
                                                            {(-p1)}
                                                          ]
                                                          redirects: [
                                                            (redir.Redir
                                                              op: <Redir_Less '<'>
                                                              fd: 16777215
                                                              arg_word: 
                                                                {(../../locale.darwin.3.2.patch)}
                                                            )
                                                          ]
                                                        )
                                                      ]
                                                    )
                                                  spids: [8364 8377]
                                                )
                                                (command.ControlFlow
                                                  token: <ControlFlow_Return return>
                                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 8361]
                                        )
                                      ]
                                      else_action: [
                                        (command.AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (command.Subshell
                                              child: 
                                                (command.AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(cd)} {(Lib)})
                                                    (command.SimpleCommand
                                                      words: [{($ VSub_DollarName '$PATCH')} {(-p1)}]
                                                      redirects: [
                                                        (redir.Redir
                                                          op: <Redir_Less '<'>
                                                          fd: 16777215
                                                          arg_word: {(../../locale.darwin.2.7.patch)}
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                )
                                              spids: [8395 8408]
                                            )
                                            (command.ControlFlow
                                              token: <ControlFlow_Return return>
                                              arg_word: {(DQ ($ VSub_QMark '$?'))}
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [8388 8419]
                                    )
                                  ]
                                  spids: [16777215 8341]
                                )
                              ]
                              spids: [16777215 8422]
                            )
                          ]
                        )
                      spids: [8311 8425]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [8304]
            )
          spids: [8300 8303]
        )
        (command.FuncDef
          name: makeminipython
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ ($ VSub_DollarName '$IS_CO'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(0)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} 
                                          {(Lit_Other '=')} {(Darwin)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(make)} {(python.exe)})
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(mv)} {(-f)} {(python.exe)} {(minipython)})
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 8492]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(make)} {(python)})
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(mv)} {(-f)} {(python)} {(minipython)})
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                              spids: [8525 8558]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_DollarName '$STRIP')} {(minipython)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [8458 8574]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [8442]
            )
          spids: [8438 8441]
        )
        (command.FuncDef
          name: makepython
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} 
                                          {(Lit_Other '=')} {(Darwin)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(make)} {(python.exe)})
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 8624]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(make)} {(python)})
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(rm)} {(-f)} {(python.exe)})
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(ln)} {(-s)} {(python)} {(python.exe)})
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                              spids: [8640 8688]
                            )
                          ]
                        )
                      spids: [8594 8691]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [8591]
            )
          spids: [8587 8590]
        )
        (command.FuncDef
          name: buildpythonlibzip
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: 
                        (command.CommandList
                          children: [
                            (C {(set)} {(-ex)})
                            (command.Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:IFS spids:[8722])
                                  op: Equal
                                  rhs: {(SQ <'\n'>)}
                                  spids: [8722]
                                )
                              ]
                              spids: [8722]
                            )
                            (command.AndOr
                              ops: [Op_DPipe Op_DPipe]
                              children: [
                                (C {(cd)} {(DQ ($ VSub_DollarName '$BUILDDIR'))})
                                (command.Subshell
                                  child: 
                                    (command.AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-f)} {(xlib.zip)})
                                        (C {(mv)} {(xlib.zip)} {(xlib.zip.old)})
                                      ]
                                    )
                                  spids: [8737 8751]
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-rf)} {(xlib)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cp)} {(-R)} {(Lib)} {(xlib)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-f)} 
                                  {
                                    (word_part.CommandSubPart
                                      command_list: 
                                        (command.CommandList
                                          children: [(C {(find)} {(xlib)} {(-iname)} {(SQ <'*.pyc'>)})]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [8806 8816]
                                    )
                                  }
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (C {(rm)} {(-f)} {(xlib/plat-) (Lit_Other '*') (/regen)})
                            (command.AndOr
                              ops: [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) (Lit_Other '*')} 
                                  {(xlib/plat-atheos)} {(xlib/plat-beos) (Lit_Other '*')} {(xlib/plat-freebsd) (Lit_Other '*')} 
                                  {(xlib/plat-irix) (Lit_Other '*')} {(xlib/plat-unixware) (Lit_Other '*')} {(xlib/plat-mac)} {(xlib/plat-netbsd) (Lit_Other '*')} 
                                  {(xlib/plat-next) (Lit_Other '*')} {(xlib/plat-os2) (Lit_Other '*')} {(xlib/plat-riscos)} {(xlib/plat-sunos) (Lit_Other '*')} 
                                  {(xlib/site-packages) (Lit_Other '*')} {(xlib/sqlite3/test/) (Lit_Other '*')} {(xlib/turtle) (Lit_Other '*')} {(xlib/tkinter)} 
                                  {(xlib/bsddb/test)} {(xlib/test)} {(xlib/) (Lit_Other '*') (.egg-info)}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} 
                                          {(Lit_Other '=')} {(Darwin)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(rm)} {(-rf)} {(xlib/plat-linux2)})
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 8946]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(rm)} {(-rf)} {(xlib/plat-darwin)})
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                              spids: [8964 8982]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: (C {(test)} {(DQ ($ VSub_DollarName '$IS_PY3'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(cp)} {(../site.3.2.py)} {(xlib/site.py)})
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (command.Subshell
                                          child: 
                                            (command.AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(cd)} {(xlib)})
                                                (command.SimpleCommand
                                                  words: [{($ VSub_DollarName '$PATCH')} {(-p1)}]
                                                  redirects: [
                                                    (redir.Redir
                                                      op: <Redir_Less '<'>
                                                      fd: 16777215
                                                      arg_word: 
                                                        {
                                                          (
../../encodings_idna_missing_unicodedata.3.2.patch
                                                          )
                                                        }
                                                    )
                                                  ]
                                                )
                                              ]
                                            )
                                          spids: [9020 9033]
                                        )
                                        (command.ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(DQ ($ VSub_QMark '$?'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 8994]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(cp)} {(../site.2.7.py)} {(xlib/site.py)})
                                    (command.ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                                    )
                                  ]
                                )
                              ]
                              spids: [9044 9062]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(cd)} {(xlib)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-f)} {(Lit_Other '*') (Lit_TildeLike '~')} 
                                  {(Lit_Other '*') (/) (Lit_Other '*') (Lit_TildeLike '~')}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(rm)} {(-f)} {(../xlib.zip)})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(run_mkzip)} {(../xlib.zip)} {(Lit_Other '*')})
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(DQ ($ VSub_QMark '$?'))}
                                )
                              ]
                            )
                          ]
                        )
                      spids: [8715 9129]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [8708]
            )
          spids: [8704 8707]
        )
        (command.FuncDef
          name: do_elfosfix
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(perl)} 
                      {(-e) 
                        (SQ <'\n'> <'use integer;\n'> <'use strict;\n'> <'\n'> 
                          <'#** ELF operating system codes from FreeBSDs /usr/share/misc/magic\n'> <'my %ELF_os_codes=qw{\n'> <'SYSV 0\n'> <'HP-UX 1\n'> <'NetBSD 2\n'> <'GNU/Linux 3\n'> <'GNU/Hurd 4\n'> 
                          <'86Open 5\n'> <'Solaris 6\n'> <'Monterey 7\n'> <'IRIX 8\n'> <'FreeBSD 9\n'> <'Tru64 10\n'> <'Novell 11\n'> 
                          <'OpenBSD 12\n'> <'ARM 97\n'> <'embedded 255\n'> <'};\n'> <'my $from_oscode=$ELF_os_codes{"SYSV"};\n'> 
                          <'my $to_oscode=$ELF_os_codes{"GNU/Linux"};\n'> <'\n'> <'for my $fn (@ARGV) {\n'> <'  my $f;\n'> <'  if (!open $f, "+<", $fn) {\n'> 
                          <'    print STDERR "$0: $fn: $!\\n";\n'> <'    exit 2  # next\n'> <'  }\n'> <'  my $head;\n'> 
                          <'  # vvv Imp: continue on next file instead of die()ing\n'> <'  die if 8!=sysread($f,$head,8);\n'> <'  if (substr($head,0,4)ne"\\177ELF") {\n'> 
                          <'    print STDERR "$0: $fn: not an ELF file\\n";\n'> <'    close($f); next;\n'> <'  }\n'> <'  if (vec($head,7,8)==$to_oscode) {\n'> 
                          <'    print STDERR "$0: info: $fn: already fixed\\n";\n'> <'  }\n'> <'  if ($from_oscode!=$to_oscode && vec($head,7,8)==$from_oscode) {\n'> 
                          <'    vec($head,7,8)=$to_oscode;\n'> <'    die if 0!=sysseek($f,0,0);\n'> <'    die if length($head)!=syswrite($f,$head);\n'> <'  }\n'> 
                          <'  die "file error\\n" if !close($f);\n'> <'}'>
                        )
                      } {(--)} {(DQ ($ VSub_At '$@'))}
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [9152]
            )
          spids: [9148 9151]
        )
        (command.FuncDef
          name: buildtarget
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(cp)} {(DQ ($ VSub_DollarName '$BUILDDIR')) (/python.exe)} 
                      {(DQ ($ VSub_DollarName '$BUILDDIR') (/) ($ VSub_DollarName '$TARGET'))}
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {($ VSub_DollarName '$STRIP')} 
                      {(DQ ($ VSub_DollarName '$BUILDDIR') (/) ($ VSub_DollarName '$TARGET'))}
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ VSub_DollarName '$UNAME'))} {(Lit_Other '=')} {(Linux)})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(do_elfosfix)} 
                              {
                                (DQ ($ VSub_DollarName '$BUILDDIR') (/) ($ VSub_DollarName '$TARGET'))
                              }
                            )
                            (command.ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(DQ ($ VSub_QMark '$?'))}
                            )
                          ]
                        )
                      ]
                      spids: [16777215 9285]
                    )
                  ]
                  spids: [16777215 9305]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.SimpleCommand
                      words: [{(cat)} {(DQ ($ VSub_DollarName '$BUILDDIR')) (/xlib.zip)}]
                      redirects: [
                        (redir.Redir
                          op: <Redir_DGreat '>>'>
                          fd: 16777215
                          arg_word: 
                            {(DQ ($ VSub_DollarName '$BUILDDIR') (/) ($ VSub_DollarName '$TARGET'))}
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(cp)} {(DQ ($ VSub_DollarName '$BUILDDIR') (/) ($ VSub_DollarName '$TARGET'))} 
                      {(DQ ($ VSub_DollarName '$TARGET'))}
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(ls)} {(-l)} {(DQ ($ VSub_DollarName '$TARGET'))})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [9230]
            )
          spids: [9226 9229]
        )
        (command.FuncDef
          name: betry
          body: 
            (command.BraceGroup
              children: [
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(mkdir)} {(-p)} {(bch)} {(be/bardir)})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.SimpleCommand
                      words: [{(echo)} {(DQ ("print 'FOO'"))}]
                      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(be/foo.py)})]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.SimpleCommand
                      words: [{(echo)} {(DQ ("print 'BAR'"))}]
                      redirects: [
                        (redir.Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(be/bardir/bar.py)}
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(cp)} {(DQ ($ VSub_DollarName '$TARGET'))} {(be/sp)})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(cp)} {(DQ ($ VSub_DollarName '$TARGET'))} {(bch/sp)})
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
                (C {(export)} {(Lit_VarLike 'PYTHONPATH=') (bardir)})
                (C {(unset)} {(PYTHONHOME)})
                (command.AndOr
                  ops: [Op_DPipe]
                  children: [
                    (command.Subshell
                      child: (command.AndOr ops:[Op_DAmp] children:[(C {(cd)} {(be)}) (C {(./sp)})])
                      spids: [9484 9492]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {(DQ ($ VSub_QMark '$?'))}
                    )
                  ]
                )
              ]
              spids: [9375]
            )
          spids: [9371 9374]
        )
        (command.FuncDef
          name: fail_step
          body: 
            (command.BraceGroup
              children: [
                (C {(set)} {(Lit_Other '+') (ex)})
                (C {(echo)} 
                  {
                    (DQ ('Failed in step ') ($ VSub_Number '$2') (' with code ') ($ VSub_Number '$1'))
                  }
                )
                (C {(echo)} 
                  {
                    (DQ ('Fix and retry with: ') ($ VSub_Number '$0') (' ') 
                      (word_part.BracedVarSub
                        token: <VSub_Name TARGET>
                        suffix_op: (suffix_op.StringUnary op_id:VOp1_Percent arg_word:{(-static)})
                        spids: [9534 9538]
                      ) (' ') ($ VSub_Number '$2') (' ') ($ VSub_Number '$3')
                    )
                  }
                )
                (command.ControlFlow
                  token: <ControlFlow_Exit exit>
                  arg_word: {(DQ ($ VSub_Number '$1'))}
                )
              ]
              spids: [9509]
            )
          spids: [9505 9508]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:XSTEPS spids:[9555])
              op: Equal
              rhs: 
                {
                  (DQ 
                    (word_part.CommandSubPart
                      command_list: 
                        (command.CommandList
                          children: [(C {(echo)} {($ VSub_DollarName '$STEPS')})]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [9557 9561]
                    ) (' ')
                  )
                }
              spids: [9555]
            )
          ]
          spids: [9555]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:XSTEPS0 spids:[9568])
              op: Equal
              rhs: {(DQ ($ VSub_DollarName '$XSTEPS'))}
              spids: [9568]
            )
          ]
          spids: [9568]
        )
        (command.ForEach
          iter_name: STEP
          iter_words: [{($ VSub_DollarName '$XSTEPS')}]
          do_arg_iter: F
          body: 
            (command.DoGroup
              children: [
                (C {(echo)} {(DQ ('Running step: ') ($ VSub_DollarName '$STEP'))})
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:XSTEPS spids:[9594])
                      op: Equal
                      rhs: 
                        {
                          (DQ 
                            (word_part.BracedVarSub
                              token: <VSub_Name XSTEPS>
                              suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{('* ')})
                              spids: [9596 9600]
                            )
                          )
                        }
                      spids: [9594]
                    )
                  ]
                  spids: [9594]
                )
                (C {(echo)} {(DQ ('Steps remaining: ') ($ VSub_DollarName '$XSTEPS'))})
                (C {(set)} {(-x)})
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              children: [(C {($ VSub_DollarName '$STEP')})]
                              negated: T
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(set)} {(Lit_Other '+') (x)})
                        (C {(fail_step)} {(DQ ($ VSub_QMark '$?'))} {(DQ ($ VSub_DollarName '$STEP'))} 
                          {(DQ ($ VSub_DollarName '$XSTEPS'))}
                        )
                      ]
                      spids: [16777215 9632]
                    )
                  ]
                  spids: [16777215 9656]
                )
                (C {(set)} {(Lit_Other '+') (x)})
              ]
              spids: [9583 9664]
            )
          spids: [9579 9581]
        )
        (C {(echo)} 
          {
            (DQ ('OK running ') ($ VSub_Number '$0') (' ') 
              (word_part.BracedVarSub
                token: <VSub_Name TARGET>
                suffix_op: (suffix_op.StringUnary op_id:VOp1_Percent arg_word:{(-static)})
                spids: [9672 9676]
              ) (' ') ($ VSub_DollarName '$XSTEPS0')
            )
          }
        )
        (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
      ]
      spids: [16777215 138]
    )
  ]
  spids: [16777215 9687]
)