(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgname spids:[6])
          op: Equal
          rhs: {(py-beautifulsoup4)}
          spids: [6]
        )
      ]
      spids: [6]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:_pkgname spids:[9])
          op: Equal
          rhs: {(beautifulsoup4)}
          spids: [9]
        )
      ]
      spids: [9]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgver spids:[12])
          op: Equal
          rhs: {(4.5.1)}
          spids: [12]
        )
      ]
      spids: [12]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgrel spids:[15])
          op: Equal
          rhs: {(1)}
          spids: [15]
        )
      ]
      spids: [15]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgdesc spids:[18])
          op: Equal
          rhs: {(DQ ('A Python HTML/XML parser'))}
          spids: [18]
        )
      ]
      spids: [18]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:url spids:[23])
          op: Equal
          rhs: {(DQ ('http://www.crummy.com/software/BeautifulSoup/index.html'))}
          spids: [23]
        )
      ]
      spids: [23]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:arch spids:[28])
          op: Equal
          rhs: {(DQ (noarch))}
          spids: [28]
        )
      ]
      spids: [28]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:license spids:[33])
          op: Equal
          rhs: {(DQ (MIT))}
          spids: [33]
        )
      ]
      spids: [33]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:makedepends spids:[38])
          op: Equal
          rhs: {(DQ ('python2-dev py-setuptools python3-dev'))}
          spids: [38]
        )
      ]
      spids: [38]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:subpackages spids:[43])
          op: Equal
          rhs: 
            {
              (DQ (py3-) ($ VSub_DollarName '$_pkgname') (':_py3 py2-') ($ VSub_DollarName '$_pkgname') 
                (':_py2')
              )
            }
          spids: [43]
        )
      ]
      spids: [43]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:source spids:[52])
          op: Equal
          rhs: 
            {
              (DQ ('https://files.pythonhosted.org/packages/source/') 
                (word_part.BracedVarSub
                  token: <VSub_Name _pkgname>
                  suffix_op: 
                    (suffix_op.Slice
                      begin: (arith_expr.ArithWord w:{(Lit_Digits 0)})
                      length: (arith_expr.ArithWord w:{(Lit_Digits 1)})
                    )
                  spids: [55 61]
                ) (/) ($ VSub_DollarName '$_pkgname') (/) ($ VSub_DollarName '$_pkgname') (-) ($ VSub_DollarName '$pkgver') 
                (.tar.gz)
              )
            }
          spids: [52]
        )
      ]
      spids: [52]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:builddir spids:[71])
          op: Equal
          rhs: 
            {(DQ ($ VSub_DollarName '$srcdir')) (/) ($ VSub_DollarName '$_pkgname') (-) 
              ($ VSub_DollarName '$pkgver')
            }
          spids: [71]
        )
      ]
      spids: [71]
    )
    (command.FuncDef
      name: build
      body: 
        (command.BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_DollarName '$builddir'))})
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (C {(python2)} {(setup.py)} {(build)})
                (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (C {(python3)} {(setup.py)} {(build)})
                (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
          ]
          spids: [85]
        )
      spids: [81 84]
    )
    (command.FuncDef
      name: package
      body: 
        (command.BraceGroup
          children: [(C {(mkdir)} {(-p)} {(DQ ($ VSub_DollarName '$pkgdir'))})]
          spids: [127]
        )
      spids: [123 126]
    )
    (command.FuncDef
      name: _py2
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:replaces spids:[148])
                  op: Equal
                  rhs: {(DQ ($ VSub_DollarName '$pkgname'))}
                  spids: [148]
                )
              ]
              spids: [148]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[154])
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (word_part.BracedVarSub
                          token: <VSub_Name depends>
                          suffix_op: 
                            (suffix_op.PatSub
                              pat: {(py-)}
                              replace: {(py2-)}
                              replace_mode: Lit_Slash
                              spids: [158]
                            )
                          spids: [156 163]
                        )
                      )
                    }
                  spids: [154]
                )
              ]
              spids: [154]
            )
            (C {(_py)} {(python2)})
          ]
          spids: [145]
        )
      spids: [141 144]
    )
    (command.FuncDef
      name: _py3
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[181])
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (word_part.BracedVarSub
                          token: <VSub_Name depends>
                          suffix_op: 
                            (suffix_op.PatSub
                              pat: {(py-)}
                              replace: {(py3-)}
                              replace_mode: Lit_Slash
                              spids: [185]
                            )
                          spids: [183 190]
                        )
                      )
                    }
                  spids: [181]
                )
              ]
              spids: [181]
            )
            (C {(_py)} {(python3)})
          ]
          spids: [178]
        )
      spids: [174 177]
    )
    (command.FuncDef
      name: _py
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:python spids:[210])
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [210]
                )
              ]
              spids: [208]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[216])
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_DollarName '$pkgdesc') (' (for ') ($ VSub_DollarName '$python') (')'))
                    }
                  spids: [216]
                )
              ]
              spids: [216]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[225])
                  op: Equal
                  rhs: {(DQ ($ VSub_DollarName '$depends') (' ') ($ VSub_DollarName '$python'))}
                  spids: [225]
                )
              ]
              spids: [225]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:install_if spids:[233])
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_DollarName '$pkgname') ('=') ($ VSub_DollarName '$pkgver') (-r) 
                        ($ VSub_DollarName '$pkgrel') (' ') ($ VSub_DollarName '$python')
                      )
                    }
                  spids: [233]
                )
              ]
              spids: [233]
            )
            (C {(cd)} {(DQ ($ VSub_DollarName '$builddir'))})
            (C {($ VSub_DollarName '$python')} {(setup.py)} {(install)} 
              {(--prefix) (Lit_Other '=') (/usr)} {(--root) (Lit_Other '=') (DQ ($ VSub_DollarName '$subpkgdir'))}
            )
          ]
          spids: [205]
        )
      spids: [201 204]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:md5sums spids:[272])
          op: Equal
          rhs: {(DQ ('994abd90e691beaf7d42c00ffb2f3a67  beautifulsoup4-4.5.1.tar.gz'))}
          spids: [272]
        )
      ]
      spids: [272]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:sha256sums spids:[277])
          op: Equal
          rhs: 
            {
              (DQ 
                (
'3c9474036afda9136aac6463def733f81017bf9ef3510d25634f335b0c87f5e1  beautifulsoup4-4.5.1.tar.gz'
                )
              )
            }
          spids: [277]
        )
      ]
      spids: [277]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:sha512sums spids:[282])
          op: Equal
          rhs: 
            {
              (DQ 
                (
'd560d7f743507084ec546708d29bb3764512f5b2c380004280dde813350bf48d1697fddce3bd3f95186407bf5142941d7adc7d0de8e7962eb5ca1278dbc7e93f  beautifulsoup4-4.5.1.tar.gz'
                )
              )
            }
          spids: [282]
        )
      ]
      spids: [282]
    )
  ]
)