(command.CommandList
  children: [
    (C {<Id.KW_Set set>} {<-e>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:PATH)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName '$PATH') <Id.Lit_Colon ':'> <'/usr/local/bin'>}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:XBIN)
          op: assign_op.Equal
          rhs: {<'usr/xbin'>}
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:SRC) op:assign_op.Equal rhs:{<src>} spids:[18])]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TMPKB)
          op: assign_op.Equal
          rhs: {<32000>}
          spids: [25]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:PACKAGEDIR)
          op: assign_op.Equal
          rhs: {<'/usr/bigports/Packages'>}
          spids: [29]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:PACKAGESOURCEDIR)
          op: assign_op.Equal
          rhs: {<'/usr/bigports/Sources'>}
          spids: [32]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:PACKAGELIST)
          op: assign_op.Equal
          rhs: {<packages.install>}
          spids: [38]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:PACKAGESOURCELIST)
          op: assign_op.Equal
          rhs: {<package_sources.install>}
          spids: [44]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:secs)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: (C {<expr>} {<32>} {(SQ <'*'>)} {<64>})
              )
            }
          spids: [47]
        )
      ]
    )
    (C {<export>} {<Id.Lit_VarLike 'SHELL='> <'/bin/sh'>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TRUNK)
          op: assign_op.Equal
          rhs: {<https> <Id.Lit_Colon ':'> <'//gforge.cs.vu.nl/svn/minix/trunk'>}
          spids: [71]
        )
      ]
    )
    (command.ShFunction
      name: make_hdimage
      body: 
        (BraceGroup
          children: [
            (C {<dd>} {<Id.Lit_VarLike 'if='> ($ Id.VSub_DollarName '$TMPDISK1')} 
              {<Id.Lit_VarLike 'of='> <usrimage>} {<Id.Lit_VarLike 'bs='> ($ Id.VSub_DollarName '$BS')} 
              {<Id.Lit_VarLike 'count='> ($ Id.VSub_DollarName '$USRBLOCKS')}
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:rootsize)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: (C {<stat>} {<-size>} {<rootimage>})
                      )
                    }
                  spids: [100]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:usrsize)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: (C {<stat>} {<-size>} {<usrimage>})
                      )
                    }
                  spids: [112]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:rootsects)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: (C {<expr>} {($ Id.VSub_DollarName '$rootsize')} {<'/'>} {<512>})
                      )
                    }
                  spids: [125]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:usrsects)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: (C {<expr>} {($ Id.VSub_DollarName '$usrsize')} {<'/'>} {<512>})
                      )
                    }
                  spids: [139]
                )
              ]
            )
            (command.Simple
              words: [{<dd>} {<Id.Lit_VarLike 'count='> <2>}]
              redirects: [
                (redir
                  op: <Id.Redir_Less '<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: {<'/dev/zero'>}
                )
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<tmpimage>}
                )
              ]
              do_fork: T
            )
            (C {<partition>} {<-fm>} {<tmpimage>} {<2>} 
              {<81> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$rootsects') <Id.Lit_Star '*'>} {<0> <Id.Lit_Colon ':'> <0>} {<81> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$usrsects')}
            )
            (C {<installboot>} {<-m>} {<tmpimage>} {<'/usr/mdec/masterboot'>})
            (command.Simple
              words: [{<dd>} {<Id.Lit_VarLike 'count='> <1>}]
              redirects: [
                (redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<tmpimage>})
                (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<subpart>})
              ]
              do_fork: T
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:primsects)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (C {<expr>} {<1>} {<Id.Lit_Other '+'>} {($ Id.VSub_DollarName '$rootsects')} 
                            {<Id.Lit_Other '+'>} {($ Id.VSub_DollarName '$usrsects')}
                          )
                      )
                    }
                  spids: [217]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:cyl)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (C {<expr>} {(SQ <'('>)} {($ Id.VSub_DollarName '$primsects')} {(SQ <')'>)} 
                            {<'/'>} {($ Id.VSub_DollarName '$secs')} {<Id.Lit_Other '+'>} {<1>}
                          )
                      )
                    }
                  spids: [235]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:padsects)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (C {<expr>} {($ Id.VSub_DollarName '$cyl')} 
                            {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>)} {($ Id.VSub_DollarName '$secs')} {<->} {<1>} {<->} {($ Id.VSub_DollarName '$primsects')}
                          )
                      )
                    }
                  spids: [261]
                )
              ]
            )
            (BraceGroup
              children: [
                (command.Simple
                  words: [{<dd>} {<Id.Lit_VarLike 'count='> <1>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Less '<'>
                      loc: (redir_loc.Fd fd:0)
                      arg: {<'/dev/zero'>}
                    )
                  ]
                  do_fork: T
                )
                (C {<cat>} {<subpart>})
                (C {<cat>} {<rootimage>})
                (C {<cat>} {<usrimage>})
                (command.Simple
                  words: [{<dd>} {<Id.Lit_VarLike 'count='> ($ Id.VSub_DollarName '$padsects')}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Less '<'>
                      loc: (redir_loc.Fd fd:0)
                      arg: {<'/dev/zero'>}
                    )
                  ]
                  do_fork: T
                )
              ]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<hdimage>})]
            )
            (C {<partition>} {<-m>} {<hdimage>} 
              {<81> <Id.Lit_Colon ':'> 
                (command_sub
                  left_token: <Id.Left_Backtick '`'>
                  child: 
                    (C {<expr>} {($ Id.VSub_DollarName '$primsects')} {<Id.Lit_Other '+'>} 
                      {($ Id.VSub_DollarName '$padsects')}
                    )
                ) <Id.Lit_Star '*'>
              }
            )
            (C {<installboot>} {<-m>} {<hdimage>} {<'/usr/mdec/masterboot'>})
          ]
        )
    )
    (command.ShFunction
      name: retrieve
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:dir)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$1')}
                  spids: [370]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:list)
                  op: assign_op.Equal
                  rhs: 
                    {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<pwd>})) <'/'> 
                      ($ Id.VSub_Number '$2')
                    }
                  spids: [374]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:url)
                  op: assign_op.Equal
                  rhs: {<http> <Id.Lit_Colon ':'> <'//www.minix3.org/'> ($ Id.VSub_Number '$3')}
                  spids: [384]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:BIGPORTS)
                  op: assign_op.Equal
                  rhs: {<bigports>}
                  spids: [390]
                )
              ]
            )
            (command.Subshell
              child: 
                (command.CommandList
                  children: [
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<cd>} {($ Id.VSub_DollarName '$dir')})
                        (command.ControlFlow
                          token: <Id.ControlFlow_Exit exit>
                          arg_word: {<1>}
                        )
                      ]
                    )
                    (C {<echo>} 
                      {
                        (DQ <' * Updating '> ($ Id.VSub_DollarName '$dir') <'\n'> <'   from '> 
                          ($ Id.VSub_DollarName '$url') <'\n'> <'   with '> ($ Id.VSub_DollarName '$list')
                        )
                      }
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:files)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<awk>}
                                      {(SQ <'{ print "'>) ($ Id.VSub_DollarName '$url') 
                                        (SQ <'/" $1 ".tar.bz2" }'>)
                                      }
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_Less '<'>
                                        loc: (redir_loc.Fd fd:0)
                                        arg: {($ Id.VSub_DollarName '$list')}
                                      )
                                    ]
                                    do_fork: T
                                  )
                              )
                            }
                          spids: [423]
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<wget>} {<-c>} {($ Id.VSub_DollarName '$url') <'/List'>} 
                          {($ Id.VSub_DollarName '$files')}
                        )
                        (C {<true>})
                      ]
                    )
                  ]
                )
            )
          ]
        )
    )
    (command.ShFunction
      name: hdemu_root_changes
      body: 
        (BraceGroup
          children: [
            (C {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/bin/installboot'>} {<-d>} 
              {($ Id.VSub_DollarName '$TMPDISK3')} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/mdec/bootblock'>} {<'boot/boot'>}
            )
            (command.Pipeline
              children: [
                (C {<echo>} 
                  {
                    (SQ <'bootcd=2\n'> <'disable=inet\n'> <'bios_wini=yes\n'> <'bios_remap_first=1\n'> 
                      <'ramimagedev=c0d7p0s0\n'> <'bootbig(1, Regular MINIX 3) { image=/boot/image_big; boot }\n'> 
                      <'main() { trap 10000 boot ; menu; }\n'> <save>
                    )
                  }
                )
                (C {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/bin/edparams'>} 
                  {($ Id.VSub_DollarName '$TMPDISK3')}
                )
              ]
              negated: F
            )
            (command.Simple
              words: [
                {<echo>}
                {(SQ <'root=/dev/c0d7p0s0\n'> <'usr=/dev/c0d7p0s2\n'> <'usr_roflag="-r"'>)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$RELEASEDIR') <'/etc/fstab'>}
                )
              ]
              do_fork: T
            )
          ]
        )
    )
    (command.ShFunction
      name: usb_root_changes
      body: 
        (BraceGroup
          children: [
            (C {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/bin/installboot'>} {<-d>} 
              {($ Id.VSub_DollarName '$TMPDISK3')} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/mdec/bootblock'>} {<'boot/boot'>}
            )
            (command.Pipeline
              children: [
                (C {<echo>} 
                  {(SQ <'bios_wini=yes\n'> <'bios_remap_first=1\n'> <'rootdev=c0d7p0s0\n'> <save>)}
                )
                (C {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/bin/edparams'>} 
                  {($ Id.VSub_DollarName '$TMPDISK3')}
                )
              ]
              negated: F
            )
            (command.Simple
              words: [{<echo>} {(SQ <'root=/dev/c0d7p0s0\n'> <'usr=/dev/c0d7p0s2\n'>)}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$RELEASEDIR') <'/etc/fstab'>}
                )
              ]
              do_fork: T
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:RELEASEDIR)
          op: assign_op.Equal
          rhs: {<'/usr/r'>}
          spids: [580]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:RELEASEPACKAGE)
          op: assign_op.Equal
          rhs: {(${ Id.VSub_Name RELEASEDIR) <'/usr/install/packages'>}
          spids: [583]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:RELEASEPACKAGESOURCES)
          op: assign_op.Equal
          rhs: {(${ Id.VSub_Name RELEASEDIR) <'/usr/install/package-sources'>}
          spids: [589]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:IMAGE)
          op: assign_op.Equal
          rhs: {<'../boot/boot'>}
          spids: [595]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ROOTIMAGE)
          op: assign_op.Equal
          rhs: {<rootimage>}
          spids: [598]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:CDFILES)
          op: assign_op.Equal
          rhs: {<'/usr/tmp/cdreleasefiles'>}
          spids: [601]
        )
      ]
    )
    (command.Simple
      words: [{<sh>} {<tell_config>} {<OS_RELEASE>} {<.>} {<OS_VERSION>}]
      redirects: [
        (redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {<'/tmp/rel.'> ($ Id.VSub_Dollar '$$')}
        )
      ]
      do_fork: T
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:version_pretty)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Simple
                    words: [{<sed>} {(SQ <'s/["      ]//g;/^$/d'>)}]
                    redirects: [
                      (redir
                        op: <Id.Redir_Less '<'>
                        loc: (redir_loc.Fd fd:0)
                        arg: {<'/tmp/rel.'> ($ Id.VSub_Dollar '$$')}
                      )
                    ]
                    do_fork: T
                  )
              )
            }
          spids: [618]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:version)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (command.Simple
                        words: [{<sed>} {(SQ <'s/["      ]//g;/^$/d'>)}]
                        redirects: [
                          (redir
                            op: <Id.Redir_Less '<'>
                            loc: (redir_loc.Fd fd:0)
                            arg: {<'/tmp/rel.'> ($ Id.VSub_Dollar '$$')}
                          )
                        ]
                        do_fork: T
                      )
                      (C {<tr>} {<.>} {<_>})
                    ]
                    negated: F
                  )
              )
            }
          spids: [633]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:IMG_BASE)
          op: assign_op.Equal
          rhs: {<minix> (${ Id.VSub_Name version) <_ide>}
          spids: [656]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:BS)
          op: assign_op.Equal
          rhs: {<4096>}
          spids: [663]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:HDEMU)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [667]
        )
      ]
    )
    (command.ShAssignment
      pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:COPY) op:assign_op.Equal rhs:{<0>} spids:[670])]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SVNREV)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [673]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:REVTAG)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [677]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:PACKAGES)
          op: assign_op.Equal
          rhs: {<1>}
          spids: [681]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:FILENAMEOUT)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [685]
        )
      ]
    )
    (command.WhileUntil
      keyword: <Id.KW_While while>
      cond: [(C {<getopts>} {(DQ <'s:pchu?r:f:'>)} {<c>})]
      body: 
        (command.DoGroup
          children: [
            (command.Case
              to_match: {(DQ ($ Id.VSub_DollarName '$c'))}
              arms: [
                (case_arm
                  pat_list: [{(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\?'>)}]
                  action: [
                    (command.Simple
                      words: [
                        {<echo>}
                        {
                          (DQ <'Usage: '> ($ Id.VSub_Number '$0') 
                            <' [-p] [-c] [-h] [-r <tag>] [-u] [-f <filename>] [-s <username>]'>
                          )
                        }
                      ]
                      redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
                      do_fork: T
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [712 713 733 -1]
                )
                (case_arm
                  pat_list: [{<h>}]
                  action: [
                    (C {<echo>} {(DQ <' * Making HD image'>)})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:IMG_BASE)
                          op: assign_op.Equal
                          rhs: {<minix> (${ Id.VSub_Name version) <_bios>}
                          spids: [747]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:HDEMU)
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [755]
                        )
                      ]
                    )
                  ]
                  spids: [736 737 759 -1]
                )
                (case_arm
                  pat_list: [{<c>}]
                  action: [
                    (C {<echo>} {(DQ <' * Copying, not SVN'>)})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:COPY)
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [773]
                        )
                      ]
                    )
                  ]
                  spids: [762 763 777 -1]
                )
                (case_arm
                  pat_list: [{<p>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PACKAGES)
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [784]
                        )
                      ]
                    )
                  ]
                  spids: [780 781 788 -1]
                )
                (case_arm
                  pat_list: [{<r>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:SVNREV)
                          op: assign_op.Equal
                          rhs: {<-r> ($ Id.VSub_DollarName '$OPTARG')}
                          spids: [796]
                        )
                      ]
                    )
                  ]
                  spids: [791 792 801 -1]
                )
                (case_arm
                  pat_list: [{<u>}]
                  action: [
                    (C {<echo>} {(DQ <' * Making live USB-stick image'>)})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:IMG_BASE)
                          op: assign_op.Equal
                          rhs: {<minix> (${ Id.VSub_Name version) <_usb>}
                          spids: [815]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:HDEMU)
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [823]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:USB)
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [827]
                        )
                      ]
                    )
                  ]
                  spids: [804 805 831 -1]
                )
                (case_arm
                  pat_list: [{<f>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:FILENAMEOUT)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$OPTARG'))}
                          spids: [838]
                        )
                      ]
                    )
                  ]
                  spids: [834 835 844 -1]
                )
                (case_arm
                  pat_list: [{<s>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:USERNAME)
                          op: assign_op.Equal
                          rhs: {(DQ <'--username='> ($ Id.VSub_DollarName '$OPTARG'))}
                          spids: [850]
                        )
                      ]
                    )
                  ]
                  spids: [847 848 857 -1]
                )
              ]
            )
          ]
        )
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_DollarName '$USRMB'))} 
              {<Id.Lit_RBracket ']'>}
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:USRMB)
                  op: assign_op.Equal
                  rhs: {<600>}
                  spids: [879]
                )
              ]
            )
          ]
          spids: [865 877]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$PACKAGES')} {<-ne>} {<0>} 
              {<Id.Lit_RBracket ']'>}
            )
          ]
          action: [
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [(C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$PACKAGEDIR')}) (C {<true>})]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [(C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$PACKAGESOURCEDIR')}) (C {<true>})]
            )
            (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$PACKAGEDIR') <'/List'>})
            (C {<retrieve>} {($ Id.VSub_DollarName '$PACKAGEDIR')} 
              {($ Id.VSub_DollarName '$PACKAGELIST')} 
              {<'packages/'> (command_sub left_token:<Id.Left_Backtick '`'> child:(C {<uname>} {<-p>})) 
                <'/'> (command_sub left_token:<Id.Left_Backtick '`'> child:(C {<uname>} {<-r>})) <.> 
                (command_sub
                  left_token: <Id.Left_Backtick '`'>
                  child: (C {<uname>} {<-v>})
                )
              }
            )
            (C {<retrieve>} {($ Id.VSub_DollarName '$PACKAGESOURCEDIR')} 
              {($ Id.VSub_DollarName '$PACKAGESOURCELIST')} {<software>}
            )
          ]
          spids: [885 897]
        )
      ]
    )
    (C {<echo>} {($ Id.VSub_DollarName '$USRMB')} {<MB>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:USRKB)
          op: assign_op.Equal
          rhs: 
            {
              (word_part.ArithSub
                anode: 
                  (arith_expr.Binary
                    op_id: Id.Arith_Star
                    left: {($ Id.VSub_DollarName '$USRMB')}
                    right: {<Id.Lit_Digits 1024>}
                  )
              )
            }
          spids: [979]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:USRBLOCKS)
          op: assign_op.Equal
          rhs: 
            {
              (word_part.ArithSub
                anode: 
                  (arith_expr.Binary
                    op_id: Id.Arith_Slash
                    left: 
                      (arith_expr.Binary
                        op_id: Id.Arith_Star
                        left: 
                          (arith_expr.Binary
                            op_id: Id.Arith_Star
                            left: {($ Id.VSub_DollarName '$USRMB')}
                            right: {<Id.Lit_Digits 1024>}
                          )
                        right: {<Id.Lit_Digits 1024>}
                      )
                    right: {($ Id.VSub_DollarName '$BS')}
                  )
              )
            }
          spids: [987]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:USRSECTS)
          op: assign_op.Equal
          rhs: 
            {
              (word_part.ArithSub
                anode: 
                  (arith_expr.Binary
                    op_id: Id.Arith_Star
                    left: 
                      (arith_expr.Binary
                        op_id: Id.Arith_Star
                        left: {($ Id.VSub_DollarName '$USRMB')}
                        right: {<Id.Lit_Digits 1024>}
                      )
                    right: {<Id.Lit_Digits 2>}
                  )
              )
            }
          spids: [1005]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ROOTKB)
          op: assign_op.Equal
          rhs: {<8192>}
          spids: [1019]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ROOTSECTS)
          op: assign_op.Equal
          rhs: 
            {
              (word_part.ArithSub
                anode: 
                  (arith_expr.Binary
                    op_id: Id.Arith_Star
                    left: {($ Id.VSub_DollarName '$ROOTKB')}
                    right: {<Id.Lit_Digits 2>}
                  )
              )
            }
          spids: [1022]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ROOTBLOCKS)
          op: assign_op.Equal
          rhs: 
            {
              (word_part.ArithSub
                anode: 
                  (arith_expr.Binary
                    op_id: Id.Arith_Slash
                    left: 
                      (arith_expr.Binary
                        op_id: Id.Arith_Star
                        left: {($ Id.VSub_DollarName '$ROOTKB')}
                        right: {<Id.Lit_Digits 1024>}
                      )
                    right: {($ Id.VSub_DollarName '$BS')}
                  )
              )
            }
          spids: [1032]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$COPY'))} {<-ne>} {<1>} 
              {<Id.Lit_RBracket ']'>}
            )
          ]
          action: [(C {<echo>} {(DQ <'Note: this script wants to do svn operations.'>)})]
          spids: [1047 1061]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TMPDISK1)
          op: assign_op.Equal
          rhs: {<'/dev/ram0'>}
          spids: [1073]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TMPDISK2)
          op: assign_op.Equal
          rhs: {<'/dev/ram1'>}
          spids: [1076]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TMPDISK3)
          op: assign_op.Equal
          rhs: {<'/dev/ram2'>}
          spids: [1079]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-b>} {($ Id.VSub_DollarName '$TMPDISK1')} 
              {<-o>} {<Id.KW_Bang '!'>} {<-b>} {($ Id.VSub_DollarName '$TMPDISK2')} {<-o>} {<Id.KW_Bang '!'>} 
              {($ Id.VSub_DollarName '$TMPDISK3')} {<Id.Lit_RBracket ']'>}
            )
          ]
          action: [
            (C {<echo>} 
              {
                (DQ ($ Id.VSub_DollarName '$TMPDISK1') <', '> ($ Id.VSub_DollarName '$TMPDISK2') 
                  <' or '> ($ Id.VSub_DollarName '$TMPDISK3') <' is not a block device..'>
                )
              }
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [1083 1109]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [(C {<umount>} {($ Id.VSub_DollarName '$TMPDISK1')}) (C {<true>})]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [(C {<umount>} {($ Id.VSub_DollarName '$TMPDISK2')}) (C {<true>})]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [(C {<umount>} {($ Id.VSub_DollarName '$TMPDISK3')}) (C {<true>})]
    )
    (C {<ramdisk>} {($ Id.VSub_DollarName '$USRKB')} {($ Id.VSub_DollarName '$TMPDISK1')})
    (C {<ramdisk>} {($ Id.VSub_DollarName '$TMPKB')} {($ Id.VSub_DollarName '$TMPDISK2')})
    (C {<ramdisk>} {($ Id.VSub_DollarName '$ROOTKB')} {($ Id.VSub_DollarName '$TMPDISK3')})
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$TMPDISK1')} {<Id.Lit_Equals '='>} 
              {($ Id.VSub_DollarName '$TMPDISK2')} {<-o>} {($ Id.VSub_DollarName '$TMPDISK1')} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$TMPDISK3')} 
              {<-o>} {($ Id.VSub_DollarName '$TMPDISK2')} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$TMPDISK3')} 
              {<Id.Lit_RBracket ']'>}
            )
          ]
          action: [
            (C {<echo>} {(DQ <'Temporary devices can\'t be equal.'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit>)
          ]
          spids: [1174 1202]
        )
      ]
    )
    (C {<echo>} {(DQ <' * Cleanup old files'>)})
    (C {<rm>} {<-rf>} {($ Id.VSub_DollarName '$RELEASEDIR')} {($ Id.VSub_DollarName '$IMG')} 
      {($ Id.VSub_DollarName '$ROOTIMAGE')} {($ Id.VSub_DollarName '$CDFILES')} {<image> <Id.Lit_Star '*'>}
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$CDFILES')})
        (command.ControlFlow token:<Id.ControlFlow_Exit exit>)
      ]
    )
    (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$RELEASEDIR')})
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<mkfs>} {<-i>} {<2000>} {<-B>} {($ Id.VSub_DollarName '$BS')} {<-b>} 
          {($ Id.VSub_DollarName '$ROOTBLOCKS')} {($ Id.VSub_DollarName '$TMPDISK3')}
        )
        (command.ControlFlow token:<Id.ControlFlow_Exit exit>)
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<mkfs>} {<-B>} {<1024>} {<-b>} {($ Id.VSub_DollarName '$TMPKB')} 
          {($ Id.VSub_DollarName '$TMPDISK2')}
        )
        (command.ControlFlow token:<Id.ControlFlow_Exit exit>)
      ]
    )
    (C {<echo>} 
      {
        (DQ <' * mounting '> ($ Id.VSub_DollarName '$TMPDISK3') <' as '> 
          ($ Id.VSub_DollarName '$RELEASEDIR')
        )
      }
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<mount>} {($ Id.VSub_DollarName '$TMPDISK3')} {($ Id.VSub_DollarName '$RELEASEDIR')})
        (command.ControlFlow token:<Id.ControlFlow_Exit exit>)
      ]
    )
    (C {<mkdir>} {<-m>} {<755>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr'>})
    (C {<mkdir>} {<-m>} {<1777>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/tmp'>})
    (C {<mount>} {($ Id.VSub_DollarName '$TMPDISK2')} {($ Id.VSub_DollarName '$RELEASEDIR') <'/tmp'>})
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<mkfs>} {<-B>} {($ Id.VSub_DollarName '$BS')} {<-i>} {<30000>} {<-b>} 
          {($ Id.VSub_DollarName '$USRBLOCKS')} {($ Id.VSub_DollarName '$TMPDISK1')}
        )
        (command.ControlFlow token:<Id.ControlFlow_Exit exit>)
      ]
    )
    (C {<echo>} 
      {
        (DQ <' * Mounting '> ($ Id.VSub_DollarName '$TMPDISK1') <' as '> 
          ($ Id.VSub_DollarName '$RELEASEDIR') <'/usr'>
        )
      }
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<mount>} {($ Id.VSub_DollarName '$TMPDISK1')} 
          {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr'>}
        )
        (command.ControlFlow token:<Id.ControlFlow_Exit exit>)
      ]
    )
    (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/tmp'>})
    (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/tmp'>})
    (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/'> ($ Id.VSub_DollarName '$XBIN')})
    (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/bin'>})
    (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/bin'>})
    (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$RELEASEPACKAGE')})
    (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$RELEASEPACKAGESOURCES')})
    (C {<echo>} {(DQ <' * Transfering bootstrap dirs to '> ($ Id.VSub_DollarName '$RELEASEDIR'))})
    (C {<cp>} {<-p>} {<'/bin/'> <Id.Lit_Star '*'>} {<'/usr/bin/'> <Id.Lit_Star '*'>} 
      {($ Id.VSub_DollarName '$RELEASEDIR') <'/'> ($ Id.VSub_DollarName '$XBIN')}
    )
    (C {<cp>} {<-rp>} {<'/usr/lib'>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr'>})
    (C {<cp>} {<-rp>} {<'/bin/bigsh'>} {<'/bin/sh'>} {<'/bin/echo'>} 
      {($ Id.VSub_DollarName '$RELEASEDIR') <'/bin'>}
    )
    (C {<cp>} {<-rp>} {<'/usr/bin/make'>} {<'/usr/bin/install'>} {<'/usr/bin/yacc'>} {<'/usr/bin/flex'>} 
      {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/bin'>}
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {<Id.Lit_LBracket '['>} {<-d>} {($ Id.VSub_DollarName '$PACKAGEDIR')} {<-a>} {<-d>} 
              {($ Id.VSub_DollarName '$PACKAGESOURCEDIR')} {<-a>} {<-f>} {($ Id.VSub_DollarName '$PACKAGELIST')} {<-a>} {<-f>} 
              {($ Id.VSub_DollarName '$PACKAGESOURCELIST')} {<-a>} {($ Id.VSub_DollarName '$PACKAGES')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>}
            )
          ]
          action: [
            (C {<echo>} 
              {
                (DQ <' * Transfering '> ($ Id.VSub_DollarName '$PACKAGEDIR') <' to '> 
                  ($ Id.VSub_DollarName '$RELEASEPACKAGE')
                )
              }
            )
            (command.Simple
              words: [{<Id.Lit_Colon ':'>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$RELEASEPACKAGE') <'/List'>}
                )
              ]
              do_fork: T
            )
            (command.ForEach
              iter_name: p
              iter_words: [
                {
                  (command_sub
                    left_token: <Id.Left_Backtick '`'>
                    child: (C {<cat>} {($ Id.VSub_DollarName '$PACKAGELIST')})
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (C {<Id.Lit_LBracket '['>} {<-f>} 
                              {($ Id.VSub_DollarName '$PACKAGEDIR') <'/'> ($ Id.VSub_DollarName '$p') 
                                <.tar.bz2>
                              } {<Id.Lit_RBracket ']'>}
                            )
                          ]
                          action: [
                            (C {<cp>} 
                              {($ Id.VSub_DollarName '$PACKAGEDIR') <'/'> ($ Id.VSub_DollarName '$p') 
                                <.tar.bz2>
                              } {($ Id.VSub_DollarName '$RELEASEPACKAGE') <'/'>}
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Simple
                                  words: [
                                    {<grep>}
                                    {(DQ <'^'> ($ Id.VSub_DollarName '$p') <'|'>)}
                                    {($ Id.VSub_DollarName '$PACKAGEDIR') <'/List'>}
                                  ]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_DGreat '>>'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: {($ Id.VSub_DollarName '$RELEASEPACKAGE') <'/List'>}
                                    )
                                  ]
                                  do_fork: T
                                )
                                (C {<echo>} {(DQ ($ Id.VSub_DollarName '$p') <' not found in List'>)})
                              ]
                            )
                          ]
                          spids: [1556 1570]
                        )
                      ]
                      else_action: [
                        (C {<echo>} 
                          {
                            (DQ <'Can\'t copy '> ($ Id.VSub_DollarName '$PACKAGEDIR') <'/'> 
                              ($ Id.VSub_DollarName '$p') <'.tar.bz2. Missing.'>
                            )
                          }
                        )
                      ]
                    )
                  ]
                )
            )
            (C {<echo>} 
              {
                (DQ <' * Transfering '> ($ Id.VSub_DollarName '$PACKAGESOURCEDIR') <' to '> 
                  ($ Id.VSub_DollarName '$RELEASEPACKAGESOURCES')
                )
              }
            )
            (command.ForEach
              iter_name: p
              iter_words: [
                {
                  (command_sub
                    left_token: <Id.Left_Backtick '`'>
                    child: (C {<cat>} {($ Id.VSub_DollarName '$PACKAGESOURCELIST')})
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (C {<Id.Lit_LBracket '['>} {<-f>} 
                              {($ Id.VSub_DollarName '$PACKAGESOURCEDIR') <'/'> 
                                ($ Id.VSub_DollarName '$p') <.tar.bz2>
                              } {<Id.Lit_RBracket ']'>}
                            )
                          ]
                          action: [
                            (C {<cp>} 
                              {($ Id.VSub_DollarName '$PACKAGESOURCEDIR') <'/'> 
                                ($ Id.VSub_DollarName '$p') <.tar.bz2>
                              } {($ Id.VSub_DollarName '$RELEASEPACKAGESOURCES') <'/'>}
                            )
                          ]
                          spids: [1659 1673]
                        )
                      ]
                      else_action: [
                        (C {<echo>} 
                          {
                            (DQ <'Can\'t copy '> ($ Id.VSub_DollarName '$PACKAGESOURCEDIR') <'/'> 
                              ($ Id.VSub_DollarName '$p') <'.tar.bz2. Missing.'>
                            )
                          }
                        )
                      ]
                    )
                  ]
                )
            )
          ]
          spids: [1484 1520]
        )
      ]
    )
    (C {<chown>} {<-R>} {<bin>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/lib'>})
    (C {<chmod>} {<-R>} {<u> <Id.Lit_Other '+'> <w>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/lib'>})
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$COPY'))} {<-ne>} {<1>} 
              {<Id.Lit_RBracket ']'>}
            )
          ]
          action: [
            (C {<echo>} {(DQ <' * Doing new svn export'>)})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:TOOLSREPO)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_Backtick '`'>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<svn>} {<info>})
                                (C {<grep>} {(SQ <'^URL: '>)})
                                (C {<awk>} {(SQ <'{ print $2 }'>)})
                              ]
                              negated: F
                            )
                        )
                      )
                    }
                  spids: [1757]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:REPO)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_Backtick '`'>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<echo>} {($ Id.VSub_DollarName '$TOOLSREPO')})
                                (C {<sed>} {(SQ <'s/.tools$//'>)})
                              ]
                              negated: F
                            )
                        )
                      )
                    }
                  spids: [1785]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:BRANCHNAME)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_Backtick '`'>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<echo>} {($ Id.VSub_DollarName '$REPO')})
                                (C {<awk>} {<'-F/'>} {(SQ <'{ print $NF }'>)})
                              ]
                              negated: F
                            )
                        )
                      )
                    }
                  spids: [1805]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:REVISION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_Backtick '`'>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<svn>} {<info>} {($ Id.VSub_DollarName '$USERNAME')} 
                                  {($ Id.VSub_DollarName '$SVNREV')} {($ Id.VSub_DollarName '$REPO')}
                                )
                                (C {<grep>} {(SQ <'^Revision: '>)})
                                (C {<awk>} {(SQ <'{ print $2 }'>)})
                              ]
                              negated: F
                            )
                        )
                      )
                    }
                  spids: [1827]
                )
              ]
            )
            (C {<echo>} 
              {
                (DQ <'Doing export of revision '> ($ Id.VSub_DollarName '$REVISION') <' from '> 
                  ($ Id.VSub_DollarName '$REPO') <.>
                )
              }
            )
            (command.Subshell
              child: 
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {<cd>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr'>})
                    (C {<svn>} {<-q>} {($ Id.VSub_DollarName '$USERNAME')} {<export>} 
                      {<-r> ($ Id.VSub_DollarName '$REVISION')} {($ Id.VSub_DollarName '$REPO')} {($ Id.VSub_DollarName '$SRC')}
                    )
                  ]
                )
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$BRANCHNAME')} 
                      {<Id.Lit_Equals '='>} {<src>} {<Id.Lit_RBracket ']'>}
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:REVTAG)
                          op: assign_op.Equal
                          rhs: {<r> ($ Id.VSub_DollarName '$REVISION')}
                          spids: [1914]
                        )
                      ]
                    )
                  ]
                  spids: [1899 1912]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:REVTAG)
                      op: assign_op.Equal
                      rhs: 
                        {<branch-> ($ Id.VSub_DollarName '$BRANCHNAME') <-r> 
                          ($ Id.VSub_DollarName '$REVISION')
                        }
                      spids: [1921]
                    )
                  ]
                )
              ]
            )
            (command.Simple
              words: [
                {<echo>}
                {
                  (DQ <'\n'> <'\n'> <'/* Added by release script  */\n'> <'#ifndef _SVN_REVISION\n'> 
                    <'#define _SVN_REVISION '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ($ Id.VSub_DollarName '$REVTAG') 
                    (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'\n'> <'#endif'>
                  )
                }
              ]
              redirects: [
                (redir
                  op: <Id.Redir_DGreat '>>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/src/include/minix/sys_config.h'>}
                )
              ]
              do_fork: T
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$USB'))} {<-ne>} {<0>} 
                          {<Id.Lit_RBracket ']'>}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:IMG)
                          op: assign_op.Equal
                          rhs: {(${ Id.VSub_Name IMG_BASE) <_> (${ Id.VSub_Name REVTAG) <.img>}
                          spids: [1974]
                        )
                      ]
                    )
                  ]
                  spids: [1956 1971]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:IMG)
                      op: assign_op.Equal
                      rhs: {(${ Id.VSub_Name IMG_BASE) <_> (${ Id.VSub_Name REVTAG) <.iso>}
                      spids: [1987]
                    )
                  ]
                )
              ]
            )
          ]
          spids: [1733 1747]
        )
      ]
      else_action: [
        (command.Subshell
          child: 
            (command.AndOr
              ops: [Id.Op_DAmp Id.Op_DAmp]
              children: [(C {<cd>} {<..>}) (C {<make>} {<depend>}) (C {<make>} {<clean>})]
            )
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:srcdir)
              op: assign_op.Equal
              rhs: {<'/usr/'> ($ Id.VSub_DollarName '$SRC')}
              spids: [2024]
            )
          ]
        )
        (command.Pipeline
          children: [
            (command.Subshell
              child: 
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {<cd>} {($ Id.VSub_DollarName '$srcdir')})
                    (C {<tar>} {<cf>} {<->} {<.>})
                  ]
                )
            )
            (command.Subshell
              child: 
                (command.AndOr
                  ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp]
                  children: [
                    (C {<cd>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr'>})
                    (C {<mkdir>} {($ Id.VSub_DollarName '$SRC')})
                    (C {<cd>} {($ Id.VSub_DollarName '$SRC')})
                    (C {<tar>} {<xf>} {<->})
                  ]
                )
            )
          ]
          negated: F
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:REVTAG)
              op: assign_op.Equal
              rhs: {<copy>}
              spids: [2079]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:REVISION)
              op: assign_op.Equal
              rhs: {<unknown>}
              spids: [2083]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:IMG)
              op: assign_op.Equal
              rhs: {(${ Id.VSub_Name IMG_BASE) <_copy.iso>}
              spids: [2087]
            )
          ]
        )
      ]
    )
    (C {<echo>} {(DQ <' * Fixups for owners and modes of dirs and files'>)})
    (C {<chown>} {<-R>} {<bin>} 
      {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/'> ($ Id.VSub_DollarName '$SRC')}
    )
    (C {<chmod>} {<-R>} {<u> <Id.Lit_Other '+'> <w>} 
      {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/'> ($ Id.VSub_DollarName '$SRC')}
    )
    (command.Pipeline
      children: [
        (C {<find>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/'> ($ Id.VSub_DollarName '$SRC')} 
          {<-type>} {<d>}
        )
        (C {<xargs>} {<chmod>} {<755>})
      ]
      negated: F
    )
    (command.Pipeline
      children: [
        (C {<find>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/'> ($ Id.VSub_DollarName '$SRC')} 
          {<-type>} {<f>}
        )
        (C {<xargs>} {<chmod>} {<644>})
      ]
      negated: F
    )
    (command.Pipeline
      children: [
        (C {<find>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/'> ($ Id.VSub_DollarName '$SRC')} 
          {<-name>} {<configure>}
        )
        (C {<xargs>} {<chmod>} {<755>})
      ]
      negated: F
    )
    (command.Pipeline
      children: [
        (C {<find>} 
          {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/'> ($ Id.VSub_DollarName '$SRC') <'/commands'>} {<-name>} {<build>}
        )
        (C {<xargs>} {<chmod>} {<755>})
      ]
      negated: F
    )
    (C {<rm>} {<-rf>} 
      {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/'> ($ Id.VSub_DollarName '$SRC') <'/doc/bugs'>}
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$USB'))} {<-eq>} {<0>} 
              {<Id.Lit_RBracket ']'>}
            )
          ]
          action: [
            (command.Simple
              words: [{<date>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$RELEASEDIR') <'/CD'>}
                )
              ]
              do_fork: T
            )
          ]
          spids: [2215 2229]
        )
      ]
    )
    (C {<echo>} {(DQ <' * Chroot build'>)})
    (C {<cp>} {<chrootmake.sh>} 
      {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/'> ($ Id.VSub_DollarName '$SRC') 
        <'/tools/chrootmake.sh'>
      }
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<chroot>} {($ Id.VSub_DollarName '$RELEASEDIR')} 
          {
            (DQ <'PATH=/'> ($ Id.VSub_DollarName '$XBIN') <' sh -x /usr/'> ($ Id.VSub_DollarName '$SRC') 
              <'/tools/chrootmake.sh'>
            )
          }
        )
        (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
      ]
    )
    (C {<cp>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/boot/image_big'>} {<image>})
    (C {<echo>} {(DQ <' * Chroot build done'>)})
    (C {<echo>} {(DQ <' * Removing bootstrap files'>)})
    (C {<rm>} {<-rf>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/'> ($ Id.VSub_DollarName '$XBIN')})
    (C {<chown>} {<-R>} {<bin>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/src'> <Id.Lit_Star '*'>})
    (C {<cp>} {<issue.install>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/etc/issue'>})
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$USB'))} {<-ne>} {<0>} 
              {<Id.Lit_RBracket ']'>}
            )
          ]
          action: [(C {<usb_root_changes>})]
          spids: [2323 2337]
        )
        (if_arm
          cond: [
            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$HDEMU'))} {<-ne>} {<0>} 
              {<Id.Lit_RBracket ']'>}
            )
          ]
          action: [(C {<hdemu_root_changes>})]
          spids: [2342 2356]
        )
      ]
    )
    (command.Simple
      words: [
        {<echo>}
        {($ Id.VSub_DollarName '$version_pretty') <Id.Lit_Comma ','>}
        {<SVN>}
        {<revision>}
        {($ Id.VSub_DollarName '$REVISION') <Id.Lit_Comma ','>}
        {<generated>}
        {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<date>}))}
      ]
      redirects: [
        (redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName '$RELEASEDIR') <'/etc/version'>}
        )
      ]
      do_fork: T
    )
    (C {<echo>} {(DQ <' * Counting files'>)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:extrakb)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<du>} {<-s>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/install'>})
                      (C {<awk>} {(SQ <'{ print $1 }'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [2394]
        )
      ]
    )
    (command.Simple
      words: [
        {<expr>}
        {
          (command_sub
            left_token: <Id.Left_Backtick '`'>
            child: 
              (command.Pipeline
                children: [
                  (C {<df>} {($ Id.VSub_DollarName '$TMPDISK1')})
                  (C {<tail>} {<-1>})
                  (C {<awk>} {(SQ <'{ print $4 }'>)})
                ]
                negated: F
              )
          )
        }
        {<->}
        {($ Id.VSub_DollarName '$extrakb')}
      ]
      redirects: [
        (redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName '$RELEASEDIR') <'/.usrkb'>}
        )
      ]
      do_fork: T
    )
    (command.Pipeline
      children: [
        (C {<find>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr'>})
        (C {<fgrep>} {<-v>} {<'/install/'>})
        (command.Simple
          words: [{<wc>} {<-l>}]
          redirects: [
            (redir
              op: <Id.Redir_Great '>'>
              loc: (redir_loc.Fd fd:1)
              arg: {($ Id.VSub_DollarName '$RELEASEDIR') <'/.usrfiles'>}
            )
          ]
          do_fork: T
        )
      ]
      negated: F
    )
    (command.Pipeline
      children: [
        (C {<find>} {($ Id.VSub_DollarName '$RELEASEDIR')} {<-xdev>})
        (command.Simple
          words: [{<wc>} {<-l>}]
          redirects: [
            (redir
              op: <Id.Redir_Great '>'>
              loc: (redir_loc.Fd fd:1)
              arg: {($ Id.VSub_DollarName '$RELEASEDIR') <'/.rootfiles'>}
            )
          ]
          do_fork: T
        )
      ]
      negated: F
    )
    (C {<echo>} {(DQ <' * Zeroing remainder of temporary areas'>)})
    (C {<df>} {($ Id.VSub_DollarName '$TMPDISK1')})
    (C {<df>} {($ Id.VSub_DollarName '$TMPDISK3')})
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.Simple
          words: [{<cp>} {<'/dev/zero'>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/.x'>}]
          redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})]
          do_fork: T
        )
        (C {<true>})
      ]
    )
    (C {<rm>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/usr/.x'>})
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.Simple
          words: [{<cp>} {<'/dev/zero'>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/.x'>}]
          redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})]
          do_fork: T
        )
        (C {<true>})
      ]
    )
    (C {<rm>} {($ Id.VSub_DollarName '$RELEASEDIR') <'/.x'>})
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<umount>} {($ Id.VSub_DollarName '$TMPDISK1')})
        (command.ControlFlow token:<Id.ControlFlow_Exit exit>)
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<umount>} {($ Id.VSub_DollarName '$TMPDISK2')})
        (command.ControlFlow token:<Id.ControlFlow_Exit exit>)
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<umount>} {($ Id.VSub_DollarName '$TMPDISK3')})
        (command.ControlFlow token:<Id.ControlFlow_Exit exit>)
      ]
    )
    (C {<edparams>} {($ Id.VSub_DollarName '$TMPDISK3')} 
      {
        (SQ <'unset bootopts;\n'> <'unset servers;\n'> <'unset rootdev;\n'> <'unset leader;\n'> 
          <'unset image;\n'> <'disable=inet;\n'> <'bootcd=1;\n'> <'cdproberoot=1;\n'> <'ata_id_timeout=2;\n'> 
          <'bootbig(1, Regular MINIX 3) { unset image; boot }\n'> 
          <
'leader() { echo \\n--- Welcome to MINIX 3. This is the boot monitor. ---\\n\\nChoose an option from the menu or press ESC if you need to do anything special.\\nOtherwise I will boot with my defaults in 10 seconds.\\n\\n }; main(){trap 10000 boot; menu; };\n'
          > <save>
        )
      }
    )
    (command.Subshell
      child: (command.AndOr ops:[Id.Op_DAmp] children:[(C {<cd>} {<'../boot'>}) (C {<make>})])
    )
    (C {<dd>} {<Id.Lit_VarLike 'if='> ($ Id.VSub_DollarName '$TMPDISK3')} 
      {<Id.Lit_VarLike 'of='> ($ Id.VSub_DollarName '$ROOTIMAGE')} {<Id.Lit_VarLike 'bs='> ($ Id.VSub_DollarName '$BS')} 
      {<Id.Lit_VarLike 'count='> ($ Id.VSub_DollarName '$ROOTBLOCKS')}
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<cp>} {<'release/cd/'> <Id.Lit_Star '*'>} {($ Id.VSub_DollarName '$CDFILES')})
        (C {<true>})
      ]
    )
    (command.Simple
      words: [
        {<echo>}
        {
          (DQ <'This is Minix version '> ($ Id.VSub_DollarName '$version_pretty') <' prepared '> 
            (command_sub left_token:<Id.Left_Backtick '`'> child:(C {<date>})) <.>
          )
        }
      ]
      redirects: [
        (redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName '$CDFILES') <'/VERSION.TXT'>}
        )
      ]
      do_fork: T
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:boottype)
          op: assign_op.Equal
          rhs: {<-n>}
          spids: [2641]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:bootimage)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName '$IMAGE')}
          spids: [2644]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$HDEMU'))} {<-ne>} {<0>} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<make_hdimage>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:boottype)
                  op: assign_op.Equal
                  rhs: {(SQ <-h>)}
                  spids: [2668]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:bootimage)
                  op: assign_op.Equal
                  rhs: {<hdimage>}
                  spids: [2674]
                )
              ]
            )
          ]
          spids: [2647 2662]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$USB'))} {<-ne>} {<0>} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(C {<mv>} {($ Id.VSub_DollarName '$bootimage')} {($ Id.VSub_DollarName '$IMG')})]
          spids: [2680 2695]
        )
      ]
      else_action: [
        (command.AndOr
          ops: [Id.Op_DPipe]
          children: [
            (C {<writeisofs>} {<-s0x1000>} {<-l>} {<MINIX>} {<-b>} {($ Id.VSub_DollarName '$bootimage')} 
              {($ Id.VSub_DollarName '$boottype')} {($ Id.VSub_DollarName '$CDFILES')} {($ Id.VSub_DollarName '$IMG')}
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
        )
        (command.If
          arms: [
            (if_arm
              cond: [
                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$HDEMU'))} {<-eq>} {<0>} 
                  {<Id.Lit_RBracket ']'>}
                )
              ]
              action: [
                (C {<echo>} {(DQ <'Appending Minix root and usr filesystem'>)})
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:isobytes)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: <Id.Left_Backtick '`'>
                            child: (C {<stat>} {<-size>} {($ Id.VSub_DollarName '$IMG')})
                          )
                        }
                      spids: [2762]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:isosects)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: <Id.Left_Backtick '`'>
                            child: (C {<expr>} {($ Id.VSub_DollarName '$isobytes')} {<'/'>} {<512>})
                          )
                        }
                      spids: [2774]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:isopad)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: <Id.Left_Backtick '`'>
                            child: 
                              (C {<expr>} {($ Id.VSub_DollarName '$secs')} {<->} {(SQ <'('>)} 
                                {($ Id.VSub_DollarName '$isosects')} {<Id.Lit_Other '%'>} {($ Id.VSub_DollarName '$secs')} {(SQ <')'>)}
                              )
                          )
                        }
                      spids: [2788]
                    )
                  ]
                )
                (command.Simple
                  words: [
                    {<dd>}
                    {<Id.Lit_VarLike 'if='> <'/dev/zero'>}
                    {<Id.Lit_VarLike 'count='> ($ Id.VSub_DollarName '$isopad')}
                  ]
                  redirects: [
                    (redir
                      op: <Id.Redir_DGreat '>>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName '$IMG')}
                    )
                  ]
                  do_fork: T
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:isosects)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: <Id.Left_Backtick '`'>
                            child: 
                              (C {<expr>} {($ Id.VSub_DollarName '$isosects')} {<Id.Lit_Other '+'>} 
                                {($ Id.VSub_DollarName '$isopad')}
                              )
                          )
                        }
                      spids: [2830]
                    )
                  ]
                )
                (command.Subshell
                  child: 
                    (command.CommandList
                      children: [
                        (command.Sentence
                          child: 
                            (C {<cat>} {($ Id.VSub_DollarName '$IMG')} 
                              {($ Id.VSub_DollarName '$ROOTIMAGE')}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                        (C {<dd>} {<Id.Lit_VarLike 'if='> ($ Id.VSub_DollarName '$TMPDISK1')} 
                          {<Id.Lit_VarLike 'bs='> ($ Id.VSub_DollarName '$BS')} {<Id.Lit_VarLike 'count='> ($ Id.VSub_DollarName '$USRBLOCKS')}
                        )
                      ]
                    )
                  redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<m>})]
                )
                (C {<mv>} {<m>} {($ Id.VSub_DollarName '$IMG')})
                (C {<installboot>} {<-m>} {($ Id.VSub_DollarName '$IMG')} {<'/usr/mdec/masterboot'>})
                (C {<partition>} {<-m>} {($ Id.VSub_DollarName '$IMG')} {<0>} 
                  {<81> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$isosects')} {<81> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$ROOTSECTS')} 
                  {<81> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$USRSECTS')}
                )
              ]
              spids: [2733 2748]
            )
          ]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$FILENAMEOUT'))} 
              {<Id.Lit_RBracket ']'>}
            )
          ]
          action: [
            (command.Simple
              words: [{<echo>} {(DQ ($ Id.VSub_DollarName '$IMG'))}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$FILENAMEOUT')}
                )
              ]
              do_fork: T
            )
          ]
          spids: [2926 2936]
        )
      ]
    )
  ]
)