(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:me)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: (CommandList children:[(C {(basename)} {($ VSub_Number "$0")})])
                  left_token: <Left_Backtick "`">
                  spids: [12 16]
                )
              )
            }
          spids: [10]
        )
      ]
      spids: [10]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name "$conf"))})
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-r)} {(/etc/udev/udev.conf)})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:conf)
                          op: Equal
                          rhs: {(/etc/udev/udev.conf)}
                          spids: [55]
                        )
                      ]
                      spids: [55]
                    )
                  ]
                  spids: [-1 52]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:conf)
                      op: Equal
                      rhs: 
                        {
                          (DQ 
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (SimpleCommand
                                      words: [{(find)} {(/etc)} {(-type)} {(f)} {(-name)} {(udev.conf)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 2
                                          arg_word: {(/dev/null)}
                                          spids: [77]
                                        )
                                      ]
                                    )
                                  ]
                                )
                              left_token: <Left_Backtick "`">
                              spids: [64 80]
                            )
                          )
                        }
                      spids: [62]
                    )
                  ]
                  spids: [62]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              children: [
                                (C {(test)} {(-z)} {(DQ ($ VSub_Name "$conf"))})
                                (C {(test)} {(KW_Bang "!")} {(-r)} {(DQ ($ VSub_Name "$conf"))})
                              ]
                              op_id: Op_DPipe
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (SimpleCommand
                          words: [{(echo)} {(DQ ($ VSub_Name "$me") (" Error: no udev.conf found"))}]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[117])]
                        )
                        (C {(exit)} {(1)})
                      ]
                      spids: [-1 107]
                    )
                  ]
                  spids: [-1 126]
                )
              ]
              spids: [59 129]
            )
          ]
          spids: [-1 40]
        )
      ]
      spids: [-1 131]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:rules_d)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (C {(sed)} {(-n)} {(SQ <"/^udev_rules=/{ s!udev_rules=!!; s!\\\"!!g; p; }">)} 
                          {($ VSub_Name "$conf")}
                        )
                      ]
                    )
                  left_token: <Left_Backtick "`">
                  spids: [145 155]
                )
              )
            }
          spids: [143]
        )
      ]
      spids: [143]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name "$rules_d"))})
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rules_d)
                  op: Equal
                  rhs: {(/etc/udev/rules.d)}
                  spids: [173]
                )
              ]
              spids: [173]
            )
          ]
          spids: [-1 170]
        )
      ]
      spids: [-1 176]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(KW_Bang "!")} {(-d)} {(DQ ($ VSub_Name "$rules_d"))})
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ($ VSub_Name "$me") (" Error: cannot find udev rules directory"))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[201])]
            )
            (C {(exit)} {(1)})
          ]
          spids: [-1 191]
        )
      ]
      spids: [-1 209]
    )
    (C {(sh)} {(-xc)} 
      {
        (DQ ("cp ") 
          (CommandSubPart
            command_list: (CommandList children:[(C {(dirname)} {($ VSub_Number "$0")})])
            left_token: <Left_Backtick "`">
            spids: [217 221]
          ) ("/udev.txt ") ($ VSub_Name "$rules_d") (/60-aoe.rules)
        )
      }
    )
  ]
)