(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_flavor)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name FLAVOR>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(grsec)})
                spids: [7 11]
              )
            }
          spids: [6]
        )
      ]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_kpkg)
          op: Equal
          rhs: {(linux-) ($ VSub_Name "$_flavor")}
          spids: [13]
        )
      ]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_realname) op:Equal rhs:{(ipfw)} spids:[17])]
      spids: [17]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_name)
          op: Equal
          rhs: {($ VSub_Name "$_realname") (-) ($ VSub_Name "$_flavor")}
          spids: [20]
        )
      ]
      spids: [20]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_kver) op:Equal rhs:{(4.4.47)} spids:[26])]
      spids: [26]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_kpkgrel) op:Equal rhs:{(0)} spids:[29])]
      spids: [29]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_realver) op:Equal rhs:{(20130607)} spids:[33])]
      spids: [33]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_mypkgrel) op:Equal rhs:{(0)} spids:[36])]
      spids: [36]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(-f)} {(../linux-) ($ VSub_Name "$_flavor") (/APKBUILD)} 
                  {(Lit_Other "]")}
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(.)} {(../linux-) ($ VSub_Name "$_flavor") (/APKBUILD)})
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$_kver"))} {(KW_Bang "!") (Lit_Other "=")} 
                  {(DQ ($ VSub_Name "$pkgver"))} {(Lit_Other "]")}
                )
                (C {(die)} 
                  {(DQ ($ VSub_Name "$_name") (": Please update _kver to ") ($ VSub_Name "$pkgver"))}
                )
              ]
              op_id: Op_DAmp
            )
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$_kpkgrel"))} {(KW_Bang "!") (Lit_Other "=")} 
                  {(DQ ($ VSub_Name "$pkgrel"))} {(Lit_Other "]")}
                )
                (C {(die)} 
                  {
                    (DQ ($ VSub_Name "$_name") (": Please update _kpkgrel to ") ($ VSub_Name "$pkgrel"))
                  }
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [-1 56]
        )
      ]
      spids: [-1 117]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_kernelver)
          op: Equal
          rhs: {($ VSub_Name "$_kver") (-r) ($ VSub_Name "$_kpkgrel")}
          spids: [120]
        )
      ]
      spids: [120]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_abi_release)
          op: Equal
          rhs: {(${ VSub_Name _kver) (-) (${ VSub_Name _kpkgrel) (-) (${ VSub_Name _flavor)}
          spids: [125]
        )
      ]
      spids: [125]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgname)
          op: Equal
          rhs: {($ VSub_Name "$_name")}
          spids: [139]
        )
      ]
      spids: [139]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgver)
          op: Equal
          rhs: {($ VSub_Name "$_kver")}
          spids: [142]
        )
      ]
      spids: [142]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgrel)
          op: Equal
          rhs: 
            {
              (ArithSubPart
                anode: 
                  (ArithBinary
                    op_id: Arith_Plus
                    left: (ArithWord w:{($ VSub_Name "$_kpkgrel")})
                    right: (ArithWord w:{($ VSub_Name "$_mypkgrel")})
                  )
                spids: [146 153]
              )
            }
          spids: [145]
        )
      ]
      spids: [145]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("BSD ipfw firewall and dummynet suite (linux-grsec modules)"))}
          spids: [155]
        )
      ]
      spids: [155]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("http://info.iet.unipi.it/~luigi/dummynet/"))}
          spids: [160]
        )
      ]
      spids: [160]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ )} spids:[165])]
      spids: [165]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (BSD))} spids:[169])]
      spids: [169]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends)
          op: Equal
          rhs: {(DQ (linux-) (${ VSub_Name _flavor) ("=") (${ VSub_Name _kernelver))}
          spids: [174]
        )
      ]
      spids: [174]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: 
            {
              (DQ (linux-) (${ VSub_Name _flavor) ("-dev=") (${ VSub_Name _kernelver) (" iptables-dev"))
            }
          spids: [186]
        )
      ]
      spids: [186]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(SQ )} spids:[199])]
      spids: [199]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:install_if)
          op: Equal
          rhs: 
            {
              (DQ (linux-) ($ VSub_Name "$_flavor") ("=") ($ VSub_Name "$_kernelver") (" ") 
                ($ VSub_Name "$_realname")
              )
            }
          spids: [201]
        )
      ]
      spids: [201]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ("http://info.iet.unipi.it/~luigi/doc/") (${ VSub_Name _realver) (-) 
                (${ VSub_Name _realname) ("3.tgz\n") ("\tipfw-kmod-dereffix.patch\n") ("\tipfw-cgroup.patch\n") ("\tipfw-strict-uidgid.patch\n") 
                ("\tipfw-hookops.patch")
              )
            }
          spids: [211]
        )
      ]
      spids: [211]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[228])]
      spids: [228]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$srcdir") (/ipfw3-2012))}
          spids: [233]
        )
      ]
      spids: [233]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[248])]
              spids: [246]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name "$source")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$i")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.patch)}]
                          action: [
                            (Sentence
                              child: (C {(msg)} {($ VSub_Name "$i")})
                              terminator: <Op_Semi ";">
                            )
                            (AndOr
                              children: [
                                (C {(patch)} {(-p1)} {(-i)} 
                                  {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i")}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [277 279 303 -1]
                        )
                      ]
                      spids: [270 274 306]
                    )
                  ]
                  spids: [267 309]
                )
              spids: [263 265]
            )
          ]
          spids: [243]
        )
      spids: [239 242]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (C {(make)} {(kipfw)} 
              {(Lit_VarLike "KSRC=") (/usr/src/linux-headers-) (${ VSub_Name _abi_release)} {(Lit_VarLike "V=") (1)}
            )
          ]
          spids: [318]
        )
      spids: [314 317]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir") (/kipfw-mod))})
            (C {(mkdir)} {(-p)} 
              {(DQ ($ VSub_Name "$pkgdir") (/lib/modules/) (${ VSub_Name _abi_release) (/misc/))}
            )
            (ForEach
              iter_name: module
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [(C {(find)} {(.)} {(-type)} {(f)} {(-name)} {(SQ <"*.ko">)})]
                      )
                    left_token: <Left_Backtick "`">
                    spids: [379 393]
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(install)} {(-D)} {(-m644)} {($ VSub_Name "$module")} 
                      {
                        (DQ ($ VSub_Name "$pkgdir") (/lib/modules/) (${ VSub_Name _abi_release) (/misc/))
                      }
                    )
                  ]
                  spids: [396 417]
                )
              spids: [378 394]
            )
          ]
          spids: [348]
        )
      spids: [344 347]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: 
            {
              (DQ ("004e65e6d545a89c4dcc3e741e287444  20130607-ipfw3.tgz\n") 
                ("c4f9a8065d448da3901b3d8219dd98ca  ipfw-kmod-dereffix.patch\n") ("f0d782e9869b26aae8a919645a48fc88  ipfw-cgroup.patch\n") 
                ("0784941754652eefcad39f84892857cc  ipfw-strict-uidgid.patch\n") ("ee8b1d86c92e47dc7b188486441653cc  ipfw-hookops.patch")
              )
            }
          spids: [421]
        )
      ]
      spids: [421]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"7dc80437b137e629f8ef3a7889b24ffbd1c27274e9cce15fd1f3b2c8620c6d64  20130607-ipfw3.tgz\n"
                ) ("84967fe411d8c35343c39b321aaddc830ef955ab2e27f78de1cf99c496b2cbfa  ipfw-kmod-dereffix.patch\n") 
                (
"7538104b3ae3ea175c06b3d021877f1961688e9f6a897a80f75e864c21c162d1  ipfw-cgroup.patch\n"
                ) ("46ca93a91a4cb4a6e84b48c174f8250c3e4316c30035d30393370573c1a25f09  ipfw-strict-uidgid.patch\n") 
                (
"7fd0388d86dc375c74ff2083ae2a099b5a96339f253e5c606806c23cf5db939a  ipfw-hookops.patch"
                )
              )
            }
          spids: [430]
        )
      ]
      spids: [430]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"6c4c2c7d4795094b9ff72212394e7dee44e5f9e09e97021b5ac9c3fad6de5a32b1d608ae9572da17f62cb37d076d89ab26859c61255d03d6bce22ca527f2c8ec  20130607-ipfw3.tgz\n"
                ) 
                (
"e445c17ebc01feea5ce473819c386c7e07507889365a8790d8a8e8f41bbea70b06fc7e0a7e98d558b9653abe1c175706684a5222f0003f5350902c6927df9b72  ipfw-kmod-dereffix.patch\n"
                ) 
                (
"c1841f7a47ef840a8fde575e84ea47d71b7f80dbb0606f4a53f6c58bfcd157b26db003f1ecf2ff61c0138f81f8e56835c0866ed6ca31188a0bad6790a78edae8  ipfw-cgroup.patch\n"
                ) 
                (
"ebdb75c96977e971a40e028ac64f32b6b91cb41b6d1ea17c0583d80880a9a59ede186f071aec2cdbe8aa34c713035c497a4e3cff131bf7e63be2909d8b9a5b1f  ipfw-strict-uidgid.patch\n"
                ) 
                (
"768ea00a64205a05b12ed2a8da08b6d3d4d142a13b1dd6ca25d493a46f72a951faca40b6e796240bdec3c37ba249b215c082caeeda7ecd7056d05396ad591340  ipfw-hookops.patch"
                )
              )
            }
          spids: [439]
        )
      ]
      spids: [439]
    )
  ]
)