(CommandList
  children: [
    (C {(set)} {(-o)} {(errexit)})
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:USER_ID)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(id)} {(-u)})])
                left_token: <Left_CommandSub '$('>
                spids: [67 71]
              )
            }
          spids: [66]
        )
      ]
      spids: [66]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:GROUP_ID)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(id)} {(-g)})])
                left_token: <Left_CommandSub '$('>
                spids: [74 78]
              )
            }
          spids: [73]
        )
      ]
      spids: [73]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DOCKER_OPTS)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name DOCKER_OPTS>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ )})
                spids: [82 87]
              )
            }
          spids: [81]
        )
      ]
      spids: [81]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DOCKER)
          op: Equal
          rhs: {(ArrayLiteralPart words:[{(docker)} {(${ VSub_Name DOCKER_OPTS)}])}
          spids: [89]
        )
      ]
      spids: [89]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DOCKER_HOST)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name DOCKER_HOST>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ )})
                spids: [99 104]
              )
            }
          spids: [98]
        )
      ]
      spids: [98]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DOCKER_MACHINE_NAME)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name DOCKER_MACHINE_NAME>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (kube-dev))})
                spids: [107 113]
              )
            }
          spids: [106]
        )
      ]
      spids: [106]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:DOCKER_MACHINE_DRIVER)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name DOCKER_MACHINE_DRIVER>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: {(DQ ('virtualbox --virtualbox-cpu-count -1'))}
                  )
                spids: [118 124]
              )
            }
          spids: [117]
        )
      ]
      spids: [115]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_ROOT)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (AndOr
                        children: [
                          (C {(cd)} 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [134 142]
                              ) (/..)
                            }
                          )
                          (C {(pwd)} {(-P)})
                        ]
                        op_id: Op_DAmp
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [131 150]
              )
            }
          spids: [130]
        )
      ]
      spids: [130]
    )
    (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/hack/lib/init.sh))})
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_BUILD_IMAGE_REPO)
          op: Equal
          rhs: {(kube-build)}
          spids: [168]
        )
      ]
      spids: [166]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_BUILD_IMAGE_CROSS_TAG)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (C {(cat)} {(${ VSub_Name KUBE_ROOT) (/build/build-image/cross/VERSION)})
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [175 182]
                )
              )
            }
          spids: [173]
        )
      ]
      spids: [171]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_BUILD_IMAGE_VERSION_BASE)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [(C {(cat)} {(${ VSub_Name KUBE_ROOT) (/build/build-image/VERSION)})]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [208 215]
                )
              )
            }
          spids: [206]
        )
      ]
      spids: [204]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_BUILD_IMAGE_VERSION)
          op: Equal
          rhs: 
            {
              (DQ (${ VSub_Name KUBE_BUILD_IMAGE_VERSION_BASE) (-) 
                (${ VSub_Name KUBE_BUILD_IMAGE_CROSS_TAG)
              )
            }
          spids: [220]
        )
      ]
      spids: [218]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:LOCAL_OUTPUT_ROOT)
          op: Equal
          rhs: 
            {
              (DQ (${ VSub_Name KUBE_ROOT) (/) 
                (BracedVarSub
                  token: <VSub_Name OUT_DIR>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(_output)})
                  spids: [270 274]
                )
              )
            }
          spids: [264]
        )
      ]
      spids: [262]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:LOCAL_OUTPUT_SUBPATH)
          op: Equal
          rhs: {(DQ (${ VSub_Name LOCAL_OUTPUT_ROOT) (/dockerized))}
          spids: [279]
        )
      ]
      spids: [277]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:LOCAL_OUTPUT_BINPATH)
          op: Equal
          rhs: {(DQ (${ VSub_Name LOCAL_OUTPUT_SUBPATH) (/bin))}
          spids: [289]
        )
      ]
      spids: [287]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:LOCAL_OUTPUT_GOPATH)
          op: Equal
          rhs: {(DQ (${ VSub_Name LOCAL_OUTPUT_SUBPATH) (/go))}
          spids: [299]
        )
      ]
      spids: [297]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:LOCAL_OUTPUT_IMAGE_STAGING)
          op: Equal
          rhs: {(DQ (${ VSub_Name LOCAL_OUTPUT_ROOT) (/images))}
          spids: [309]
        )
      ]
      spids: [307]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:THIS_PLATFORM_BIN)
          op: Equal
          rhs: {(DQ (${ VSub_Name LOCAL_OUTPUT_ROOT) (/bin))}
          spids: [323]
        )
      ]
      spids: [321]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:REMOTE_ROOT)
          op: Equal
          rhs: {(DQ (/go/src/) (${ VSub_Name KUBE_GO_PACKAGE))}
          spids: [334]
        )
      ]
      spids: [332]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:REMOTE_OUTPUT_ROOT)
          op: Equal
          rhs: {(DQ (${ VSub_Name REMOTE_ROOT) (/_output))}
          spids: [344]
        )
      ]
      spids: [342]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:REMOTE_OUTPUT_SUBPATH)
          op: Equal
          rhs: {(DQ (${ VSub_Name REMOTE_OUTPUT_ROOT) (/dockerized))}
          spids: [354]
        )
      ]
      spids: [352]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:REMOTE_OUTPUT_BINPATH)
          op: Equal
          rhs: {(DQ (${ VSub_Name REMOTE_OUTPUT_SUBPATH) (/bin))}
          spids: [364]
        )
      ]
      spids: [362]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:REMOTE_OUTPUT_GOPATH)
          op: Equal
          rhs: {(DQ (${ VSub_Name REMOTE_OUTPUT_SUBPATH) (/go))}
          spids: [374]
        )
      ]
      spids: [372]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_RSYNC_PORT)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name KUBE_RSYNC_PORT>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                  spids: [393 396]
                )
              )
            }
          spids: [391]
        )
      ]
      spids: [389]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_CONTAINER_RSYNC_PORT)
          op: Equal
          rhs: {(8730)}
          spids: [408]
        )
      ]
      spids: [406]
    )
    (FuncDef
      name: 'kube::build::get_docker_wrapped_binaries'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:debian_iptables_version)
                  op: Equal
                  rhs: {(v8)}
                  spids: [440]
                )
              ]
              spids: [440]
            )
            (Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [{(DQ (amd64))}]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:targets)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(cloud-controller-manager) (Lit_Comma ',') (busybox)}
                                  {(kube-apiserver) (Lit_Comma ',') (busybox)}
                                  {(kube-controller-manager) (Lit_Comma ',') (busybox)}
                                  {(kube-scheduler) (Lit_Comma ',') (busybox)}
                                  {(kube-aggregator) (Lit_Comma ',') (busybox)}
                                  {(kube-proxy) (Lit_Comma ',') 
                                    (gcr.io/google-containers/debian-iptables-amd64) (Lit_Other ':') (${ VSub_Name debian_iptables_version)
                                  }
                                ]
                              )
                            }
                          spids: [467]
                        )
                      ]
                      spids: [465]
                    )
                  ]
                  spids: [460 462 506 16777215]
                )
                (case_arm
                  pat_list: [{(DQ (arm))}]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:targets)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(cloud-controller-manager) (Lit_Comma ',') (arm32v7/busybox)}
                                  {(kube-apiserver) (Lit_Comma ',') (arm32v7/busybox)}
                                  {(kube-controller-manager) (Lit_Comma ',') (arm32v7/busybox)}
                                  {(kube-scheduler) (Lit_Comma ',') (arm32v7/busybox)}
                                  {(kube-aggregator) (Lit_Comma ',') (arm32v7/busybox)}
                                  {(kube-proxy) (Lit_Comma ',') 
                                    (gcr.io/google-containers/debian-iptables-arm) (Lit_Other ':') (${ VSub_Name debian_iptables_version)
                                  }
                                ]
                              )
                            }
                          spids: [517]
                        )
                      ]
                      spids: [515]
                    )
                  ]
                  spids: [510 512 556 16777215]
                )
                (case_arm
                  pat_list: [{(DQ (arm64))}]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:targets)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(cloud-controller-manager) (Lit_Comma ',') (arm64v8/busybox)}
                                  {(kube-apiserver) (Lit_Comma ',') (arm64v8/busybox)}
                                  {(kube-controller-manager) (Lit_Comma ',') (arm64v8/busybox)}
                                  {(kube-scheduler) (Lit_Comma ',') (arm64v8/busybox)}
                                  {(kube-aggregator) (Lit_Comma ',') (arm64v8/busybox)}
                                  {(kube-proxy) (Lit_Comma ',') 
                                    (gcr.io/google-containers/debian-iptables-arm64) (Lit_Other ':') (${ VSub_Name debian_iptables_version)
                                  }
                                ]
                              )
                            }
                          spids: [567]
                        )
                      ]
                      spids: [565]
                    )
                  ]
                  spids: [560 562 606 16777215]
                )
                (case_arm
                  pat_list: [{(DQ (ppc64le))}]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:targets)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(cloud-controller-manager) (Lit_Comma ',') (ppc64le/busybox)}
                                  {(kube-apiserver) (Lit_Comma ',') (ppc64le/busybox)}
                                  {(kube-controller-manager) (Lit_Comma ',') (ppc64le/busybox)}
                                  {(kube-scheduler) (Lit_Comma ',') (ppc64le/busybox)}
                                  {(kube-aggregator) (Lit_Comma ',') (ppc64le/busybox)}
                                  {(kube-proxy) (Lit_Comma ',') 
                                    (gcr.io/google-containers/debian-iptables-ppc64le) (Lit_Other ':') (${ VSub_Name debian_iptables_version)
                                  }
                                ]
                              )
                            }
                          spids: [617]
                        )
                      ]
                      spids: [615]
                    )
                  ]
                  spids: [610 612 656 16777215]
                )
                (case_arm
                  pat_list: [{(DQ (s390x))}]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:targets)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(cloud-controller-manager) (Lit_Comma ',') (s390x/busybox)}
                                  {(kube-apiserver) (Lit_Comma ',') (s390x/busybox)}
                                  {(kube-controller-manager) (Lit_Comma ',') (s390x/busybox)}
                                  {(kube-scheduler) (Lit_Comma ',') (s390x/busybox)}
                                  {(kube-aggregator) (Lit_Comma ',') (s390x/busybox)}
                                  {(kube-proxy) (Lit_Comma ',') 
                                    (gcr.io/google-containers/debian-iptables-s390x) (Lit_Other ':') (${ VSub_Name debian_iptables_version)
                                  }
                                ]
                              )
                            }
                          spids: [667]
                        )
                      ]
                      spids: [665]
                    )
                  ]
                  spids: [660 662 706 16777215]
                )
              ]
              spids: [452 456 709]
            )
            (C {(echo)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name targets>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [716 721]
                  )
                )
              }
            )
          ]
          spids: [437]
        )
      spids: [427 436]
    )
    (FuncDef
      name: 'kube::build::verify_prereqs'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:require_docker)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)})
                        spids: [808 812]
                      )
                    }
                  spids: [807]
                )
              ]
              spids: [803]
            )
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
              {(DQ ('Verifying Prerequisites....'))}
            )
            (AndOr
              children: [
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                    (ensure_tar)
                  }
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                    (ensure_rsync)
                  }
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (If
              arms: [
                (if_arm
                  cond: [(Sentence child:(C {(${ VSub_Name require_docker)}) terminator:<Op_Semi ';'>)]
                  action: [
                    (AndOr
                      children: [
                        (C 
                          {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') 
                            (Lit_Other ':') (ensure_docker_in_path)
                          }
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C 
                                  {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') 
                                    (Lit_Other ':') (is_osx)
                                  }
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (AndOr
                              children: [
                                (C 
                                  {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') 
                                    (Lit_Other ':') (docker_available_on_osx)
                                  }
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [16777215 894]
                        )
                      ]
                      spids: [16777215 912]
                    )
                    (AndOr
                      children: [
                        (C 
                          {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') 
                            (ensure_docker_daemon_connectivity)
                          }
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_Great
                                      left: (ArithWord w:{(${ VSub_Name KUBE_VERBOSE)})
                                      right: (ArithWord w:{(Lit_Digits 6)})
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                (Lit_Other ':') (status)
                              } {(DQ ('Docker Version:'))}
                            )
                            (Pipeline
                              children: [
                                (C 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name DOCKER>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [964 969]
                                      )
                                    )
                                  } {(version)}
                                )
                                (C 
                                  {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                    (Lit_Other ':') (info_from_stdin)
                                  }
                                )
                              ]
                              negated: False
                            )
                          ]
                          spids: [16777215 947]
                        )
                      ]
                      spids: [16777215 985]
                    )
                  ]
                  spids: [16777215 865]
                )
              ]
              spids: [16777215 988]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_GIT_BRANCH)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (AndOr
                                children: [
                                  (SimpleCommand
                                    words: [{(git)} {(symbolic-ref)} {(--short)} {(-q)} {(HEAD)}]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_Great
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                        spids: [1004]
                                      )
                                    ]
                                  )
                                  (C {(true)})
                                ]
                                op_id: Op_DPipe
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [993 1010]
                      )
                    }
                  spids: [992]
                )
              ]
              spids: [992]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_ROOT_HASH)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C 
                                {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') 
                                  (Lit_Other ':') (short_hash)
                                } 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name HOSTNAME>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [1024 1027]
                                    ) (':') (${ VSub_Name KUBE_ROOT) (':') (${ VSub_Name KUBE_GIT_BRANCH)
                                  )
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1014 1037]
                      )
                    }
                  spids: [1013]
                )
              ]
              spids: [1013]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_BUILD_IMAGE_TAG_BASE)
                  op: Equal
                  rhs: {(DQ (build-) (${ VSub_Name KUBE_ROOT_HASH))}
                  spids: [1040]
                )
              ]
              spids: [1040]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_BUILD_IMAGE_TAG)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name KUBE_BUILD_IMAGE_TAG_BASE) (-) 
                        (${ VSub_Name KUBE_BUILD_IMAGE_VERSION)
                      )
                    }
                  spids: [1049]
                )
              ]
              spids: [1049]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_BUILD_IMAGE)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name KUBE_BUILD_IMAGE_REPO) (':') 
                        (${ VSub_Name KUBE_BUILD_IMAGE_TAG)
                      )
                    }
                  spids: [1061]
                )
              ]
              spids: [1061]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_BUILD_CONTAINER_NAME_BASE)
                  op: Equal
                  rhs: {(DQ (kube-build-) (${ VSub_Name KUBE_ROOT_HASH))}
                  spids: [1073]
                )
              ]
              spids: [1073]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_BUILD_CONTAINER_NAME)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name KUBE_BUILD_CONTAINER_NAME_BASE) (-) 
                        (${ VSub_Name KUBE_BUILD_IMAGE_VERSION)
                      )
                    }
                  spids: [1082]
                )
              ]
              spids: [1082]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_RSYNC_CONTAINER_NAME_BASE)
                  op: Equal
                  rhs: {(DQ (kube-rsync-) (${ VSub_Name KUBE_ROOT_HASH))}
                  spids: [1094]
                )
              ]
              spids: [1094]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_RSYNC_CONTAINER_NAME)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name KUBE_RSYNC_CONTAINER_NAME_BASE) (-) 
                        (${ VSub_Name KUBE_BUILD_IMAGE_VERSION)
                      )
                    }
                  spids: [1103]
                )
              ]
              spids: [1103]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_DATA_CONTAINER_NAME_BASE)
                  op: Equal
                  rhs: {(DQ (kube-build-data-) (${ VSub_Name KUBE_ROOT_HASH))}
                  spids: [1115]
                )
              ]
              spids: [1115]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_DATA_CONTAINER_NAME)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name KUBE_DATA_CONTAINER_NAME_BASE) (-) 
                        (${ VSub_Name KUBE_BUILD_IMAGE_VERSION)
                      )
                    }
                  spids: [1124]
                )
              ]
              spids: [1124]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DOCKER_MOUNT_ARGS)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [{(--volumes-from)} {(DQ (${ VSub_Name KUBE_DATA_CONTAINER_NAME))}]
                      )
                    }
                  spids: [1136]
                )
              ]
              spids: [1136]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:LOCAL_OUTPUT_BUILD_CONTEXT)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name LOCAL_OUTPUT_IMAGE_STAGING) (/) (${ VSub_Name KUBE_BUILD_IMAGE))
                    }
                  spids: [1148]
                )
              ]
              spids: [1148]
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (version) (Lit_Other ':') (Lit_Other ':') 
                (get_version_vars)
              }
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (version) (Lit_Other ':') (Lit_Other ':') 
                (save_version_vars)
              } {(DQ (${ VSub_Name KUBE_ROOT) (/.dockerized-kube-version-defs))}
            )
          ]
          spids: [800]
        )
      spids: [788 799]
    )
    (FuncDef
      name: 'kube::build::docker_available_on_osx'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_z child:{(DQ (${ VSub_Name DOCKER_HOST))})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_S
                                      child: {(DQ (/var/run/docker.sock))}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                (Lit_Other ':') (status)
                              } {(DQ ('Using Docker for MacOS'))}
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(0)}
                            )
                          ]
                          spids: [16777215 1241]
                        )
                      ]
                      spids: [16777215 1262]
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (status)
                      } {(DQ ('No docker host is set. Checking options for setting one...'))}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_z
                                      child: 
                                        {
                                          (DQ 
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [(C {(which)} {(docker-machine)})]
                                                )
                                              left_token: <Left_CommandSub '$('>
                                              spids: [1286 1290]
                                            )
                                          )
                                        }
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                (Lit_Other ':') (status)
                              } 
                              {
                                (DQ 
                                  (
"It looks like you're running Mac OS X, yet neither Docker for Mac nor docker-machine can be found."
                                  )
                                )
                              }
                            )
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                (Lit_Other ':') (status)
                              } {(DQ ('See: https://docs.docker.com/engine/installation/mac/ for installation instructions.'))}
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 1296]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [(C {(which)} {(docker-machine)})]
                                                )
                                              left_token: <Left_CommandSub '$('>
                                              spids: [1337 1341]
                                            )
                                          )
                                        }
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') 
                                (Lit_Other ':') (prepare_docker_machine)
                              }
                            )
                          ]
                          spids: [1330 1347]
                        )
                      ]
                      spids: [16777215 1359]
                    )
                  ]
                  spids: [16777215 1225]
                )
              ]
              spids: [16777215 1362]
            )
          ]
          spids: [1207]
        )
      spids: [1195 1206]
    )
    (FuncDef
      name: 'kube::build::prepare_docker_machine'
      body: 
        (BraceGroup
          children: [
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
              {(DQ ('docker-machine was found.'))}
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:available_memory_bytes)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [{(sysctl)} {(-n)} {(hw.memsize)}]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Great
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                    spids: [1406]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1399 1408]
                      )
                    }
                  spids: [1398]
                )
              ]
              spids: [1396]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bytes_in_mb)
                  op: Equal
                  rhs: {(1048576)}
                  spids: [1414]
                )
              ]
              spids: [1412]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:memory_divisor) op:Equal rhs:{(2)} spids:[1429])]
              spids: [1427]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:virtualbox_memory_mb)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Slash
                            left: (ArithWord w:{(${ VSub_Name available_memory_bytes)})
                            right: 
                              (ArithBinary
                                op_id: Arith_Star
                                left: (ArithWord w:{(${ VSub_Name bytes_in_mb)})
                                right: (ArithWord w:{(${ VSub_Name memory_divisor)})
                              )
                          )
                        spids: [1437 1458]
                      )
                    }
                  spids: [1436]
                )
              ]
              spids: [1434]
            )
            (Sentence
              child: (C {(docker-machine)} {(inspect)} {(DQ (${ VSub_Name DOCKER_MACHINE_NAME))})
              terminator: <Op_Amp '&'>
            )
            (AndOr
              children: [
                (SimpleCommand
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [1473]
                    )
                  ]
                )
                (BraceGroup
                  children: [
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (status)
                      } {(DQ ('Creating a machine to build Kubernetes'))}
                    )
                    (AndOr
                      children: [
                        (SimpleCommand
                          words: [
                            {(docker-machine)}
                            {(create)}
                            {(--driver)}
                            {(${ VSub_Name DOCKER_MACHINE_DRIVER)}
                            {(--virtualbox-memory)}
                            {(DQ (${ VSub_Name virtualbox_memory_mb))}
                            {(--engine-env)}
                            {(Lit_VarLike 'HTTP_PROXY=') 
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name KUBERNETES_HTTP_PROXY>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [1521 1524]
                                )
                              )
                            }
                            {(--engine-env)}
                            {(Lit_VarLike 'HTTPS_PROXY=') 
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name KUBERNETES_HTTPS_PROXY>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [1533 1536]
                                )
                              )
                            }
                            {(--engine-env)}
                            {(Lit_VarLike 'NO_PROXY=') 
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name KUBERNETES_NO_PROXY>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_ColonHyphen
                                      arg_word: {(127.0.0.1)}
                                    )
                                  spids: [1545 1549]
                                )
                              )
                            }
                            {(DQ (${ VSub_Name DOCKER_MACHINE_NAME))}
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/null)}
                              spids: [1560]
                            )
                          ]
                        )
                        (BraceGroup
                          children: [
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                (Lit_Other ':') (error)
                              } {(DQ ('Something went wrong creating a machine.'))}
                            )
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                (Lit_Other ':') (error)
                              } {(DQ ('Try the following: '))}
                            )
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                (Lit_Other ':') (error)
                              } 
                              {
                                (DQ ('docker-machine create -d ') (${ VSub_Name DOCKER_MACHINE_DRIVER) 
                                  (' --virtualbox-memory ') (${ VSub_Name virtualbox_memory_mb) (' ') (${ VSub_Name DOCKER_MACHINE_NAME)
                                )
                              }
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [1566]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [1479]
                )
              ]
              op_id: Op_DPipe
            )
            (Sentence
              child: (C {(docker-machine)} {(start)} {(DQ (${ VSub_Name DOCKER_MACHINE_NAME))})
              terminator: <Op_Amp '&'>
            )
            (SimpleCommand
              redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[1641])]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:docker_machine_out) op:Equal spids:[1652])]
              spids: [1650]
            )
            (While
              cond: [
                (Sentence
                  child: 
                    (Pipeline
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:docker_machine_out)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [
                                              {(docker-machine)}
                                              {(env)}
                                              {(DQ (${ VSub_Name DOCKER_MACHINE_NAME))}
                                            ]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_GreatAnd
                                                fd: 2
                                                arg_word: {(1)}
                                                spids: [1671]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [1660 1673]
                                  )
                                }
                              spids: [1659]
                            )
                          ]
                          spids: [1659]
                        )
                      ]
                      negated: True
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_EqualTilde
                                      left: {(${ VSub_Name docker_machine_out)}
                                      right: {(DQ ('Error checking TLS connection'))}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(echo)} {(${ VSub_Name docker_machine_out)})
                            (C {(docker-machine)} {(regenerate-certs)} 
                              {(${ VSub_Name DOCKER_MACHINE_NAME)}
                            )
                          ]
                          spids: [16777215 1696]
                        )
                      ]
                      else_action: [(C {(sleep)} {(1)})]
                      spids: [1715 1723]
                    )
                  ]
                  spids: [1676 1726]
                )
            )
            (C {(eval)} 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (C {(docker-machine)} {(env)} {(DQ (${ VSub_Name DOCKER_MACHINE_NAME))})
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [1731 1741]
                )
              }
            )
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
              {
                (DQ ("A Docker host using docker-machine named '") (${ VSub_Name DOCKER_MACHINE_NAME) 
                  ("' is ready to go!")
                )
              }
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [1379]
        )
      spids: [1367 1378]
    )
    (FuncDef
      name: 'kube::build::is_osx'
      body: 
        (BraceGroup
          children: [
            (DBracket
              expr: 
                (BoolBinary
                  op_id: BoolBinary_GlobDEqual
                  left: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(uname)})])
                          left_token: <Left_CommandSub '$('>
                          spids: [1786 1788]
                        )
                      )
                    }
                  right: {(DQ (Darwin))}
                )
            )
          ]
          spids: [1780]
        )
      spids: [1768 1779]
    )
    (FuncDef
      name: 'kube::build::is_gnu_sed'
      body: 
        (BraceGroup
          children: [
            (DBracket
              expr: 
                (BoolBinary
                  op_id: BoolBinary_GlobDEqual
                  left: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [{(sed)} {(--version)}]
                                redirects: [
                                  (Redir
                                    op_id: Redir_GreatAnd
                                    fd: 2
                                    arg_word: {(1)}
                                    spids: [1824]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1819 1826]
                      )
                    }
                  right: {(Lit_Other '*') (GNU) (Lit_Other '*')}
                )
            )
          ]
          spids: [1814]
        )
      spids: [1802 1813]
    )
    (FuncDef
      name: 'kube::build::ensure_rsync'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_z
                              child: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: (CommandList children:[(C {(which)} {(rsync)})])
                                      left_token: <Left_CommandSub '$('>
                                      spids: [1861 1865]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (error)
                      } {(DQ ("Can't find 'rsync' in PATH, please fix and retry."))}
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [16777215 1871]
                )
              ]
              spids: [16777215 1892]
            )
          ]
          spids: [1851]
        )
      spids: [1839 1850]
    )
    (FuncDef
      name: 'kube::build::update_dockerfile'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C 
                          {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') 
                            (Lit_Other ':') (is_gnu_sed)
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:sed_opts)
                          op: Equal
                          rhs: {(ArrayLiteralPart words:[{(-i)}])}
                          spids: [1926]
                        )
                      ]
                      spids: [1926]
                    )
                  ]
                  spids: [16777215 1923]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:sed_opts)
                      op: Equal
                      rhs: {(ArrayLiteralPart words:[{(-i)} {(SQ )}])}
                      spids: [1935]
                    )
                  ]
                  spids: [1935]
                )
              ]
              spids: [1932 1944]
            )
            (C {(sed)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name sed_opts>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [1950 1955]
                  )
                )
              } {(DQ (s/KUBE_BUILD_IMAGE_CROSS_TAG/) (${ VSub_Name KUBE_BUILD_IMAGE_CROSS_TAG) (/))} 
              {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/Dockerfile))}
            )
          ]
          spids: [1909]
        )
      spids: [1897 1908]
    )
    (FuncDef
      name: 'kube::build::set_proxy'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBERNETES_HTTPS_PROXY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [1998 2001]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {(DQ ('ENV https_proxy ') ($ VSub_Name '$KUBERNETES_HTTPS_PROXY'))}
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/Dockerfile))}
                          spids: [2017]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 2007]
                )
              ]
              spids: [16777215 2027]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBERNETES_HTTP_PROXY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2037 2040]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ ('ENV http_proxy ') ($ VSub_Name '$KUBERNETES_HTTP_PROXY'))}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/Dockerfile))}
                          spids: [2056]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 2046]
                )
              ]
              spids: [16777215 2066]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBERNETES_NO_PROXY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2076 2079]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ ('ENV no_proxy ') ($ VSub_Name '$KUBERNETES_NO_PROXY'))}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/Dockerfile))}
                          spids: [2095]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 2085]
                )
              ]
              spids: [16777215 2105]
            )
          ]
          spids: [1988]
        )
      spids: [1976 1987]
    )
    (FuncDef
      name: 'kube::build::ensure_docker_in_path'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_z
                              child: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: (CommandList children:[(C {(which)} {(docker)})])
                                      left_token: <Left_CommandSub '$('>
                                      spids: [2132 2136]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (error)
                      } {(DQ ("Can't find 'docker' in PATH, please fix and retry."))}
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (error)
                      } {(DQ ('See https://docs.docker.com/installation/#installation for installation instructions.'))}
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [16777215 2142]
                )
              ]
              spids: [16777215 2176]
            )
          ]
          spids: [2122]
        )
      spids: [2110 2121]
    )
    (FuncDef
      name: 'kube::build::ensure_tar'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name TAR>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2203 2206]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(ControlFlow token:<ControlFlow_Return return>)]
                  spids: [16777215 2212]
                )
              ]
              spids: [16777215 2218]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:TAR) op:Equal rhs:{(tar)} spids:[2226])]
              spids: [2226]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(which)} {(gtar)})
                      terminator: <Op_Amp '&'>
                    )
                    (Sentence
                      child: 
                        (SimpleCommand
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/null)}
                              spids: [2237]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:TAR) op:Equal rhs:{(gtar)} spids:[2244])]
                      spids: [2244]
                    )
                  ]
                  spids: [16777215 2241]
                )
              ]
              else_action: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (C {(which)} {(gnutar)})
                          terminator: <Op_Amp '&'>
                        )
                        (Sentence
                          child: 
                            (SimpleCommand
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                  spids: [2258]
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:TAR)
                              op: Equal
                              rhs: {(gnutar)}
                              spids: [2265]
                            )
                          ]
                          spids: [2265]
                        )
                      ]
                      spids: [16777215 2262]
                    )
                  ]
                  spids: [16777215 2269]
                )
              ]
              spids: [2248 2272]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (C {(DQ (${ VSub_Name TAR))} {(--version)})
                            (C {(grep)} {(-q)} {(GNU)})
                          ]
                          negated: True
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('  !!! Cannot find GNU tar. Build on Linux or install GNU tar'))})
                    (C {(echo)} {(DQ ('      on Mac OS X (brew install gnu-tar).'))})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [16777215 2296]
                )
              ]
              spids: [16777215 2318]
            )
          ]
          spids: [2193]
        )
      spids: [2181 2192]
    )
    (FuncDef
      name: 'kube::build::has_docker'
      body: 
        (BraceGroup
          children: [
            (Sentence child:(C {(which)} {(docker)}) terminator:<Op_Amp '&'>)
            (SimpleCommand
              redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[2343])]
            )
          ]
          spids: [2335]
        )
      spids: [2323 2334]
    )
    (FuncDef
      name: 'kube::build::has_ip'
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Pipeline
                  children: [(C {(ip)} {(-Version)}) (C {(grep)} {(SQ <iproute2>)})]
                  negated: False
                )
              terminator: <Op_Amp '&'>
            )
            (SimpleCommand
              redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[2378])]
            )
          ]
          spids: [2362]
        )
      spids: [2350 2361]
    )
    (FuncDef
      name: 'kube::build::docker_image_exists'
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (DBracket
                  expr: 
                    (LogicalAnd
                      left: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Number '$1')})
                      right: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Number '$2')})
                    )
                )
                (BraceGroup
                  children: [
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (error)
                      } {(DQ ('Internal error. Image not specified in docker_image_exists.'))}
                    )
                    (C {(exit)} {(2)})
                  ]
                  spids: [2428]
                )
              ]
              op_id: Op_DPipe
            )
            (DBracket
              expr: 
                (WordTest
                  w: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name DOCKER>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [2457 2462]
                                    )
                                  )
                                } {(images)} {(-q)} {(DQ (${ VSub_Number 1) (':') (${ VSub_Number 2))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2455 2478]
                      )
                    }
                )
            )
          ]
          spids: [2409]
        )
      spids: [2397 2408]
    )
    (FuncDef
      name: 'kube::build::docker_delete_old_images'
      body: 
        (BraceGroup
          children: [
            (ForEach
              iter_name: tag
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (C 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name DOCKER>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [2531 2536]
                                    )
                                  )
                                } {(images)} {(${ VSub_Number 1)}
                              )
                              (C {(tail)} {(-n)} {(Lit_Other '+') (2)})
                              (C {(awk)} {(SQ <'{print $2}'>)})
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [2529 2561]
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobNEqual
                                      left: {(DQ (${ VSub_Name tag))}
                                      right: {(DQ (${ VSub_Number 2)) (Lit_Other '*')}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [
                                {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                  (Lit_Other ':') (status)
                                }
                                {(DQ ('Keeping image ') (${ VSub_Number 1) (':') (${ VSub_Name tag))}
                              ]
                              more_env: [(env_pair name:V val:{(3)} spids:[2594])]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [16777215 2591]
                        )
                      ]
                      spids: [16777215 2620]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalOr
                                      left: 
                                        (BoolUnary
                                          op_id: BoolUnary_z
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 3>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [2631 2634]
                                                )
                                              )
                                            }
                                        )
                                      right: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobNEqual
                                          left: {(DQ (${ VSub_Name tag))}
                                          right: {(DQ (${ VSub_Number 3))}
                                        )
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [
                                {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                  (Lit_Other ':') (status)
                                }
                                {
                                  (DQ ('Deleting image ') (${ VSub_Number 1) (':') (${ VSub_Name tag))
                                }
                              ]
                              more_env: [(env_pair name:V val:{(2)} spids:[2660])]
                            )
                            (SimpleCommand
                              words: [
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name DOCKER>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [2684 2689]
                                    )
                                  )
                                }
                                {(rmi)}
                                {(DQ (${ VSub_Number 1) (':') (${ VSub_Name tag))}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                  spids: [2704]
                                )
                              ]
                            )
                          ]
                          spids: [16777215 2657]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [
                            {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                              (Lit_Other ':') (status)
                            }
                            {(DQ ('Keeping image ') (${ VSub_Number 1) (':') (${ VSub_Name tag))}
                          ]
                          more_env: [(env_pair name:V val:{(3)} spids:[2711])]
                        )
                      ]
                      spids: [2708 2734]
                    )
                  ]
                  spids: [2565 2737]
                )
              spids: [2528 2563]
            )
          ]
          spids: [2512]
        )
      spids: [2500 2511]
    )
    (FuncDef
      name: 'kube::build::docker_delete_old_containers'
      body: 
        (BraceGroup
          children: [
            (ForEach
              iter_name: container
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (C 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name DOCKER>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [2785 2790]
                                    )
                                  )
                                } {(ps)} {(-a)}
                              )
                              (C {(tail)} {(-n)} {(Lit_Other '+') (2)})
                              (C {(awk)} {(SQ <'{print $NF}'>)})
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [2783 2813]
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobNEqual
                                      left: {(DQ (${ VSub_Name container))}
                                      right: {(DQ (${ VSub_Number 1)) (Lit_Other '*')}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [
                                {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                  (Lit_Other ':') (status)
                                }
                                {(DQ ('Keeping container ') (${ VSub_Name container))}
                              ]
                              more_env: [(env_pair name:V val:{(3)} spids:[2846])]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [16777215 2843]
                        )
                      ]
                      spids: [16777215 2868]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalOr
                                      left: 
                                        (BoolUnary
                                          op_id: BoolUnary_z
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Number 2>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [2878 2881]
                                                )
                                              )
                                            }
                                        )
                                      right: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobNEqual
                                          left: {(DQ (${ VSub_Name container))}
                                          right: {(DQ (${ VSub_Number 2))}
                                        )
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [
                                {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                  (Lit_Other ':') (status)
                                }
                                {(DQ ('Deleting container ') (${ VSub_Name container))}
                              ]
                              more_env: [(env_pair name:V val:{(2)} spids:[2907])]
                            )
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') 
                                (Lit_Other ':') (destroy_container)
                              } {(DQ (${ VSub_Name container))}
                            )
                          ]
                          spids: [16777215 2904]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [
                            {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                              (Lit_Other ':') (status)
                            }
                            {(DQ ('Keeping container ') (${ VSub_Name container))}
                          ]
                          more_env: [(env_pair name:V val:{(3)} spids:[2944])]
                        )
                      ]
                      spids: [2941 2963]
                    )
                  ]
                  spids: [2817 2966]
                )
              spids: [2782 2815]
            )
          ]
          spids: [2766]
        )
      spids: [2754 2765]
    )
    (FuncDef
      name: 'kube::build::short_hash'
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (DBracket
                  expr: (BoolBinary op_id:BoolBinary_eq left:{($ VSub_Pound '$#')} right:{(1)})
                )
                (BraceGroup
                  children: [
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (error)
                      } {(DQ ('Internal error.  No data based to short_hash.'))}
                    )
                    (C {(exit)} {(2)})
                  ]
                  spids: [3001]
                )
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:short_hash) op:Equal spids:[3028])]
              spids: [3026]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [{(which)} {(md5)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/null)}
                              spids: [3037]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [3040]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:short_hash)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(md5)} {(-q)} {(-s)} {(DQ ($ VSub_Number '$1'))})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [3048 3058]
                              )
                            }
                          spids: [3047]
                        )
                      ]
                      spids: [3047]
                    )
                  ]
                  spids: [16777215 3044]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:short_hash)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(echo)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                                      (C {(md5sum)})
                                    ]
                                    negated: False
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [3065 3077]
                          )
                        }
                      spids: [3064]
                    )
                  ]
                  spids: [3064]
                )
              ]
              spids: [3061 3080]
            )
            (C {(echo)} 
              {
                (BracedVarSub
                  token: <VSub_Name short_hash>
                  suffix_op: 
                    (Slice
                      begin: (ArithWord w:{(Lit_Digits 0)})
                      length: (ArithWord w:{(Lit_Digits 10)})
                    )
                  spids: [3085 3091]
                )
              }
            )
          ]
          spids: [2986]
        )
      spids: [2974 2985]
    )
    (FuncDef
      name: 'kube::build::destroy_container'
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (SimpleCommand
                  words: [
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name DOCKER>
                          bracket_op: (WholeArray op_id:Lit_At)
                          spids: [3124 3129]
                        )
                      )
                    }
                    {(kill)}
                    {(DQ ($ VSub_Number '$1'))}
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [3138]
                    )
                    (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[3141])
                  ]
                )
                (C {(true)})
              ]
              op_id: Op_DPipe
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobEqual
                              left: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name DOCKER>
                                                  bracket_op: (WholeArray op_id:Lit_At)
                                                  spids: [3155 3160]
                                                )
                                              )
                                            } {(version)} {(--format)} {(SQ <'{{.Server.Version}}'>)}
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [3153 3170]
                                  )
                                }
                              right: {(17.06.0) (Lit_Other '*')}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (AndOr
                      children: [
                        (SimpleCommand
                          words: [
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name DOCKER>
                                  bracket_op: (WholeArray op_id:Lit_At)
                                  spids: [3195 3200]
                                )
                              )
                            }
                            {(wait)}
                            {(DQ ($ VSub_Number '$1'))}
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/null)}
                              spids: [3209]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [3212]
                            )
                          ]
                          more_env: [(env_pair name:DOCKER_API_VERSION val:{(v1.29)} spids:[3191])]
                        )
                        (C {(true)})
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [16777215 3180]
                )
              ]
              else_action: [
                (AndOr
                  children: [
                    (SimpleCommand
                      words: [
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name DOCKER>
                              bracket_op: (WholeArray op_id:Lit_At)
                              spids: [3224 3229]
                            )
                          )
                        }
                        {(wait)}
                        {(DQ ($ VSub_Number '$1'))}
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(/dev/null)}
                          spids: [3238]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [3241]
                        )
                      ]
                    )
                    (C {(true)})
                  ]
                  op_id: Op_DPipe
                )
              ]
              spids: [3220 3249]
            )
            (AndOr
              children: [
                (SimpleCommand
                  words: [
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name DOCKER>
                          bracket_op: (WholeArray op_id:Lit_At)
                          spids: [3253 3258]
                        )
                      )
                    }
                    {(rm)}
                    {(-f)}
                    {(-v)}
                    {(DQ ($ VSub_Number '$1'))}
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [3271]
                    )
                    (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[3274])
                  ]
                )
                (C {(true)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [3120]
        )
      spids: [3108 3119]
    )
    (FuncDef
      name: 'kube::build::clean'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C 
                          {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') 
                            (Lit_Other ':') (has_docker)
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                        (docker_delete_old_containers)
                      } {(DQ (${ VSub_Name KUBE_BUILD_CONTAINER_NAME_BASE))}
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                        (docker_delete_old_containers)
                      } {(DQ (${ VSub_Name KUBE_RSYNC_CONTAINER_NAME_BASE))}
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                        (docker_delete_old_containers)
                      } {(DQ (${ VSub_Name KUBE_DATA_CONTAINER_NAME_BASE))}
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                        (docker_delete_old_images)
                      } {(DQ (${ VSub_Name KUBE_BUILD_IMAGE_REPO))} {(DQ (${ VSub_Name KUBE_BUILD_IMAGE_TAG_BASE))}
                    )
                    (SimpleCommand
                      words: [
                        {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                          (status)
                        }
                        {(DQ ('Cleaning all untagged docker images'))}
                      ]
                      more_env: [(env_pair name:V val:{(2)} spids:[3389])]
                    )
                    (AndOr
                      children: [
                        (SimpleCommand
                          words: [
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name DOCKER>
                                  bracket_op: (WholeArray op_id:Lit_At)
                                  spids: [3406 3411]
                                )
                              )
                            }
                            {(rmi)}
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name DOCKER>
                                              bracket_op: (WholeArray op_id:Lit_At)
                                              spids: [3418 3423]
                                            )
                                          )
                                        } {(images)} {(-q)} {(--filter)} {(SQ <'dangling=true'>)}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [3416 3435]
                              )
                            }
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 2
                              arg_word: {(/dev/null)}
                              spids: [3437]
                            )
                          ]
                        )
                        (C {(true)})
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [16777215 3319]
                )
              ]
              spids: [16777215 3446]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_d
                              child: {(DQ (${ VSub_Name LOCAL_OUTPUT_ROOT))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (status)
                      } {(DQ ('Removing _output directory'))}
                    )
                    (C {(rm)} {(-rf)} {(DQ (${ VSub_Name LOCAL_OUTPUT_ROOT))})
                  ]
                  spids: [16777215 3465]
                )
              ]
              spids: [16777215 3492]
            )
          ]
          spids: [3304]
        )
      spids: [3292 3303]
    )
    (FuncDef
      name: 'kube::build::build_image'
      body: 
        (BraceGroup
          children: [
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT))})
            (C {(chown)} {(-R)} {(${ VSub_Name USER_ID) (Lit_Other ':') (${ VSub_Name GROUP_ID)} 
              {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT))}
            )
            (C {(cp)} {(/etc/localtime)} {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/))})
            (C {(cp)} {(build/build-image/Dockerfile)} 
              {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/Dockerfile))}
            )
            (C {(cp)} {(build/build-image/rsyncd.sh)} 
              {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/))}
            )
            (Pipeline
              children: [
                (SimpleCommand
                  words: [
                    {(dd)}
                    {(Lit_VarLike 'if=') (/dev/urandom)}
                    {(Lit_VarLike 'bs=') (512)}
                    {(Lit_VarLike 'count=') (1)}
                  ]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3598])]
                )
                (SimpleCommand
                  words: [{(tr)} {(-dc)} {(SQ <A-Za-z0-9>)}]
                  more_env: [(env_pair name:LC_ALL val:{(C)} spids:[3603])]
                )
                (SimpleCommand
                  words: [{(dd)} {(Lit_VarLike 'bs=') (32)} {(Lit_VarLike 'count=') (1)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 2
                      arg_word: {(/dev/null)}
                      spids: [3624]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/rsyncd.password))}
                      spids: [3627]
                    )
                  ]
                )
              ]
              negated: False
            )
            (C {(chmod)} {(Lit_VarLike 'go=')} 
              {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/rsyncd.password))}
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (update_dockerfile)
              }
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') (set_proxy)}
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (docker_build)
              } {(DQ (${ VSub_Name KUBE_BUILD_IMAGE))} {(DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT))} {(SQ <false>)}
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (docker_delete_old_containers)
              } {(DQ (${ VSub_Name KUBE_BUILD_CONTAINER_NAME_BASE))} {(DQ (${ VSub_Name KUBE_BUILD_CONTAINER_NAME))}
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (docker_delete_old_containers)
              } {(DQ (${ VSub_Name KUBE_RSYNC_CONTAINER_NAME_BASE))} {(DQ (${ VSub_Name KUBE_RSYNC_CONTAINER_NAME))}
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (docker_delete_old_containers)
              } {(DQ (${ VSub_Name KUBE_DATA_CONTAINER_NAME_BASE))} {(DQ (${ VSub_Name KUBE_DATA_CONTAINER_NAME))}
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (docker_delete_old_images)
              } {(DQ (${ VSub_Name KUBE_BUILD_IMAGE_REPO))} {(DQ (${ VSub_Name KUBE_BUILD_IMAGE_TAG_BASE))} 
              {(DQ (${ VSub_Name KUBE_BUILD_IMAGE_TAG))}
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (ensure_data_container)
              }
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (sync_to_container)
              }
            )
          ]
          spids: [3512]
        )
      spids: [3500 3511]
    )
    (FuncDef
      name: 'kube::build::docker_build'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:image)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [3840]
                )
              ]
              spids: [3836]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:context_dir)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [3848]
                )
              ]
              spids: [3844]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pull)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 3>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)})
                          spids: [3858 3862]
                        )
                      )
                    }
                  spids: [3856]
                )
              ]
              spids: [3852]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-ra]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:build_cmd)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name DOCKER>
                                bracket_op: (WholeArray op_id:Lit_At)
                                spids: [3873 3878]
                              )
                            )
                          }
                          {(build)}
                          {(-t)}
                          {(DQ (${ VSub_Name image))}
                          {(DQ ('--pull=') (${ VSub_Name pull))}
                          {(DQ (${ VSub_Name context_dir))}
                        ]
                      )
                    }
                  spids: [3870]
                )
              ]
              spids: [3866]
            )
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
              {(DQ ('Building Docker image ') (${ VSub_Name image))}
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:docker_output) op:Equal spids:[3925])]
              spids: [3923]
            )
            (AndOr
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:docker_output)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name build_cmd>
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [3931 3936]
                                          )
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 2
                                        arg_word: {(1)}
                                        spids: [3939]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [3929 3941]
                          )
                        }
                      spids: [3928]
                    )
                  ]
                  spids: [3928]
                )
                (BraceGroup
                  children: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('+++ Docker build command failed for ') (${ VSub_Name image) ('\n') 
                                ('\n') (${ VSub_Name docker_output) ('\n') ('\n') ('To retry manually, run:\n') ('\n') 
                                (BracedVarSub
                                  token: <VSub_Name build_cmd>
                                  bracket_op: (WholeArray op_id:Arith_Star)
                                  spids: [3969 3974]
                                ) ('\n') ('\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3950]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 16777215
                          arg_word: {(2)}
                          spids: [3953]
                        )
                      ]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [3945]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [3833]
        )
      spids: [3821 3832]
    )
    (FuncDef
      name: 'kube::build::ensure_data_container'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:ret) op:Equal rhs:{(0)} spids:[4014])]
              spids: [4012]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:code)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (AndOr
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(docker)}
                                      {(inspect)}
                                      {(-f)}
                                      {(SQ <'{{.State.ExitCode}}'>)}
                                      {(DQ (${ VSub_Name KUBE_DATA_CONTAINER_NAME))}
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_Great
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                        spids: [4042]
                                      )
                                    ]
                                  )
                                  (Assignment
                                    keyword: Assign_None
                                    pairs: [
                                      (assign_pair
                                        lhs: (LhsName name:ret)
                                        op: Equal
                                        rhs: {($ VSub_QMark '$?')}
                                        spids: [4047]
                                      )
                                    ]
                                    spids: [4047]
                                  )
                                ]
                                op_id: Op_DPipe
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4021 4049]
                      )
                    }
                  spids: [4020]
                )
              ]
              spids: [4018]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ (${ VSub_Name ret))}
                                  right: {(0)}
                                )
                              right: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobNEqual
                                  left: {(DQ (${ VSub_Name code))}
                                  right: {(0)}
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                        (destroy_container)
                      } {(DQ (${ VSub_Name KUBE_DATA_CONTAINER_NAME))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:ret) op:Equal rhs:{(1)} spids:[4099])]
                      spids: [4099]
                    )
                  ]
                  spids: [16777215 4081]
                )
              ]
              spids: [16777215 4103]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ (${ VSub_Name ret))}
                              right: {(0)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (status)
                      } {(DQ ('Creating data container ') (${ VSub_Name KUBE_DATA_CONTAINER_NAME))}
                    )
                    (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name LOCAL_OUTPUT_GOPATH))})
                    (Assignment
                      keyword: Assign_Local
                      flags: [-ra]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:docker_cmd)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name DOCKER>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [4202 4207]
                                      )
                                    )
                                  }
                                  {(run)}
                                  {(--volume)}
                                  {(DQ (${ VSub_Name REMOTE_ROOT))}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/linux_386_cgo)}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/linux_amd64_cgo)}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/linux_arm_cgo)}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/linux_arm64_cgo)}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/linux_ppc64le_cgo)}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/darwin_amd64_cgo)}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/darwin_386_cgo)}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/windows_amd64_cgo)}
                                  {(--volume)}
                                  {(/usr/local/go/pkg/windows_386_cgo)}
                                  {(--name)}
                                  {(DQ (${ VSub_Name KUBE_DATA_CONTAINER_NAME))}
                                  {(--hostname)}
                                  {(DQ (${ VSub_Name HOSTNAME))}
                                  {(DQ (${ VSub_Name KUBE_BUILD_IMAGE))}
                                  {(chown)}
                                  {(-R)}
                                  {(${ VSub_Name USER_ID) (Lit_Other ':') (${ VSub_Name GROUP_ID)}
                                  {(DQ (${ VSub_Name REMOTE_ROOT))}
                                  {(/usr/local/go/pkg/)}
                                ]
                              )
                            }
                          spids: [4197]
                        )
                      ]
                      spids: [4193]
                    )
                    (C 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name docker_cmd>
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [4322 4327]
                          )
                        )
                      }
                    )
                  ]
                  spids: [16777215 4123]
                )
              ]
              spids: [16777215 4331]
            )
          ]
          spids: [4001]
        )
      spids: [3989 4000]
    )
    (FuncDef
      name: 'kube::build::run_build_command'
      body: 
        (BraceGroup
          children: [
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
              {(DQ ('Running build command...'))}
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (run_build_command_ex)
              } {(DQ (${ VSub_Name KUBE_BUILD_CONTAINER_NAME))} {(--)} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [4354]
        )
      spids: [4342 4353]
    )
    (FuncDef
      name: 'kube::build::run_build_command_ex'
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (DBracket
                  expr: (BoolBinary op_id:BoolBinary_GlobNEqual left:{($ VSub_Pound '$#')} right:{(0)})
                )
                (BraceGroup
                  children: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [{(echo)} {(DQ ('Invalid input - please specify a container name.'))}]
                          redirects: [
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 16777215
                              arg_word: {(2)}
                              spids: [4443]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(4)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [4435]
                )
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:container_name)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 1))}
                  spids: [4457]
                )
              ]
              spids: [4455]
            )
            (C {(shift)})
            (Assignment
              keyword: Assign_Local
              flags: [-a]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:docker_run_opts)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ ('--name=') (${ VSub_Name container_name))}
                          {
                            (DQ ('--user=') 
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(id)} {(-u)})])
                                left_token: <Left_CommandSub '$('>
                                spids: [4487 4491]
                              ) (':') 
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(id)} {(-g)})])
                                left_token: <Left_CommandSub '$('>
                                spids: [4493 4497]
                              )
                            )
                          }
                          {(DQ ('--hostname=') (${ VSub_Name HOSTNAME))}
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name DOCKER_MOUNT_ARGS>
                                bracket_op: (WholeArray op_id:Lit_At)
                                spids: [4510 4515]
                              )
                            )
                          }
                        ]
                      )
                    }
                  spids: [4473]
                )
              ]
              spids: [4469]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:detach) op:Equal rhs:{(false)} spids:[4525])]
              spids: [4523]
            )
            (AndOr
              children: [
                (DBracket
                  expr: (BoolBinary op_id:BoolBinary_GlobNEqual left:{($ VSub_Pound '$#')} right:{(0)})
                )
                (BraceGroup
                  children: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [
                            {(echo)}
                            {
                              (DQ ('Invalid input - please specify docker arguments followed by --.'))
                            }
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 16777215
                              arg_word: {(2)}
                              spids: [4550]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(4)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [4542]
                )
              ]
              op_id: Op_DPipe
            )
            (Until
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {(-z)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Number 1>
                            suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                            spids: [4573 4576]
                          )
                        )
                      } {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ ($ VSub_Number '$1'))}
                                      right: {(DQ (--))}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(shift)}) (ControlFlow token:<ControlFlow_Break break>)]
                          spids: [16777215 4603]
                        )
                      ]
                      spids: [16777215 4612]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:docker_run_opts)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ ($ VSub_Number '$1'))}])}
                          spids: [4615]
                        )
                      ]
                      spids: [4615]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalOr
                                      left: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobDEqual
                                          left: {(DQ ($ VSub_Number '$1'))}
                                          right: {(DQ (-d))}
                                        )
                                      right: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobDEqual
                                          left: {(DQ ($ VSub_Number '$1'))}
                                          right: {(DQ (--detach))}
                                        )
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:detach)
                                  op: Equal
                                  rhs: {(true)}
                                  spids: [4656]
                                )
                              ]
                              spids: [4656]
                            )
                          ]
                          spids: [16777215 4653]
                        )
                      ]
                      spids: [16777215 4660]
                    )
                    (C {(shift)})
                  ]
                  spids: [4583 4666]
                )
            )
            (AndOr
              children: [
                (DBracket
                  expr: (BoolBinary op_id:BoolBinary_GlobNEqual left:{($ VSub_Pound '$#')} right:{(0)})
                )
                (BraceGroup
                  children: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [{(echo)} {(DQ ('Invalid input - please specify a command to run.'))}]
                          redirects: [
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 16777215
                              arg_word: {(2)}
                              spids: [4694]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(4)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [4686]
                )
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_Local
              flags: [-a]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cmd)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [4710]
                )
              ]
              spids: [4706]
            )
            (Until
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {(-z)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Number 1>
                            suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                            spids: [4722 4725]
                          )
                        )
                      } {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cmd)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ ($ VSub_Number '$1'))}])}
                          spids: [4735]
                        )
                      ]
                      spids: [4735]
                    )
                    (C {(shift)})
                  ]
                  spids: [4732 4746]
                )
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:docker_run_opts)
                  op: PlusEqual
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(--env)}
                          {
                            (DQ ('KUBE_FASTBUILD=') 
                              (BracedVarSub
                                token: <VSub_Name KUBE_FASTBUILD>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)})
                                spids: [4758 4762]
                              )
                            )
                          }
                          {(--env)}
                          {
                            (DQ ('KUBE_BUILDER_OS=') 
                              (BracedVarSub
                                token: <VSub_Name OSTYPE>
                                suffix_op: 
                                  (StringUnary
                                    op_id: VTest_ColonHyphen
                                    arg_word: {(notdetected)}
                                  )
                                spids: [4770 4774]
                              )
                            )
                          }
                          {(--env)}
                          {(DQ ('KUBE_VERBOSE=') (${ VSub_Name KUBE_VERBOSE))}
                          {(--env)}
                          {
                            (DQ ('GOFLAGS=') 
                              (BracedVarSub
                                token: <VSub_Name GOFLAGS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4792 4795]
                              )
                            )
                          }
                          {(--env)}
                          {
                            (DQ ('GOLDFLAGS=') 
                              (BracedVarSub
                                token: <VSub_Name GOLDFLAGS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4803 4806]
                              )
                            )
                          }
                          {(--env)}
                          {
                            (DQ ('GOGCFLAGS=') 
                              (BracedVarSub
                                token: <VSub_Name GOGCFLAGS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4814 4817]
                              )
                            )
                          }
                        ]
                      )
                    }
                  spids: [4750]
                )
              ]
              spids: [4750]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_t child:{(0)}))
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:docker_run_opts)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(--interactive)} {(--tty)}])}
                          spids: [4855]
                        )
                      ]
                      spids: [4855]
                    )
                  ]
                  spids: [16777215 4852]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(DQ (${ VSub_Name detach))}
                              right: {(false)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:docker_run_opts)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(--attach) (Lit_Other '=') (stdout)}
                                  {(--attach) (Lit_Other '=') (stderr)}
                                ]
                              )
                            }
                          spids: [4883]
                        )
                      ]
                      spids: [4883]
                    )
                  ]
                  spids: [4863 4880]
                )
              ]
              spids: [16777215 4895]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-ra]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:docker_cmd)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name DOCKER>
                                bracket_op: (WholeArray op_id:Lit_At)
                                spids: [4908 4913]
                              )
                            )
                          }
                          {(run)}
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name docker_run_opts>
                                bracket_op: (WholeArray op_id:Lit_At)
                                spids: [4919 4924]
                              )
                            )
                          }
                          {(DQ (${ VSub_Name KUBE_BUILD_IMAGE))}
                        ]
                      )
                    }
                  spids: [4903]
                )
              ]
              spids: [4899]
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (destroy_container)
              } {(DQ (${ VSub_Name container_name))}
            )
            (C 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name docker_cmd>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [4956 4961]
                  )
                )
              } {(DQ (BracedVarSub token:<VSub_Name cmd> bracket_op:(WholeArray op_id:Lit_At) spids:[4965 4970]))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(DQ (${ VSub_Name detach))}
                              right: {(false)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                        (destroy_container)
                      } {(DQ (${ VSub_Name container_name))}
                    )
                  ]
                  spids: [16777215 4991]
                )
              ]
              spids: [16777215 5009]
            )
          ]
          spids: [4420]
        )
      spids: [4408 4419]
    )
    (FuncDef
      name: 'kube::build::rsync_probe'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:tries) op:Equal rhs:{(20)} spids:[5033])]
              spids: [5031]
            )
            (While
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_Great
                          left: (ArithWord w:{(${ VSub_Name tries)})
                          right: (ArithWord w:{(Lit_Digits 0)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(rsync)} 
                                  {
                                    (DQ ('rsync://k8s@') (${ VSub_Number 1) (':') (${ VSub_Number 2) (/))
                                  } {(--password-file) (Lit_Other '=') (DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/rsyncd.password))}
                                )
                              terminator: <Op_Amp '&'>
                            )
                            (Sentence
                              child: 
                                (SimpleCommand
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                      spids: [5087]
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                          spids: [16777215 5093]
                        )
                      ]
                      spids: [16777215 5101]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tries)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: (ArithWord w:{(${ VSub_Name tries)})
                                    right: (ArithWord w:{(Lit_Digits 1)})
                                  )
                                spids: [5105 5115]
                              )
                            }
                          spids: [5104]
                        )
                      ]
                      spids: [5104]
                    )
                    (C {(sleep)} {(0.1)})
                  ]
                  spids: [5054 5123]
                )
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
          ]
          spids: [5024]
        )
      spids: [5014 5017]
    )
    (FuncDef
      name: 'kube::build::start_rsyncd_container'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IPTOOL) op:Equal rhs:{(ifconfig)} spids:[5164])]
              spids: [5164]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C 
                          {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') 
                            (Lit_Other ':') (has_ip)
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IPTOOL)
                          op: Equal
                          rhs: {(DQ ('ip address'))}
                          spids: [5183]
                        )
                      ]
                      spids: [5183]
                    )
                  ]
                  spids: [16777215 5180]
                )
              ]
              spids: [16777215 5189]
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (stop_rsyncd_container)
              }
            )
            (SimpleCommand
              words: [
                {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)}
                {(DQ ('Starting rsyncd container'))}
              ]
              more_env: [(env_pair name:V val:{(3)} spids:[5201])]
            )
            (SimpleCommand
              words: [
                {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                  (run_build_command_ex)
                }
                {(DQ (${ VSub_Name KUBE_RSYNC_CONTAINER_NAME))}
                {(-p)}
                {(127.0.0.1) (Lit_Other ':') (${ VSub_Name KUBE_RSYNC_PORT) (Lit_Other ':') 
                  (${ VSub_Name KUBE_CONTAINER_RSYNC_PORT)
                }
                {(-d)}
                {(-e)}
                {(Lit_VarLike 'ALLOW_HOST=') 
                  (DQ 
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (Pipeline
                              children: [
                                (C {(${ VSub_Name IPTOOL)})
                                (C {(grep)} {(-Eo)} {(SQ <'inet (addr:)?([0-9]*\\.){3}[0-9]*'>)})
                                (C {(grep)} {(-Eo)} {(SQ <'([0-9]*\\.){3}[0-9]*'>)})
                                (C {(grep)} {(-v)} {(SQ <127.0.0.1>)})
                              ]
                              negated: False
                            )
                          ]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [5253 5287]
                    )
                  )
                }
                {(--)}
                {(/rsyncd.sh)}
              ]
              redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5296])]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:mapped_port) op:Equal spids:[5303])]
              spids: [5301]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:mapped_port)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (SimpleCommand
                                                    words: [
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name DOCKER>
                                                            bracket_op: (WholeArray op_id:Lit_At)
                                                            spids: [5313 5318]
                                                          )
                                                        )
                                                      }
                                                      {(port)}
                                                      {(DQ (${ VSub_Name KUBE_RSYNC_CONTAINER_NAME))}
                                                      {(${ VSub_Name KUBE_CONTAINER_RSYNC_PORT)}
                                                    ]
                                                    redirects: [
                                                      (Redir
                                                        op_id: Redir_Great
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                        spids: [5333]
                                                      )
                                                    ]
                                                  )
                                                  (C {(cut)} {(-d) (Lit_Other ':')} {(-f)} {(2)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [5311 5347]
                                      )
                                    }
                                  spids: [5310]
                                )
                              ]
                              spids: [5310]
                            )
                          ]
                          negated: True
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (error)
                      } {(DQ ('Could not get effective rsync port'))}
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [16777215 5351]
                )
              ]
              spids: [16777215 5372]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:container_ip) op:Equal spids:[5378])]
              spids: [5376]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:container_ip)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name DOCKER>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [5384 5389]
                                    )
                                  )
                                } {(inspect)} {(--format)} {(SQ <'{{ .NetworkSettings.IPAddress }}'>)} 
                                {(DQ (${ VSub_Name KUBE_RSYNC_CONTAINER_NAME))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [5382 5405]
                      )
                    }
                  spids: [5381]
                )
              ]
              spids: [5381]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C 
                          {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') 
                            (Lit_Other ':') (rsync_probe)
                          } {(127.0.0.1)} {(${ VSub_Name mapped_port)}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBE_RSYNC_ADDR)
                          op: Equal
                          rhs: {(DQ ('127.0.0.1:') (${ VSub_Name mapped_port))}
                          spids: [5449]
                        )
                      ]
                      spids: [5449]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [16777215 5446]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C 
                          {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') 
                            (Lit_Other ':') (rsync_probe)
                          } {(DQ (${ VSub_Name container_ip))} {(${ VSub_Name KUBE_CONTAINER_RSYNC_PORT)}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBE_RSYNC_ADDR)
                          op: Equal
                          rhs: 
                            {
                              (DQ (${ VSub_Name container_ip) (':') 
                                (${ VSub_Name KUBE_CONTAINER_RSYNC_PORT)
                              )
                            }
                          spids: [5487]
                        )
                      ]
                      spids: [5487]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [5463 5484]
                )
              ]
              spids: [16777215 5504]
            )
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (error)} 
              {
                (DQ 
                  (
'Could not connect to rsync container. See build/README.md for setting up remote Docker engine.'
                  )
                )
              }
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
          ]
          spids: [5161]
        )
      spids: [5149 5160]
    )
    (FuncDef
      name: 'kube::build::stop_rsyncd_container'
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)}
                {(DQ ('Stopping any currently running rsyncd container'))}
              ]
              more_env: [(env_pair name:V val:{(3)} spids:[5543])]
            )
            (C {(unset)} {(KUBE_RSYNC_ADDR)})
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (destroy_container)
              } {(DQ (${ VSub_Name KUBE_RSYNC_CONTAINER_NAME))}
            )
          ]
          spids: [5540]
        )
      spids: [5528 5539]
    )
    (FuncDef
      name: 'kube::build::rsync'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: [-a]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rsync_opts)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(--archive)}
                          {(--password-file) (Lit_Other '=') 
                            (DQ (${ VSub_Name LOCAL_OUTPUT_BUILD_CONTEXT) (/rsyncd.password))
                          }
                        ]
                      )
                    }
                  spids: [5598]
                )
              ]
              spids: [5594]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{(${ VSub_Name KUBE_VERBOSE)})
                              right: (ArithWord w:{(Lit_Digits 6)})
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rsync_opts)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ (-iv))}])}
                          spids: [5637]
                        )
                      ]
                      spids: [5637]
                    )
                  ]
                  spids: [16777215 5634]
                )
              ]
              spids: [16777215 5645]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Great
                              left: (ArithWord w:{(${ VSub_Name KUBE_RSYNC_COMPRESS)})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rsync_opts)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [{(DQ ('--compress-level=') (${ VSub_Name KUBE_RSYNC_COMPRESS))}]
                              )
                            }
                          spids: [5667]
                        )
                      ]
                      spids: [5667]
                    )
                  ]
                  spids: [16777215 5664]
                )
              ]
              spids: [16777215 5678]
            )
            (SimpleCommand
              words: [
                {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)}
                {(DQ ('Running rsync'))}
              ]
              more_env: [(env_pair name:V val:{(3)} spids:[5681])]
            )
            (C {(rsync)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name rsync_opts>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [5700 5705]
                  )
                )
              } {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [5591]
        )
      spids: [5581 5584]
    )
    (FuncDef
      name: 'kube::build::sync_to_container'
      body: 
        (BraceGroup
          children: [
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
              {(DQ ('Syncing sources to container'))}
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (start_rsyncd_container)
              }
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') (rsync)} {(--delete)} {(--filter) (Lit_Other '=') (SQ <'H /.git/'>)} 
              {(--filter) (Lit_Other '=') (SQ <'- /.make/'>)} {(--filter) (Lit_Other '=') (SQ <'- /_tmp/'>)} {(--filter) (Lit_Other '=') (SQ <'- /_output/'>)} 
              {(--filter) (Lit_Other '=') (SQ <'- /'>)} {(--filter) (Lit_Other '=') (SQ <'H zz_generated.*'>)} 
              {(--filter) (Lit_Other '=') (SQ <'H generated.proto'>)} {(DQ (${ VSub_Name KUBE_ROOT) (/))} {(DQ ('rsync://k8s@') (${ VSub_Name KUBE_RSYNC_ADDR) (/k8s/))}
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (stop_rsyncd_container)
              }
            )
          ]
          spids: [5733]
        )
      spids: [5721 5732]
    )
    (FuncDef
      name: 'kube::build::copy_output'
      body: 
        (BraceGroup
          children: [
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
              {(DQ ('Syncing out of container'))}
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (start_rsyncd_container)
              }
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:rsync_extra) op:Equal rhs:{(DQ )} spids:[5938])]
              spids: [5936]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{(${ VSub_Name KUBE_VERBOSE)})
                              right: (ArithWord w:{(Lit_Digits 6)})
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rsync_extra)
                          op: Equal
                          rhs: {(DQ (-iv))}
                          spids: [5962]
                        )
                      ]
                      spids: [5962]
                    )
                  ]
                  spids: [16777215 5959]
                )
              ]
              spids: [16777215 5968]
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') (rsync)} {(--prune-empty-dirs)} {(--filter) (Lit_Other '=') (SQ <'- /_temp/'>)} 
              {(--filter) (Lit_Other '=') (SQ <'+ /vendor/'>)} {(--filter) (Lit_Other '=') (SQ <'+ /Godeps/'>)} 
              {(--filter) (Lit_Other '=') (SQ <'+ /staging/***/Godeps/**'>)} {(--filter) (Lit_Other '=') (SQ <'+ /_output/dockerized/bin/**'>)} 
              {(--filter) (Lit_Other '=') (SQ <'+ zz_generated.*'>)} {(--filter) (Lit_Other '=') (SQ <'+ generated.proto'>)} {(--filter) (Lit_Other '=') (SQ <'+ *.pb.go'>)} 
              {(--filter) (Lit_Other '=') (SQ <'+ types.go'>)} {(--filter) (Lit_Other '=') (SQ <'+ */'>)} {(--filter) (Lit_Other '=') (SQ <'- /**'>)} 
              {(DQ ('rsync://k8s@') (${ VSub_Name KUBE_RSYNC_ADDR) (/k8s/))} {(DQ (${ VSub_Name KUBE_ROOT))}
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (stop_rsyncd_container)
              }
            )
          ]
          spids: [5909]
        )
      spids: [5897 5908]
    )
  ]
)