(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:base)
          op: assign_op.Equal
          rhs: {(DQ <'Base system'>)}
          spids: [29]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:doc)
          op: assign_op.Equal
          rhs: {(DQ <'Additional Documentation'>)}
          spids: [34]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:kernel)
          op: assign_op.Equal
          rhs: {(DQ <Kernel>)}
          spids: [39]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ports)
          op: assign_op.Equal
          rhs: {(DQ <'Ports tree'>)}
          spids: [44]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:src)
          op: assign_op.Equal
          rhs: {(DQ <'System source tree'>)}
          spids: [49]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:lib32)
          op: assign_op.Equal
          rhs: {(DQ <'32-bit compatibility libraries'>)}
          spids: [54]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:tests)
          op: assign_op.Equal
          rhs: {(DQ <'Test suite'>)}
          spids: [59]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:desc_base)
          op: assign_op.Equal
          rhs: {(DQ (${ Id.VSub_Name base) <' (MANDATORY)'>)}
          spids: [65]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:desc_base_dbg)
          op: assign_op.Equal
          rhs: {(DQ (${ Id.VSub_Name base) <' (Debugging)'>)}
          spids: [73]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:desc_doc)
          op: assign_op.Equal
          rhs: {(DQ (${ Id.VSub_Name doc))}
          spids: [81]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:desc_kernel)
          op: assign_op.Equal
          rhs: {(DQ (${ Id.VSub_Name kernel) <' (MANDATORY)'>)}
          spids: [88]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:desc_kernel_dbg)
          op: assign_op.Equal
          rhs: {(DQ (${ Id.VSub_Name kernel) <' (Debugging)'>)}
          spids: [96]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:desc_kernel_alt)
          op: assign_op.Equal
          rhs: {(DQ <'Alternate '> (${ Id.VSub_Name kernel))}
          spids: [104]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:desc_kernel_alt_dbg)
          op: assign_op.Equal
          rhs: {(DQ <'Alternate '> (${ Id.VSub_Name kernel) <' (Debugging)'>)}
          spids: [112]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:desc_lib32)
          op: assign_op.Equal
          rhs: {(DQ (${ Id.VSub_Name lib32))}
          spids: [121]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:desc_lib32_dbg)
          op: assign_op.Equal
          rhs: {(DQ (${ Id.VSub_Name lib32) <' (Debugging)'>)}
          spids: [128]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:desc_ports)
          op: assign_op.Equal
          rhs: {(DQ (${ Id.VSub_Name ports))}
          spids: [136]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:desc_src)
          op: assign_op.Equal
          rhs: {(DQ (${ Id.VSub_Name src))}
          spids: [143]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:desc_tests)
          op: assign_op.Equal
          rhs: {(DQ (${ Id.VSub_Name tests))}
          spids: [150]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:default_doc)
          op: assign_op.Equal
          rhs: {<off>}
          spids: [158]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:default_src)
          op: assign_op.Equal
          rhs: {<off>}
          spids: [161]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:default_tests)
          op: assign_op.Equal
          rhs: {<off>}
          spids: [164]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:default_base_dbg)
          op: assign_op.Equal
          rhs: {<off>}
          spids: [167]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:default_lib32_dbg)
          op: assign_op.Equal
          rhs: {<off>}
          spids: [170]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:default_kernel_alt)
          op: assign_op.Equal
          rhs: {<off>}
          spids: [173]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:default_kernel_dbg)
          op: assign_op.Equal
          rhs: {<off>}
          spids: [176]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:default_kernel_alt_dbg)
          op: assign_op.Equal
          rhs: {<off>}
          spids: [179]
        )
      ]
    )
    (command.ForEach
      iter_name: i
      iter_words: [{(${ Id.VSub_Star '*')}]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:dist)
                  op: assign_op.Equal
                  rhs: {(DQ (${ Id.VSub_Name i))}
                  spids: [197]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:distname)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (braced_var_sub
                          token: <Id.VSub_Name i>
                          suffix_op: (suffix_op.Unary tok:<Id.VOp1_DPercent '%%'> arg_word:{<.txz>})
                        )
                      )
                    }
                  spids: [205]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:distname)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<echo>} {(${ Id.VSub_Name distname)})
                                (C {<tr>} {(SQ <->)} {(SQ <_>)})
                              ]
                              negated: F
                            )
                        )
                      )
                    }
                  spids: [215]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:distname)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<echo>} {(${ Id.VSub_Name distname)})
                                (C {<tr>} {(SQ <kernel.>)} {(SQ <kernel_>)})
                              ]
                              negated: F
                            )
                        )
                      )
                    }
                  spids: [239]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:hash)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<sha256>} {<-q>} {(${ Id.VSub_Name i)})
                        )
                      )
                    }
                  spids: [263]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:nfiles)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<tar>} {<tvf>} {(${ Id.VSub_Name i)})
                                (C {<wc>} {<-l>})
                                (C {<tr>} {<-d>} {(SQ <' '>)})
                              ]
                              negated: F
                            )
                        )
                      )
                    }
                  spids: [277]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:default)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (C {<eval>} {<echo>} 
                              {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) 
                                <Id.Lit_LBrace '{'> <default_> (${ Id.VSub_Name distname) <Id.Lit_Colon ':'> <-on> <Id.Lit_RBrace '}'>
                              }
                            )
                        )
                      )
                    }
                  spids: [307]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:desc)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (C {<eval>} {<echo>} 
                              {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                ) <Id.Lit_LBrace '{'> <desc_> (${ Id.VSub_Name distname) <Id.Lit_RBrace '}'> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                )
                              }
                            )
                        )
                      )
                    }
                  spids: [327]
                )
              ]
            )
            (command.Case
              to_match: {(${ Id.VSub_Name i)}
              arms: [
                (case_arm
                  pat_list: [{<kernel-dbg.txz>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:desc)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name desc_kernel_dbg))}
                          spids: [361]
                        )
                      ]
                    )
                  ]
                  spids: [357 358 369 -1]
                )
                (case_arm
                  pat_list: [{<kernel.> <Id.Lit_Star '*'> <-dbg.txz>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:desc)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (C {<eval>} {<echo>} 
                                      {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
                                        (${ Id.VSub_Name desc_kernel_alt_dbg) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                )
                              )
                            }
                          spids: [378]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:desc)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ (${ Id.VSub_Name desc) <': '> 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<eval>} {<echo>} 
                                          {
                                            (braced_var_sub
                                              token: <Id.VSub_Name i>
                                              suffix_op: 
                                                (suffix_op.Unary
                                                  tok: <Id.VOp1_DPercent '%%'>
                                                  arg_word: {<-dbg.txz>}
                                                )
                                            )
                                          }
                                        )
                                        (C {<cut>} {<-f>} {<2>} {<-d>} {(SQ <.>)})
                                      ]
                                      negated: F
                                    )
                                )
                              )
                            }
                          spids: [394]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:default)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (C {<eval>} {<echo>} 
                                      {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
                                        (${ Id.VSub_Name default_kernel_alt_dbg) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                )
                              )
                            }
                          spids: [428]
                        )
                      ]
                    )
                  ]
                  spids: [372 375 444 -1]
                )
                (case_arm
                  pat_list: [{<kernel.> <Id.Lit_Star '*'> <.txz>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:desc)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (C {<eval>} {<echo>} 
                                      {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
                                        (${ Id.VSub_Name desc_kernel_alt) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                )
                              )
                            }
                          spids: [453]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:desc)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ (${ Id.VSub_Name desc) <': '> 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<eval>} {<echo>} 
                                          {
                                            (braced_var_sub
                                              token: <Id.VSub_Name i>
                                              suffix_op: 
                                                (suffix_op.Unary
                                                  tok: <Id.VOp1_DPercent '%%'>
                                                  arg_word: {<.txz>}
                                                )
                                            )
                                          }
                                        )
                                        (C {<cut>} {<-f>} {<2>} {<-d>} {(SQ <.>)})
                                      ]
                                      negated: F
                                    )
                                )
                              )
                            }
                          spids: [469]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:default)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (C {<eval>} {<echo>} 
                                      {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
                                        (${ Id.VSub_Name default_kernel_alt) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                )
                              )
                            }
                          spids: [503]
                        )
                      ]
                    )
                  ]
                  spids: [447 450 519 -1]
                )
                (case_arm pat_list:[{<Id.Lit_Star '*'>}] spids:[522 523 526 -1])
              ]
            )
            (C {<printf>} 
              {
                (DQ (${ Id.VSub_Name dist) <Id.Lit_BadBackslash '\\'> <t> (${ Id.VSub_Name hash) 
                  <Id.Lit_BadBackslash '\\'> <t> (${ Id.VSub_Name nfiles) <Id.Lit_BadBackslash '\\'> <t> (${ Id.VSub_Name distname) 
                  <Id.Lit_BadBackslash '\\'> <t> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) (${ Id.VSub_Name desc) 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <Id.Lit_BadBackslash '\\'> <t> (${ Id.VSub_Name default) <Id.Lit_BadBackslash '\\'> <n>
                )
              }
            )
          ]
        )
    )
  ]
)