(CommandList
  children: [
    (Assignment
      scope: Global
      pairs: [(assign_pair lhs:(LeftVar name:VERSION) rhs:{(SQ <"@VERSION@">)})]
    )
    (AndOr children:[(C {(unset)} {(TMP)} {(TEMP)} {(TMPDIR)})(C {(true)})] op_id:Op_DPipe)
    (Assignment scope:Global flags:[Export] words:[{(PATH)}])
    (If
      arms: [
        (if_arm
          cond: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$DEBOOTSTRAP_DIR"))} {(Lit_Other "]")})
          action: 
            (If
              arms: [
                (if_arm
                  cond: (C {(Lit_Other "[")} {(-x)} {(/debootstrap/debootstrap)} {(Lit_Other "]")})
                  action: 
                    (Assignment
                      scope: Global
                      pairs: [(assign_pair lhs:(LeftVar name:DEBOOTSTRAP_DIR) rhs:{(/debootstrap)})]
                    )
                )
                (if_arm
                  cond: (NoOp)
                  action: 
                    (Assignment
                      scope: Global
                      pairs: [
                        (assign_pair
                          lhs: (LeftVar name:DEBOOTSTRAP_DIR)
                          rhs: {(/usr/share/debootstrap)}
                        )
                      ]
                    )
                )
              ]
            )
        )
      ]
    )
    (Assignment
      scope: Global
      pairs: [
        (assign_pair
          lhs: (LeftVar name:DEVICES_TARGZ)
          rhs: {($ VSub_Name "$DEBOOTSTRAP_DIR") (/devices.tar.gz)}
        )
      ]
    )
    (C {(.)} {($ VSub_Name "$DEBOOTSTRAP_DIR") (/functions)})
    (SimpleCommand
      words: [{(exec)}]
      redirects: [(Redirect op_id:Redir_GreatAnd arg_word:{(1)} fd:4 spids:[93])]
    )
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:LANG) rhs:{(C)})])
    (Assignment
      scope: Global
      pairs: [(assign_pair lhs:(LeftVar name:USE_COMPONENTS) rhs:{(main)})]
    )
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:KEYRING) rhs:{(DQ )})])
    (Assignment
      scope: Global
      pairs: [(assign_pair lhs:(LeftVar name:DISABLE_KEYRING) rhs:{(DQ )})]
    )
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:VARIANT) rhs:{(DQ )})])
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:ARCH) rhs:{(DQ )})])
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:HOST_ARCH) rhs:{(DQ )})])
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:HOST_OS) rhs:{(DQ )})])
    (Assignment
      scope: Global
      pairs: [(assign_pair lhs:(LeftVar name:KEEP_DEBOOTSTRAP_DIR) rhs:{(DQ )})]
    )
    (Assignment
      scope: Global
      pairs: [(assign_pair lhs:(LeftVar name:USE_DEBIANINSTALLER_INTERACTION) rhs:{(DQ )})]
    )
    (Assignment
      scope: Global
      pairs: [(assign_pair lhs:(LeftVar name:SECOND_STAGE_ONLY) rhs:{(DQ )})]
    )
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:PRINT_DEBS) rhs:{(DQ )})])
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:CHROOTDIR) rhs:{(DQ )})])
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:MAKE_TARBALL) rhs:{(DQ )})])
    (Assignment
      scope: Global
      pairs: [(assign_pair lhs:(LeftVar name:KEEP_DEBOOTSTRAP_DIR) rhs:{(DQ )})]
    )
    (Assignment
      scope: Global
      pairs: [(assign_pair lhs:(LeftVar name:EXTRACTOR_OVERRIDE) rhs:{(DQ )})]
    )
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:UNPACK_TARBALL) rhs:{(DQ )})])
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:ADDITIONAL) rhs:{(DQ )})])
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:EXCLUDE) rhs:{(DQ )})])
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:VERBOSE) rhs:{(DQ )})])
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:CERTIFICATE) rhs:{(DQ )})])
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:CHECKCERTIF) rhs:{(DQ )})])
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:PRIVATEKEY) rhs:{(DQ )})])
    (Assignment
      scope: Global
      pairs: [(assign_pair lhs:(LeftVar name:DEF_MIRROR) rhs:{(DQ ("http://ftp.us.debian.org/debian"))})]
    )
    (Assignment scope:Global flags:[Export] words:[{(LANG)}{(USE_COMPONENTS)}])
    (C {(umask)} {(022)})
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:RESOLVE_DEPS) rhs:{(true)})])
    (Assignment
      scope: Global
      pairs: [
        (assign_pair
          lhs: (LeftVar name:WHAT_TO_DO)
          rhs: {(DQ ("finddebs dldebs first_stage second_stage"))}
        )
      ]
    )
    (FuncDef
      name: am_doing_phase
      body: 
        (BraceGroup
          children: [
            (Assignment scope:Local words:[{(x)}])
            (ForEach
              iter_name: x
              iter_words: [{(DQ ($ VSub_At "$@"))}]
              do_arg_iter: False
              body: 
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (Pipeline
                          children: [
                            (C {(echo)} {(DQ (" ") ($ VSub_Name "$WHAT_TO_DO") (" "))})
                            (C {(grep)} {(-q)} {(DQ (" ") ($ VSub_Name "$x") (" "))})
                          ]
                          negated: False
                        )
                      action: (C {(return)} {(0)})
                    )
                  ]
                  spids: [254 290]
                )
              spids: [248 254]
            )
            (C {(return)} {(1)})
          ]
        )
      spids: [225 229]
    )
    (FuncDef
      name: usage_err
      body: 
        (BraceGroup
          children: [
            (C {(info)} {(USAGE1)} {(DQ ("usage: [OPTION]... <suite> <target> [<mirror> [<script>]]"))})
            (C {(info)} {(USAGE2)} 
              {
                (DQ ("Try ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                  (BracedVarSub
                    token: <VSub_Number 0>
                    suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)})
                    spids: [327 332]
                  ) (" --help' for more information.")
                )
              }
            )
            (C {(error)} {(DQ ($ VSub_At "$@"))})
          ]
        )
      spids: [304 307]
    )
    (FuncDef
      name: usage
      body: 
        (BraceGroup
          children: [
            (C {(echo)} 
              {
                (DQ ("Usage: ") 
                  (BracedVarSub
                    token: <VSub_Number 0>
                    suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)})
                    spids: [357 362]
                  ) (" [OPTION]... <suite> <target> [<mirror> [<script>]]")
                )
              }
            )
            (C {(echo)} {(DQ ("Bootstrap a Debian base system into a target directory."))})
            (C {(echo)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  arg_word: 
                    {
                      (DQ ("      --help                 display this help and exit\n") 
                        ("      --version              display version information and exit\n") ("      --verbose              don't turn off the output of wget\n") ("\n") 
                        (
"      --download-only        download packages, but don't perform installation\n"
                        ) ("      --print-debs           print the packages to be installed, and exit\n") ("\n") 
                        (
"      --arch=A               set the architecture to install (use if no dpkg)\n"
                        ) ("                               [ --arch=powerpc ]\n") ("\n") 
                        (
"      --include=A,B,C        adds specified names to the list of base packages\n"
                        ) ("      --exclude=A,B,C        removes specified packages from the list\n") 
                        (
"      --components=A,B,C     use packages from the listed components of the\n"
                        ) ("                             archive\n") 
                        ("      --variant=X            use variant X of the bootstrap scripts\n") ("                             (currently supported variants: buildd, fakechroot,\n") 
                        ("                              scratchbox, minbase)\n") ("      --keyring=K            check Release files against keyring K\n") 
                        ("      --no-check-gpg         avoid checking Release file signatures\n") ("      --no-resolve-deps      don't try to resolve dependencies automatically\n") ("\n") 
                        (
"      --unpack-tarball=T     acquire .debs from a tarball instead of http\n"
                        ) ("      --make-tarball=T       download .debs and create a tarball (tgz format)\n") 
                        ("      --second-stage-target=DIR\n") ("                             Run second stage in a subdirectory instead of root\n") 
                        (
"                               (can be used to create a foreign chroot)\n"
                        ) ("                               (requires --second-stage)\n") 
                        (
"      --extractor=TYPE       override automatic .deb extractor selection\n"
                        ) ("                               (supported: ") ($ VSub_Name "$EXTRACTORS_SUPPORTED") (")\n") 
                        (
"      --debian-installer     used for internal purposes by debian-installer\n"
                        ) ("      --private-key=file     read the private key from file\n") 
                        (
"      --certificate=file     use the client certificate stored in file (PEM)\n"
                        ) ("      --no-check-certificate do not check certificate against certificate authorities\n")
                      )
                    }
                  fd: -1
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [379]
                )
              ]
            )
          ]
        )
      spids: [346 349]
    )
    (If
      arms: [
        (if_arm
          cond: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$PKGDETAILS"))} {(Lit_Other "]")})
          action: 
            (C {(error)} {(1)} {(NO_PKGDETAILS)} 
              {
                (DQ 
                  (
"No pkgdetails available; either install perl, or build pkgdetails.c from source"
                  )
                )
              }
            )
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: 
            (C {(Lit_Other "[")} {($ VSub_Pound "$#")} {(KW_Bang "!") (Lit_Other "=")} {(0)} 
              {(Lit_Other "]")}
            )
          action: 
            (While
              cond: (C {(true)})
              body: 
                (Case
                  to_match: {(DQ ($ VSub_Number "$1"))}
                  arms: [
                    (case_arm
                      pat_list: [{(--help)}]
                      action: (CommandList children:[(C {(usage)})(C {(exit)} {(0)})])
                    )
                    (case_arm
                      pat_list: [{(--version)}]
                      action: 
                        (CommandList
                          children: [
                            (C {(echo)} {(DQ ("debootstrap ") ($ VSub_Name "$VERSION"))})
                            (C {(exit)} {(0)})
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [{(--debian-installer)}]
                      action: 
                        (CommandList
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (Pipeline
                                      children: [
                                        (Subshell
                                          children: [
                                            (SimpleCommand
                                              words: [{(echo)} {(-n)} {(DQ )}]
                                              redirects: [
                                                (Redirect
                                                  op_id: Redir_GreatAnd
                                                  arg_word: {(3)}
                                                  fd: -1
                                                  spids: [512]
                                                )
                                              ]
                                            )
                                          ]
                                          redirects: [
                                            (Redirect
                                              op_id: Redir_Great
                                              arg_word: {(/dev/null)}
                                              fd: 2
                                              spids: [517]
                                            )
                                          ]
                                        )
                                      ]
                                      negated: True
                                    )
                                  action: 
                                    (C {(error)} {(1)} {(ARG_DIBYHAND)} 
                                      {
                                        (DQ 
                                          (
"If running debootstrap by hand, don't use --debian-installer"
                                          )
                                        )
                                      }
                                    )
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:USE_DEBIANINSTALLER_INTERACTION)
                                  rhs: {(yes)}
                                )
                              ]
                            )
                            (C {(shift)})
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [{(--foreign)}]
                      action: 
                        (CommandList
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$PRINT_DEBS"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} {(DQ (true))} {(Lit_Other "]")}
                                    )
                                  action: 
                                    (Assignment
                                      scope: Global
                                      pairs: [
                                        (assign_pair
                                          lhs: (LeftVar name:WHAT_TO_DO)
                                          rhs: {(DQ ("finddebs dldebs first_stage"))}
                                        )
                                      ]
                                    )
                                )
                              ]
                            )
                            (C {(shift)})
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [{(--second-stage)}]
                      action: 
                        (CommandList
                          children: [
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:WHAT_TO_DO)
                                  rhs: {(DQ (second_stage))}
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [(assign_pair lhs:(LeftVar name:SECOND_STAGE_ONLY) rhs:{(true)})]
                            )
                            (C {(shift)})
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [
                        {(--second-stage-target)}
                        {(--second-stage-target) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")}
                      ]
                      action: 
                        (CommandList
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$SECOND_STAGE_ONLY"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} {(DQ (true))} {(Lit_Other "]")}
                                    )
                                  action: 
                                    (C {(error)} {(1)} {(STAGE2ONLY)} 
                                      {(DQ ("option %s only applies in the second stage"))} {(DQ ($ VSub_Number "$1"))}
                                    )
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} 
                                      {(DQ (--second-stage-target))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")}
                                    )
                                  action: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          scope: Global
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:CHROOTDIR)
                                              rhs: {(DQ ($ VSub_Number "$2"))}
                                            )
                                          ]
                                        )
                                        (C {(shift)} {(2)})
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Number 1>
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VOp1_Pound
                                                arg_word: {("--second-stage-target=")}
                                              )
                                            spids: [711 715]
                                          )
                                        )
                                      } {(Lit_Other "]")}
                                    )
                                  action: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          scope: Global
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:CHROOTDIR)
                                              rhs: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Number 1>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VOp1_Pound
                                                          arg_word: {("--second-stage-target=")}
                                                        )
                                                      spids: [726 730]
                                                    )
                                                  )
                                                }
                                            )
                                          ]
                                        )
                                        (C {(shift)})
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: (NoOp)
                                  action: 
                                    (C {(error)} {(1)} {(NEEDARG)} 
                                      {(DQ ("option requires an argument: %s"))} {(DQ ($ VSub_Number "$1"))}
                                    )
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [{(--print-debs)}]
                      action: 
                        (CommandList
                          children: [
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:WHAT_TO_DO)
                                  rhs: {(DQ ("finddebs printdebs kill_target"))}
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [(assign_pair lhs:(LeftVar name:PRINT_DEBS) rhs:{(true)})]
                            )
                            (C {(shift)})
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [{(--download-only)}]
                      action: 
                        (CommandList
                          children: [
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:WHAT_TO_DO)
                                  rhs: {(DQ ("finddebs dldebs"))}
                                )
                              ]
                            )
                            (C {(shift)})
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [
                        {(--make-tarball)}
                        {(--make-tarball) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")}
                      ]
                      action: 
                        (CommandList
                          children: [
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:WHAT_TO_DO)
                                  rhs: {(DQ ("finddebs dldebs maketarball kill_target"))}
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} 
                                      {(DQ (--make-tarball))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")}
                                    )
                                  action: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          scope: Global
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:MAKE_TARBALL)
                                              rhs: {(DQ ($ VSub_Number "$2"))}
                                            )
                                          ]
                                        )
                                        (C {(shift)} {(2)})
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Number 1>
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VOp1_Pound
                                                arg_word: {("--make-tarball=")}
                                              )
                                            spids: [866 870]
                                          )
                                        )
                                      } {(Lit_Other "]")}
                                    )
                                  action: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          scope: Global
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:MAKE_TARBALL)
                                              rhs: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Number 1>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VOp1_Pound
                                                          arg_word: {("--make-tarball=")}
                                                        )
                                                      spids: [881 885]
                                                    )
                                                  )
                                                }
                                            )
                                          ]
                                        )
                                        (C {(shift)})
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: (NoOp)
                                  action: 
                                    (C {(error)} {(1)} {(NEEDARG)} 
                                      {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))}
                                    )
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [{(--resolve-deps)}]
                      action: 
                        (CommandList
                          children: [
                            (Assignment
                              scope: Global
                              pairs: [(assign_pair lhs:(LeftVar name:RESOLVE_DEPS) rhs:{(true)})]
                            )
                            (C {(shift)})
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [{(--no-resolve-deps)}]
                      action: 
                        (CommandList
                          children: [
                            (Assignment
                              scope: Global
                              pairs: [(assign_pair lhs:(LeftVar name:RESOLVE_DEPS) rhs:{(false)})]
                            )
                            (C {(shift)})
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [{(--keep-debootstrap-dir)}]
                      action: 
                        (CommandList
                          children: [
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:KEEP_DEBOOTSTRAP_DIR)
                                  rhs: {(true)}
                                )
                              ]
                            )
                            (C {(shift)})
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [{(--arch)} {(--arch) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")}]
                      action: 
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} 
                                  {(DQ (--arch))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")}
                                )
                              action: 
                                (CommandList
                                  children: [
                                    (Assignment
                                      scope: Global
                                      pairs: [
                                        (assign_pair
                                          lhs: (LeftVar name:ARCH)
                                          rhs: {(DQ ($ VSub_Number "$2"))}
                                        )
                                      ]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                )
                            )
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} 
                                  {(KW_Bang "!") (Lit_Other "=")} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Number 1>
                                        suffix_op: 
                                          (StringUnary
                                            op_id: VOp1_Pound
                                            arg_word: {("--arch=")}
                                          )
                                        spids: [1026 1030]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              action: 
                                (CommandList
                                  children: [
                                    (Assignment
                                      scope: Global
                                      pairs: [
                                        (assign_pair
                                          lhs: (LeftVar name:ARCH)
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {("--arch=")}
                                                    )
                                                  spids: [1041 1045]
                                                )
                                              )
                                            }
                                        )
                                      ]
                                    )
                                    (C {(shift)})
                                  ]
                                )
                            )
                            (if_arm
                              cond: (NoOp)
                              action: 
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ("option requires an argument %s"))} 
                                  {(DQ ($ VSub_Number "$1"))}
                                )
                            )
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [
                        {(--extractor)}
                        {(--extractor) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")}
                      ]
                      action: 
                        (CommandList
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} 
                                      {(DQ (--extractor))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")}
                                    )
                                  action: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          scope: Global
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:EXTRACTOR_OVERRIDE)
                                              rhs: {(DQ ($ VSub_Number "$2"))}
                                            )
                                          ]
                                        )
                                        (C {(shift)} {(2)})
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Number 1>
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VOp1_Pound
                                                arg_word: {("--extractor=")}
                                              )
                                            spids: [1137 1141]
                                          )
                                        )
                                      } {(Lit_Other "]")}
                                    )
                                  action: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          scope: Global
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:EXTRACTOR_OVERRIDE)
                                              rhs: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Number 1>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VOp1_Pound
                                                          arg_word: {("--extractor=")}
                                                        )
                                                      spids: [1152 1156]
                                                    )
                                                  )
                                                }
                                            )
                                          ]
                                        )
                                        (C {(shift)})
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: (NoOp)
                                  action: 
                                    (C {(error)} {(1)} {(NEEDARG)} 
                                      {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))}
                                    )
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (C {(valid_extractor)} {(DQ ($ VSub_Name "$EXTRACTOR_OVERRIDE"))})
                                  action: 
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (Pipeline
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {(type)}
                                                    {(DQ ($ VSub_Name "$EXTRACTOR_OVERRIDE"))}
                                                  ]
                                                  redirects: [
                                                    (Redirect
                                                      op_id: Redir_Great
                                                      arg_word: {(/dev/null)}
                                                      fd: -1
                                                      spids: [1206]
                                                    )
                                                    (Redirect
                                                      op_id: Redir_GreatAnd
                                                      arg_word: {(1)}
                                                      fd: 2
                                                      spids: [1209]
                                                    )
                                                  ]
                                                )
                                              ]
                                              negated: True
                                            )
                                          action: 
                                            (C {(error)} {(1)} {(MISSINGEXTRACTOR)} 
                                              {(DQ ("The selected extractor cannot be found: %s"))} {(DQ ($ VSub_Name "$EXTRACTOR_OVERRIDE"))}
                                            )
                                        )
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: (NoOp)
                                  action: 
                                    (C {(error)} {(1)} {(BADEXTRACTOR)} {(DQ ("%s: unknown extractor"))} 
                                      {(DQ ($ VSub_Name "$EXTRACTOR_OVERRIDE"))}
                                    )
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [
                        {(--unpack-tarball)}
                        {(--unpack-tarball) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")}
                      ]
                      action: 
                        (CommandList
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} 
                                      {(DQ (--unpack-tarball))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")}
                                    )
                                  action: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          scope: Global
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:UNPACK_TARBALL)
                                              rhs: {(DQ ($ VSub_Number "$2"))}
                                            )
                                          ]
                                        )
                                        (C {(shift)} {(2)})
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Number 1>
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VOp1_Pound
                                                arg_word: {("--unpack-tarball=")}
                                              )
                                            spids: [1319 1323]
                                          )
                                        )
                                      } {(Lit_Other "]")}
                                    )
                                  action: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          scope: Global
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:UNPACK_TARBALL)
                                              rhs: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Number 1>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VOp1_Pound
                                                          arg_word: {("--unpack-tarball=")}
                                                        )
                                                      spids: [1334 1338]
                                                    )
                                                  )
                                                }
                                            )
                                          ]
                                        )
                                        (C {(shift)})
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: (NoOp)
                                  action: 
                                    (C {(error)} {(1)} {(NEEDARG)} 
                                      {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))}
                                    )
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(KW_Bang "!")} {(-f)} 
                                      {(DQ ($ VSub_Name "$UNPACK_TARBALL"))} {(Lit_Other "]")}
                                    )
                                  action: 
                                    (C {(error)} {(1)} {(NOTARBALL)} 
                                      {(DQ ("%s: No such file or directory"))} {(DQ ($ VSub_Name "$UNPACK_TARBALL"))}
                                    )
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [
                        {(--include)}
                        {(--include) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")}
                      ]
                      action: 
                        (CommandList
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} 
                                      {(DQ (--include))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")}
                                    )
                                  action: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          scope: Global
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:ADDITIONAL)
                                              rhs: {(DQ ($ VSub_Number "$2"))}
                                            )
                                          ]
                                        )
                                        (C {(shift)} {(2)})
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Number 1>
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VOp1_Pound
                                                arg_word: {("--include=")}
                                              )
                                            spids: [1466 1470]
                                          )
                                        )
                                      } {(Lit_Other "]")}
                                    )
                                  action: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          scope: Global
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:ADDITIONAL)
                                              rhs: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Number 1>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VOp1_Pound
                                                          arg_word: {("--include=")}
                                                        )
                                                      spids: [1481 1485]
                                                    )
                                                  )
                                                }
                                            )
                                          ]
                                        )
                                        (C {(shift)} {(1)})
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: (NoOp)
                                  action: 
                                    (C {(error)} {(1)} {(NEEDARG)} 
                                      {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))}
                                    )
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:ADDITIONAL)
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (Pipeline
                                              children: [
                                                (C {(echo)} {(DQ ($ VSub_Name "$ADDITIONAL"))})
                                                (C {(tr)} {(Lit_Comma ",")} {(DQ (" "))})
                                              ]
                                              negated: False
                                            )
                                          spids: [1517 1534]
                                        )
                                      )
                                    }
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [
                        {(--exclude)}
                        {(--exclude) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")}
                      ]
                      action: 
                        (CommandList
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} 
                                      {(DQ (--exclude))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")}
                                    )
                                  action: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          scope: Global
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:EXCLUDE)
                                              rhs: {(DQ ($ VSub_Number "$2"))}
                                            )
                                          ]
                                        )
                                        (C {(shift)} {(2)})
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Number 1>
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VOp1_Pound
                                                arg_word: {("--exclude=")}
                                              )
                                            spids: [1601 1605]
                                          )
                                        )
                                      } {(Lit_Other "]")}
                                    )
                                  action: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          scope: Global
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:EXCLUDE)
                                              rhs: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Number 1>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VOp1_Pound
                                                          arg_word: {("--exclude=")}
                                                        )
                                                      spids: [1616 1620]
                                                    )
                                                  )
                                                }
                                            )
                                          ]
                                        )
                                        (C {(shift)} {(1)})
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: (NoOp)
                                  action: 
                                    (C {(error)} {(1)} {(NEEDARG)} 
                                      {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))}
                                    )
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:EXCLUDE)
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (Pipeline
                                              children: [
                                                (C {(echo)} {(DQ ($ VSub_Name "$EXCLUDE"))})
                                                (C {(tr)} {(Lit_Comma ",")} {(DQ (" "))})
                                              ]
                                              negated: False
                                            )
                                          spids: [1652 1669]
                                        )
                                      )
                                    }
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [{(--verbose)}]
                      action: 
                        (CommandList
                          children: [
                            (Assignment
                              scope: Global
                              pairs: [(assign_pair lhs:(LeftVar name:VERBOSE) rhs:{(true)})]
                            )
                            (Assignment
                              scope: Global
                              flags: [Export]
                              words: [{(VERBOSE)}]
                            )
                            (C {(shift)} {(1)})
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [
                        {(--components)}
                        {(--components) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")}
                      ]
                      action: 
                        (CommandList
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} 
                                      {(DQ (--components))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")}
                                    )
                                  action: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          scope: Global
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:USE_COMPONENTS)
                                              rhs: {(DQ ($ VSub_Number "$2"))}
                                            )
                                          ]
                                        )
                                        (C {(shift)} {(2)})
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Number 1>
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VOp1_Pound
                                                arg_word: {("--components=")}
                                              )
                                            spids: [1758 1762]
                                          )
                                        )
                                      } {(Lit_Other "]")}
                                    )
                                  action: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          scope: Global
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:USE_COMPONENTS)
                                              rhs: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Number 1>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VOp1_Pound
                                                          arg_word: {("--components=")}
                                                        )
                                                      spids: [1773 1777]
                                                    )
                                                  )
                                                }
                                            )
                                          ]
                                        )
                                        (C {(shift)} {(1)})
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: (NoOp)
                                  action: 
                                    (C {(error)} {(1)} {(NEEDARG)} 
                                      {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))}
                                    )
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:USE_COMPONENTS)
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (Pipeline
                                              children: [
                                                (C {(echo)} {(DQ ($ VSub_Name "$USE_COMPONENTS"))})
                                                (C {(tr)} {(Lit_Comma ",")} {(DQ ("|"))})
                                              ]
                                              negated: False
                                            )
                                          spids: [1809 1826]
                                        )
                                      )
                                    }
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [
                        {(--variant)}
                        {(--variant) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")}
                      ]
                      action: 
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} 
                                  {(DQ (--variant))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")}
                                )
                              action: 
                                (CommandList
                                  children: [
                                    (Assignment
                                      scope: Global
                                      pairs: [
                                        (assign_pair
                                          lhs: (LeftVar name:VARIANT)
                                          rhs: {(DQ ($ VSub_Number "$2"))}
                                        )
                                      ]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                )
                            )
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} 
                                  {(KW_Bang "!") (Lit_Other "=")} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Number 1>
                                        suffix_op: 
                                          (StringUnary
                                            op_id: VOp1_Pound
                                            arg_word: {("--variant=")}
                                          )
                                        spids: [1893 1897]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              action: 
                                (CommandList
                                  children: [
                                    (Assignment
                                      scope: Global
                                      pairs: [
                                        (assign_pair
                                          lhs: (LeftVar name:VARIANT)
                                          rhs: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {("--variant=")}
                                                    )
                                                  spids: [1908 1912]
                                                )
                                              )
                                            }
                                        )
                                      ]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                )
                            )
                            (if_arm
                              cond: (NoOp)
                              action: 
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ("option requires an argument %s"))} 
                                  {(DQ ($ VSub_Number "$1"))}
                                )
                            )
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [
                        {(--keyring)}
                        {(--keyring) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")}
                      ]
                      action: 
                        (CommandList
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (Pipeline
                                      children: [
                                        (SimpleCommand
                                          words: [{(gpgv)} {(--version)}]
                                          redirects: [
                                            (Redirect
                                              op_id: Redir_Great
                                              arg_word: {(/dev/null)}
                                              fd: -1
                                              spids: [1962]
                                            )
                                            (Redirect
                                              op_id: Redir_GreatAnd
                                              arg_word: {(1)}
                                              fd: 2
                                              spids: [1965]
                                            )
                                          ]
                                        )
                                      ]
                                      negated: True
                                    )
                                  action: 
                                    (C {(error)} {(1)} {(NEEDGPGV)} 
                                      {
                                        (DQ 
                                          (
"gpgv not installed, but required for Release verification"
                                          )
                                        )
                                      }
                                    )
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} 
                                      {(DQ (--keyring))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")}
                                    )
                                  action: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          scope: Global
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:KEYRING)
                                              rhs: {(DQ ($ VSub_Number "$2"))}
                                            )
                                          ]
                                        )
                                        (C {(shift)} {(2)})
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Number 1>
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VOp1_Pound
                                                arg_word: {("--keyring=")}
                                              )
                                            spids: [2037 2041]
                                          )
                                        )
                                      } {(Lit_Other "]")}
                                    )
                                  action: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          scope: Global
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:KEYRING)
                                              rhs: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Number 1>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VOp1_Pound
                                                          arg_word: {("--keyring=")}
                                                        )
                                                      spids: [2052 2056]
                                                    )
                                                  )
                                                }
                                            )
                                          ]
                                        )
                                        (C {(shift)} {(1)})
                                      ]
                                    )
                                )
                                (if_arm
                                  cond: (NoOp)
                                  action: 
                                    (C {(error)} {(1)} {(NEEDARG)} 
                                      {(DQ ("option requires an argument %s"))} {(DQ ($ VSub_Number "$1"))}
                                    )
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [{(--no-check-gpg)}]
                      action: 
                        (CommandList
                          children: [
                            (C {(shift)} {(1)})
                            (Assignment
                              scope: Global
                              pairs: [(assign_pair lhs:(LeftVar name:DISABLE_KEYRING) rhs:{(1)})]
                            )
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [
                        {(--certificate)}
                        {(--certificate) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")}
                      ]
                      action: 
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} 
                                  {(DQ (--certificate))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")}
                                )
                              action: 
                                (CommandList
                                  children: [
                                    (Assignment
                                      scope: Global
                                      pairs: [
                                        (assign_pair
                                          lhs: (LeftVar name:CERTIFICATE)
                                          rhs: {(DQ ("--certificate=") ($ VSub_Number "$2"))}
                                        )
                                      ]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                )
                            )
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} 
                                  {(KW_Bang "!") (Lit_Other "=")} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Number 1>
                                        suffix_op: 
                                          (StringUnary
                                            op_id: VOp1_Pound
                                            arg_word: {("--certificate=")}
                                          )
                                        spids: [2167 2171]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              action: 
                                (CommandList
                                  children: [
                                    (Assignment
                                      scope: Global
                                      pairs: [
                                        (assign_pair
                                          lhs: (LeftVar name:CERTIFICATE)
                                          rhs: 
                                            {
                                              (DQ ("--certificate=") 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {("--certificate=")}
                                                    )
                                                  spids: [2183 2187]
                                                )
                                              )
                                            }
                                        )
                                      ]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                )
                            )
                            (if_arm
                              cond: (NoOp)
                              action: 
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ("option requires an argument %s"))} 
                                  {(DQ ($ VSub_Number "$1"))}
                                )
                            )
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [
                        {(--private-key)}
                        {(--private-key) (Lit_Other "=") (Lit_Other "?") (Lit_Other "*")}
                      ]
                      action: 
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} 
                                  {(DQ (--private-key))} {(-a)} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")}
                                )
                              action: 
                                (CommandList
                                  children: [
                                    (Assignment
                                      scope: Global
                                      pairs: [
                                        (assign_pair
                                          lhs: (LeftVar name:PRIVATEKEY)
                                          rhs: {(DQ ("--private-key=") ($ VSub_Number "$2"))}
                                        )
                                      ]
                                    )
                                    (C {(shift)} {(2)})
                                  ]
                                )
                            )
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} 
                                  {(KW_Bang "!") (Lit_Other "=")} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Number 1>
                                        suffix_op: 
                                          (StringUnary
                                            op_id: VOp1_Pound
                                            arg_word: {("--private-key=")}
                                          )
                                        spids: [2283 2287]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              action: 
                                (CommandList
                                  children: [
                                    (Assignment
                                      scope: Global
                                      pairs: [
                                        (assign_pair
                                          lhs: (LeftVar name:PRIVATEKEY)
                                          rhs: 
                                            {
                                              (DQ ("--private-key=") 
                                                (BracedVarSub
                                                  token: <VSub_Number 1>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VOp1_Pound
                                                      arg_word: {("--private-key=")}
                                                    )
                                                  spids: [2299 2303]
                                                )
                                              )
                                            }
                                        )
                                      ]
                                    )
                                    (C {(shift)} {(1)})
                                  ]
                                )
                            )
                            (if_arm
                              cond: (NoOp)
                              action: 
                                (C {(error)} {(1)} {(NEEDARG)} {(DQ ("option requires an argument %s"))} 
                                  {(DQ ($ VSub_Number "$1"))}
                                )
                            )
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [{(--no-check-certificate)}]
                      action: 
                        (CommandList
                          children: [
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:CHECKCERTIF)
                                  rhs: {(DQ (--no-check-certificate))}
                                )
                              ]
                            )
                            (C {(shift)})
                          ]
                        )
                    )
                    (case_arm
                      pat_list: [{(--) (Lit_Other "*")}]
                      action: 
                        (C {(error)} {(1)} {(BADARG)} {(DQ ("unrecognized or invalid option %s"))} 
                          {(DQ ($ VSub_Number "$1"))}
                        )
                    )
                    (case_arm pat_list:[{(Lit_Other "*")}] action:(C {(break)}))
                  ]
                  spids: [446 2393]
                )
            )
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: 
            (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$SECOND_STAGE_ONLY"))} {(Lit_Other "=")} {(DQ (true))} 
              {(Lit_Other "]")}
            )
          action: 
            (CommandList
              children: [
                (Assignment
                  scope: Global
                  pairs: [
                    (assign_pair
                      lhs: (LeftVar name:SUITE)
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (C {(cat)} {($ VSub_Name "$DEBOOTSTRAP_DIR") (/suite)})
                            spids: [2423 2429]
                          )
                        }
                    )
                  ]
                )
                (Assignment
                  scope: Global
                  pairs: [
                    (assign_pair
                      lhs: (LeftVar name:ARCH)
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (C {(cat)} {($ VSub_Name "$DEBOOTSTRAP_DIR") (/arch)})
                            spids: [2433 2439]
                          )
                        }
                    )
                  ]
                )
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} {(-e)} {($ VSub_Name "$DEBOOTSTRAP_DIR") (/variant)} 
                          {(Lit_Other "]")}
                        )
                      action: 
                        (CommandList
                          children: [
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:VARIANT)
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (C {(cat)} {($ VSub_Name "$DEBOOTSTRAP_DIR") (/variant)})
                                        spids: [2458 2464]
                                      )
                                    }
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:SUPPORTED_VARIANTS)
                                  rhs: {(DQ ($ VSub_Name "$VARIANT"))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                  ]
                )
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$CHROOTDIR"))} {(Lit_Other "]")})
                      action: 
                        (Assignment
                          scope: Global
                          pairs: [(assign_pair lhs:(LeftVar name:TARGET) rhs:{(/)})]
                        )
                    )
                    (if_arm
                      cond: (NoOp)
                      action: 
                        (Assignment
                          scope: Global
                          pairs: [
                            (assign_pair
                              lhs: (LeftVar name:TARGET)
                              rhs: {($ VSub_Name "$CHROOTDIR")}
                            )
                          ]
                        )
                    )
                  ]
                )
                (Assignment
                  scope: Global
                  pairs: [
                    (assign_pair
                      lhs: (LeftVar name:SCRIPT)
                      rhs: {($ VSub_Name "$DEBOOTSTRAP_DIR") (/suite-script)}
                    )
                  ]
                )
              ]
            )
        )
        (if_arm
          cond: (NoOp)
          action: 
            (CommandList
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (AndOr
                          children: [
                            (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "]")})
                            (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")})
                          ]
                          op_id: Op_DPipe
                        )
                      action: 
                        (C {(usage_err)} {(1)} {(NEEDSUITETARGET)} 
                          {(DQ ("You must specify a suite and a target."))}
                        )
                    )
                  ]
                )
                (Assignment
                  scope: Global
                  pairs: [(assign_pair lhs:(LeftVar name:SUITE) rhs:{(DQ ($ VSub_Number "$1"))})]
                )
                (Assignment
                  scope: Global
                  pairs: [(assign_pair lhs:(LeftVar name:TARGET) rhs:{(DQ ($ VSub_Number "$2"))})]
                )
                (Assignment
                  scope: Global
                  pairs: [
                    (assign_pair
                      lhs: (LeftVar name:TARGET)
                      rhs: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name TARGET>
                              suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /)})
                              spids: [2569 2573]
                            )
                          )
                        }
                    )
                  ]
                )
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name TARGET>
                                suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(Lit_Slash /)})
                                spids: [2582 2586]
                              )
                            )
                          } {(Lit_Other "=")} {(DQ (${ VSub_Name TARGET))} {(Lit_Other "]")}
                        )
                      action: 
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name TARGET>
                                        suffix_op: 
                                          (StringUnary
                                            op_id: VOp1_Percent
                                            arg_word: {(Lit_Slash /) ("*")}
                                          )
                                        spids: [2608 2613]
                                      )
                                    )
                                  } {(Lit_Other "=")} {(DQ ($ VSub_Name "$TARGET"))} {(Lit_Other "]")}
                                )
                              action: 
                                (Assignment
                                  scope: Global
                                  pairs: [
                                    (assign_pair
                                      lhs: (LeftVar name:TARGET)
                                      rhs: 
                                        {
                                          (DQ 
                                            (CommandSubPart
                                              command_list: 
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (CommandSubPart
                                                        command_list: (C {(pwd)})
                                                        spids: [2635 2637]
                                                      ) (/) ($ VSub_Name "$TARGET")
                                                    )
                                                  }
                                                )
                                              spids: [2631 2642]
                                            )
                                          )
                                        }
                                    )
                                  ]
                                )
                            )
                            (if_arm
                              cond: (NoOp)
                              action: 
                                (Assignment
                                  scope: Global
                                  pairs: [
                                    (assign_pair
                                      lhs: (LeftVar name:TARGET)
                                      rhs: 
                                        {
                                          (DQ 
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [
                                                    (C {(cd)} 
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name TARGET>
                                                            suffix_op: 
                                                              (StringUnary
                                                                op_id: VOp1_Percent
                                                                arg_word: {(Lit_Slash /) ("*")}
                                                              )
                                                            spids: [2655 2660]
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {(echo)} 
                                                      {
                                                        (DQ 
                                                          (CommandSubPart
                                                            command_list: (C {(pwd)})
                                                            spids: [2667 2669]
                                                          ) (/) 
                                                          (BracedVarSub
                                                            token: <VSub_Name TARGET>
                                                            suffix_op: 
                                                              (StringUnary
                                                                op_id: VOp1_DPound
                                                                arg_word: {("*") (Lit_Slash /)}
                                                              )
                                                            spids: [2671 2676]
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                )
                                              spids: [2651 2679]
                                            )
                                          )
                                        }
                                    )
                                  ]
                                )
                            )
                          ]
                        )
                    )
                  ]
                )
                (Assignment
                  scope: Global
                  pairs: [
                    (assign_pair
                      lhs: (LeftVar name:SCRIPT)
                      rhs: {(DQ ($ VSub_Name "$DEBOOTSTRAP_DIR") (/scripts/) ($ VSub_Number "$1"))}
                    )
                  ]
                )
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (AndOr
                          children: [
                            (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$VARIANT"))} {(Lit_Other "]")})
                            (C {(Lit_Other "[")} {(-e)} 
                              {(DQ (${ VSub_Name SCRIPT) (.) (${ VSub_Name VARIANT))} {(Lit_Other "]")}
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      action: 
                        (CommandList
                          children: [
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:SCRIPT)
                                  rhs: {(DQ (${ VSub_Name SCRIPT) (.) (${ VSub_Name VARIANT))}
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:SUPPORTED_VARIANTS)
                                  rhs: {(DQ ($ VSub_Name "$VARIANT"))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                  ]
                )
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$4"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ )} 
                          {(Lit_Other "]")}
                        )
                      action: 
                        (Assignment
                          scope: Global
                          pairs: [
                            (assign_pair
                              lhs: (LeftVar name:SCRIPT)
                              rhs: {(DQ ($ VSub_Number "$4"))}
                            )
                          ]
                        )
                    )
                  ]
                )
              ]
            )
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: 
            (AndOr
              children: [
                (C {(in_path)} {(dpkg)})
                (SimpleCommand
                  words: [{(dpkg)} {(--print-architecture)}]
                  redirects: [
                    (Redirect
                      op_id: Redir_Great
                      arg_word: {(/dev/null)}
                      fd: -1
                      spids: [2802]
                    )
                    (Redirect
                      op_id: Redir_GreatAnd
                      arg_word: {(1)}
                      fd: 2
                      spids: [2805]
                    )
                  ]
                )
              ]
              op_id: Op_DAmp
            )
          action: 
            (Assignment
              scope: Global
              pairs: [
                (assign_pair
                  lhs: (LeftVar name:HOST_ARCH)
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (C {(/usr/bin/dpkg)} {(--print-architecture)})
                        spids: [2813 2817]
                      )
                    }
                )
              ]
            )
        )
        (if_arm
          cond: 
            (AndOr
              children: [
                (C {(in_path)} {(udpkg)})
                (SimpleCommand
                  words: [{(udpkg)} {(--print-architecture)}]
                  redirects: [
                    (Redirect
                      op_id: Redir_Great
                      arg_word: {(/dev/null)}
                      fd: -1
                      spids: [2833]
                    )
                    (Redirect
                      op_id: Redir_GreatAnd
                      arg_word: {(1)}
                      fd: 2
                      spids: [2836]
                    )
                  ]
                )
              ]
              op_id: Op_DAmp
            )
          action: 
            (Assignment
              scope: Global
              pairs: [
                (assign_pair
                  lhs: (LeftVar name:HOST_ARCH)
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (C {(/usr/bin/udpkg)} {(--print-architecture)})
                        spids: [2844 2848]
                      )
                    }
                )
              ]
            )
        )
        (if_arm
          cond: 
            (C {(Lit_Other "[")} {(-e)} {($ VSub_Name "$DEBOOTSTRAP_DIR") (/arch)} {(Lit_Other "]")})
          action: 
            (Assignment
              scope: Global
              pairs: [
                (assign_pair
                  lhs: (LeftVar name:HOST_ARCH)
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (C {(cat)} {($ VSub_Name "$DEBOOTSTRAP_DIR") (/arch)})
                        spids: [2866 2871]
                      )
                    }
                )
              ]
            )
        )
      ]
    )
    (Assignment
      scope: Global
      pairs: [(assign_pair lhs:(LeftVar name:HOST_OS) rhs:{(DQ ($ VSub_Name "$HOST_ARCH"))})]
    )
    (If
      arms: [
        (if_arm
          cond: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$HOST_OS"))} {(Lit_Other "]")})
          action: 
            (Case
              to_match: {(CommandSubPart command_list:(C {(uname)}) spids:[29012903])}
              arms: [
                (case_arm
                  pat_list: [{(Linux)}]
                  action: 
                    (Assignment
                      scope: Global
                      pairs: [(assign_pair lhs:(LeftVar name:HOST_OS) rhs:{(linux)})]
                    )
                )
                (case_arm
                  pat_list: [{(GNU/kFreeBSD)}]
                  action: 
                    (Assignment
                      scope: Global
                      pairs: [(assign_pair lhs:(LeftVar name:HOST_OS) rhs:{(kfreebsd)})]
                    )
                )
                (case_arm
                  pat_list: [{(GNU)}]
                  action: 
                    (Assignment
                      scope: Global
                      pairs: [(assign_pair lhs:(LeftVar name:HOST_OS) rhs:{(hurd)})]
                    )
                )
                (case_arm
                  pat_list: [{(FreeBSD) (Lit_Other "*")}]
                  action: 
                    (Assignment
                      scope: Global
                      pairs: [(assign_pair lhs:(LeftVar name:HOST_OS) rhs:{(freebsd)})]
                    )
                )
              ]
            )
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$ARCH"))} {(Lit_Other "]")})
          action: 
            (Assignment
              scope: Global
              pairs: [(assign_pair lhs:(LeftVar name:ARCH) rhs:{($ VSub_Name "$HOST_ARCH")})]
            )
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: 
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$ARCH"))} {(Lit_Other "]")})
                (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$HOST_OS"))} {(Lit_Other "]")})
              ]
              op_id: Op_DPipe
            )
          action: (C {(error)} {(1)} {(WHATARCH)} {(DQ ("Couldn't work out current architecture"))})
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: 
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$HOST_OS"))} {(Lit_Other "=")} {(DQ (kfreebsd))} 
                  {(Lit_Other "]")}
                )
                (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$HOST_OS"))} {(Lit_Other "=")} {(DQ (freebsd))} 
                  {(Lit_Other "]")}
                )
              ]
              op_id: Op_DPipe
            )
          action: 
            (ForEach
              iter_name: module
              iter_words: [{(linprocfs)} {(fdescfs)} {(tmpfs)} {(linsysfs)}]
              do_arg_iter: False
              body: 
                (AndOr
                  children: [
                    (SimpleCommand
                      words: [{(kldstat)} {(-m)} {(DQ ($ VSub_Name "$module"))}]
                      redirects: [
                        (Redirect
                          op_id: Redir_Great
                          arg_word: {(/dev/null)}
                          fd: -1
                          spids: [3088]
                        )
                        (Redirect
                          op_id: Redir_GreatAnd
                          arg_word: {(1)}
                          fd: 2
                          spids: [3092]
                        )
                      ]
                    )
                    (C {(warning)} {(SANITYCHECK)} {(DQ ("Probably required module %s is not loaded"))} 
                      {(DQ ($ VSub_Name "$module"))}
                    )
                  ]
                  op_id: Op_DPipe
                  spids: [3077 3110]
                )
              spids: [3067 3077]
            )
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: 
            (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$TARGET"))} {(Lit_Other "=")} {(DQ (/))} 
              {(Lit_Other "]")}
            )
          action: 
            (Assignment
              scope: Global
              pairs: [(assign_pair lhs:(LeftVar name:CHROOT_CMD) rhs:{(DQ )})]
            )
        )
        (if_arm
          cond: (C {(doing_variant)} {(scratchbox)})
          action: 
            (CommandList
              children: [
                (ForEach
                  iter_name: config
                  iter_words: [{(Lit_Tilde "~") (/.scratchbox2/) (Lit_Other "*") (/sb2.config)}]
                  do_arg_iter: False
                  body: 
                    (CommandList
                      children: [
                        (Assignment
                          scope: Global
                          flags: [Export]
                          words: [
                            {
                              (CommandSubPart
                                command_list: 
                                  (C {(grep)} {(Lit_Other "^") (Lit_VarLike "SBOX_TARGET_ROOT=")} 
                                    {($ VSub_Name "$config")}
                                  )
                                spids: [3167 3174]
                              )
                            }
                          ]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(DQ (x) ($ VSub_Name "$SBOX_TARGET_ROOT"))} 
                                  {(Lit_Other "=")} {(DQ (x) ($ VSub_Name "$TARGET"))} {(Lit_Other "]")}
                                )
                              action: 
                                (Assignment
                                  scope: Global
                                  pairs: [
                                    (assign_pair
                                      lhs: (LeftVar name:SB2_TARGET)
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (C {(basename)} 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (C {(dirname)} {($ VSub_Name "$config")})
                                                    spids: [3203 3208]
                                                  )
                                                }
                                              )
                                            spids: [3200 3210]
                                          )
                                        }
                                    )
                                  ]
                                )
                            )
                          ]
                        )
                      ]
                      spids: [3162 3216]
                    )
                  spids: [3154 3162]
                )
                (AndOr
                  children: [
                    (C {(Lit_Other "[")} {(DQ (x) ($ VSub_Name "$SB2_TARGET"))} 
                      {(KW_Bang "!") (Lit_Other "=")} {(DQ (x))} {(Lit_Other "]")}
                    )
                    (C {(error)} {(1)} {(SBOXTARGETREQ)} 
                      {(DQ ("No scratchbox target configured for ") ($ VSub_Name "$TARGET"))}
                    )
                  ]
                  op_id: Op_DPipe
                )
                (Assignment
                  scope: Global
                  pairs: [
                    (assign_pair
                      lhs: (LeftVar name:CHROOT_CMD)
                      rhs: {(DQ ("sb2 -eR -t ") ($ VSub_Name "$SB2_TARGET"))}
                    )
                  ]
                )
              ]
            )
        )
        (if_arm
          cond: (NoOp)
          action: 
            (Assignment
              scope: Global
              pairs: [
                (assign_pair
                  lhs: (LeftVar name:CHROOT_CMD)
                  rhs: {(DQ ("chroot ") ($ VSub_Name "$TARGET"))}
                )
              ]
            )
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$SHA_SIZE"))} {(Lit_Other "]")})
          action: 
            (Assignment
              scope: Global
              pairs: [(assign_pair lhs:(LeftVar name:SHA_SIZE) rhs:{(256)})]
            )
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: 
            (AndOr
              children: [
                (Pipeline
                  children: [(C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE) (sum))})]
                  negated: True
                )
                (Pipeline
                  children: [(C {(in_path)} {(DQ (sha) (${ VSub_Name SHA_SIZE))})]
                  negated: True
                )
              ]
              op_id: Op_DAmp
            )
          action: 
            (Assignment
              scope: Global
              pairs: [(assign_pair lhs:(LeftVar name:SHA_SIZE) rhs:{(1)})]
            )
        )
      ]
    )
    (Assignment
      scope: Global
      pairs: [
        (assign_pair
          lhs: (LeftVar name:DEBOOTSTRAP_CHECKSUM_FIELD)
          rhs: {(DQ (SHA) ($ VSub_Name "$SHA_SIZE"))}
        )
      ]
    )
    (Assignment
      scope: Global
      flags: [Export]
      words: [{(ARCH)} {(SUITE)} {(TARGET)} {(CHROOT_CMD)} {(SHA_SIZE)} {(DEBOOTSTRAP_CHECKSUM_FIELD)}]
    )
    (If
      arms: [
        (if_arm
          cond: (C {(am_doing_phase)} {(first_stage)} {(second_stage)})
          action: 
            (CommandList
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (AndOr
                          children: [
                            (C {(in_path)} {(id)})
                            (C {(Lit_Other "[")} 
                              {(CommandSubPart command_list:(C {(id)} {(-u)}) spids:[33683372])} {(-ne)} {(0)} {(Lit_Other "]")}
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      action: 
                        (C {(error)} {(1)} {(NEEDROOT)} {(DQ ("debootstrap can only run as root"))})
                    )
                  ]
                )
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (Pipeline
                          children: [(C {(check_sane_mount)} {(DQ ($ VSub_Name "$TARGET"))})]
                          negated: True
                        )
                      action: 
                        (C {(error)} {(1)} {(NOEXEC)} 
                          {
                            (DQ ("Cannot install into target '") ($ VSub_Name "$TARGET") 
                              ("' mounted with noexec or nodev")
                            )
                          }
                        )
                    )
                  ]
                )
              ]
            )
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: 
            (C {(Lit_Other "[")} {(KW_Bang "!")} {(-e)} {(DQ ($ VSub_Name "$SCRIPT"))} {(Lit_Other "]")})
          action: 
            (C {(error)} {(1)} {(NOSCRIPT)} {(DQ ("No such script: %s"))} {(DQ ($ VSub_Name "$SCRIPT"))})
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: 
            (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$TARGET"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ )} 
              {(Lit_Other "]")}
            )
          action: (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$TARGET") (/debootstrap))})
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: 
            (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$USE_DEBIANINSTALLER_INTERACTION"))} 
              {(Lit_Other "=")} {(yes)} {(Lit_Other "]")}
            )
          action: 
            (SimpleCommand
              words: [{(exec)}]
              redirects: [(Redirect op_id:Redir_GreatAnd arg_word:{(3)} fd:4 spids:[3556])]
            )
        )
        (if_arm
          cond: (C {(am_doing_phase)} {(printdebs)})
          action: 
            (SimpleCommand
              words: [{(exec)}]
              redirects: [(Redirect op_id:Redir_GreatAnd arg_word:{(2)} fd:4 spids:[3579])]
            )
        )
        (if_arm
          cond: (NoOp)
          action: 
            (CommandList
              children: [
                (SimpleCommand
                  words: [{(exec)}]
                  redirects: [(Redirect op_id:Redir_GreatAnd arg_word:{(1)} fd:4 spids:[3599])]
                )
                (SimpleCommand
                  words: [{(exec)}]
                  redirects: [
                    (Redirect
                      op_id: Redir_DGreat
                      arg_word: {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debootstrap.log))}
                      fd: -1
                      spids: [3605]
                    )
                  ]
                )
                (SimpleCommand
                  words: [{(exec)}]
                  redirects: [(Redirect op_id:Redir_GreatAnd arg_word:{(1)} fd:2 spids:[3614])]
                )
              ]
            )
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$UNPACK_TARBALL"))} {(Lit_Other "]")})
          action: 
            (CommandList
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name UNPACK_TARBALL>
                                suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(Lit_Slash /)})
                                spids: [3643 3647]
                              )
                            )
                          } {(Lit_Other "=")} {(DQ ($ VSub_Name "$UNPACK_TARBALL"))} {(Lit_Other "]")}
                        )
                      action: 
                        (C {(error)} {(1)} {(TARPATH)} {(DQ ("Tarball must be given a complete path"))})
                    )
                  ]
                )
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name UNPACK_TARBALL>
                                suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.tar)})
                                spids: [3681 3685]
                              )
                            )
                          } {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$UNPACK_TARBALL"))} {(Lit_Other "]")}
                        )
                      action: 
                        (Subshell
                          children: [
                            (AndOr
                              children: [
                                (C {(cd)} {(DQ ($ VSub_Name "$TARGET"))})
                                (C {(tar)} {(-xf)} {(DQ ($ VSub_Name "$UNPACK_TARBALL"))})
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                        )
                    )
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name UNPACK_TARBALL>
                                suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.tgz)})
                                spids: [3726 3730]
                              )
                            )
                          } {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$UNPACK_TARBALL"))} {(Lit_Other "]")}
                        )
                      action: 
                        (Subshell
                          children: [
                            (AndOr
                              children: [
                                (C {(cd)} {(DQ ($ VSub_Name "$TARGET"))})
                                (Pipeline
                                  children: [
                                    (C {(zcat)} {(DQ ($ VSub_Name "$UNPACK_TARBALL"))})
                                    (C {(tar)} {(-xf)} {(-)})
                                  ]
                                  negated: False
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                        )
                    )
                    (if_arm
                      cond: (NoOp)
                      action: 
                        (C {(error)} {(1)} {(NOTTAR)} 
                          {(DQ ("Unknown tarball: must be either .tar or .tgz"))}
                        )
                    )
                  ]
                )
              ]
            )
        )
      ]
    )
    (C {(.)} {(DQ ($ VSub_Name "$SCRIPT"))})
    (If
      arms: [
        (if_arm
          cond: 
            (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$SECOND_STAGE_ONLY"))} {(Lit_Other "=")} {(DQ (true))} 
              {(Lit_Other "]")}
            )
          action: 
            (Assignment
              scope: Global
              pairs: [(assign_pair lhs:(LeftVar name:MIRRORS) rhs:{(null) (Lit_Other ":")})]
            )
        )
        (if_arm
          cond: (NoOp)
          action: 
            (CommandList
              children: [
                (Assignment
                  scope: Global
                  pairs: [
                    (assign_pair
                      lhs: (LeftVar name:MIRRORS)
                      rhs: {(DQ ($ VSub_Name "$DEF_MIRROR"))}
                    )
                  ]
                )
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$3"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ )} 
                          {(Lit_Other "]")}
                        )
                      action: 
                        (CommandList
                          children: [
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:MIRRORS)
                                  rhs: {(DQ ($ VSub_Number "$3"))}
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:MIRRORS)
                                  rhs: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name MIRRORS>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VOp1_Percent
                                              arg_word: {(Lit_Slash /)}
                                            )
                                          spids: [3863 3867]
                                        )
                                      )
                                    }
                                )
                              ]
                            )
                          ]
                        )
                    )
                  ]
                )
              ]
            )
        )
      ]
    )
    (Assignment scope:Global flags:[Export] words:[{(MIRRORS)}])
    (Assignment scope:Global pairs:[(assign_pair lhs:(LeftVar name:ok) rhs:{(false)})])
    (ForEach
      iter_name: v
      iter_words: [{($ VSub_Name "$SUPPORTED_VARIANTS")}]
      do_arg_iter: False
      body: 
        (If
          arms: [
            (if_arm
              cond: (C {(doing_variant)} {($ VSub_Name "$v")})
              action: 
                (Assignment
                  scope: Global
                  pairs: [(assign_pair lhs:(LeftVar name:ok) rhs:{(true)})]
                )
            )
          ]
          spids: [3893 3911]
        )
      spids: [3889 3893]
    )
    (If
      arms: [
        (if_arm
          cond: (Pipeline children:[(C {($ VSub_Name "$ok")})] negated:True)
          action: (C {(error)} {(1)} {(UNSUPPVARIANT)} {(DQ ("unsupported variant"))})
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: (C {(am_doing_phase)} {(finddebs)})
          action: 
            (CommandList
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (AndOr
                          children: [
                            (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$FINDDEBS_NEEDS_INDICES"))} 
                              {(Lit_Other "=")} {(DQ (true))} {(Lit_Other "]")}
                            )
                            (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$RESOLVE_DEPS"))} {(Lit_Other "=")} 
                              {(DQ (true))} {(Lit_Other "]")}
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      action: 
                        (CommandList
                          children: [
                            (C {(download_indices)})
                            (Assignment
                              scope: Global
                              pairs: [(assign_pair lhs:(LeftVar name:GOT_INDICES) rhs:{(true)})]
                            )
                          ]
                        )
                    )
                  ]
                )
                (C {(work_out_debs)})
                (Assignment
                  scope: Global
                  pairs: [
                    (assign_pair
                      lhs: (LeftVar name:base)
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (C {(without)} 
                                {(DQ ($ VSub_Name "$base") (" ") ($ VSub_Name "$ADDITIONAL"))} {(DQ ($ VSub_Name "$EXCLUDE"))}
                              )
                            spids: [4004 4017]
                          )
                        }
                    )
                  ]
                )
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$RESOLVE_DEPS"))} {(Lit_Other "=")} 
                          {(true)} {(Lit_Other "]")}
                        )
                      action: 
                        (CommandList
                          children: [
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:requiredX)
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (C {(echo)} 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} {($ VSub_Name "$required")})
                                                      (C {(tr)} {(SQ <" ">)} {(SQ <"\\n">)})
                                                      (C {(sort)})
                                                      (C {(uniq)})
                                                    ]
                                                    negated: False
                                                  )
                                                spids: [4043 4068]
                                              )
                                            }
                                          )
                                        spids: [4040 4070]
                                      )
                                    }
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:baseX)
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (C {(echo)} 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} {($ VSub_Name "$base")})
                                                      (C {(tr)} {(SQ <" ">)} {(SQ <"\\n">)})
                                                      (C {(sort)})
                                                      (C {(uniq)})
                                                    ]
                                                    negated: False
                                                  )
                                                spids: [4077 4102]
                                              )
                                            }
                                          )
                                        spids: [4074 4104]
                                      )
                                    }
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:baseN)
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (C {(without)} {(DQ ($ VSub_Name "$baseX"))} 
                                            {(DQ ($ VSub_Name "$requiredX"))}
                                          )
                                        spids: [4109 4120]
                                      )
                                    }
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:baseU)
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (C {(without)} {(DQ ($ VSub_Name "$baseX"))} 
                                            {(DQ ($ VSub_Name "$baseN"))}
                                          )
                                        spids: [4124 4135]
                                      )
                                    }
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$baseU"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} {(DQ )} {(Lit_Other "]")}
                                    )
                                  action: 
                                    (C {(info)} {(REDUNDANTBASE)} 
                                      {(DQ ("Found packages in base already in required: %s"))} {(DQ ($ VSub_Name "$baseU"))}
                                    )
                                )
                              ]
                            )
                            (C {(info)} {(RESOLVEREQ)} 
                              {(DQ ("Resolving dependencies of required packages..."))}
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:required)
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: (C {(resolve_deps)} {($ VSub_Name "$requiredX")})
                                        spids: [4186 4191]
                                      )
                                    }
                                )
                              ]
                            )
                            (C {(info)} {(RESOLVEBASE)} 
                              {(DQ ("Resolving dependencies of base packages..."))}
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:base)
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: (C {(resolve_deps)} {($ VSub_Name "$baseX")})
                                        spids: [4204 4209]
                                      )
                                    }
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:base)
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (C {(without)} {(DQ ($ VSub_Name "$base"))} 
                                            {(DQ ($ VSub_Name "$required"))}
                                          )
                                        spids: [4213 4224]
                                      )
                                    }
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:requiredX)
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (C {(without)} {(DQ ($ VSub_Name "$required"))} 
                                            {(DQ ($ VSub_Name "$requiredX"))}
                                          )
                                        spids: [4229 4240]
                                      )
                                    }
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:baseX)
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (C {(without)} {(DQ ($ VSub_Name "$base"))} 
                                            {(DQ ($ VSub_Name "$baseX"))}
                                          )
                                        spids: [4244 4255]
                                      )
                                    }
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$requiredX"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} {(DQ )} {(Lit_Other "]")}
                                    )
                                  action: 
                                    (C {(info)} {(NEWREQUIRED)} 
                                      {(DQ ("Found additional required dependencies: %s"))} {(DQ ($ VSub_Name "$requiredX"))}
                                    )
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: 
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$baseX"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} {(DQ )} {(Lit_Other "]")}
                                    )
                                  action: 
                                    (C {(info)} {(NEWBASE)} 
                                      {(DQ ("Found additional base dependencies: %s"))} {(DQ ($ VSub_Name "$baseX"))}
                                    )
                                )
                              ]
                            )
                          ]
                        )
                    )
                  ]
                )
                (Assignment
                  scope: Global
                  pairs: [
                    (assign_pair
                      lhs: (LeftVar name:all_debs)
                      rhs: {(DQ ($ VSub_Name "$required") (" ") ($ VSub_Name "$base"))}
                    )
                  ]
                )
              ]
            )
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: (C {(am_doing_phase)} {(printdebs)})
          action: (C {(echo)} {(DQ ($ VSub_Name "$all_debs"))})
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: (C {(am_doing_phase)} {(dldebs)})
          action: 
            (CommandList
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$GOT_INDICES"))} 
                          {(KW_Bang "!") (Lit_Other "=")} {(DQ (true))} {(Lit_Other "]")}
                        )
                      action: (C {(download_indices)})
                    )
                  ]
                )
                (C {(download)} {($ VSub_Name "$all_debs")})
              ]
            )
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: (C {(am_doing_phase)} {(maketarball)})
          action: 
            (Subshell
              children: [
                (CommandList
                  children: [
                    (C {(cd)} {($ VSub_Name "$TARGET")})
                    (C {(tar)} {(czf)} {(-)} {(var/lib/apt)} {(var/cache/apt)})
                  ]
                )
              ]
              redirects: [
                (Redirect
                  op_id: Redir_Great
                  arg_word: {($ VSub_Name "$MAKE_TARBALL")}
                  fd: -1
                  spids: [4436]
                )
              ]
            )
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: (C {(am_doing_phase)} {(first_stage)})
          action: 
            (CommandList
              children: [
                (C {(choose_extractor)})
                (C {(first_stage_install)})
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (Pipeline
                          children: [(C {(am_doing_phase)} {(second_stage)})]
                          negated: True
                        )
                      action: 
                        (CommandList
                          children: [
                            (C {(cp)} {(DQ ($ VSub_Number "$0"))} 
                              {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debootstrap))}
                            )
                            (C {(cp)} {($ VSub_Name "$DEBOOTSTRAP_DIR") (/functions)} 
                              {(DQ ($ VSub_Name "$TARGET") (/debootstrap/functions))}
                            )
                            (C {(cp)} {($ VSub_Name "$DEBOOTSTRAP_DIR") (/devices.tar.gz)} 
                              {(DQ ($ VSub_Name "$TARGET") (/debootstrap/devices.tar.gz))}
                            )
                            (C {(cp)} {($ VSub_Name "$SCRIPT")} 
                              {(DQ ($ VSub_Name "$TARGET") (/debootstrap/suite-script))}
                            )
                            (SimpleCommand
                              words: [{(echo)} {(DQ ($ VSub_Name "$ARCH"))}]
                              redirects: [
                                (Redirect
                                  op_id: Redir_Great
                                  arg_word: {(DQ ($ VSub_Name "$TARGET") (/debootstrap/arch))}
                                  fd: -1
                                  spids: [4534]
                                )
                              ]
                            )
                            (SimpleCommand
                              words: [{(echo)} {(DQ ($ VSub_Name "$SUITE"))}]
                              redirects: [
                                (Redirect
                                  op_id: Redir_Great
                                  arg_word: {(DQ ($ VSub_Name "$TARGET") (/debootstrap/suite))}
                                  fd: -1
                                  spids: [4547]
                                )
                              ]
                            )
                            (AndOr
                              children: [
                                (C {(Lit_Other "[")} {(DQ )} {(Lit_Other "=")} 
                                  {(DQ ($ VSub_Name "$VARIANT"))} {(Lit_Other "]")}
                                )
                                (SimpleCommand
                                  words: [{(echo)} {(DQ ($ VSub_Name "$VARIANT"))}]
                                  redirects: [
                                    (Redirect
                                      op_id: Redir_Great
                                      arg_word: {(DQ ($ VSub_Name "$TARGET") (/debootstrap/variant))}
                                      fd: -1
                                      spids: [4576]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (SimpleCommand
                              words: [{(echo)} {(DQ ($ VSub_Name "$required"))}]
                              redirects: [
                                (Redirect
                                  op_id: Redir_Great
                                  arg_word: {(DQ ($ VSub_Name "$TARGET") (/debootstrap/required))}
                                  fd: -1
                                  spids: [4589]
                                )
                              ]
                            )
                            (SimpleCommand
                              words: [{(echo)} {(DQ ($ VSub_Name "$base"))}]
                              redirects: [
                                (Redirect
                                  op_id: Redir_Great
                                  arg_word: {(DQ ($ VSub_Name "$TARGET") (/debootstrap/base))}
                                  fd: -1
                                  spids: [4602]
                                )
                              ]
                            )
                            (C {(chmod)} {(755)} 
                              {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debootstrap))}
                            )
                          ]
                        )
                    )
                  ]
                )
              ]
            )
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: (C {(am_doing_phase)} {(second_stage)})
          action: 
            (CommandList
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$SECOND_STAGE_ONLY"))} {(Lit_Other "=")} 
                          {(true)} {(Lit_Other "]")}
                        )
                      action: 
                        (CommandList
                          children: [
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:required)
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (C {(cat)} {($ VSub_Name "$DEBOOTSTRAP_DIR") (/required)})
                                          spids: [4655 4661]
                                        )
                                      )
                                    }
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:base)
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (C {(cat)} {($ VSub_Name "$DEBOOTSTRAP_DIR") (/base)})
                                          spids: [4667 4673]
                                        )
                                      )
                                    }
                                )
                              ]
                            )
                            (Assignment
                              scope: Global
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:all_debs)
                                  rhs: {(DQ ($ VSub_Name "$required") (" ") ($ VSub_Name "$base"))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                  ]
                )
                (C {(second_stage_install)})
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} {(-e)} 
                          {(DQ ($ VSub_Name "$TARGET") (/etc/apt/sources.list))} {(Lit_Other "]")}
                        )
                      action: (C {(rm)} {(-f)} {(DQ ($ VSub_Name "$TARGET") (/etc/apt/sources.list))})
                    )
                  ]
                )
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name MIRRORS>
                                suffix_op: 
                                  (StringUnary
                                    op_id: VOp1_Pound
                                    arg_word: {("http*:") (Lit_Slash /) (Lit_Slash /)}
                                  )
                                spids: [4749 4755]
                              )
                            )
                          } {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$MIRRORS"))} {(Lit_Other "]")}
                        )
                      action: 
                        (CommandList
                          children: [
                            (C {(setup_apt_sources)} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name MIRRORS>
                                    suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(" *")})
                                    spids: [4774 4778]
                                  )
                                )
                              }
                            )
                            (C {(mv_invalid_to)} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name MIRRORS>
                                    suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(" *")})
                                    spids: [4785 4789]
                                  )
                                )
                              }
                            )
                          ]
                        )
                    )
                    (if_arm
                      cond: (NoOp)
                      action: 
                        (CommandList
                          children: [
                            (C {(setup_apt_sources)} {(DQ ($ VSub_Name "$DEF_MIRROR"))})
                            (C {(mv_invalid_to)} {(DQ ($ VSub_Name "$DEF_MIRROR"))})
                          ]
                        )
                    )
                  ]
                )
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} {(-e)} 
                          {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debootstrap.log))} {(Lit_Other "]")}
                        )
                      action: 
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$KEEP_DEBOOTSTRAP_DIR"))} 
                                  {(Lit_Other "=")} {(true)} {(Lit_Other "]")}
                                )
                              action: 
                                (C {(cp)} {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debootstrap.log))} 
                                  {(DQ ($ VSub_Name "$TARGET") (/var/log/bootstrap.log))}
                                )
                            )
                            (if_arm
                              cond: (NoOp)
                              action: 
                                (C {(mv)} {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debootstrap.log))} 
                                  {(DQ ($ VSub_Name "$TARGET") (/var/log/bootstrap.log))}
                                )
                            )
                          ]
                        )
                    )
                  ]
                )
                (C {(sync)})
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$KEEP_DEBOOTSTRAP_DIR"))} 
                          {(Lit_Other "=")} {(true)} {(Lit_Other "]")}
                        )
                      action: 
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(-x)} 
                                  {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debootstrap))} {(Lit_Other "]")}
                                )
                              action: 
                                (C {(chmod)} {(644)} 
                                  {(DQ ($ VSub_Name "$TARGET") (/debootstrap/debootstrap))}
                                )
                            )
                          ]
                        )
                    )
                    (if_arm
                      cond: (NoOp)
                      action: (C {(rm)} {(-rf)} {(DQ ($ VSub_Name "$TARGET") (/debootstrap))})
                    )
                  ]
                )
              ]
            )
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: (C {(am_doing_phase)} {(kill_target)})
          action: 
            (If
              arms: [
                (if_arm
                  cond: 
                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$KEEP_DEBOOTSTRAP_DIR"))} 
                      {(KW_Bang "!") (Lit_Other "=")} {(true)} {(Lit_Other "]")}
                    )
                  action: 
                    (CommandList
                      children: [
                        (C {(info)} {(KILLTARGET)} {(DQ ("Deleting target directory"))})
                        (C {(rm)} {(-rf)} {(DQ ($ VSub_Name "$TARGET"))})
                      ]
                    )
                )
              ]
            )
        )
      ]
    )
  ]
)