(CommandList
  children: [
    (C {(set)} {(-e)})
    (Sentence child:(C {(hash)} {(pacstrap)}) terminator:<Op_Amp '&'>)
    (AndOr
      children: [
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[22])]
        )
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('Could not find pacstrap. Run pacman -S arch-install-scripts'))})
            (C {(exit)} {(1)})
          ]
          spids: [27]
        )
      ]
      op_id: Op_DPipe
    )
    (Sentence child:(C {(hash)} {(expect)}) terminator:<Op_Amp '&'>)
    (AndOr
      children: [
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[49])]
        )
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('Could not find expect. Run pacman -S expect'))})
            (C {(exit)} {(1)})
          ]
          spids: [54]
        )
      ]
      op_id: Op_DPipe
    )
    (C {(export)} {(Lit_VarLike 'LANG=') (DQ (C.UTF-8))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ROOTFS)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C {(mktemp)} {(-d)} 
                        {
                          (BracedVarSub
                            token: <VSub_Name TMPDIR>
                            suffix_op: 
                              (StringUnary
                                op_id: VTest_ColonHyphen
                                arg_word: {(Lit_Slash /) (var) (Lit_Slash /) (tmp)}
                              )
                            spids: [86 93]
                          ) (/rootfs-archlinux-XXXXXXXXXX)
                        }
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [81 95]
              )
            }
          spids: [80]
        )
      ]
      spids: [80]
    )
    (C {(chmod)} {(755)} {($ VSub_Name '$ROOTFS')})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PKGIGNORE)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {(cryptsetup)}
                  {(device-mapper)}
                  {(dhcpcd)}
                  {(iproute2)}
                  {(jfsutils)}
                  {(linux)}
                  {(lvm2)}
                  {(man-db)}
                  {(man-pages)}
                  {(mdadm)}
                  {(nano)}
                  {(netctl)}
                  {(openresolv)}
                  {(pciutils)}
                  {(pcmciautils)}
                  {(reiserfsprogs)}
                  {(s-nail)}
                  {(systemd-sysvcompat)}
                  {(usbutils)}
                  {(vi)}
                  {(xfsprogs)}
                ]
              )
            }
          spids: [107]
        )
      ]
      spids: [107]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <','>)} spids:[175])]
      spids: [175]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PKGIGNORE)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name PKGIGNORE>
                  bracket_op: (WholeArray op_id:Arith_Star)
                  spids: [182 187]
                )
              )
            }
          spids: [180]
        )
      ]
      spids: [180]
    )
    (C {(unset)} {(IFS)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:arch)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: (CommandList children:[(C {(uname)} {(-m)})])
                  left_token: <Left_CommandSub '$('>
                  spids: [197 201]
                )
              )
            }
          spids: [195]
        )
      ]
      spids: [195]
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$arch'))}
      arms: [
        (case_arm
          pat_list: [{(armv) (Lit_Other '*')}]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [{(pacman)} {(-Q)} {(archlinuxarm-keyring)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/null)}
                              spids: [226]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [229]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(pacman-key)} {(--init)})
                    (C {(pacman-key)} {(--populate)} {(archlinuxarm)})
                  ]
                  spids: [16777215 233]
                )
              ]
              else_action: [
                (C {(echo)} 
                  {
                    (DQ 
                      (
'Could not find archlinuxarm-keyring. Please, install it and run pacman-key --populate archlinuxarm'
                      )
                    )
                  }
                )
                (C {(exit)} {(1)})
              ]
              spids: [248 263]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PACMAN_CONF)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(mktemp)} 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name TMPDIR>
                                    suffix_op: 
                                      (StringUnary
                                        op_id: VTest_ColonHyphen
                                        arg_word: {(Lit_Slash /) (var) (Lit_Slash /) (tmp)}
                                      )
                                    spids: [270 277]
                                  ) (/pacman-conf-archlinux-XXXXXXXXX)
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [267 279]
                      )
                    }
                  spids: [266]
                )
              ]
              spids: [266]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:version)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {($ VSub_Name '$arch')})
                                    (C {(cut)} {(-c)} {(5)})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [284 296]
                        )
                      )
                    }
                  spids: [282]
                )
              ]
              spids: [282]
            )
            (SimpleCommand
              words: [
                {(sed)}
                {(DQ ('s/Architecture = armv/Architecture = armv') (${ VSub_Name version) (h/g))}
                {(SQ <./mkimage-archarm-pacman.conf>)}
              ]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(DQ (${ VSub_Name PACMAN_CONF))}
                  spids: [314]
                )
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PACMAN_MIRRORLIST)
                  op: Equal
                  rhs: {(SQ <'Server = http://mirror.archlinuxarm.org/$arch/$repo'>)}
                  spids: [323]
                )
              ]
              spids: [323]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PACMAN_EXTRA_PKGS)
                  op: Equal
                  rhs: {(SQ <archlinuxarm-keyring>)}
                  spids: [329]
                )
              ]
              spids: [329]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:EXPECT_TIMEOUT)
                  op: Equal
                  rhs: {(1800)}
                  spids: [335]
                )
              ]
              spids: [335]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ARCH_KEYRING)
                  op: Equal
                  rhs: {(archlinuxarm)}
                  spids: [342]
                )
              ]
              spids: [342]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DOCKER_IMAGE_NAME)
                  op: Equal
                  rhs: {(DQ (armv) (${ VSub_Name version) (h/archlinux))}
                  spids: [346]
                )
              ]
              spids: [346]
            )
          ]
          spids: [213 215 356 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PACMAN_CONF)
                  op: Equal
                  rhs: {(SQ <./mkimage-arch-pacman.conf>)}
                  spids: [363]
                )
              ]
              spids: [363]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PACMAN_MIRRORLIST)
                  op: Equal
                  rhs: {(SQ <'Server = https://mirrors.kernel.org/archlinux/$repo/os/$arch'>)}
                  spids: [369]
                )
              ]
              spids: [369]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PACMAN_EXTRA_PKGS)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [375]
                )
              ]
              spids: [375]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:EXPECT_TIMEOUT) op:Equal rhs:{(60)} spids:[380])]
              spids: [380]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ARCH_KEYRING)
                  op: Equal
                  rhs: {(archlinux)}
                  spids: [384]
                )
              ]
              spids: [384]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DOCKER_IMAGE_NAME)
                  op: Equal
                  rhs: {(archlinux)}
                  spids: [388]
                )
              ]
              spids: [388]
            )
          ]
          spids: [359 360 392 16777215]
        )
      ]
      spids: [204 210 394]
    )
    (C {(export)} {(PACMAN_MIRRORLIST)})
    (SimpleCommand
      words: [{(expect)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('\tset send_slow {1 .1}\n') ('\tproc send {ignore arg} {\n') ('\t\tsleep .1\n') 
                ('\t\texp_send -s -- ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('arg\n') ('\t}\n') ('\tset timeout ') 
                ($ VSub_Name '$EXPECT_TIMEOUT') ('\n') ('\n') ('\tspawn pacstrap -C ') ($ VSub_Name '$PACMAN_CONF') (' -c -d -G -i ') 
                ($ VSub_Name '$ROOTFS') (' base haveged ') ($ VSub_Name '$PACMAN_EXTRA_PKGS') (' --ignore ') ($ VSub_Name '$PKGIGNORE') ('\n') 
                ('\texpect {\n') ('\t\t-exact ') (Right_DoubleQuote '"') ('anyway? ') (Lit_Other '\\') ('[Y/n') (Lit_Other '\\') ('] ') 
                (Right_DoubleQuote '"') (' { send -- ') (Right_DoubleQuote '"') (n) (Lit_Other '\\') (r) (Right_DoubleQuote '"') 
                ('; exp_continue }\n') ('\t\t-exact ') (Right_DoubleQuote '"') ('(default=all): ') (Right_DoubleQuote '"') (' { send -- ') 
                (Right_DoubleQuote '"') (Lit_Other '\\') (r) (Right_DoubleQuote '"') ('; exp_continue }\n') ('\t\t-exact ') 
                (Right_DoubleQuote '"') ('installation? ') (Lit_Other '\\') ('[Y/n') (Lit_Other '\\') (']') (Right_DoubleQuote '"') (' { send -- ') 
                (Right_DoubleQuote '"') (y) (Lit_Other '\\') (r) (Right_DoubleQuote '"') ('; exp_continue }\n') ('\t\t-exact ') 
                (Right_DoubleQuote '"') ('delete it? ') (Lit_Other '\\') ('[Y/n') (Lit_Other '\\') (']') (Right_DoubleQuote '"') (' { send -- ') 
                (Right_DoubleQuote '"') (y) (Lit_Other '\\') (r) (Right_DoubleQuote '"') ('; exp_continue }\n') ('\t}\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: True
          spids: [404]
        )
      ]
    )
    (C {(arch-chroot)} {($ VSub_Name '$ROOTFS')} {(/bin/sh)} {(-c)} {(SQ <'rm -r /usr/share/man/*'>)})
    (C {(arch-chroot)} {($ VSub_Name '$ROOTFS')} {(/bin/sh)} {(-c)} 
      {
        (DQ 
          (
'haveged -w 1024; pacman-key --init; pkill haveged; pacman -Rs --noconfirm haveged; pacman-key --populate '
          ) ($ VSub_Name '$ARCH_KEYRING') ('; pkill gpg-agent')
        )
      }
    )
    (C {(arch-chroot)} {($ VSub_Name '$ROOTFS')} {(/bin/sh)} {(-c)} 
      {(DQ ('ln -s /usr/share/zoneinfo/UTC /etc/localtime'))}
    )
    (SimpleCommand
      words: [{(echo)} {(SQ <'en_US.UTF-8 UTF-8'>)}]
      redirects: [
        (Redir
          op_id: Redir_Great
          fd: 16777215
          arg_word: {($ VSub_Name '$ROOTFS') (/etc/locale.gen)}
          spids: [530]
        )
      ]
    )
    (C {(arch-chroot)} {($ VSub_Name '$ROOTFS')} {(locale-gen)})
    (C {(arch-chroot)} {($ VSub_Name '$ROOTFS')} {(/bin/sh)} {(-c)} 
      {(SQ <'echo $PACMAN_MIRRORLIST > /etc/pacman.d/mirrorlist'>)}
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DEV)
          op: Equal
          rhs: {($ VSub_Name '$ROOTFS') (/dev)}
          spids: [557]
        )
      ]
      spids: [557]
    )
    (C {(rm)} {(-rf)} {($ VSub_Name '$DEV')})
    (C {(mkdir)} {(-p)} {($ VSub_Name '$DEV')})
    (C {(mknod)} {(-m)} {(666)} {($ VSub_Name '$DEV') (/null)} {(c)} {(1)} {(3)})
    (C {(mknod)} {(-m)} {(666)} {($ VSub_Name '$DEV') (/zero)} {(c)} {(1)} {(5)})
    (C {(mknod)} {(-m)} {(666)} {($ VSub_Name '$DEV') (/random)} {(c)} {(1)} {(8)})
    (C {(mknod)} {(-m)} {(666)} {($ VSub_Name '$DEV') (/urandom)} {(c)} {(1)} {(9)})
    (C {(mkdir)} {(-m)} {(755)} {($ VSub_Name '$DEV') (/pts)})
    (C {(mkdir)} {(-m)} {(1777)} {($ VSub_Name '$DEV') (/shm)})
    (C {(mknod)} {(-m)} {(666)} {($ VSub_Name '$DEV') (/tty)} {(c)} {(5)} {(0)})
    (C {(mknod)} {(-m)} {(600)} {($ VSub_Name '$DEV') (/console)} {(c)} {(5)} {(1)})
    (C {(mknod)} {(-m)} {(666)} {($ VSub_Name '$DEV') (/tty0)} {(c)} {(4)} {(0)})
    (C {(mknod)} {(-m)} {(666)} {($ VSub_Name '$DEV') (/full)} {(c)} {(1)} {(7)})
    (C {(mknod)} {(-m)} {(600)} {($ VSub_Name '$DEV') (/initctl)} {(p)})
    (C {(mknod)} {(-m)} {(666)} {($ VSub_Name '$DEV') (/ptmx)} {(c)} {(5)} {(2)})
    (C {(ln)} {(-sf)} {(/proc/self/fd)} {($ VSub_Name '$DEV') (/fd)})
    (Pipeline
      children: [
        (C {(tar)} {(--numeric-owner)} {(--xattrs)} {(--acls)} {(-C)} {($ VSub_Name '$ROOTFS')} {(-c)} {(.)})
        (C {(docker)} {(import)} {(-)} {($ VSub_Name '$DOCKER_IMAGE_NAME')})
      ]
      negated: False
    )
    (C {(docker)} {(run)} {(--rm)} {(-t)} {($ VSub_Name '$DOCKER_IMAGE_NAME')} {(echo)} {(Success.)})
    (C {(rm)} {(-rf)} {($ VSub_Name '$ROOTFS')})
  ]
)