(command.CommandList
  children: [
    (command.Case
      to_match: {(DQ ($ Id.VSub_Number '$0'))}
      arms: [
        (case_arm
          pat_list: [{<Id.Lit_Star '*'> <'/CmdlineGL.lib'>}]
          action: [
            (C {<echo>} {(DQ <'Usage: source /path/to/CmdlineGL.lib'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [21 23 38 -1]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:CmdlineGL_SharePath)
          op: assign_op.Equal
          rhs: {(DQ <'@share_path@'>)}
          spids: [46]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {(DQ <'@share_path@'>)} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:CmdlineGL_SharePath)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (braced_var_sub
                          token: <Id.VSub_Name BASH_SOURCE>
                          suffix_op: 
                            (suffix_op.Unary
                              tok: <Id.VOp1_Percent '%'>
                              arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>}
                            )
                        )
                      )
                    }
                  spids: [76]
                )
              ]
            )
          ]
          spids: [54 69]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} 
                      {(DQ ($ Id.VSub_DollarName '$CmdlineGL_SharePath') <'/lib-bash'>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} 
              {
                (DQ <'Can\'t determine CmdlineGL share path (checked for \''> 
                  ($ Id.VSub_DollarName '$CmdlineGL_SharePath') <'/lib-bash\')'>
                )
              }
            )
            (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})
          ]
          spids: [88 104]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:CmdlineGL_TexPath)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$CmdlineGL_SharePath') <'/textures'>)}
          spids: [126]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:CmdlineGL_FontPath)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$CmdlineGL_SharePath') <'/fonts'>)}
          spids: [132]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$BASH_VERSION'))} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:CmdlineGL_LibPath)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$CmdlineGL_SharePath') <'/lib-bash'>)}
                  spids: [157]
                )
              ]
            )
            (C {<source>} 
              {(DQ ($ Id.VSub_DollarName '$CmdlineGL_SharePath') <'/lib-bash/CmdlineGL.lib'>)}
            )
          ]
          spids: [141 154]
        )
      ]
      else_action: [
        (C {<echo>} {(DQ <'You must source this libary from bash.'>)})
        (C {<echo>} {(DQ <'No other shells are currently supported.'>)})
        (command.Sentence
          child: (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
  ]
)