(CommandList
  children: [
    (C {(set)} {(-e)})
    (FuncDef
      name: die
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(echo)} {(DQ ($ VSub_At "$@"))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[18])]
            )
            (C {(exit)} {(1)})
          ]
          spids: [13]
        )
      spids: [9 12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:img)
          op: Equal
          rhs: {(/usr/share/clear-containers/clear-containers.img)}
          spids: [33]
        )
      ]
      spids: [33]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:img)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(readlink)} {(-f)} {(DQ ($ VSub_Name "$img"))})]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [37 45]
              )
            }
          spids: [36]
        )
      ]
      spids: [36]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:img_size)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(du)} {(-b)} {(DQ (${ VSub_Name img))})
                          (C {(awk)} {(SQ <"{print $1}">)})
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [48 66]
              )
            }
          spids: [47]
        )
      ]
      spids: [47]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:kernel)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: (CommandList children:[(C {(pwd)})])
                  left_token: <Left_CommandSub "$(">
                  spids: [71 73]
                ) (/clear-containers-vmlinux)
              )
            }
          spids: [69]
        )
      ]
      spids: [69]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:kernel_cmdline_file)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: (CommandList children:[(C {(pwd)})])
                  left_token: <Left_CommandSub "$(">
                  spids: [79 81]
                ) (/clear-containers-cmdline)
              )
            }
          spids: [77]
        )
      ]
      spids: [77]
    )
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(-f)} {(DQ (${ VSub_Name img))} {(Lit_Other "]")})
        (C {(die)} {(DQ ("Image s required"))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(-f)} {(DQ (${ VSub_Name kernel))} {(Lit_Other "]")})
        (C {(die)} {(DQ ("Kernel is required"))})
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(-f)} {(${ VSub_Name kernel_cmdline_file)} {(Lit_Other "]")})
        (C {(die)} {(DQ ("Kernel cmdline file is required"))})
      ]
      op_id: Op_DPipe
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:kernel_cmdline)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(cat)} {(DQ ($ VSub_Name "$kernel_cmdline_file"))})]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [147 153]
              )
            }
          spids: [146]
        )
      ]
      spids: [146]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ (/usr/bin/qemu-lite-system-x86_64))}
          spids: [156]
        )
      ]
      spids: [156]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" -machine pc-lite,accel=kvm,kernel_irqchip,nvdimm"))}
          spids: [161]
        )
      ]
      spids: [161]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" -device nvdimm,memdev=mem0,id=nv0"))}
          spids: [167]
        )
      ]
      spids: [167]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$cmd") (" -object memory-backend-file,id=mem0,mem-path=") 
                (${ VSub_Name img) (",size=") (${ VSub_Name img_size)
              )
            }
          spids: [176]
        )
      ]
      spids: [176]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" -m 2G,slots=2,maxmem=3G"))}
          spids: [192]
        )
      ]
      spids: [192]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" -kernel ") (${ VSub_Name kernel))}
          spids: [201]
        )
      ]
      spids: [201]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" -append '") (${ VSub_Name kernel_cmdline) ("'"))}
          spids: [210]
        )
      ]
      spids: [210]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" -smp 2,sockets=1,cores=2,threads=1"))}
          spids: [223]
        )
      ]
      spids: [223]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" -cpu host"))}
          spids: [229]
        )
      ]
      spids: [229]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" -rtc base=utc,driftfix=slew"))}
          spids: [238]
        )
      ]
      spids: [238]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" -no-user-config"))}
          spids: [244]
        )
      ]
      spids: [244]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" -nodefaults"))}
          spids: [250]
        )
      ]
      spids: [250]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" -global"))}
          spids: [256]
        )
      ]
      spids: [256]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" kvm-pit.lost_tick_policy=discard"))}
          spids: [262]
        )
      ]
      spids: [262]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" -device virtio-serial-pci,id=virtio-serial0"))}
          spids: [271]
        )
      ]
      spids: [271]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" -chardev stdio,id=charconsole0,signal=off"))}
          spids: [277]
        )
      ]
      spids: [277]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" -device virtconsole,chardev=charconsole0,id=console0"))}
          spids: [283]
        )
      ]
      spids: [283]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" -nographic"))}
          spids: [289]
        )
      ]
      spids: [289]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cmd)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$cmd") (" -vga none"))}
          spids: [295]
        )
      ]
      spids: [295]
    )
    (C {(eval)} {(DQ ($ VSub_Name "$cmd"))})
  ]
)