(CommandList
  children: [
    (C {(Lit_Other ':')})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_OS_SH) op:Equal rhs:{(Lit_Other ':')} spids:[100])]
      spids: [100]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:OS)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(uname)})])
                left_token: <Left_Backtick '`'>
                spids: [105 107]
              )
            }
          spids: [104]
        )
      ]
      spids: [104]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:OSREL)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(uname)} {(-r)})])
                left_token: <Left_Backtick '`'>
                spids: [110 114]
              )
            }
          spids: [109]
        )
      ]
      spids: [109]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:OSMAJOR)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Sentence
                        child: 
                          (Assignment
                            keyword: Assign_None
                            pairs: [
                              (assign_pair
                                lhs: (LhsName name:IFS)
                                op: Equal
                                rhs: {(.)}
                                spids: [118]
                              )
                            ]
                            spids: [118]
                          )
                        terminator: <Op_Semi ';'>
                      )
                      (Sentence
                        child: (C {(set)} {($ VSub_Name '$OSREL')})
                        terminator: <Op_Semi ';'>
                      )
                      (C {(echo)} {($ VSub_Number '$1')})
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [117 130]
              )
            }
          spids: [116]
        )
      ]
      spids: [116]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MACHINE)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(uname)} {(-m)})])
                left_token: <Left_Backtick '`'>
                spids: [133 137]
              )
            }
          spids: [132]
        )
      ]
      spids: [132]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MACHINE_ARCH)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (AndOr
                        children: [
                          (SimpleCommand
                            words: [{(uname)} {(-p)}]
                            redirects: [
                              (Redir
                                op_id: Redir_Great
                                fd: 2
                                arg_word: {(/dev/null)}
                                spids: [145]
                              )
                            ]
                          )
                          (C {(echo)} {($ VSub_Name '$MACHINE')})
                        ]
                        op_id: Op_DPipe
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [140 153]
              )
            }
          spids: [139]
        )
      ]
      spids: [139]
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$MACHINE_ARCH'))}
      arms: [
        (case_arm
          pat_list: [
            {(unknown)}
            {(Lit_Other '*') (Lit_Other '[') (KW_Bang '!') (A-Za-z0-9_-) (Lit_Other ']') (Lit_Other '*')}
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MACHINE_ARCH)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$MACHINE'))}
                  spids: [180]
                )
              ]
              spids: [180]
            )
          ]
          spids: [170 178 184 16777215]
        )
      ]
      spids: [162 168 186]
    )
    (FuncDef
      name: Which
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {(DQ ($ VSub_Number '$1'))}
              arms: [
                (case_arm
                  pat_list: [{(-) (Lit_Other '*')}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:t)
                              op: Equal
                              rhs: {($ VSub_Number '$1')}
                              spids: [213]
                            )
                          ]
                          spids: [213]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [209 211 218 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:t) op:Equal rhs:{(-x)} spids:[224])]
                      spids: [224]
                    )
                  ]
                  spids: [221 222 226 16777215]
                )
              ]
              spids: [200 206 229]
            )
            (Case
              to_match: {(DQ ($ VSub_Number '$1'))}
              arms: [
                (case_arm
                  pat_list: [{(/) (Lit_Other '*')}]
                  action: [
                    (AndOr
                      children: [
                        (C {(test)} {($ VSub_Name '$t')} {($ VSub_Number '$1')})
                        (C {(echo)} {($ VSub_Number '$1')})
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [241 243 256 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_dirs)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Sentence
                                        child: 
                                          (Assignment
                                            keyword: Assign_None
                                            pairs: [
                                              (assign_pair
                                                lhs: (LhsName name:IFS)
                                                op: Equal
                                                rhs: {(Lit_Other ':')}
                                                spids: [273]
                                              )
                                            ]
                                            spids: [273]
                                          )
                                        terminator: <Op_Semi ';'>
                                      )
                                      (C {(echo)} 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Number 2>
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VTest_ColonHyphen
                                                arg_word: {($ VSub_Name '$PATH')}
                                              )
                                            spids: [279 283]
                                          )
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [272 284]
                              )
                            }
                          spids: [271]
                        )
                      ]
                      spids: [271]
                    )
                    (ForEach
                      iter_name: d
                      iter_words: [{($ VSub_Name '$_dirs')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (AndOr
                              children: [
                                (C {(test)} {($ VSub_Name '$t')} 
                                  {($ VSub_Name '$d') (/) ($ VSub_Number '$1')}
                                )
                                (BraceGroup
                                  children: [
                                    (Sentence
                                      child: (C {(echo)} {($ VSub_Name '$d') (/) ($ VSub_Number '$1')})
                                      terminator: <Op_Semi ';'>
                                    )
                                    (Sentence
                                      child: (ControlFlow token:<ControlFlow_Break break>)
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  spids: [309]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          spids: [296 324]
                        )
                      spids: [292 16777215]
                    )
                  ]
                  spids: [259 260 327 16777215]
                )
              ]
              spids: [232 238 330]
            )
          ]
          spids: [197]
        )
      spids: [193 196]
    )
    (FuncDef
      name: toUpper
      body: 
        (BraceGroup
          children: [
            (C 
              {
                (BracedVarSub
                  token: <VSub_Name TR>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(tr)})
                  spids: [348 352]
                )
              } {(abcdefghijklmnopqrstuvwxyz)} {(ABCDEFGHIJKLMNOPQRSTUVWXYZ)}
            )
          ]
          spids: [345]
        )
      spids: [341 344]
    )
    (FuncDef
      name: toLower
      body: 
        (BraceGroup
          children: [
            (C 
              {
                (BracedVarSub
                  token: <VSub_Name TR>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(tr)})
                  spids: [368 372]
                )
              } {(ABCDEFGHIJKLMNOPQRSTUVWXYZ)} {(abcdefghijklmnopqrstuvwxyz)}
            )
          ]
          spids: [365]
        )
      spids: [361 364]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:K) op:Equal rhs:{(SQ )} spids:[381])]
      spids: [381]
    )
    (Case
      to_match: {($ VSub_Name '$OS')}
      arms: [
        (case_arm
          pat_list: [{(AIX)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OSMAJOR)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(uname)} {(-v)})])
                        left_token: <Left_Backtick '`'>
                        spids: [397 401]
                      )
                    }
                  spids: [396]
                )
              ]
              spids: [396]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OSREL)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$OSMAJOR') (.) 
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(uname)} {(-r)})])
                          left_token: <Left_Backtick '`'>
                          spids: [408 412]
                        )
                      )
                    }
                  spids: [404]
                )
              ]
              spids: [404]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:LOCAL_FS) op:Equal rhs:{(jfs)} spids:[416])]
              spids: [416]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:PS_AXC) op:Equal rhs:{(-e)} spids:[420])]
              spids: [420]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SHARE_ARCH)
                  op: Equal
                  rhs: {($ VSub_Name '$OS') (/) ($ VSub_Name '$OSMAJOR') (.X)}
                  spids: [424]
                )
              ]
              spids: [424]
            )
          ]
          spids: [389 390 431 16777215]
        )
        (case_arm
          pat_list: [{(SunOS)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CHOWN)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(Which)} {(chown)} {(/usr/etc) (Lit_Other ':') (/usr/bin)})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [438 446]
                      )
                    }
                  spids: [437]
                )
              ]
              spids: [437]
            )
            (C {(export)} {(CHOWN)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:arch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(Which)} {(arch)} {(/usr/bin) (Lit_Other ':') (/usr/ucb)})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [465 473]
                      )
                    }
                  spids: [464]
                )
              ]
              spids: [464]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MAILER)
                  op: Equal
                  rhs: {(/usr/ucb/Mail)}
                  spids: [478]
                )
              ]
              spids: [478]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:LOCAL_FS) op:Equal rhs:{(4.2)} spids:[482])]
              spids: [482]
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$OSREL'))}
              arms: [
                (case_arm
                  pat_list: [{(4.0) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MACHINE_ARCH)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(arch)})])
                                left_token: <Left_Backtick '`'>
                                spids: [511 513]
                              )
                            }
                          spids: [510]
                        )
                      ]
                      spids: [510]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MACHINE)
                          op: Equal
                          rhs: {($ VSub_Name '$MACHINE_ARCH')}
                          spids: [516]
                        )
                      ]
                      spids: [516]
                    )
                  ]
                  spids: [497 499 520 16777215]
                )
                (case_arm
                  pat_list: [{(4) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MACHINE_ARCH)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(arch)})])
                                left_token: <Left_Backtick '`'>
                                spids: [529 531]
                              )
                            }
                          spids: [528]
                        )
                      ]
                      spids: [528]
                    )
                  ]
                  spids: [523 525 534 16777215]
                )
                (case_arm
                  pat_list: [{(5) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:K) op:Equal rhs:{(-k)} spids:[542])]
                      spids: [542]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:LOCAL_FS)
                          op: Equal
                          rhs: {(ufs)}
                          spids: [546]
                        )
                      ]
                      spids: [546]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MAILER)
                          op: Equal
                          rhs: {(mailx)}
                          spids: [550]
                        )
                      ]
                      spids: [550]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:PS_AXC) op:Equal rhs:{(-e)} spids:[554])]
                      spids: [554]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-x)} {(/usr/xpg4/bin/ln)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:LN)
                              op: Equal
                              rhs: 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name LN>
                                    suffix_op: 
                                      (StringUnary
                                        op_id: VTest_ColonHyphen
                                        arg_word: 
                                          {(Lit_Slash /) (usr) (Lit_Slash /) (xpg4) (Lit_Slash /) (bin) 
                                            (Lit_Slash /) (ln)
                                          }
                                      )
                                    spids: [575 586]
                                  )
                                }
                              spids: [574]
                            )
                          ]
                          spids: [574]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [537 539 601 16777215]
                )
              ]
              spids: [488 494 604]
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$OS') (/) ($ VSub_Name '$MACHINE_ARCH'))}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (sun386)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:SHARE_ARCH)
                          op: Equal
                          rhs: {($ VSub_Name '$MACHINE_ARCH')}
                          spids: [622]
                        )
                      ]
                      spids: [622]
                    )
                  ]
                  spids: [618 620 624 16777215]
                )
              ]
              spids: [607 615 627]
            )
          ]
          spids: [433 434 630 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*') (BSD)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:K) op:Equal rhs:{(-k)} spids:[637])]
              spids: [637]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MAILER)
                  op: Equal
                  rhs: {(/usr/bin/Mail)}
                  spids: [641]
                )
              ]
              spids: [641]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:LOCAL_FS)
                  op: Equal
                  rhs: {(Assign_Local local)}
                  spids: [645]
                )
              ]
              spids: [645]
            )
            (C {(Lit_Other ':')} {($ VSub_Hyphen '$-') (Lit_Comma ',') ($ VSub_Name '$ENV')})
            (Case
              to_match: {(DQ ($ VSub_Hyphen '$-') (',') ($ VSub_Name '$ENV'))}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (i) (Lit_Other '*') (Lit_Comma ',') (Lit_Other '*')}]
                  spids: [667 672 674 16777215]
                )
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (Lit_Comma ',')}
                    {(Lit_Other '*') (ENVFILE) (Lit_Other '*')}
                  ]
                  spids: [677 683 685 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:ENV) op:Equal rhs:{(SQ )} spids:[691])]
                      spids: [691]
                    )
                  ]
                  spids: [688 689 692 16777215]
                )
              ]
              spids: [656 664 695]
            )
            (Case
              to_match: {($ VSub_Name '$OS')}
              arms: [
                (case_arm
                  pat_list: [{(NetBSD)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:HOST_ARCH)
                          op: Equal
                          rhs: {($ VSub_Name '$MACHINE')}
                          spids: [717]
                        )
                      ]
                      spids: [717]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:SHARE_ARCH)
                          op: Equal
                          rhs: {($ VSub_Name '$OS') (/) ($ VSub_Name '$HOST_ARCH')}
                          spids: [721]
                        )
                      ]
                      spids: [721]
                    )
                  ]
                  spids: [713 714 727 16777215]
                )
                (case_arm
                  pat_list: [{(OpenBSD)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arch)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(Which)} {(arch)} 
                                        {(/usr/bin) (Lit_Other ':') (/usr/ucb) (Lit_Other ':') 
                                          ($ VSub_Name '$PATH')
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [735 745]
                              )
                            }
                          spids: [734]
                        )
                      ]
                      spids: [734]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MACHINE_ARCH)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {($ VSub_Name '$arch')} {(-s)})]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [749 753]
                              )
                            }
                          spids: [748]
                        )
                      ]
                      spids: [748]
                    )
                  ]
                  spids: [730 731 756 16777215]
                )
              ]
              spids: [706 710 759]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:NAWK) op:Equal rhs:{(awk)} spids:[762])]
              spids: [762]
            )
            (C {(export)} {(NAWK)})
          ]
          spids: [632 634 771 16777215]
        )
        (case_arm
          pat_list: [{(HP-UX)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:TMP_DIRS)
                  op: Equal
                  rhs: {(DQ ('/tmp /usr/tmp'))}
                  spids: [777]
                )
              ]
              spids: [777]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:LOCAL_FS) op:Equal rhs:{(hfs)} spids:[783])]
              spids: [783]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:MAILER) op:Equal rhs:{(mailx)} spids:[787])]
              spids: [787]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:_shell)
                      op: Equal
                      rhs: {(/bin/ksh)}
                      spids: [795]
                    )
                  ]
                  spids: [795]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:ENV) op:Equal rhs:{(SQ )} spids:[799])]
              spids: [799]
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$OSREL'))}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '?') (.09) (Lit_Other '*')}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:OSMAJOR)
                              op: Equal
                              rhs: {(9)}
                              spids: [820]
                            )
                          ]
                          spids: [820]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:PS_AXC) op:Equal rhs:{(-e)} spids:[824])]
                      spids: [824]
                    )
                  ]
                  spids: [815 818 826 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '?') (.10) (Lit_Other '*')}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:OSMAJOR)
                              op: Equal
                              rhs: {(10)}
                              spids: [834]
                            )
                          ]
                          spids: [834]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:PS_AXC) op:Equal rhs:{(-e)} spids:[838])]
                      spids: [838]
                    )
                  ]
                  spids: [829 832 840 16777215]
                )
              ]
              spids: [806 812 843]
            )
          ]
          spids: [773 774 846 16777215]
        )
        (case_arm
          pat_list: [{(IRIX)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:LOCAL_FS) op:Equal rhs:{(efs)} spids:[852])]
              spids: [852]
            )
          ]
          spids: [848 849 856 16777215]
        )
        (case_arm
          pat_list: [{(Interix)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:MACHINE) op:Equal rhs:{(i386)} spids:[862])]
              spids: [862]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:MACHINE_ARCH) op:Equal rhs:{(i386)} spids:[866])]
              spids: [866]
            )
          ]
          spids: [858 859 870 16777215]
        )
        (case_arm
          pat_list: [{(UnixWare)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OSREL)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(uname)} {(-v)})])
                        left_token: <Left_Backtick '`'>
                        spids: [877 881]
                      )
                    }
                  spids: [876]
                )
              ]
              spids: [876]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OSMAJOR)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Sentence
                                child: 
                                  (Assignment
                                    keyword: Assign_None
                                    pairs: [
                                      (assign_pair
                                        lhs: (LhsName name:IFS)
                                        op: Equal
                                        rhs: {(.)}
                                        spids: [886]
                                      )
                                    ]
                                    spids: [886]
                                  )
                                terminator: <Op_Semi ';'>
                              )
                              (Sentence
                                child: (C {(set)} {($ VSub_Name '$OSREL')})
                                terminator: <Op_Semi ';'>
                              )
                              (C {(echo)} {($ VSub_Number '$1')})
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [885 898]
                      )
                    }
                  spids: [884]
                )
              ]
              spids: [884]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MACHINE_ARCH)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(uname)} {(-m)})])
                        left_token: <Left_Backtick '`'>
                        spids: [902 906]
                      )
                    }
                  spids: [901]
                )
              ]
              spids: [901]
            )
          ]
          spids: [872 873 909 16777215]
        )
        (case_arm
          pat_list: [{(Linux)}]
          action: [
            (Case
              to_match: {($ VSub_Name '$MACHINE')}
              arms: [
                (case_arm
                  pat_list: [{(i) (Lit_Other '?') (86)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MACHINE_ARCH)
                          op: Equal
                          rhs: {(i386)}
                          spids: [935]
                        )
                      ]
                      spids: [935]
                    )
                  ]
                  spids: [930 933 937 16777215]
                )
              ]
              spids: [923 927 943]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:LOCAL_FS) op:Equal rhs:{(ext2)} spids:[946])]
              spids: [946]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:PS_AXC) op:Equal rhs:{(axc)} spids:[950])]
              spids: [950]
            )
            (AndOr
              children: [
                (C {(Lit_Other '[')} {(-x)} {(/usr/bin/md5sum)} {(Lit_Other ']')})
                (BraceGroup
                  children: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:MD5)
                              op: Equal
                              rhs: {(/usr/bin/md5sum)}
                              spids: [966]
                            )
                          ]
                          spids: [966]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence
                      child: (C {(export)} {(MD5)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [964]
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [911 912 978 16777215]
        )
        (case_arm
          pat_list: [{(QNX)}]
          action: [
            (Case
              to_match: {($ VSub_Name '$MACHINE')}
              arms: [
                (case_arm
                  pat_list: [{(x86pc)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MACHINE_ARCH)
                          op: Equal
                          rhs: {(i386)}
                          spids: [994]
                        )
                      ]
                      spids: [994]
                    )
                  ]
                  spids: [991 992 996 16777215]
                )
              ]
              spids: [984 988 999]
            )
          ]
          spids: [980 981 1002 16777215]
        )
        (case_arm
          pat_list: [{(Haiku)}]
          action: [
            (Case
              to_match: {($ VSub_Name '$MACHINE')}
              arms: [
                (case_arm
                  pat_list: [{(BeBox)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MACHINE_ARCH)
                          op: Equal
                          rhs: {(powerpc)}
                          spids: [1018]
                        )
                      ]
                      spids: [1018]
                    )
                  ]
                  spids: [1015 1016 1020 16777215]
                )
                (case_arm
                  pat_list: [{(BeMac)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MACHINE_ARCH)
                          op: Equal
                          rhs: {(powerpc)}
                          spids: [1026]
                        )
                      ]
                      spids: [1026]
                    )
                  ]
                  spids: [1023 1024 1028 16777215]
                )
                (case_arm
                  pat_list: [{(BePC)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MACHINE_ARCH)
                          op: Equal
                          rhs: {(i386)}
                          spids: [1034]
                        )
                      ]
                      spids: [1034]
                    )
                  ]
                  spids: [1031 1032 1036 16777215]
                )
              ]
              spids: [1008 1012 1039]
            )
          ]
          spids: [1004 1005 1042 16777215]
        )
      ]
      spids: [383 387 1044]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:HOSTNAME)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name HOSTNAME>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Subshell
                                  child: (C {(hostname)})
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [1058]
                                    )
                                  ]
                                  spids: [1052 1056]
                                )
                              ]
                            )
                          left_token: <Left_Backtick '`'>
                          spids: [1051 1060]
                        )
                      }
                  )
                spids: [1048 1061]
              )
            }
          spids: [1047]
        )
      ]
      spids: [1047]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:HOSTNAME)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name HOSTNAME>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Subshell
                                  child: (C {(uname)} {(-n)})
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [1076]
                                    )
                                  ]
                                  spids: [1068 1074]
                                )
                              ]
                            )
                          left_token: <Left_Backtick '`'>
                          spids: [1067 1078]
                        )
                      }
                  )
                spids: [1064 1079]
              )
            }
          spids: [1063]
        )
      ]
      spids: [1063]
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$HOSTNAME'))}
      arms: [
        (case_arm
          pat_list: [{(Lit_Other '*') (.) (Lit_Other '*')}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:HOST)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Sentence
                                child: 
                                  (Assignment
                                    keyword: Assign_None
                                    pairs: [
                                      (assign_pair
                                        lhs: (LhsName name:IFS)
                                        op: Equal
                                        rhs: {(.)}
                                        spids: [1096]
                                      )
                                    ]
                                    spids: [1096]
                                  )
                                terminator: <Op_Semi ';'>
                              )
                              (Sentence
                                child: (C {(set)} {(--)} {($ VSub_Name '$HOSTNAME')})
                                terminator: <Op_Semi ';'>
                              )
                              (C {(echo)} {($ VSub_Number '$1')})
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1095 1110]
                      )
                    }
                  spids: [1094]
                )
              ]
              spids: [1094]
            )
          ]
          spids: [1089 1092 1111 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:HOST)
                  op: Equal
                  rhs: {($ VSub_Name '$HOSTNAME')}
                  spids: [1116]
                )
              ]
              spids: [1116]
            )
          ]
          spids: [1113 1114 1118 16777215]
        )
      ]
      spids: [1081 1087 1120]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TMP_DIRS)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name TMP_DIRS>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ ('/tmp /var/tmp'))})
                spids: [1124 1130]
              )
            }
          spids: [1123]
        )
      ]
      spids: [1123]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MACHINE_ARCH)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name MACHINE_ARCH>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{($ VSub_Name '$MACHINE')})
                spids: [1133 1137]
              )
            }
          spids: [1132]
        )
      ]
      spids: [1132]
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$MACHINE_ARCH'))}
      arms: [
        (case_arm
          pat_list: [{(x86) (Lit_Other '*') (64)} {(amd64)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MACHINE32_ARCH)
                  op: Equal
                  rhs: {(i386)}
                  spids: [1154]
                )
              ]
              spids: [1154]
            )
          ]
          spids: [1147 1152 1156 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*') (64)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MACHINE32_ARCH)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Name '$MACHINE_ARCH')})
                                  (C {(sed)} {(SQ <'s,64,32,'>)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1163 1175]
                      )
                    }
                  spids: [1162]
                )
              ]
              spids: [1162]
            )
          ]
          spids: [1158 1160 1176 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MACHINE32_ARCH)
                  op: Equal
                  rhs: {($ VSub_Name '$MACHINE_ARCH')}
                  spids: [1181]
                )
              ]
              spids: [1181]
            )
          ]
          spids: [1178 1179 1183 16777215]
        )
      ]
      spids: [1139 1145 1185]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:HOST_ARCH)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name HOST_ARCH>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: {($ VSub_Name '$MACHINE_ARCH')}
                  )
                spids: [1188 1192]
              )
            }
          spids: [1187]
        )
      ]
      spids: [1187]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:HOST_ARCH32)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name HOST_ARCH32>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: {($ VSub_Name '$MACHINE32_ARCH')}
                  )
                spids: [1195 1199]
              )
            }
          spids: [1194]
        )
      ]
      spids: [1194]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SHARE_ARCH_DEFAULT)
          op: Equal
          rhs: {($ VSub_Name '$OS') (/) ($ VSub_Name '$OSMAJOR') (.X/) ($ VSub_Name '$HOST_ARCH')}
          spids: [1204]
        )
      ]
      spids: [1204]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SHARE_ARCH)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name SHARE_ARCH>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: {($ VSub_Name '$SHARE_ARCH_DEFAULT')}
                  )
                spids: [1212 1216]
              )
            }
          spids: [1211]
        )
      ]
      spids: [1211]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LN)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name LN>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(ln)})
                spids: [1219 1223]
              )
            }
          spids: [1218]
        )
      ]
      spids: [1218]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TR)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name TR>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(tr)})
                spids: [1226 1230]
              )
            }
          spids: [1225]
        )
      ]
      spids: [1225]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:HOST_TARGET)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(echo)} 
                            {(${ VSub_Name OS) (${ VSub_Name OSMAJOR) (-) ($ VSub_Name '$HOST_ARCH')}
                          )
                          (C {(tr)} {(-d)} {(/)})
                          (C {(toLower)})
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [1237 1260]
              )
            }
          spids: [1236]
        )
      ]
      spids: [1236]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:HOST_TARGET32)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(echo)} 
                            {(${ VSub_Name OS) (${ VSub_Name OSMAJOR) (-) ($ VSub_Name '$HOST_ARCH32')}
                          )
                          (C {(tr)} {(-d)} {(/)})
                          (C {(toLower)})
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [1263 1286]
              )
            }
          spids: [1262]
        )
      ]
      spids: [1262]
    )
    (C {(export)} {(HOST_TARGET)} {(HOST_TARGET32)})
    (Case
      to_match: 
        {
          (CommandSubPart
            command_list: (CommandList children:[(C {(echo)} {(-n)} {(.)})])
            left_token: <Left_Backtick '`'>
            spids: [1297 1303]
          )
        }
      arms: [
        (case_arm
          pat_list: [{(-n) (Lit_Other '*')}]
          action: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:N) op:Equal rhs:{(SQ )} spids:[1311])]
                  spids: [1311]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:C)
                  op: Equal
                  rhs: {(DQ (Lit_Other '\\') (c))}
                  spids: [1314]
                )
              ]
              spids: [1314]
            )
          ]
          spids: [1307 1309 1319 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:N) op:Equal rhs:{(-n)} spids:[1324])]
                  spids: [1324]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:C) op:Equal rhs:{(SQ )} spids:[1328])]
              spids: [1328]
            )
          ]
          spids: [1321 1322 1329 16777215]
        )
      ]
      spids: [1295 1305 1331]
    )
    (FuncDef
      name: Echo
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {(DQ ($ VSub_Number '$1'))}
              arms: [
                (case_arm
                  pat_list: [{(-n)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:_n)
                              op: Equal
                              rhs: {($ VSub_Name '$N')}
                              spids: [1353]
                            )
                            (assign_pair
                              lhs: (LhsName name:_c)
                              op: Equal
                              rhs: {($ VSub_Name '$C')}
                              spids: [1356]
                            )
                          ]
                          spids: [1353]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [1350 1351 1361 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_n)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [1367]
                        )
                        (assign_pair
                          lhs: (LhsName name:_c)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [1369]
                        )
                      ]
                      spids: [1367]
                    )
                  ]
                  spids: [1364 1365 1370 16777215]
                )
              ]
              spids: [1341 1347 1373]
            )
            (C {(echo)} {($ VSub_Name '$_n')} {(DQ ($ VSub_At '$@'))} {($ VSub_Name '$_c')})
          ]
          spids: [1338]
        )
      spids: [1334 1337]
    )
    (C {(export)} {(HOSTNAME)} {(HOST)})
    (C {(export)} {(OS)} {(MACHINE)} {(MACHINE_ARCH)} {(OSREL)} {(OSMAJOR)} {(LOCAL_FS)} {(TMP_DIRS)} 
      {(MAILER)} {(N)} {(C)} {(K)} {(PS_AXC)}
    )
    (C {(export)} {(LN)} {(SHARE_ARCH)} {(TR)})
    (Case
      to_match: {(/) ($ VSub_Number '$0')}
      arms: [
        (case_arm
          pat_list: [{(Lit_Other '*') (/os.sh)}]
          action: [
            (ForEach
              iter_name: v
              iter_words: [{($ VSub_Star '$*')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(eval)} 
                      {(Lit_VarLike 'vv=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                        ($ VSub_Name '$v')
                      }
                    )
                    (C {(echo)} {(DQ ($ VSub_Name '$v') ("='") ($ VSub_Name '$vv') ("'"))})
                  ]
                  spids: [1452 1472]
                )
              spids: [1448 16777215]
            )
          ]
          spids: [1438 1440 1475 16777215]
        )
      ]
      spids: [1431 1436 1477]
    )
  ]
)