(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:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(SQ <EOF>)}
                  here_end_span_id: 214
                  stdin_parts: [
                    ('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')
                  ]
                )
              ]
            )
            (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: [230]
                )
              ]
              spids: [230]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:card_name)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [234]
                )
              ]
              spids: [234]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:card_avail) op:Equal rhs:{(0)} spids:[238])]
              spids: [238]
            )
            (C {(shift)} {(2)})
            (WhileUntil
              keyword: <KW_While 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: <Redir_Great '>'>
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                          ]
                          negated: F
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:card_avail)
                              op: Equal
                              rhs: {(1)}
                              spids: [281]
                            )
                          ]
                          spids: [281]
                        )
                      ]
                    )
                    (C {(shift)})
                  ]
                  spids: [260 288]
                )
            )
            (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: [308]
                        )
                      ]
                      spids: [308]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:eth_default)
                          op: Equal
                          rhs: {($ VSub_Name '$card_number')}
                          spids: [314]
                        )
                      ]
                      spids: [314]
                    )
                  ]
                  spids: [16777215 304]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:card_mark)
                      op: Equal
                      rhs: {(DQ (' '))}
                      spids: [321]
                    )
                  ]
                  spids: [321]
                )
              ]
              spids: [318 327]
            )
            (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: [227]
        )
      spids: [223 226]
    )
    (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: [357]
        )
      spids: [353 356]
    )
    (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: [630]
        )
      spids: [626 629]
    )
    (FuncDef
      name: do_step1
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:eth_default) op:Equal rhs:{(0)} spids:[695])]
              spids: [695]
            )
            (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 )})
            (WhileUntil
              keyword: <KW_While 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: [778]
                            )
                          ]
                          spids: [778]
                        )
                      ]
                    )
                    (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: [798]
                            )
                          ]
                          spids: [798]
                        )
                      ]
                    )
                  ]
                  spids: [751 804]
                )
            )
          ]
          spids: [692]
        )
      spids: [688 691]
    )
    (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: [828]
                            )
                          ]
                          spids: [828]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [825 826 832 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: [839]
                            )
                          ]
                          spids: [839]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [836 837 843 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: [849]
                            )
                          ]
                          spids: [849]
                        )
                      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: [853]
                            )
                          ]
                          spids: [853]
                        )
                      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: [846 847 899 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: [905]
                            )
                          ]
                          spids: [905]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [902 903 909 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: [915]
                            )
                          ]
                          spids: [915]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [912 913 919 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: [925]
                            )
                          ]
                          spids: [925]
                        )
                      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: [929]
                            )
                          ]
                          spids: [929]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [922 923 935 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: [941]
                            )
                          ]
                          spids: [941]
                        )
                      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: [945]
                            )
                          ]
                          spids: [945]
                        )
                      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: [938 939 1011 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: [1017]
                            )
                          ]
                          spids: [1017]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1014 1015 1023 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: [1030]
                            )
                          ]
                          spids: [1030]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1027 1028 1036 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: [1042]
                            )
                          ]
                          spids: [1042]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1039 1040 1048 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: [1054]
                            )
                          ]
                          spids: [1054]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1051 1052 1060 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: [1067]
                            )
                          ]
                          spids: [1067]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1064 1065 1073 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(warn)} {(DQ ('choose a number'))})]
                  spids: [1077 1078 16777215 1087]
                )
              ]
              spids: [816 822 1087]
            )
          ]
          spids: [813]
        )
      spids: [809 812]
    )
    (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 )})
            (WhileUntil
              keyword: <KW_While 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: [1180]
                            )
                          ]
                          spids: [1180]
                        )
                      ]
                    )
                    (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: [1198]
                                    )
                                  ]
                                  spids: [1198]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:dhcp)
                                      op: Equal
                                      rhs: {(DQ (yes))}
                                      spids: [1204]
                                    )
                                  ]
                                  spids: [1204]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          spids: [1195 1196 1211 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: [1217]
                                    )
                                  ]
                                  spids: [1217]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:manual)
                                      op: Equal
                                      rhs: {(DQ (do))}
                                      spids: [1223]
                                    )
                                  ]
                                  spids: [1223]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          spids: [1214 1215 1229 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [(C {(warn)} {(DQ ('choose a number'))})]
                          spids: [1232 1233 16777215 1242]
                        )
                      ]
                      spids: [1186 1192 1242]
                    )
                  ]
                  spids: [1155 1245]
                )
            )
            (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: [1292]
                                )
                              ]
                              spids: [1292]
                            )
                          ]
                          spids: [16777215 1289]
                        )
                      ]
                      spids: [16777215 1296]
                    )
                    (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: [1331]
                                )
                              ]
                              spids: [1331]
                            )
                          ]
                          spids: [16777215 1328]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:hostname)
                              op: Equal
                              rhs: {($ VSub_Name '$hostname_prev')}
                              spids: [1338]
                            )
                          ]
                          spids: [1338]
                        )
                      ]
                      spids: [1335 1342]
                    )
                    (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: [1365]
                                )
                              ]
                              spids: [1365]
                            )
                          ]
                          spids: [16777215 1362]
                        )
                      ]
                      spids: [16777215 1369]
                    )
                    (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: [1404]
                                )
                              ]
                              spids: [1404]
                            )
                          ]
                          spids: [16777215 1401]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:ip)
                              op: Equal
                              rhs: {($ VSub_Name '$ip_prev')}
                              spids: [1411]
                            )
                          ]
                          spids: [1411]
                        )
                      ]
                      spids: [1408 1415]
                    )
                    (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: [1438]
                                )
                              ]
                              spids: [1438]
                            )
                          ]
                          spids: [16777215 1435]
                        )
                      ]
                      spids: [16777215 1442]
                    )
                    (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: [1477]
                                )
                              ]
                              spids: [1477]
                            )
                          ]
                          spids: [16777215 1474]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:netmask)
                              op: Equal
                              rhs: {($ VSub_Name '$netmask_prev')}
                              spids: [1484]
                            )
                          ]
                          spids: [1484]
                        )
                      ]
                      spids: [1481 1488]
                    )
                    (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: [1553]
                            )
                          ]
                          spids: [1553]
                        )
                      ]
                    )
                    (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: [1575]
                                )
                              ]
                              spids: [1575]
                            )
                            (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: [1613]
                                        )
                                      ]
                                      spids: [1613]
                                    )
                                  ]
                                  spids: [16777215 1610]
                                )
                              ]
                              spids: [16777215 1617]
                            )
                          ]
                          spids: [16777215 1572]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:dns2)
                              op: Equal
                              rhs: {(DQ )}
                              spids: [1627]
                            )
                          ]
                          spids: [1627]
                        )
                      ]
                      spids: [1620 1632]
                    )
                  ]
                  spids: [16777215 1267]
                )
              ]
              spids: [16777215 1635]
            )
          ]
          spids: [1096]
        )
      spids: [1092 1095]
    )
    (WhileUntil
      keyword: <KW_While 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:[1669])]
                          spids: [1669]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1666 1667 1673 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: [1679]
                            )
                          ]
                          spids: [1679]
                        )
                      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:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                        )
                        (C {(usage)})
                      ]
                    )
                    (C {(drv_params)} {($ VSub_Name '$ethernet')})
                  ]
                  spids: [1676 1677 1718 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: [1724]
                            )
                          ]
                          spids: [1724]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1721 1722 1728 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: [1734]
                            )
                          ]
                          spids: [1734]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1731 1732 1740 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: [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: [{(i)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:ip)
                              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: [{(n)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:netmask)
                              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: [{(g)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:gateway)
                              op: Equal
                              rhs: {($ VSub_Name '$OPTARG')}
                              spids: [1812]
                            )
                          ]
                          spids: [1812]
                        )
                      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: [1817 1827]
                              )
                            }
                          spids: [1816]
                        )
                      ]
                      spids: [1816]
                    )
                  ]
                  spids: [1809 1810 1828 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: [1834]
                            )
                          ]
                          spids: [1834]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1831 1832 1838 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: [1844]
                            )
                          ]
                          spids: [1844]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [1841 1842 1848 16777215]
                )
                (case_arm
                  pat_list: [{(h)}]
                  action: [(C {(usage)})]
                  spids: [1851 1852 1856 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: [1859 1860 1882 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: [1885 1886 1898 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: [1901 1902 1914 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(usage)})]
                  spids: [1917 1918 1922 16777215]
                )
              ]
              spids: [1657 1663 1925]
            )
          ]
          spids: [1654 1927]
        )
    )
    (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: [1993]
                        )
                      ]
                      spids: [1993]
                    )
                  ]
                  spids: [16777215 1969]
                )
              ]
              spids: [16777215 1999]
            )
          ]
          spids: [16777215 1952]
        )
      ]
      spids: [16777215 2001]
    )
    (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: [2021]
                )
              ]
              spids: [2021]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:INETCONF)
                  op: Equal
                  rhs: {($ VSub_Name '$prefix') ($ VSub_Name '$INETCONF')}
                  spids: [2026]
                )
              ]
              spids: [2026]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RCNET)
                  op: Equal
                  rhs: {($ VSub_Name '$prefix') ($ VSub_Name '$RCNET')}
                  spids: [2031]
                )
              ]
              spids: [2031]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:HOSTS)
                  op: Equal
                  rhs: {($ VSub_Name '$prefix') ($ VSub_Name '$HOSTS')}
                  spids: [2036]
                )
              ]
              spids: [2036]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:HOSTNAME)
                  op: Equal
                  rhs: {($ VSub_Name '$prefix') ($ VSub_Name '$HOSTNAME')}
                  spids: [2041]
                )
              ]
              spids: [2041]
            )
            (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 2059]
                )
              ]
              spids: [16777215 2079]
            )
          ]
          spids: [16777215 2018]
        )
      ]
      spids: [16777215 2081]
    )
    (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 2101]
        )
      ]
      spids: [16777215 2127]
    )
    (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:[2150])]
              spids: [2150]
            )
          ]
          spids: [16777215 2147]
        )
      ]
      spids: [16777215 2158]
    )
    (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:<Redir_Great '>'> fd:16777215 arg_word:{($ VSub_Name '$INETCONF')})]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ($ VSub_Name '$driverargs'))}]
      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{($ VSub_Name '$LOCALRC')})]
    )
    (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:<Redir_Great '>'> fd:16777215 arg_word:{($ VSub_Name '$RCNET')})]
            )
            (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: <Redir_DGreat '>>'>
                      fd: 16777215
                      arg_word: {($ VSub_Name '$RCNET')}
                    )
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ('daemonize nonamed -L'))}]
              redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{($ VSub_Name '$RCNET')})]
            )
            (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: <Redir_Great '>'>
                      fd: 16777215
                      arg_word: {($ VSub_Name '$HOSTS')}
                    )
                  ]
                )
              ]
            )
            (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: <Redir_DGreat '>>'>
                      fd: 16777215
                      arg_word: {($ VSub_Name '$HOSTS')}
                    )
                  ]
                )
              ]
            )
            (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: <Redir_DGreat '>>'>
                      fd: 16777215
                      arg_word: {($ VSub_Name '$HOSTS')}
                    )
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(echo)}
                {(-e)}
                {
                  (DQ (Lit_Other '\\') (n) ($ VSub_Name '$ip') (Lit_Other '\\') (t) 
                    ($ VSub_Name '$hostname')
                  )
                }
              ]
              redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{($ VSub_Name '$HOSTS')})]
            )
            (SimpleCommand
              words: [{(echo)} {($ VSub_Name '$hostname')}]
              redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{($ VSub_Name '$HOSTNAME')})]
            )
          ]
          spids: [16777215 2363]
        )
      ]
      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:<Redir_Great '>'> fd:16777215 arg_word:{($ VSub_Name '$HOSTS')})]
            )
          ]
        )
      ]
      spids: [2648 2801]
    )
    (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)})
  ]
)