(command.CommandList
  children: [
    (command.ShFunction
      name: usage
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<echo>} 
              {
                (DQ <'Usage: '> ($ Id.VSub_DollarName PROG) 
                  <
' [-t] [[-c custom-map-name] ...] [-d domain] -o output-directory [[source-file] ...]'
                  >
                )
              }
            )
            (C {<echo>} 
              {
                (DQ 
                  <
' t - Generate source files from TRADITIONAL NIS MAPS, default is NIS2LDAP maps.'
                  >
                )
              }
            )
            (C {<echo>} 
              {(DQ <' c - Name of the custom map for which source file needs to be generated.'>)}
            )
            (C {<echo>} {(DQ <' d - Specify a different domain, default is local system domain name.'>)})
            (C {<echo>} 
              {(DQ <' o - Specify the output directory where source files can be generated.'>)}
            )
            (C {<echo>} 
              {(DQ <'source-file - The name of the source file for which needs to be generated.'>)}
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: parse_argument
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: (condition.Shell commands:[(C {<getopts>} {(DQ <'tc:d:o:'>)} {<ARG>})])
              body: 
                (command.DoGroup
                  children: [
                    (command.Case
                      to_match: {($ Id.VSub_DollarName ARG)}
                      arms: [
                        (case_arm
                          pat_list: [{<t>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'N2LPREFIX='>
                                      name: N2LPREFIX
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ )}
                                  spids: [178]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'MAP_LIST='>
                                      name: MAP_LIST
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ ($ Id.VSub_DollarName NIS_ONLY_MAP_LIST))}
                                  spids: [183]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [175 176 189 -1]
                        )
                        (case_arm
                          pat_list: [{<c>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'CUST_LIST='>
                                      name: CUST_LIST
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ ($ Id.VSub_DollarName CUST_LIST) <' '> 
                                        ($ Id.VSub_DollarName OPTARG)
                                      )
                                    }
                                  spids: [195]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [192 193 203 -1]
                        )
                        (case_arm
                          pat_list: [{<d>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOMAIN='> name:DOMAIN)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName OPTARG)}
                                  spids: [209]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAPDIR='> name:MAPDIR)
                                  op: assign_op.Equal
                                  rhs: {<'/var/yp/'> (DQ ($ Id.VSub_DollarName DOMAIN))}
                                  spids: [213]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [206 207 220 -1]
                        )
                        (case_arm
                          pat_list: [{<o>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OUTDIR='> name:OUTDIR)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName OPTARG)}
                                  spids: [226]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [223 224 230 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'>}]
                          action: [
                            (C {<echo>} {(DQ <'ERROR : Invalid argument'>)})
                            (C {<usage>})
                            (command.ControlFlow
                              token: <Id.ControlFlow_Exit exit>
                              arg_word: {<1>}
                            )
                          ]
                          spids: [233 234 251 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ForEach
              iter_names: [MAP]
              iterable: (for_iter.Words words:[{($ Id.VSub_DollarName CUST_LIST)}])
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'CUST_MAP_LIST='>
                              name: CUST_MAP_LIST
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName CUST_MAP_LIST) <' '> 
                                (${ Id.VSub_Name N2LPREFIX) ($ Id.VSub_DollarName MAP)
                              )
                            }
                          spids: [273]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName OUTDIR))} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} {(DQ <'ERROR : output directory has to be specified.'>)})
                    (C {<usage>})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [286 299]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<shift>} 
              {
                (command_sub
                  left_token: <Id.Left_Backtick '`'>
                  child: (C {<expr>} {($ Id.VSub_DollarName OPTIND)} {<->} {<1>})
                  right: <Id.Backtick_Right '`'>
                )
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'CMDLINE_SRC_LIST='>
                      name: CMDLINE_SRC_LIST
                    )
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_At '@'))}
                  spids: [336]
                )
              ]
              redirects: []
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName DEBUG)} {<-eq>} {<1>} 
                  {<Id.Lit_RBracket ']'>}
                )
                (C {<echo>} {<CMDLINE_SRC_LIST>} {<Id.Lit_Equals '='>} 
                  {($ Id.VSub_DollarName CMDLINE_SRC_LIST)}
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName CMDLINE_SRC_LIST))} 
                              {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAP_LIST='> name:MAP_LIST)
                          op: assign_op.Equal
                          rhs: {(DQ )}
                          spids: [387]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'CMDLINE_SRCS='>
                              name: CMDLINE_SRCS
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [392]
                        )
                      ]
                      redirects: []
                    )
                    (command.ForEach
                      iter_names: [SRC]
                      iterable: (for_iter.Words words:[{($ Id.VSub_DollarName CMDLINE_SRC_LIST)}])
                      body: 
                        (command.DoGroup
                          children: [
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName DEBUG)} {<-eq>} {<1>} 
                                  {<Id.Lit_RBracket ']'>}
                                )
                                (C {<echo>} {<Parsing>} {<Command>} {<line>} {<SRC>} {<Id.Lit_Equals '='>} 
                                  {($ Id.VSub_DollarName SRC)}
                                )
                              ]
                            )
                            (command.Case
                              to_match: {($ Id.VSub_DollarName SRC)}
                              arms: [
                                (case_arm
                                  pat_list: [{<passwd>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <passwd.byuid>}
                                          spids: [450]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [457]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [445 447 465 -1]
                                )
                                (case_arm
                                  pat_list: [{<group>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <group.byname>}
                                          spids: [473]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [480]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [468 470 488 -1]
                                )
                                (case_arm
                                  pat_list: [{<hosts>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <hosts.byaddr>}
                                          spids: [496]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [503]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [491 493 511 -1]
                                )
                                (case_arm
                                  pat_list: [{<ipnodes>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <ipnodes.byaddr>}
                                          spids: [519]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [526]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [514 516 534 -1]
                                )
                                (case_arm
                                  pat_list: [{<ethers>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <ethers.byname>}
                                          spids: [542]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [549]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [537 539 557 -1]
                                )
                                (case_arm
                                  pat_list: [{<networks>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <networks.byaddr>}
                                          spids: [565]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [572]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [560 562 580 -1]
                                )
                                (case_arm
                                  pat_list: [{<rpc>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <rpc.bynumber>}
                                          spids: [588]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [595]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [583 585 603 -1]
                                )
                                (case_arm
                                  pat_list: [{<services>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <services.byname>}
                                          spids: [611]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [618]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [606 608 626 -1]
                                )
                                (case_arm
                                  pat_list: [{<protocols>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <protocols.bynumber>}
                                          spids: [634]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [641]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [629 631 649 -1]
                                )
                                (case_arm
                                  pat_list: [{<netgroup>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <netgroup>}
                                          spids: [657]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [664]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [652 654 672 -1]
                                )
                                (case_arm
                                  pat_list: [{<bootparams>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <bootparams>}
                                          spids: [680]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [687]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [675 677 695 -1]
                                )
                                (case_arm
                                  pat_list: [{<aliases>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <mail.aliases>}
                                          spids: [703]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [710]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [698 700 718 -1]
                                )
                                (case_arm
                                  pat_list: [{<publickey>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <publickey.byname>}
                                          spids: [726]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [733]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [721 723 741 -1]
                                )
                                (case_arm
                                  pat_list: [{<netid>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <netid.byname>}
                                          spids: [749]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [756]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [744 746 764 -1]
                                )
                                (case_arm
                                  pat_list: [{<netmasks>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <netmasks.byaddr>}
                                          spids: [772]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [779]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [767 769 787 -1]
                                )
                                (case_arm
                                  pat_list: [{<passwd.adjunct>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <passwd.adjunct.byname>}
                                          spids: [795]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [802]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [790 792 810 -1]
                                )
                                (case_arm
                                  pat_list: [{<group.adjunct>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <group.adjunct.byname>}
                                          spids: [818]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [825]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [813 815 833 -1]
                                )
                                (case_arm
                                  pat_list: [{<timezone>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <timezone.byname>}
                                          spids: [841]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [848]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [836 838 856 -1]
                                )
                                (case_arm
                                  pat_list: [{<auto.> <Id.Lit_Star '*'>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) (${ Id.VSub_Name SRC)}
                                          spids: [865]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [874]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [859 862 882 -1]
                                )
                                (case_arm
                                  pat_list: [{<auth_attr>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <auth_attr>}
                                          spids: [890]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [897]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [885 887 905 -1]
                                )
                                (case_arm
                                  pat_list: [{<exec_attr>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <exec_attr>}
                                          spids: [913]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [920]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [908 910 928 -1]
                                )
                                (case_arm
                                  pat_list: [{<prof_attr>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <prof_attr>}
                                          spids: [936]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [943]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [931 933 951 -1]
                                )
                                (case_arm
                                  pat_list: [{<user_attr>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <user_attr>}
                                          spids: [959]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [966]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [954 956 974 -1]
                                )
                                (case_arm
                                  pat_list: [{<audit_user>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP='>
                                              name: MAP
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name N2LPREFIX) <audit_user>}
                                          spids: [982]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAP_LIST='>
                                              name: MAP_LIST
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName MAP_LIST) <' '> 
                                                ($ Id.VSub_DollarName MAP)
                                              )
                                            }
                                          spids: [989]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [977 979 997 -1]
                                )
                                (case_arm
                                  pat_list: [{<Id.Lit_Star '*'>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'MAPFOUND='>
                                              name: MAPFOUND
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [1016]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ForEach
                                      iter_names: [dbmfile]
                                      iterable: 
                                        (for_iter.Words
                                          words: [
                                            {($ Id.VSub_DollarName MAPDIR) <'/'> 
                                              (${ Id.VSub_Name N2LPREFIX) (${ Id.VSub_Name SRC) <.dir>
                                            }
                                            {($ Id.VSub_DollarName MAPDIR) <'/'> 
                                              (${ Id.VSub_Name N2LPREFIX) (${ Id.VSub_Name SRC) <.> <Id.Lit_Star '*'> <.dir>
                                            }
                                          ]
                                        )
                                      body: 
                                        (command.DoGroup
                                          children: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'MAP='>
                                                      name: MAP
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (command_sub
                                                        left_token: <Id.Left_Backtick '`'>
                                                        child: 
                                                          (C {<basename>} 
                                                            {($ Id.VSub_DollarName dbmfile)} {<.dir>}
                                                          )
                                                        right: <Id.Backtick_Right '`'>
                                                      )
                                                    }
                                                  spids: [1055]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (C {<Id.Lit_LBracket '['>} {<-f>} 
                                                              {($ Id.VSub_DollarName MAPDIR) <'/'> 
                                                                (${ Id.VSub_Name MAP) <.pag>
                                                              } {<Id.Lit_RBracket ']'>}
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'MAPFOUND='>
                                                              name: MAPFOUND
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: {<1>}
                                                          spids: [1086]
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'CUST_MAP_LIST='>
                                                              name: CUST_MAP_LIST
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (DQ 
                                                                ($ Id.VSub_DollarName CUST_MAP_LIST) <' '> ($ Id.VSub_DollarName MAP)
                                                              )
                                                            }
                                                          spids: [1090]
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [1067 1083]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                          ]
                                        )
                                      redirects: []
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DAmp]
                                      children: [
                                        (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName MAPFOUND)} 
                                          {<-eq>} {<0>} {<Id.Lit_RBracket ']'>}
                                        )
                                        (C {<echo>} {<ERROR>} {<Id.Lit_Colon ':'>} {<No>} {<maps>} 
                                          {<found>} {<Id.KW_For for>} {($ Id.VSub_DollarName SRC) <.>} {<Skipping..>}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1000 1001 1139 -1]
                                )
                              ]
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                  ]
                  spids: [367 384]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: is_root_user
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Case
              to_match: 
                {
                  (command_sub
                    left_token: <Id.Left_Backtick '`'>
                    child: (C {<id>})
                    right: <Id.Backtick_Right '`'>
                  )
                }
              arms: [
                (case_arm
                  pat_list: [
                    {<Id.Lit_VarLike 'uid='> <0> 
                      (word_part.EscapedLiteral
                        token: <Id.Lit_EscapedChar '\\('>
                        ch: '('
                      ) <root> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'> ch:')') <Id.Lit_Star '*'>
                    }
                  ]
                  action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})]
                  spids: [1173 1179 1186 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})]
                  spids: [1189 1191 1198 -1]
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_passwd
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<passwd>}
                  spids: [1213]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SHADOW='> name:SHADOW)
                  op: assign_op.Equal
                  rhs: {<shadow>}
                  spids: [1216]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<2->}
                {<-d>}
                {(DQ <' '>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [
                {<sort>}
                {<-n>}
                {<-t> <Id.Lit_Colon ':'>}
                {<-k3> <Id.Lit_Comma ','> <3>}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.sort>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'UID='> name:UID)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<head>} {<-1>} 
                                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.sort>}
                              )
                              (C {<cut>} {<-f1>} {<-d> <Id.Lit_Colon ':'>})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Backtick_Right '`'>
                      )
                    }
                  spids: [1352]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PSWD='> name:PSWD)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<head>} {<-1>} 
                                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.sort>}
                              )
                              (C {<cut>} {<-f2>} {<-d> <Id.Lit_Colon ':'>})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Backtick_Right '`'>
                      )
                    }
                  spids: [1377]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName PSWD))} 
                              {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <'##'> (${ Id.VSub_Name UID))} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Pipeline
                      children: [
                        (C {<cut>} {<-f>} {<1> <Id.Lit_Comma ','> <2>} {<-d> <Id.Lit_Colon ':'>} 
                          {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.sort>}
                        )
                        (command.Simple
                          words: [{<sed>} {(SQ <'s/$/:::::::/'>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SHADOW)}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                      negated: F
                      stderr_indices: []
                    )
                    (C {<chmod>} {<400>} 
                      {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SHADOW)}
                    )
                    (command.Simple
                      words: [
                        {<awk>}
                        {(SQ <' BEGIN { FS = ":"; OFS = ":"}\n'> <'        {$2 = "x"; print}'>)}
                        {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.sort>}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [1402 1423]
                )
              ]
              else_action: [
                (C {<cp>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.sort>} 
                  {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_group
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<group>}
                  spids: [1535]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<2->}
                {<-d>}
                {(DQ <' '>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [
                {<sort>}
                {<-n>}
                {<-t> <Id.Lit_Colon ':'>}
                {<-k3> <Id.Lit_Comma ','> <3>}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_hosts
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<hosts>}
                  spids: [1667]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<2->}
                {<-d>}
                {(DQ <' '>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [
                {<sort>}
                {<-n>}
                {<-t.>}
                {<-k1> <Id.Lit_Comma ','> <1>}
                {<-k2> <Id.Lit_Comma ','> <2>}
                {<-k3> <Id.Lit_Comma ','> <3>}
                {<-k4> <Id.Lit_Comma ','> <4>}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_ipnodes
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<ipnodes>}
                  spids: [1810]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<2->}
                {<-d>}
                {(DQ <' '>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [
                {<grep>}
                {<-v>}
                {(DQ <'::'>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.V4>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [
                {<grep>}
                {(DQ <'::'>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.V6>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [
                {<sort>}
                {<-n>}
                {<-t.>}
                {<-k1> <Id.Lit_Comma ','> <1>}
                {<-k2> <Id.Lit_Comma ','> <2>}
                {<-k3> <Id.Lit_Comma ','> <3>}
                {<-k4> <Id.Lit_Comma ','> <4>}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.V4>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<sort>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.V6>}]
              redirects: [
                (redir
                  op: <Id.Redir_DGreat '>>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_ethers
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<ethers>}
                  spids: [2020]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<2->}
                {<-d>}
                {(DQ <' '>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [
                {<sort>}
                {<-b>}
                {<-k2>}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_networks
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<networks>}
                  spids: [2147]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<2->}
                {<-d>}
                {(DQ <' '>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<sort>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_rpc
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<rpc>}
                  spids: [2270]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<2->}
                {<-d>}
                {(DQ <' '>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [
                {<sort>}
                {<-n>}
                {<-k2>}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_services
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<services>}
                  spids: [2397]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<2->}
                {<-d>}
                {(DQ <' '>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [
                {<sort>}
                {<-n>}
                {<-k2>}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_protocols
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<protocols>}
                  spids: [2524]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<2->}
                {<-d>}
                {(DQ <' '>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [
                {<sort>}
                {<-n>}
                {<-k2>}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_netgroup
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<netgroup>}
                  spids: [2651]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (C {<cp>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>} 
              {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_bootparams
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<bootparams>}
                  spids: [2737]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [{<sort>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_aliases
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<aliases>}
                  spids: [2828]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<sed>}
                {(SQ <'s/ /: /'>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.sed>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<sort>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.sed>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_publickey
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<publickey>}
                  spids: [2945]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [{<sort>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_netid
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<netid>}
                  spids: [3036]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<grep>}
                {<-v>}
                {(DQ <'@'> (${ Id.VSub_Name DOMAIN))}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_netmasks
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<netmasks>}
                  spids: [3139]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<sort>}
                {<-n>}
                {<-t.>}
                {<-k1> <Id.Lit_Comma ','> <1>}
                {<-k2> <Id.Lit_Comma ','> <2>}
                {<-k3> <Id.Lit_Comma ','> <3>}
                {<-k4> <Id.Lit_Comma ','> <4>}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_passwd_adjunct
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<passwd.adjunct>}
                  spids: [3250]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (C {<grep>} {<-v>} {<YP_MASTER_NAME>})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_SECURE>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<2->}
                {<-d>}
                {(DQ <' '>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<sort>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_group_adjunct
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<group.adjunct>}
                  spids: [3384]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (C {<grep>} {<-v>} {<YP_MASTER_NAME>})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_SECURE>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<2->}
                {<-d>}
                {(DQ <' '>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<sort>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_timezone
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<timezone>}
                  spids: [3515]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<2->}
                {<-d>}
                {(DQ <' '>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<sort>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_auto_src
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName MAP)}
                  spids: [3638]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [{<sort>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_auth_attr
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<auth_attr>}
                  spids: [3729]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<2->}
                {<-d>}
                {(DQ <' '>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<sort>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_exec_attr
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<exec_attr>}
                  spids: [3852]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<3->}
                {<-d>}
                {(DQ <':'>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut1>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<2->}
                {<-d>}
                {(DQ <' '>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut1>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut2>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<sort>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut2>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_prof_attr
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<prof_attr>}
                  spids: [4003]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Pipeline
              children: [
                (C {<cut>} {<-f1>} {<-d> <Id.Lit_Colon ':'>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                )
                (command.Simple
                  words: [
                    {<awk>}
                    {
                      (SQ <'{\n'> <'  STR = $1\n'> <'  for (i=2; i <= NF/2; i++) {\n'> 
                        <'    STR = STR  " " $i\n'> <'  }\n'> <'print STR\n'> <'}'>
                      )
                    }
                  ]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut1>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f2->}
                {<-d> <Id.Lit_Colon ':'>}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut2>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [
                {<paste>}
                {<-d>}
                {(DQ <':'>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut1>}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut2>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<sort>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_user_attr
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<user_attr>}
                  spids: [4196]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<2->}
                {<-d>}
                {(DQ <' '>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<sort>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: create_audit_user
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCFILE='> name:SRCFILE)
                  op: assign_op.Equal
                  rhs: {<audit_user>}
                  spids: [4319]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (C {<grep>} {<-v>} {<YP_MASTER_NAME>})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_SECURE>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [
                {<cut>}
                {<-f>}
                {<2->}
                {<-d>}
                {(DQ <' '>)}
                {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<sort>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.cut>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName SRCFILE)}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROG='> name:PROG)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: (C {<basename>} {($ Id.VSub_Number 0)})
                right: <Id.Backtick_Right '`'>
              )
            }
          spids: [4448]
        )
      ]
      redirects: []
    )
    (C {<is_root_user>})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'ERROR : Only root can run '> ($ Id.VSub_DollarName PROG))})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [4466 4479]
        )
      ]
      else_action: []
      redirects: []
    )
    (C {<umask>} {<077>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOMAIN='> name:DOMAIN)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: (C {<'/usr/bin/domainname'>})
                right: <Id.Backtick_Right '`'>
              )
            }
          spids: [4508]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAPDIR='> name:MAPDIR)
          op: assign_op.Equal
          rhs: {<'/var/yp/'> (DQ ($ Id.VSub_DollarName DOMAIN))}
          spids: [4515]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'N2LPREFIX='> name:N2LPREFIX)
          op: assign_op.Equal
          rhs: {<LDAP_>}
          spids: [4524]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NIS_ONLY_MAP_LIST='> name:NIS_ONLY_MAP_LIST)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'passwd.byuid\n'> <'                   group.byname\n'> 
                <'                   hosts.byaddr\n'> <'                   ipnodes.byaddr\n'> <'                   ethers.byname\n'> 
                <'                   networks.byaddr\n'> <'                   rpc.bynumber\n'> <'                   services.byname\n'> 
                <'                   protocols.bynumber\n'> <'                   netgroup\n'> <'                   bootparams\n'> 
                <'                   mail.aliases\n'> <'                   publickey.byname\n'> <'                   netid.byname\n'> 
                <'                   netmasks.byaddr\n'> <'                   passwd.adjunct.byname\n'> <'                   group.adjunct.byname\n'> 
                <'                   timezone.byname\n'> <'                   auth_attr\n'> <'                   exec_attr\n'> 
                <'                   prof_attr\n'> <'                   user_attr\n'> <'                   audit_user'>
              )
            }
          spids: [4528]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NIS2LDAP_MAP_LIST='> name:NIS2LDAP_MAP_LIST)
          op: assign_op.Equal
          rhs: 
            {
              (DQ (${ Id.VSub_Name N2LPREFIX) <'passwd.byuid\n'> <'                   '> 
                (${ Id.VSub_Name N2LPREFIX) <'group.byname\n'> <'                   '> (${ Id.VSub_Name N2LPREFIX) <'hosts.byaddr\n'> 
                <'                   '> (${ Id.VSub_Name N2LPREFIX) <'ipnodes.byaddr\n'> <'                   '> (${ Id.VSub_Name N2LPREFIX) 
                <'ethers.byname\n'> <'                   '> (${ Id.VSub_Name N2LPREFIX) <'networks.byaddr\n'> <'                   '> 
                (${ Id.VSub_Name N2LPREFIX) <'rpc.bynumber\n'> <'                   '> (${ Id.VSub_Name N2LPREFIX) <'services.byname\n'> 
                <'                   '> (${ Id.VSub_Name N2LPREFIX) <'protocols.bynumber\n'> <'                   '> (${ Id.VSub_Name N2LPREFIX) 
                <'netgroup\n'> <'                   '> (${ Id.VSub_Name N2LPREFIX) <'bootparams\n'> <'                   '> 
                (${ Id.VSub_Name N2LPREFIX) <'mail.aliases\n'> <'                   '> (${ Id.VSub_Name N2LPREFIX) <'publickey.byname\n'> 
                <'                   '> (${ Id.VSub_Name N2LPREFIX) <'netid.byname\n'> <'                   '> (${ Id.VSub_Name N2LPREFIX) 
                <'netmasks.byaddr\n'> <'                   '> (${ Id.VSub_Name N2LPREFIX) <'passwd.adjunct.byname\n'> <'                   '> 
                (${ Id.VSub_Name N2LPREFIX) <'group.adjunct.byname\n'> <'                   '> (${ Id.VSub_Name N2LPREFIX) <'timezone.byname\n'> 
                <'                   '> (${ Id.VSub_Name N2LPREFIX) <'auth_attr\n'> <'                   '> (${ Id.VSub_Name N2LPREFIX) 
                <'exec_attr\n'> <'                   '> (${ Id.VSub_Name N2LPREFIX) <'prof_attr\n'> <'                   '> 
                (${ Id.VSub_Name N2LPREFIX) <'user_attr\n'> <'                   '> (${ Id.VSub_Name N2LPREFIX) <audit_user>
              )
            }
          spids: [4556]
        )
      ]
      redirects: []
    )
    (command.ForEach
      iter_names: [dbmfile]
      iterable: 
        (for_iter.Words
          words: [{($ Id.VSub_DollarName MAPDIR) <'/auto.'> <Id.Lit_Star '*'> <.dir>}]
        )
      body: 
        (command.DoGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAP='> name:MAP)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: (C {<basename>} {($ Id.VSub_DollarName dbmfile)} {<.dir>})
                        right: <Id.Backtick_Right '`'>
                      )
                    }
                  spids: [4693]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-f>} 
                              {($ Id.VSub_DollarName MAPDIR) <'/'> (${ Id.VSub_Name MAP) <.pag>} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'NIS_ONLY_MAP_LIST='>
                              name: NIS_ONLY_MAP_LIST
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName NIS_ONLY_MAP_LIST) <' '> 
                                ($ Id.VSub_DollarName MAP)
                              )
                            }
                          spids: [4724]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [4705 4721]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
        )
      redirects: []
    )
    (command.ForEach
      iter_names: [dbmfile]
      iterable: 
        (for_iter.Words
          words: [
            {($ Id.VSub_DollarName MAPDIR) <'/'> (${ Id.VSub_Name N2LPREFIX) <auto.> <Id.Lit_Star '*'> 
              <.dir>
            }
          ]
        )
      body: 
        (command.DoGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAP='> name:MAP)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: (C {<basename>} {($ Id.VSub_DollarName dbmfile)} {<.dir>})
                        right: <Id.Backtick_Right '`'>
                      )
                    }
                  spids: [4755]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-f>} 
                              {($ Id.VSub_DollarName MAPDIR) <'/'> (${ Id.VSub_Name MAP) <.pag>} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'NIS2LDAP_MAP_LIST='>
                              name: NIS2LDAP_MAP_LIST
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName NIS2LDAP_MAP_LIST) <' '> 
                                ($ Id.VSub_DollarName MAP)
                              )
                            }
                          spids: [4786]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [4767 4783]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
        )
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAP_LIST='> name:MAP_LIST)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName NIS2LDAP_MAP_LIST))}
          spids: [4802]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TMPDIR='> name:TMPDIR)
          op: assign_op.Equal
          rhs: {(DQ <'/var/tmp/ypmap2src'>)}
          spids: [4811]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DEBUG='> name:DEBUG)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [4817]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DEBUG='> name:DEBUG)
          op: assign_op.Equal
          rhs: {<1>}
          spids: [4823]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OUTDIR='> name:OUTDIR)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [4826]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CUST_MAP_LIST='> name:CUST_MAP_LIST)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [4830]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CMDLINE_SRCS='> name:CMDLINE_SRCS)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [4834]
        )
      ]
      redirects: []
    )
    (C {<parse_argument>} {($ Id.VSub_Star '*')})
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName DEBUG)} {<-eq>} {<1>} {<Id.Lit_RBracket ']'>})
        (C {<echo>} {<DOMAIN>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName DOMAIN)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName DEBUG)} {<-eq>} {<1>} {<Id.Lit_RBracket ']'>})
        (C {<echo>} {<OUTDIR>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName OUTDIR)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName DEBUG)} {<-eq>} {<1>} {<Id.Lit_RBracket ']'>})
        (C {<echo>} {<TMPDIR>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName TMPDIR)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName DEBUG)} {<-eq>} {<1>} {<Id.Lit_RBracket ']'>})
        (C {<echo>} {<CUST_MAP_LIST>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName CUST_MAP_LIST)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName DEBUG)} {<-eq>} {<1>} {<Id.Lit_RBracket ']'>})
        (C {<echo>} {<MAP_LIST>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName MAP_LIST)})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName DEBUG)} {<-eq>} {<1>} {<Id.Lit_RBracket ']'>})
        (C {<echo>} {<MAPDIR>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName MAPDIR)})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} 
                      {(DQ ($ Id.VSub_DollarName MAPDIR))} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {<ERROR>} {<Id.Lit_Colon ':'>} {<NIS>} {<Map>} {<directory>} 
              {($ Id.VSub_DollarName MAPDIR)} {<does>} {<not>} {<exist.>}
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [4965 4980]
        )
      ]
      else_action: []
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} 
                      {(DQ ($ Id.VSub_DollarName OUTDIR))} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {<output>} {<directory>} {($ Id.VSub_DollarName OUTDIR)} {<does>} {<not>} {<exist.>} 
              {<Creating>} {<it.>}
            )
            (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName OUTDIR)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} {<ERROR>} {<Id.Lit_Colon ':'>} {<Failed>} {<to>} {<create>} {<output>} 
                      {<directory>} {($ Id.VSub_DollarName OUTDIR)}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [5055 5068]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          spids: [5011 5026]
        )
      ]
      else_action: []
      redirects: []
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ ($ Id.VSub_DollarName TMPDIR))} {<Id.Lit_RBracket ']'>})
        (C {<rm>} {<-rf>} {($ Id.VSub_DollarName TMPDIR)})
      ]
    )
    (C {<mkdir>} {($ Id.VSub_DollarName TMPDIR)})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {<ERROR>} {<Id.Lit_Colon ':'>} {<Failed>} {<to>} {<create>} {<temp>} {<directory>} 
              {($ Id.VSub_DollarName TMPDIR)}
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [5125 5138]
        )
      ]
      else_action: []
      redirects: []
    )
    (command.ForEach
      iter_names: [MAP]
      iterable: (for_iter.Words words:[{($ Id.VSub_DollarName MAP_LIST)}])
      body: 
        (command.DoGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName DEBUG)} {<-eq>} {<1>} 
                  {<Id.Lit_RBracket ']'>}
                )
                (C {<echo>} {<Processing>} {<MAP>} {<Id.Lit_Equals '='>} {($ Id.VSub_DollarName MAP)})
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                                  {($ Id.VSub_DollarName MAPDIR) <'/'> (${ Id.VSub_Name MAP) <.dir>} {<Id.Lit_RBracket ']'>}
                                )
                                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                                  {($ Id.VSub_DollarName MAPDIR) <'/'> (${ Id.VSub_Name MAP) <.pag>} {<Id.Lit_RBracket ']'>}
                                )
                              ]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName CMDLINE_SRCS)} {<-ne>} {<0>} 
                          {<Id.Lit_RBracket ']'>}
                        )
                        (C {<echo>} {<ERROR>} {<Id.Lit_Colon ':'>} {<Missing>} {<DBM>} {<file>} 
                          {<Id.KW_For for>} {($ Id.VSub_DollarName MAP)} {<Id.KW_In in>} {($ Id.VSub_DollarName MAPDIR)} {<.>} {<Skipping..>}
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DAmp]
                      children: [
                        (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName DEBUG)} {<-eq>} {<1>} 
                          {<Id.Lit_RBracket ']'>}
                        )
                        (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName CMDLINE_SRCS)} {<-eq>} {<0>} 
                          {<Id.Lit_RBracket ']'>}
                        )
                        (C {<echo>} {<No>} {<DBM>} {<file>} {<Id.KW_For for>} {($ Id.VSub_DollarName MAP)} 
                          {<Id.KW_In in>} {($ Id.VSub_DollarName MAPDIR)} {<.>} {<Skipping..>}
                        )
                      ]
                    )
                    (command.ControlFlow token:<Id.ControlFlow_Continue continue>)
                  ]
                  spids: [5203 5238]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.Case
              to_match: {($ Id.VSub_DollarName MAP)}
              arms: [
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <passwd.byuid>}]
                  action: [(C {<create_passwd>})]
                  spids: [5343 5348 5354 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <group.byname>}]
                  action: [(C {<create_group>})]
                  spids: [5357 5362 5368 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <hosts.byaddr>}]
                  action: [(C {<create_hosts>})]
                  spids: [5371 5376 5382 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <ipnodes.byaddr>}]
                  action: [(C {<create_ipnodes>})]
                  spids: [5385 5390 5396 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <ethers.byname>}]
                  action: [(C {<create_ethers>})]
                  spids: [5399 5404 5410 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <networks.byaddr>}]
                  action: [(C {<create_networks>})]
                  spids: [5413 5418 5424 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <rpc.bynumber>}]
                  action: [(C {<create_rpc>})]
                  spids: [5427 5432 5438 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <services.byname>}]
                  action: [(C {<create_services>})]
                  spids: [5441 5446 5452 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <protocols.bynumber>}]
                  action: [(C {<create_protocols>})]
                  spids: [5455 5460 5466 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <netgroup>}]
                  action: [(C {<create_netgroup>})]
                  spids: [5469 5474 5480 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <bootparams>}]
                  action: [(C {<create_bootparams>})]
                  spids: [5483 5488 5494 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <mail.aliases>}]
                  action: [(C {<create_aliases>})]
                  spids: [5497 5502 5508 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <publickey.byname>}]
                  action: [(C {<create_publickey>})]
                  spids: [5511 5516 5522 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <netid.byname>}]
                  action: [(C {<create_netid>})]
                  spids: [5525 5530 5536 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <netmasks.byaddr>}]
                  action: [(C {<create_netmasks>})]
                  spids: [5539 5544 5550 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <passwd.adjunct.byname>}]
                  action: [(C {<create_passwd_adjunct>})]
                  spids: [5553 5558 5564 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <group.adjunct.byname>}]
                  action: [(C {<create_group_adjunct>})]
                  spids: [5567 5572 5578 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <timezone.byname>}]
                  action: [(C {<create_timezone>})]
                  spids: [5581 5586 5592 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <auto.> <Id.Lit_Star '*'>}]
                  action: [(C {<create_auto_src>})]
                  spids: [5595 5601 5607 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <auth_attr>}]
                  action: [(C {<create_auth_attr>})]
                  spids: [5610 5615 5621 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <exec_attr>}]
                  action: [(C {<create_exec_attr>})]
                  spids: [5624 5629 5635 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <prof_attr>}]
                  action: [(C {<create_prof_attr>})]
                  spids: [5638 5643 5649 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <user_attr>}]
                  action: [(C {<create_user_attr>})]
                  spids: [5652 5657 5663 -1]
                )
                (case_arm
                  pat_list: [{(${ Id.VSub_Name N2LPREFIX) <audit_user>}]
                  action: [(C {<create_audit_user>})]
                  spids: [5666 5671 5677 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'CUST_MAP_LIST='>
                              name: CUST_MAP_LIST
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName CUST_MAP_LIST) <' '> ($ Id.VSub_DollarName MAP))
                            }
                          spids: [5687]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [5680 5681 5695 -1]
                )
              ]
              redirects: []
            )
          ]
        )
      redirects: []
    )
    (command.ForEach
      iter_names: [MAP]
      iterable: (for_iter.Words words:[{($ Id.VSub_DollarName CUST_MAP_LIST)}])
      body: 
        (command.DoGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName DEBUG)} {<-eq>} {<1>} 
                  {<Id.Lit_RBracket ']'>}
                )
                (C {<echo>} {<Processing>} {<Custom>} {<MAP>} {<Id.Lit_Equals '='>} 
                  {($ Id.VSub_DollarName MAP)}
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                                  {($ Id.VSub_DollarName MAPDIR) <'/'> (${ Id.VSub_Name MAP) <.dir>} {<Id.Lit_RBracket ']'>}
                                )
                                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                                  {($ Id.VSub_DollarName MAPDIR) <'/'> (${ Id.VSub_Name MAP) <.pag>} {<Id.Lit_RBracket ']'>}
                                )
                              ]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} {<ERROR>} {<Id.Lit_Colon ':'>} {<Missing>} {<DBM>} {<file>} 
                      {<Id.KW_For for>} {($ Id.VSub_DollarName MAP)} {<Id.KW_In in>} {($ Id.VSub_DollarName MAPDIR)} {<.>} {<Skipping..>}
                    )
                    (command.ControlFlow token:<Id.ControlFlow_Continue continue>)
                  ]
                  spids: [5741 5776]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.Simple
              words: [
                {<makedbm>}
                {<-u>}
                {($ Id.VSub_DollarName MAPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {<YP_LAST_MODIFIED>} 
                  {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MAP)}
                )
                (C {<grep>} {<-v>} {(DQ <'YP_DOMAIN_NAME '> ($ Id.VSub_DollarName DOMAIN))})
                (command.Simple
                  words: [{<grep>} {<-v>} {<YP_MASTER_NAME>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (C {<cp>} {($ Id.VSub_DollarName TMPDIR) <'/'> (${ Id.VSub_Name MAP) <.grep>} 
              {($ Id.VSub_DollarName OUTDIR) <'/'> ($ Id.VSub_DollarName MAP)}
            )
          ]
        )
      redirects: []
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName DEBUG)} {<-eq>} {<0>} {<Id.Lit_RBracket ']'>})
        (C {<rm>} {<-rf>} {($ Id.VSub_DollarName TMPDIR)})
      ]
    )
    (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
  ]
)