(CommandList
  children: [
    (C {(set)} {(-e)})
    (C {(set)} {(-x)})
    (C {(.)} 
      {
        (CommandSubPart
          command_list: (CommandList children:[(C {(dirname)} {(DQ ($ VSub_Number '$0'))})])
          left_token: <Left_CommandSub '$('>
          spids: [14 20]
        ) (/binaries-commits)
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:RM_GOPATH) op:Equal rhs:{(0)} spids:[24])]
      spids: [24]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TMP_GOPATH)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name TMP_GOPATH>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ )})
                spids: [29 34]
              )
            }
          spids: [28]
        )
      ]
      spids: [28]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$TMP_GOPATH'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(export)} 
              {(Lit_VarLike 'GOPATH=') 
                (DQ 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(mktemp)} {(-d)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [57 61]
                  )
                )
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:RM_GOPATH) op:Equal rhs:{(1)} spids:[65])]
              spids: [65]
            )
          ]
          spids: [16777215 50]
        )
      ]
      else_action: [(C {(export)} {(Lit_VarLike 'GOPATH=') (DQ ($ VSub_Name '$TMP_GOPATH'))})]
      spids: [68 78]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:RUNC_BUILDTAGS)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name RUNC_BUILDTAGS>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_ColonHyphen
                      arg_word: {(DQ ('seccomp apparmor selinux'))}
                    )
                  spids: [86 92]
                )
              )
            }
          spids: [84]
        )
      ]
      spids: [84]
    )
    (FuncDef
      name: install_runc
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('Install runc version ') ($ VSub_Name '$RUNC_COMMIT'))})
            (C {(git)} {(clone)} {(https) (Lit_Other ':') (//github.com/opencontainers/runc.git)} 
              {(DQ ($ VSub_Name '$GOPATH') (/src/github.com/opencontainers/runc))}
            )
            (C {(cd)} {(DQ ($ VSub_Name '$GOPATH') (/src/github.com/opencontainers/runc))})
            (C {(git)} {(checkout)} {(-q)} {(DQ ($ VSub_Name '$RUNC_COMMIT'))})
            (C {(make)} {(Lit_VarLike 'BUILDTAGS=') (DQ ($ VSub_Name '$RUNC_BUILDTAGS'))} 
              {($ VSub_Number '$1')}
            )
            (C {(cp)} {(runc)} {(/usr/local/bin/docker-runc)})
          ]
          spids: [100]
        )
      spids: [96 99]
    )
    (FuncDef
      name: install_containerd
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('Install containerd version ') ($ VSub_Name '$CONTAINERD_COMMIT'))})
            (C {(git)} {(clone)} {(https) (Lit_Other ':') (//github.com/containerd/containerd.git)} 
              {(DQ ($ VSub_Name '$GOPATH') (/src/github.com/containerd/containerd))}
            )
            (C {(cd)} {(DQ ($ VSub_Name '$GOPATH') (/src/github.com/containerd/containerd))})
            (C {(git)} {(checkout)} {(-q)} {(DQ ($ VSub_Name '$CONTAINERD_COMMIT'))})
            (C {(make)} {($ VSub_Number '$1')})
            (C {(cp)} {(bin/containerd)} {(/usr/local/bin/docker-containerd)})
            (C {(cp)} {(bin/containerd-shim)} {(/usr/local/bin/docker-containerd-shim)})
            (C {(cp)} {(bin/ctr)} {(/usr/local/bin/docker-containerd-ctr)})
          ]
          spids: [167]
        )
      spids: [163 166]
    )
    (FuncDef
      name: install_proxy
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('Install docker-proxy version ') ($ VSub_Name '$LIBNETWORK_COMMIT'))})
            (C {(git)} {(clone)} {(https) (Lit_Other ':') (//github.com/docker/libnetwork.git)} 
              {(DQ ($ VSub_Name '$GOPATH') (/src/github.com/docker/libnetwork))}
            )
            (C {(cd)} {(DQ ($ VSub_Name '$GOPATH') (/src/github.com/docker/libnetwork))})
            (C {(git)} {(checkout)} {(-q)} {(DQ ($ VSub_Name '$LIBNETWORK_COMMIT'))})
            (C {(go)} {(build)} {(-ldflags) (Lit_Other '=') (DQ ($ VSub_Name '$PROXY_LDFLAGS'))} {(-o)} 
              {(/usr/local/bin/docker-proxy)} {(github.com/docker/libnetwork/cmd/proxy)}
            )
          ]
          spids: [243]
        )
      spids: [239 242]
    )
    (FuncDef
      name: install_dockercli
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DOCKERCLI_CHANNEL)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name DOCKERCLI_CHANNEL>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(edge)})
                        spids: [314 318]
                      )
                    }
                  spids: [313]
                )
              ]
              spids: [313]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DOCKERCLI_VERSION)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name DOCKERCLI_VERSION>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(17.06.0-ce)})
                        spids: [322 326]
                      )
                    }
                  spids: [321]
                )
              ]
              spids: [321]
            )
            (C {(echo)} 
              {
                (DQ ('Install docker/cli version ') ($ VSub_Name '$DOCKERCLI_VERSION') (' from ') 
                  ($ VSub_Name '$DOCKERCLI_CHANNEL')
                )
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:arch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(uname)} {(-m)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [341 345]
                      )
                    }
                  spids: [340]
                )
              ]
              spids: [340]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobNEqual
                                  left: {(DQ ($ VSub_Name '$arch'))}
                                  right: {(DQ (x86_64))}
                                )
                            )
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobNEqual
                                  left: {(DQ ($ VSub_Name '$arch'))}
                                  right: {(DQ (s390x))}
                                )
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(build_dockercli)}) (ControlFlow token:<ControlFlow_Return return>)]
                  spids: [16777215 385]
                )
              ]
              spids: [16777215 394]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: {(https) (Lit_Other ':') (//download.docker.com/linux/static)}
                  spids: [398]
                )
              ]
              spids: [398]
            )
            (Pipeline
              children: [
                (C {(curl)} {(-Ls)} 
                  {($ VSub_Name '$url') (/) ($ VSub_Name '$DOCKERCLI_CHANNEL') (/) 
                    ($ VSub_Name '$arch') (/docker-) ($ VSub_Name '$DOCKERCLI_VERSION') (.tgz)
                  }
                )
                (C {(tar)} {(-xz)} {(docker/docker)})
              ]
              negated: False
            )
            (C {(mv)} {(docker/docker)} {(/usr/local/bin/)})
            (C {(rmdir)} {(docker)})
          ]
          spids: [310]
        )
      spids: [306 309]
    )
    (FuncDef
      name: build_dockercli
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DOCKERCLI_VERSION)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name DOCKERCLI_VERSION>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(17.06.0-ce)})
                        spids: [450 454]
                      )
                    }
                  spids: [449]
                )
              ]
              spids: [449]
            )
            (C {(git)} {(clone)} {(https) (Lit_Other ':') (//github.com/docker/docker-ce)} 
              {(DQ ($ VSub_Name '$GOPATH') (/tmp/docker-ce))}
            )
            (C {(cd)} {(DQ ($ VSub_Name '$GOPATH') (/tmp/docker-ce))})
            (C {(git)} {(checkout)} {(-q)} {(DQ (v) ($ VSub_Name '$DOCKERCLI_VERSION'))})
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$GOPATH') (/src/github.com/docker))})
            (C {(mv)} {(components/cli)} {(DQ ($ VSub_Name '$GOPATH') (/src/github.com/docker/cli))})
            (C {(go)} {(build)} {(-o)} {(/usr/local/bin/docker)} {(github.com/docker/cli/cmd/docker)})
          ]
          spids: [446]
        )
      spids: [442 445]
    )
    (FuncDef
      name: install_gometalinter
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('Installing gometalinter version ') ($ VSub_Name '$GOMETALINTER_COMMIT'))})
            (C {(go)} {(get)} {(-d)} {(github.com/alecthomas/gometalinter)})
            (C {(cd)} {(DQ ($ VSub_Name '$GOPATH') (/src/github.com/alecthomas/gometalinter))})
            (C {(git)} {(checkout)} {(-q)} {(DQ ($ VSub_Name '$GOMETALINTER_COMMIT'))})
            (C {(go)} {(build)} {(-o)} {(/usr/local/bin/gometalinter)} 
              {(github.com/alecthomas/gometalinter)}
            )
            (SimpleCommand
              words: [{(gometalinter)} {(--install)}]
              more_env: [(env_pair name:GOBIN val:{(/usr/local/bin)} spids:[578])]
            )
          ]
          spids: [528]
        )
      spids: [524 527]
    )
    (ForEach
      iter_name: prog
      iter_words: [{(DQ ($ VSub_At '$@'))}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {($ VSub_Name '$prog')}
              arms: [
                (case_arm
                  pat_list: [{(tomlv)}]
                  action: [
                    (C {(echo)} {(DQ ('Install tomlv version ') ($ VSub_Name '$TOMLV_COMMIT'))})
                    (C {(git)} {(clone)} {(https) (Lit_Other ':') (//github.com/BurntSushi/toml.git)} 
                      {(DQ ($ VSub_Name '$GOPATH') (/src/github.com/BurntSushi/toml))}
                    )
                    (AndOr
                      children: [
                        (C {(cd)} {(DQ ($ VSub_Name '$GOPATH') (/src/github.com/BurntSushi/toml))})
                        (C {(git)} {(checkout)} {(-q)} {(DQ ($ VSub_Name '$TOMLV_COMMIT'))})
                      ]
                      op_id: Op_DAmp
                    )
                    (C {(go)} {(build)} {(-v)} {(-o)} {(/usr/local/bin/tomlv)} 
                      {(github.com/BurntSushi/toml/cmd/tomlv)}
                    )
                  ]
                  spids: [608 609 667 16777215]
                )
                (case_arm
                  pat_list: [{(runc)}]
                  action: [(C {(install_runc)} {(static)})]
                  spids: [671 672 680 16777215]
                )
                (case_arm
                  pat_list: [{(runc-dynamic)}]
                  action: [(C {(install_runc)})]
                  spids: [684 685 691 16777215]
                )
                (case_arm
                  pat_list: [{(containerd)}]
                  action: [(C {(install_containerd)} {(static)})]
                  spids: [695 696 704 16777215]
                )
                (case_arm
                  pat_list: [{(containerd-dynamic)}]
                  action: [(C {(install_containerd)})]
                  spids: [708 709 715 16777215]
                )
                (case_arm
                  pat_list: [{(gometalinter)}]
                  action: [(C {(install_gometalinter)})]
                  spids: [719 720 726 16777215]
                )
                (case_arm
                  pat_list: [{(tini)}]
                  action: [
                    (C {(echo)} {(DQ ('Install tini version ') ($ VSub_Name '$TINI_COMMIT'))})
                    (C {(git)} {(clone)} {(https) (Lit_Other ':') (//github.com/krallin/tini.git)} 
                      {(DQ ($ VSub_Name '$GOPATH') (/tini))}
                    )
                    (C {(cd)} {(DQ ($ VSub_Name '$GOPATH') (/tini))})
                    (C {(git)} {(checkout)} {(-q)} {(DQ ($ VSub_Name '$TINI_COMMIT'))})
                    (C {(cmake)} {(.)})
                    (C {(make)} {(tini-static)})
                    (C {(cp)} {(tini-static)} {(/usr/local/bin/docker-init)})
                  ]
                  spids: [730 731 792 16777215]
                )
                (case_arm
                  pat_list: [{(proxy)}]
                  action: [
                    (Subshell
                      child: 
                        (CommandList
                          children: [
                            (C {(export)} {(Lit_VarLike 'CGO_ENABLED=') (0)})
                            (C {(install_proxy)})
                          ]
                        )
                      spids: [800 812]
                    )
                  ]
                  spids: [796 797 815 16777215]
                )
                (case_arm
                  pat_list: [{(proxy-dynamic)}]
                  action: [
                    (SimpleCommand
                      words: [{(install_proxy)}]
                      more_env: [
                        (env_pair
                          name: PROXY_LDFLAGS
                          val: {(DQ ('-linkmode=external'))}
                          spids: [823]
                        )
                      ]
                    )
                  ]
                  spids: [819 820 831 16777215]
                )
                (case_arm
                  pat_list: [{(vndr)}]
                  action: [
                    (C {(echo)} {(DQ ('Install vndr version ') ($ VSub_Name '$VNDR_COMMIT'))})
                    (C {(git)} {(clone)} {(https) (Lit_Other ':') (//github.com/LK4D4/vndr.git)} 
                      {(DQ ($ VSub_Name '$GOPATH') (/src/github.com/LK4D4/vndr))}
                    )
                    (C {(cd)} {(DQ ($ VSub_Name '$GOPATH') (/src/github.com/LK4D4/vndr))})
                    (C {(git)} {(checkout)} {(-q)} {(DQ ($ VSub_Name '$VNDR_COMMIT'))})
                    (C {(go)} {(build)} {(-v)} {(-o)} {(/usr/local/bin/vndr)} {(.)})
                  ]
                  spids: [835 836 893 16777215]
                )
                (case_arm
                  pat_list: [{(dockercli)}]
                  action: [(C {(install_dockercli)})]
                  spids: [897 898 904 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(echo)} {(echo)} 
                      {
                        (DQ ('Usage: ') ($ VSub_Number '$0') 
                          (
' [tomlv|runc|runc-dynamic|containerd|containerd-dynamic|tini|proxy|proxy-dynamic|vndr|dockercli|gometalinter]'
                          )
                        )
                      }
                    )
                    (C {(exit)} {(1)})
                  ]
                  spids: [908 909 16777215 929]
                )
              ]
              spids: [601 605 929]
            )
          ]
          spids: [598 931]
        )
      spids: [593 16777215]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {($ VSub_Name '$RM_GOPATH')} {(-eq)} {(1)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$GOPATH'))})]
          spids: [16777215 947]
        )
      ]
      spids: [16777215 958]
    )
  ]
)