(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:LOCALRC) op:Equal rhs:{(/usr/etc/rc.local)} spids:[19])]
      spids: [19]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:INETCONF) op:Equal rhs:{(/etc/inet.conf)} spids:[22])]
      spids: [22]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:RCNET) op:Equal rhs:{(/etc/rc.net)} spids:[25])]
      spids: [25]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:HOSTS) op:Equal rhs:{(/etc/hosts)} spids:[28])]
      spids: [28]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:HOSTNAME)
          op: Equal
          rhs: {(/etc/hostname.file)}
          spids: [31]
        )
      ]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:USRKBFILE) op:Equal rhs:{(/.usrkb)} spids:[34])]
      spids: [34]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:step1) op:Equal rhs:{(DQ )} spids:[38])]
      spids: [38]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:step2) op:Equal rhs:{(DQ )} spids:[42])]
      spids: [42]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:step3) op:Equal rhs:{(DQ )} spids:[46])]
      spids: [46]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:v) op:Equal rhs:{(1)} spids:[50])]
      spids: [50]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:manual_opts) op:Equal rhs:{(0)} spids:[56])]
      spids: [56]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:prefix) op:Equal rhs:{(DQ )} spids:[59])]
      spids: [59]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:cd) op:Equal rhs:{(DQ (no))} spids:[63])]
      spids: [63]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:eth) op:Equal rhs:{(DQ )} spids:[72])]
      spids: [72]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:driver) op:Equal rhs:{(DQ )} spids:[76])]
      spids: [76]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:driverargs) op:Equal rhs:{(DQ )} spids:[80])]
      spids: [80]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:config) op:Equal rhs:{(DQ )} spids:[85])]
      spids: [85]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:manual) op:Equal rhs:{(DQ )} spids:[89])]
      spids: [89]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:dhcp) op:Equal rhs:{(DQ (no))} spids:[93])]
      spids: [93]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:hostname) op:Equal rhs:{(DQ )} spids:[99])]
      spids: [99]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:hostname_prev) op:Equal rhs:{(DQ )} spids:[103])]
      spids: [103]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ip) op:Equal rhs:{(DQ )} spids:[107])]
      spids: [107]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ip_prev) op:Equal rhs:{(DQ )} spids:[111])]
      spids: [111]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:netmask) op:Equal rhs:{(DQ )} spids:[115])]
      spids: [115]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:netmask_prev) op:Equal rhs:{(DQ )} spids:[119])]
      spids: [119]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:gateway) op:Equal rhs:{(DQ )} spids:[123])]
      spids: [123]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:dns1) op:Equal rhs:{(DQ )} spids:[127])]
      spids: [127]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:dns2) op:Equal rhs:{(DQ )} spids:[131])]
      spids: [131]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:hostname_default)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(uname)} {(-n)})])
                left_token: <Left_Backtick '`'>
                spids: [140 144]
              )
            }
          spids: [139]
        )
      ]
      spids: [139]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$hostname_default'))})
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:hostname_default)
              op: Equal
              rhs: {(DQ (Minix))}
              spids: [156]
            )
          ]
          spids: [156]
        )
      ]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ip_default) op:Equal rhs:{(DQ (10.0.0.1))} spids:[161])]
      spids: [161]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:netmask_default)
          op: Equal
          rhs: {(DQ (255.255.255.0))}
          spids: [166]
        )
      ]
      spids: [166]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:gateway_default) op:Equal rhs:{(DQ )} spids:[171])]
      spids: [171]
    )
    (FuncDef
      name: usage
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[185])
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {('Usage:\n') ('\n') ('  netconf [-q] [-p <prefix>] [-e <num>] [-a]\n') 
                      (
'  netconf [-H <name> -i <ip> -n <mask> -g <gw> -d <prim dns> [-s <sec dns>]]\n'
                      ) ('\n') ('  flags:\n') ('     -q Limit generated output\n') 
                      (
'     -p Path prefix for configuration files (e.g., during install -p mnt is used as files are mounted on /mnt).\n'
                      ) ('     -e Ethernet card\n') ('     -a Use DHCP (-H, -i, -n, -g, -d, and -s flags are discarded)\n') 
                      ('     -H Hostname\n') ('     -i IP address\n') ('     -n Netmask\n') ('     -g Default gateway\n') ('     -d Primary DNS\n') 
                      ('     -s Secondary DNS\n') ('     -h Shows this help file\n') ('     -c Shows a list of ethernet cards supported\n') ('\n') 
                      (
'  By default netconf starts in Interactive mode. By providing parameters on the\n'
                      ) ('  command line, some questions can be omitted.\n')
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [188]
                )
              ]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [180]
        )
      spids: [176 179]
    )
    (FuncDef
      name: card
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:card_number)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [208]
                )
              ]
              spids: [208]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:card_name)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [212]
                )
              ]
              spids: [212]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:card_avail) op:Equal rhs:{(0)} spids:[216])]
              spids: [216]
            )
            (C {(shift)} {(2)})
            (While
              cond: [(C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(0)} {(Lit_Other ']')})]
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (Pipeline
                          children: [
                            (C {(lspci)})
                            (SimpleCommand
                              words: [{(grep)} {(DQ ('^') ($ VSub_Number '$1'))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                  spids: [248]
                                )
                              ]
                            )
                          ]
                          negated: F
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:card_avail)
                              op: Equal
                              rhs: {(1)}
                              spids: [259]
                            )
                          ]
                          spids: [259]
                        )
                      ]
                    )
                    (C {(shift)})
                  ]
                  spids: [238 266]
                )
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {($ VSub_Name '$card_avail')} {(-gt)} {(0)} {(Lit_Other ']')})
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:card_mark)
                          op: Equal
                          rhs: {(DQ ('*'))}
                          spids: [286]
                        )
                      ]
                      spids: [286]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:eth_default)
                          op: Equal
                          rhs: {($ VSub_Name '$card_number')}
                          spids: [292]
                        )
                      ]
                      spids: [292]
                    )
                  ]
                  spids: [16777215 282]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:card_mark)
                      op: Equal
                      rhs: {(DQ (' '))}
                      spids: [299]
                    )
                  ]
                  spids: [299]
                )
              ]
              spids: [296 305]
            )
            (C {(printf)} {(DQ ('%2d. %s %s') (Lit_Other '\\') (n))} {(DQ ($ VSub_Name '$card_number'))} 
              {(DQ ($ VSub_Name '$card_mark'))} {(DQ ($ VSub_Name '$card_name'))}
            )
          ]
          spids: [205]
        )
      spids: [201 204]
    )
    (FuncDef
      name: cards
      body: 
        (BraceGroup
          children: [
            (C {(card)} {(0)} {(DQ ('No Ethernet card (no networking)'))})
            (C {(card)} {(1)} {(DQ ('Intel Pro/100'))} {(DQ ('8086:103D'))} {(DQ ('8086:1064'))} 
              {(DQ ('8086:1229'))} {(DQ ('8086:2449'))}
            )
            (C {(card)} {(2)} {(DQ ('3Com 501 or 3Com 509 based card'))})
            (C {(card)} {(3)} {(DQ ('Realtek 8139 based card (also emulated by KVM)'))} 
              {(DQ ('10EC:8139'))} {(DQ ('02AC:1012'))} {(DQ ('1065:8139'))} {(DQ ('1113:1211'))} {(DQ ('1186:1300'))} {(DQ ('1186:1340'))} 
              {(DQ ('11DB:1234'))} {(DQ ('1259:A117'))} {(DQ ('1259:A11E'))} {(DQ ('126C:1211'))} {(DQ ('13D1:AB06'))} {(DQ ('1432:9130'))} 
              {(DQ ('14EA:AB06'))} {(DQ ('14EA:AB07'))} {(DQ ('1500:1360'))} {(DQ ('1743:8139'))} {(DQ ('4033:1360'))}
            )
            (C {(card)} {(4)} {(DQ ('Realtek 8169 based card'))} {(DQ ('10EC:8129'))} {(DQ ('10EC:8167'))} 
              {(DQ ('10EC:8169'))} {(DQ ('1186:4300'))} {(DQ ('1259:C107'))} {(DQ ('1385:8169'))} {(DQ ('16EC:0116'))} {(DQ ('1737:1032'))}
            )
            (C {(card)} {(5)} {(DQ ('Realtek 8029 based card (also emulated by Qemu)'))} 
              {(DQ ('10EC:8029'))}
            )
            (C {(card)} {(6)} {(DQ ('NE2000, 3com 503 or WD based card (also emulated by Bochs)'))})
            (C {(card)} {(7)} {(DQ ('AMD LANCE (also emulated by VMWare and VirtualBox)'))} 
              {(DQ ('1022:2000'))}
            )
            (C {(card)} {(8)} {(DQ ('Intel PRO/1000 Gigabit'))} {(DQ ('8086:100E'))} {(DQ ('8086:107C'))} 
              {(DQ ('8086:10CD'))}
            )
            (C {(card)} {(9)} {(DQ ('Attansic/Atheros L2 FastEthernet'))} {(DQ ('1969:2048'))})
            (C {(card)} {(10)} {(DQ ('DEC Tulip 21140A in VirtualPC'))} {(DQ ('1011:0009'))})
            (C {(card)} {(11)} {(DQ ('Different Ethernet card (no networking)'))})
          ]
          spids: [335]
        )
      spids: [331 334]
    )
    (FuncDef
      name: warn
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(-e)} 
              {
                (DQ (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) 
                  (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) 
                  (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) 
                  (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') 
                  ('b ! ') ($ VSub_Number '$1')
                )
              }
            )
          ]
          spids: [608]
        )
      spids: [604 607]
    )
    (FuncDef
      name: do_step1
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:eth_default) op:Equal rhs:{(0)} spids:[673])]
              spids: [673]
            )
            (C {(echo)} 
              {(DQ ('MINIX 3 currently supports the following Ethernet cards. PCI cards detected'))}
            )
            (C {(echo)} {(DQ ('by MINIX are marked with *. Please choose: '))})
            (C {(echo)} {(DQ )})
            (C {(cards)})
            (C {(echo)} {(DQ )})
            (While
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$step1'))} {(KW_Bang '!') (Lit_Other '=')} 
                      {(ok)} {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (Sentence
                      child: 
                        (C {(echo)} {(-n)} 
                          {(DQ ('Ethernet card? [') ($ VSub_Name '$eth_default') ('] '))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(read)} {(eth)})
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-z)} {($ VSub_Name '$eth')})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:eth)
                              op: Equal
                              rhs: {($ VSub_Name '$eth_default')}
                              spids: [756]
                            )
                          ]
                          spids: [756]
                        )
                      ]
                    )
                    (C {(drv_params)} {($ VSub_Name '$eth')})
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$driver'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:step1)
                              op: Equal
                              rhs: {(DQ (ok))}
                              spids: [776]
                            )
                          ]
                          spids: [776]
                        )
                      ]
                    )
                  ]
                  spids: [729 782]
                )
            )
          ]
          spids: [670]
        )
      spids: [666 669]
    )
    (FuncDef
      name: drv_params
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {(DQ ($ VSub_Number '$1'))}
              arms: [
                (case_arm
                  pat_list: [{(0)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:driver)
                              op: Equal
                              rhs: {(psip0)}
                              spids: [806]
                            )
                          ]
                          spids: [806]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [803 804 810 16777215]
                )
                (case_arm
                  pat_list: [{(1)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:driver)
                              op: Equal
                              rhs: {(fxp)}
                              spids: [817]
                            )
                          ]
                          spids: [817]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [814 815 821 16777215]
                )
                (case_arm
                  pat_list: [{(2)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:driver)
                              op: Equal
                              rhs: {(dpeth)}
                              spids: [827]
                            )
                          ]
                          spids: [827]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:driverargs)
                              op: Equal
                              rhs: {(DQ ("#dpeth_arg='DPETH0=port:irq:memory'"))}
                              spids: [831]
                            )
                          ]
                          spids: [831]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name '$v'))} {(Lit_Other '=')} {(1)})
                        (C {(echo)} {(DQ )})
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name '$v'))} {(Lit_Other '=')} {(1)})
                        (C {(echo)} 
                          {
                            (DQ ('Note: After installing, edit ') ($ VSub_Name '$LOCALRC') 
                              (' to the right configuration.')
                            )
                          }
                        )
                      ]
                    )
                  ]
                  spids: [824 825 877 16777215]
                )
                (case_arm
                  pat_list: [{(4)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:driver)
                              op: Equal
                              rhs: {(rtl8169)}
                              spids: [883]
                            )
                          ]
                          spids: [883]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [880 881 887 16777215]
                )
                (case_arm
                  pat_list: [{(3)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:driver)
                              op: Equal
                              rhs: {(rtl8139)}
                              spids: [893]
                            )
                          ]
                          spids: [893]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [890 891 897 16777215]
                )
                (case_arm
                  pat_list: [{(5)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:driver)
                              op: Equal
                              rhs: {(dp8390)}
                              spids: [903]
                            )
                          ]
                          spids: [903]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:driverargs)
                              op: Equal
                              rhs: {(DQ ("dp8390_arg='DPETH0=pci'"))}
                              spids: [907]
                            )
                          ]
                          spids: [907]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [900 901 913 16777215]
                )
                (case_arm
                  pat_list: [{(6)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:driver)
                              op: Equal
                              rhs: {(dp8390)}
                              spids: [919]
                            )
                          ]
                          spids: [919]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:driverargs)
                              op: Equal
                              rhs: {(DQ ("dp8390_arg='DPETH0=240:9'"))}
                              spids: [923]
                            )
                          ]
                          spids: [923]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name '$v'))} {(Lit_Other '=')} {(1)})
                        (C {(echo)} {(DQ )})
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name '$v'))} {(Lit_Other '=')} {(1)})
                        (C {(echo)} 
                          {
                            (DQ ('Note: After installing, edit ') ($ VSub_Name '$LOCALRC') 
                              (' to the right configuration.')
                            )
                          }
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name '$v'))} {(Lit_Other '=')} {(1)})
                        (C {(echo)} 
                          {
                            (DQ 
                              (
' chose option 4, the defaults for emulation by Bochs have been set.'
                              )
                            )
                          }
                        )
                      ]
                    )
                  ]
                  spids: [916 917 989 16777215]
                )
                (case_arm
                  pat_list: [{(7)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:driver)
                              op: Equal
                              rhs: {(DQ (lance))}
                              spids: [995]
                            )
                          ]
                          spids: [995]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [992 993 1001 16777215]
                )
                (case_arm
                  pat_list: [{(8)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:driver)
                              op: Equal
                              rhs: {(DQ (e1000))}
                              spids: [1008]
                            )
                          ]
                          spids: [1008]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1005 1006 1014 16777215]
                )
                (case_arm
                  pat_list: [{(9)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:driver)
                              op: Equal
                              rhs: {(DQ (atl2))}
                              spids: [1020]
                            )
                          ]
                          spids: [1020]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1017 1018 1026 16777215]
                )
                (case_arm
                  pat_list: [{(10)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:driver)
                              op: Equal
                              rhs: {(DQ (dec21140A))}
                              spids: [1032]
                            )
                          ]
                          spids: [1032]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1029 1030 1038 16777215]
                )
                (case_arm
                  pat_list: [{(11)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:driver)
                              op: Equal
                              rhs: {(DQ (psip0))}
                              spids: [1045]
                            )
                          ]
                          spids: [1045]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1042 1043 1051 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(warn)} {(DQ ('choose a number'))})]
                  spids: [1055 1056 16777215 1065]
                )
              ]
              spids: [794 800 1065]
            )
          ]
          spids: [791]
        )
      spids: [787 790]
    )
    (FuncDef
      name: do_step2
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ )})
            (C {(echo)} {(DQ ('Configure network using DHCP or manually?'))})
            (C {(echo)} {(DQ )})
            (C {(echo)} {(DQ ('1. Automatically using DHCP'))})
            (C {(echo)} {(DQ ('2. Manually'))})
            (C {(echo)} {(DQ )})
            (While
              cond: [
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$step2'))} {(KW_Bang '!') (Lit_Other '=')} {(ok)} 
                  {(Lit_Other ']')}
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (Sentence
                      child: (C {(echo)} {(-n)} {(DQ ('Configure method? [1] '))})
                      terminator: <Op_Semi ';'>
                    )
                    (C {(read)} {(config)})
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-z)} {($ VSub_Name '$config')})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:config)
                              op: Equal
                              rhs: {(1)}
                              spids: [1158]
                            )
                          ]
                          spids: [1158]
                        )
                      ]
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Name '$config'))}
                      arms: [
                        (case_arm
                          pat_list: [{(1)}]
                          action: [
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:step2)
                                      op: Equal
                                      rhs: {(DQ (ok))}
                                      spids: [1176]
                                    )
                                  ]
                                  spids: [1176]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:dhcp)
                                      op: Equal
                                      rhs: {(DQ (yes))}
                                      spids: [1182]
                                    )
                                  ]
                                  spids: [1182]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          spids: [1173 1174 1189 16777215]
                        )
                        (case_arm
                          pat_list: [{(2)}]
                          action: [
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:step2)
                                      op: Equal
                                      rhs: {(DQ (ok))}
                                      spids: [1195]
                                    )
                                  ]
                                  spids: [1195]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:manual)
                                      op: Equal
                                      rhs: {(DQ (do))}
                                      spids: [1201]
                                    )
                                  ]
                                  spids: [1201]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          spids: [1192 1193 1207 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [(C {(warn)} {(DQ ('choose a number'))})]
                          spids: [1210 1211 16777215 1220]
                        )
                      ]
                      spids: [1164 1170 1220]
                    )
                  ]
                  spids: [1133 1223]
                )
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$manual'))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-z)} {($ VSub_Name '$hostname_prev')} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:hostname_prev)
                                  op: Equal
                                  rhs: {($ VSub_Name '$hostname_default')}
                                  spids: [1270]
                                )
                              ]
                              spids: [1270]
                            )
                          ]
                          spids: [16777215 1267]
                        )
                      ]
                      spids: [16777215 1274]
                    )
                    (C {(echo)} {(-n)} {(DQ ('Hostname [') ($ VSub_Name '$hostname_prev') (']: '))})
                    (C {(read)} {(hostname)})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {($ VSub_Name '$hostname')} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:hostname_prev)
                                  op: Equal
                                  rhs: {($ VSub_Name '$hostname')}
                                  spids: [1309]
                                )
                              ]
                              spids: [1309]
                            )
                          ]
                          spids: [16777215 1306]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:hostname)
                              op: Equal
                              rhs: {($ VSub_Name '$hostname_prev')}
                              spids: [1316]
                            )
                          ]
                          spids: [1316]
                        )
                      ]
                      spids: [1313 1320]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-z)} {($ VSub_Name '$ip_prev')} {(Lit_Other ']')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ip_prev)
                                  op: Equal
                                  rhs: {($ VSub_Name '$ip_default')}
                                  spids: [1343]
                                )
                              ]
                              spids: [1343]
                            )
                          ]
                          spids: [16777215 1340]
                        )
                      ]
                      spids: [16777215 1347]
                    )
                    (C {(echo)} {(-n)} {(DQ ('IP address [') ($ VSub_Name '$ip_prev') (']: '))})
                    (C {(read)} {(ip)})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {($ VSub_Name '$ip')} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ip_prev)
                                  op: Equal
                                  rhs: {($ VSub_Name '$ip')}
                                  spids: [1382]
                                )
                              ]
                              spids: [1382]
                            )
                          ]
                          spids: [16777215 1379]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:ip)
                              op: Equal
                              rhs: {($ VSub_Name '$ip_prev')}
                              spids: [1389]
                            )
                          ]
                          spids: [1389]
                        )
                      ]
                      spids: [1386 1393]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-z)} {($ VSub_Name '$netmask_prev')} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:netmask_prev)
                                  op: Equal
                                  rhs: {($ VSub_Name '$netmask_default')}
                                  spids: [1416]
                                )
                              ]
                              spids: [1416]
                            )
                          ]
                          spids: [16777215 1413]
                        )
                      ]
                      spids: [16777215 1420]
                    )
                    (C {(echo)} {(-n)} {(DQ ('Netmask [') ($ VSub_Name '$netmask_prev') (']: '))})
                    (C {(read)} {(netmask)})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {($ VSub_Name '$netmask')} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:netmask_prev)
                                  op: Equal
                                  rhs: {($ VSub_Name '$netmask')}
                                  spids: [1455]
                                )
                              ]
                              spids: [1455]
                            )
                          ]
                          spids: [16777215 1452]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:netmask)
                              op: Equal
                              rhs: {($ VSub_Name '$netmask_prev')}
                              spids: [1462]
                            )
                          ]
                          spids: [1462]
                        )
                      ]
                      spids: [1459 1466]
                    )
                    (C {(echo)} {(-n)} {(DQ ('Gateway: '))})
                    (C {(read)} {(gateway)})
                    (C {(echo)} {(-n)} {(DQ ('Primary DNS Server [') ($ VSub_Name '$dns1_prev') (']: '))})
                    (C {(read)} {(dns1)})
                    (AndOr
                      ops: [Op_DAmp Op_DAmp]
                      children: [
                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$dns1'))})
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dns1_prev'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:dns1)
                              op: Equal
                              rhs: {($ VSub_Name '$dns1_prev')}
                              spids: [1531]
                            )
                          ]
                          spids: [1531]
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$dns1'))} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dns1_prev)
                                  op: Equal
                                  rhs: {($ VSub_Name '$dns1')}
                                  spids: [1553]
                                )
                              ]
                              spids: [1553]
                            )
                            (C {(echo)} {(-n)} 
                              {(DQ ('Secondary DNS Server [') ($ VSub_Name '$dns2_prev') (']: '))}
                            )
                            (C {(read)} {(dns2)})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} 
                                          {($ VSub_Name '$dns2')} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dns2_prev)
                                          op: Equal
                                          rhs: {($ VSub_Name '$dns2')}
                                          spids: [1591]
                                        )
                                      ]
                                      spids: [1591]
                                    )
                                  ]
                                  spids: [16777215 1588]
                                )
                              ]
                              spids: [16777215 1595]
                            )
                          ]
                          spids: [16777215 1550]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:dns2)
                              op: Equal
                              rhs: {(DQ )}
                              spids: [1605]
                            )
                          ]
                          spids: [1605]
                        )
                      ]
                      spids: [1598 1610]
                    )
                  ]
                  spids: [16777215 1245]
                )
              ]
              spids: [16777215 1613]
            )
          ]
          spids: [1074]
        )
      spids: [1070 1073]
    )
    (While
      cond: [
        (Sentence
          child: (C {(getopts)} {(DQ (':qe:p:aH:i:n:g:d:s:hc'))} {(arg)})
          terminator: <Op_Semi ';'>
        )
      ]
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {(DQ ($ VSub_Name '$arg'))}
              arms: [
                (case_arm
                  pat_list: [{(q)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [(assign_pair lhs:(LhsName name:v) op:Equal rhs:{(0)} spids:[1647])]
                          spids: [1647]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1644 1645 1651 16777215]
                )
                (case_arm
                  pat_list: [{(e)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:ethernet)
                              op: Equal
                              rhs: {($ VSub_Name '$OPTARG')}
                              spids: [1657]
                            )
                          ]
                          spids: [1657]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (SimpleCommand
                          words: [
                            {(test)}
                            {(DQ ($ VSub_Name '$ethernet'))}
                            {(-ge)}
                            {(0)}
                            {(-a)}
                            {(DQ ($ VSub_Name '$ethernet'))}
                            {(-le)}
                            {(7)}
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 2
                              arg_word: {(/dev/null)}
                              spids: [1683]
                            )
                          ]
                        )
                        (C {(usage)})
                      ]
                    )
                    (C {(drv_params)} {($ VSub_Name '$ethernet')})
                  ]
                  spids: [1654 1655 1696 16777215]
                )
                (case_arm
                  pat_list: [{(p)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:prefix)
                              op: Equal
                              rhs: {($ VSub_Name '$OPTARG')}
                              spids: [1702]
                            )
                          ]
                          spids: [1702]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1699 1700 1706 16777215]
                )
                (case_arm
                  pat_list: [{(a)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:dhcp)
                              op: Equal
                              rhs: {(DQ (yes))}
                              spids: [1712]
                            )
                          ]
                          spids: [1712]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1709 1710 1718 16777215]
                )
                (case_arm
                  pat_list: [{(H)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:hostname)
                              op: Equal
                              rhs: {($ VSub_Name '$OPTARG')}
                              spids: [1724]
                            )
                          ]
                          spids: [1724]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:manual_opts)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(expr)} {($ VSub_Name '$manual_opts')} {(SQ <'+'>)} {(1)})
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1729 1739]
                              )
                            }
                          spids: [1728]
                        )
                      ]
                      spids: [1728]
                    )
                  ]
                  spids: [1721 1722 1740 16777215]
                )
                (case_arm
                  pat_list: [{(i)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:ip)
                              op: Equal
                              rhs: {($ VSub_Name '$OPTARG')}
                              spids: [1746]
                            )
                          ]
                          spids: [1746]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:manual_opts)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(expr)} {($ VSub_Name '$manual_opts')} {(SQ <'+'>)} {(1)})
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1751 1761]
                              )
                            }
                          spids: [1750]
                        )
                      ]
                      spids: [1750]
                    )
                  ]
                  spids: [1743 1744 1762 16777215]
                )
                (case_arm
                  pat_list: [{(n)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:netmask)
                              op: Equal
                              rhs: {($ VSub_Name '$OPTARG')}
                              spids: [1768]
                            )
                          ]
                          spids: [1768]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:manual_opts)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(expr)} {($ VSub_Name '$manual_opts')} {(SQ <'+'>)} {(1)})
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1773 1783]
                              )
                            }
                          spids: [1772]
                        )
                      ]
                      spids: [1772]
                    )
                  ]
                  spids: [1765 1766 1784 16777215]
                )
                (case_arm
                  pat_list: [{(g)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:gateway)
                              op: Equal
                              rhs: {($ VSub_Name '$OPTARG')}
                              spids: [1790]
                            )
                          ]
                          spids: [1790]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:manual_opts)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(expr)} {($ VSub_Name '$manual_opts')} {(SQ <'+'>)} {(1)})
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1795 1805]
                              )
                            }
                          spids: [1794]
                        )
                      ]
                      spids: [1794]
                    )
                  ]
                  spids: [1787 1788 1806 16777215]
                )
                (case_arm
                  pat_list: [{(d)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:dns1)
                              op: Equal
                              rhs: {($ VSub_Name '$OPTARG')}
                              spids: [1812]
                            )
                          ]
                          spids: [1812]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1809 1810 1816 16777215]
                )
                (case_arm
                  pat_list: [{(s)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:dns2)
                              op: Equal
                              rhs: {($ VSub_Name '$OPTARG')}
                              spids: [1822]
                            )
                          ]
                          spids: [1822]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1819 1820 1826 16777215]
                )
                (case_arm
                  pat_list: [{(h)}]
                  action: [(C {(usage)})]
                  spids: [1829 1830 1834 16777215]
                )
                (case_arm
                  pat_list: [{(c)}]
                  action: [
                    (Sentence
                      child: 
                        (C {(echo)} {(-e)} 
                          {(DQ ('The following cards are supported by Minix:') (Lit_Other '\\') (n))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence child:(C {(cards)}) terminator:<Op_Semi ';'>)
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
                  ]
                  spids: [1837 1838 1860 16777215]
                )
                (case_arm
                  pat_list: [{(EscapedLiteralPart token:<Lit_EscapedChar '\\?'>)}]
                  action: [
                    (Sentence
                      child: (C {(echo)} {(DQ ('Unknown option -') ($ VSub_Name '$OPTARG'))})
                      terminator: <Op_Semi ';'>
                    )
                    (C {(usage)})
                  ]
                  spids: [1863 1864 1876 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other ':')}]
                  action: [
                    (Sentence
                      child: 
                        (C {(echo)} {(DQ ('Missing required argument for -') ($ VSub_Name '$OPTARG'))})
                      terminator: <Op_Semi ';'>
                    )
                    (C {(usage)})
                  ]
                  spids: [1879 1880 1892 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(usage)})]
                  spids: [1895 1896 1900 16777215]
                )
              ]
              spids: [1635 1641 1903]
            )
          ]
          spids: [1632 1905]
        )
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$dhcp'))} {(KW_Bang '!') (Lit_Other '=')} 
                  {(DQ (yes))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_Name '$manual_opts')} {(-gt)} {(0)} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {($ VSub_Name '$manual_opts')} {(-eq)} {(4)} {(-a)} {(-n)} 
                          {(DQ ($ VSub_Name '$dns1'))}
                        )
                        (C {(usage)})
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:manual)
                          op: Equal
                          rhs: {(DQ (do))}
                          spids: [1971]
                        )
                      ]
                      spids: [1971]
                    )
                  ]
                  spids: [16777215 1947]
                )
              ]
              spids: [16777215 1977]
            )
          ]
          spids: [16777215 1930]
        )
      ]
      spids: [16777215 1979]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$prefix'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:LOCALRC)
                  op: Equal
                  rhs: {($ VSub_Name '$prefix') ($ VSub_Name '$LOCALRC')}
                  spids: [1999]
                )
              ]
              spids: [1999]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:INETCONF)
                  op: Equal
                  rhs: {($ VSub_Name '$prefix') ($ VSub_Name '$INETCONF')}
                  spids: [2004]
                )
              ]
              spids: [2004]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RCNET)
                  op: Equal
                  rhs: {($ VSub_Name '$prefix') ($ VSub_Name '$RCNET')}
                  spids: [2009]
                )
              ]
              spids: [2009]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:HOSTS)
                  op: Equal
                  rhs: {($ VSub_Name '$prefix') ($ VSub_Name '$HOSTS')}
                  spids: [2014]
                )
              ]
              spids: [2014]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:HOSTNAME)
                  op: Equal
                  rhs: {($ VSub_Name '$prefix') ($ VSub_Name '$HOSTNAME')}
                  spids: [2019]
                )
              ]
              spids: [2019]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {($ VSub_Name '$INETCONF')} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(-e)} 
                      {
                        (DQ ('It seems the supplied prefix (') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ($ VSub_Name '$prefix') ("') is invalid.")
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [16777215 2037]
                )
              ]
              spids: [16777215 2057]
            )
          ]
          spids: [16777215 1996]
        )
      ]
      spids: [16777215 2059]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$USER'))} {(KW_Bang '!') (Lit_Other '=')} 
                  {(root)} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(DQ ($ VSub_Name '$v'))} {(Lit_Other '=')} {(1)})
                (C {(echo)} {(DQ ('Please run netconf as root.'))})
              ]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 2079]
        )
      ]
      spids: [16777215 2105]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$USRKBFILE'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:cd) op:Equal rhs:{(DQ (yes))} spids:[2128])]
              spids: [2128]
            )
          ]
          spids: [16777215 2125]
        )
      ]
      spids: [16777215 2136]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [(C {(test)} {(-z)} {(DQ ($ VSub_Name '$ethernet'))}) (C {(do_step1)})]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {($ VSub_Name '$manual_opts')} {(-eq)} {(0)} {(-a)} {(DQ ($ VSub_Name '$dhcp'))} 
          {(Lit_Other '=')} {(DQ (no))}
        )
        (C {(do_step2)})
      ]
    )
    (AndOr
      ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp]
      children: [
        (C {(test)} {(DQ ($ VSub_Name '$cd'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (yes))})
        (C {(test)} {(-f)} {($ VSub_Name '$INETCONF')})
        (C {(mv)} {($ VSub_Name '$INETCONF')} {(DQ ($ VSub_Name '$INETCONF') ('~'))})
        (C {(test)} {(DQ ($ VSub_Name '$v'))} {(Lit_Other '=')} {(1)})
        (C {(echo)} 
          {(DQ ('Backed up ') ($ VSub_Name '$INETCONF') (' to ') ($ VSub_Name '$INETCONF') ('~'))}
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp]
      children: [
        (C {(test)} {(DQ ($ VSub_Name '$cd'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (yes))})
        (C {(test)} {(-f)} {($ VSub_Name '$LOCALRC')})
        (C {(mv)} {($ VSub_Name '$LOCALRC')} {(DQ ($ VSub_Name '$LOCALRC') ('~'))})
        (C {(test)} {(DQ ($ VSub_Name '$v'))} {(Lit_Other '=')} {(1)})
        (C {(echo)} 
          {(DQ ('Backed up ') ($ VSub_Name '$LOCALRC') (' to ') ($ VSub_Name '$LOCALRC') ('~'))}
        )
      ]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ('eth0 ') ($ VSub_Name '$driver') (' 0 { default; } ;'))}]
      redirects: [
        (Redir
          op_id: Redir_Great
          fd: 16777215
          arg_word: {($ VSub_Name '$INETCONF')}
          spids: [2313]
        )
      ]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ($ VSub_Name '$driverargs'))}]
      redirects: [
        (Redir
          op_id: Redir_Great
          fd: 16777215
          arg_word: {($ VSub_Name '$LOCALRC')}
          spids: [2323]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$manual'))} {(Lit_Other ']')})]
          action: [
            (AndOr
              ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp]
              children: [
                (C {(test)} {(DQ ($ VSub_Name '$cd'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (yes))})
                (C {(test)} {(-f)} {($ VSub_Name '$RCNET')})
                (C {(mv)} {($ VSub_Name '$RCNET')} {(DQ ($ VSub_Name '$RCNET') ('~'))})
                (C {(test)} {(DQ ($ VSub_Name '$v'))} {(Lit_Other '=')} {(1)})
                (C {(echo)} 
                  {(DQ ('Backed up ') ($ VSub_Name '$RCNET') (' to ') ($ VSub_Name '$RCNET') ('~'))}
                )
              ]
            )
            (AndOr
              ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp]
              children: [
                (C {(test)} {(DQ ($ VSub_Name '$cd'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (yes))})
                (C {(test)} {(-f)} {($ VSub_Name '$HOSTS')})
                (C {(mv)} {($ VSub_Name '$HOSTS')} {(DQ ($ VSub_Name '$HOSTS') ('~'))})
                (C {(test)} {(DQ ($ VSub_Name '$v'))} {(Lit_Other '=')} {(1)})
                (C {(echo)} 
                  {(DQ ('Backed up ') ($ VSub_Name '$HOSTS') (' to ') ($ VSub_Name '$HOSTS') ('~'))}
                )
              ]
            )
            (SimpleCommand
              words: [
                {(echo)}
                {
                  (DQ ('ifconfig -I /dev/ip0 -n ') ($ VSub_Name '$netmask') (' -h ') ($ VSub_Name '$ip'))
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$RCNET')}
                  spids: [2480]
                )
              ]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(KW_Bang '!')} {(-z)} {($ VSub_Name '$gateway')})
                (SimpleCommand
                  words: [{(echo)} {(DQ ('add_route -g ') ($ VSub_Name '$gateway'))}]
                  redirects: [
                    (Redir
                      op_id: Redir_DGreat
                      fd: 16777215
                      arg_word: {($ VSub_Name '$RCNET')}
                      spids: [2502]
                    )
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ('daemonize nonamed -L'))}]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: 16777215
                  arg_word: {($ VSub_Name '$RCNET')}
                  spids: [2513]
                )
              ]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(KW_Bang '!')} {(-z)} {($ VSub_Name '$dns1')})
                (SimpleCommand
                  words: [
                    {(echo)}
                    {(-e)}
                    {
                      (DQ ($ VSub_Name '$ip') (Lit_Other '\\') ('t%nameserver') (Lit_Other '\\') ('t#') 
                        ($ VSub_Name '$hostname')
                      )
                    }
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {($ VSub_Name '$HOSTS')}
                      spids: [2541]
                    )
                  ]
                )
              ]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(KW_Bang '!')} {(-z)} {($ VSub_Name '$dns1')})
                (SimpleCommand
                  words: [
                    {(echo)}
                    {(-e)}
                    {
                      (DQ ($ VSub_Name '$dns1') (Lit_Other '\\') ('t%nameserver') (Lit_Other '\\') 
                        ('t#DNS 1')
                      )
                    }
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_DGreat
                      fd: 16777215
                      arg_word: {($ VSub_Name '$HOSTS')}
                      spids: [2568]
                    )
                  ]
                )
              ]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(KW_Bang '!')} {(-z)} {($ VSub_Name '$dns2')})
                (SimpleCommand
                  words: [
                    {(echo)}
                    {(-e)}
                    {
                      (DQ ($ VSub_Name '$dns2') (Lit_Other '\\') ('t%nameserver') (Lit_Other '\\') 
                        ('t#DNS 2')
                      )
                    }
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_DGreat
                      fd: 16777215
                      arg_word: {($ VSub_Name '$HOSTS')}
                      spids: [2595]
                    )
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(echo)}
                {(-e)}
                {
                  (DQ (Lit_Other '\\') (n) ($ VSub_Name '$ip') (Lit_Other '\\') (t) 
                    ($ VSub_Name '$hostname')
                  )
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: 16777215
                  arg_word: {($ VSub_Name '$HOSTS')}
                  spids: [2613]
                )
              ]
            )
            (SimpleCommand
              words: [{(echo)} {($ VSub_Name '$hostname')}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$HOSTNAME')}
                  spids: [2622]
                )
              ]
            )
          ]
          spids: [16777215 2341]
        )
      ]
      else_action: [
        (AndOr
          ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp]
          children: [
            (C {(test)} {(DQ ($ VSub_Name '$cd'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (yes))})
            (C {(test)} {(-f)} {(DQ ($ VSub_Name '$RCNET'))})
            (C {(mv)} {(DQ ($ VSub_Name '$RCNET'))} {(DQ ($ VSub_Name '$RCNET') ('~'))})
            (C {(test)} {(DQ ($ VSub_Name '$v'))} {(Lit_Other '=')} {(1)})
            (C {(echo)} 
              {
                (DQ ('Moved ') ($ VSub_Name '$RCNET') (' to ') ($ VSub_Name '$RCNET') 
                  ('~ to use default settings')
                )
              }
            )
          ]
        )
        (AndOr
          ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp]
          children: [
            (C {(test)} {(DQ ($ VSub_Name '$cd'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (yes))})
            (C {(test)} {(-f)} {($ VSub_Name '$HOSTS')})
            (C {(mv)} {($ VSub_Name '$HOSTS')} {(DQ ($ VSub_Name '$HOSTS') ('~'))})
            (C {(test)} {(DQ ($ VSub_Name '$v'))} {(Lit_Other '=')} {(1)})
            (C {(echo)} 
              {(DQ ('Backed up ') ($ VSub_Name '$HOSTS') (' to ') ($ VSub_Name '$HOSTS') ('~'))}
            )
          ]
        )
        (AndOr
          ops: [Op_DAmp]
          children: [
            (C {(test)} {(-f)} {(DQ ($ VSub_Name '$HOSTS') ('~'))})
            (SimpleCommand
              words: [{(grep)} {(-v)} {(DQ ('%nameserver'))} {(DQ ($ VSub_Name '$HOSTS') ('~'))}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$HOSTS')}
                  spids: [2775]
                )
              ]
            )
          ]
        )
      ]
      spids: [2626 2779]
    )
    (AndOr
      ops: [Op_DAmp Op_DAmp]
      children: [
        (C {(test)} {(DQ ($ VSub_Name '$cd'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (yes))})
        (C {(test)} {(DQ ($ VSub_Name '$v'))} {(Lit_Other '=')} {(1)})
        (C {(echo)} {(DQ ('\n') ('You might have to reboot for the changes to take effect.'))})
      ]
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
  ]
)