(CommandList
  children: [
    (C {(set)} {(-o)} {(errexit)})
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (FuncDef
      name: download-kube-env
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tmp_kube_env)
                  op: Equal
                  rhs: {(DQ (/tmp/kube-env.yaml))}
                  spids: [78]
                )
              ]
              spids: [74]
            )
            (C {(curl)} {(--fail)} {(--retry)} {(5)} {(--retry-delay)} {(3)} {(--silent)} {(--show-error)} 
              {(-H)} {(DQ ('X-Google-Metadata-Request: True'))} {(-o)} {(DQ (${ VSub_Name tmp_kube_env))} 
              {(http) (Lit_Other ':') 
                (//metadata.google.internal/computeMetadata/v1/instance/attributes/kube-env)
              }
            )
            (SimpleCommand
              words: [{(sed)} {(SQ <'s/: /=/'>)}]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: 16777215
                  arg_word: {(DQ (${ VSub_Name tmp_kube_env))}
                  spids: [135]
                )
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(DQ (${ VSub_Name KUBE_HOME) (/kube-env))}
                  spids: [143]
                )
              ]
            )
            (C {(rm)} {(-f)} {(DQ (${ VSub_Name tmp_kube_env))})
          ]
          spids: [67]
        )
      spids: [63 66]
    )
    (FuncDef
      name: validate-hash
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [177]
                )
              ]
              spids: [173]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:expected)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$2'))}
                  spids: [187]
                )
              ]
              spids: [183]
            )
            (AndOr
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:actual)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(sha1sum)} {(${ VSub_Name file)})
                                      (C {(awk)} {(SQ <'{ print $1 }'>)})
                                    ]
                                    negated: False
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [195 209]
                          )
                        }
                      spids: [194]
                    )
                  ]
                  spids: [194]
                )
                (C {(true)})
              ]
              op_id: Op_DPipe
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ (${ VSub_Name actual))}
                              right: {(DQ (${ VSub_Name expected))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ('== ') (${ VSub_Name file) (' corrupted, sha1 ') (${ VSub_Name actual) 
                          (" doesn't match expected ") (${ VSub_Name expected) (' ==')
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [16777215 237]
                )
              ]
              spids: [16777215 264]
            )
          ]
          spids: [170]
        )
      spids: [166 169]
    )
    (FuncDef
      name: download-or-bust
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hash)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [293]
                )
              ]
              spids: [289]
            )
            (C {(shift)} {(1)})
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:urls)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{($ VSub_Star '$*')}])}
                  spids: [309]
                )
              ]
              spids: [305]
            )
            (While
              cond: [(Sentence child:(C {(true)}) terminator:<Op_Semi ';'>)]
              body: 
                (DoGroup
                  children: [
                    (ForEach
                      iter_name: url
                      iter_words: [
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name urls>
                              bracket_op: (WholeArray op_id:Lit_At)
                              spids: [332 337]
                            )
                          )
                        }
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:file)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name url>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VOp1_DPound
                                              arg_word: {('*') (Lit_Slash /)}
                                            )
                                          spids: [348 353]
                                        )
                                      )
                                    }
                                  spids: [346]
                                )
                              ]
                              spids: [344]
                            )
                            (C {(rm)} {(-f)} {(DQ (${ VSub_Name file))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (Pipeline
                                          children: [
                                            (C {(curl)} {(-f)} {(--ipv4)} {(-Lo)} 
                                              {(DQ (${ VSub_Name file))} {(--connect-timeout)} {(20)} {(--max-time)} {(300)} {(--retry)} {(6)} {(--retry-delay)} {(10)} 
                                              {(DQ (${ VSub_Name url))}
                                            )
                                          ]
                                          negated: True
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(echo)} 
                                      {
                                        (DQ ('== Failed to download ') (${ VSub_Name url) 
                                          ('. Retrying. ==')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 409]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (DBracket
                                              expr: 
                                                (BoolUnary
                                                  op_id: BoolUnary_n
                                                  child: {(DQ (${ VSub_Name hash))}
                                                )
                                            )
                                            (Pipeline
                                              children: [
                                                (C {(validate-hash)} {(DQ (${ VSub_Name file))} 
                                                  {(DQ (${ VSub_Name hash))}
                                                )
                                              ]
                                              negated: True
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(echo)} 
                                      {
                                        (DQ ('== Hash validation of ') (${ VSub_Name url) 
                                          (' failed. Retrying. ==')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [423 456]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DBracket
                                              expr: 
                                                (BoolUnary
                                                  op_id: BoolUnary_n
                                                  child: {(DQ (${ VSub_Name hash))}
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(echo)} 
                                          {
                                            (DQ ('== Downloaded ') (${ VSub_Name url) (' (SHA1 = ') 
                                              (${ VSub_Name hash) (') ==')
                                            )
                                          }
                                        )
                                      ]
                                      spids: [16777215 488]
                                    )
                                  ]
                                  else_action: [
                                    (C {(echo)} {(DQ ('== Downloaded ') (${ VSub_Name url) (' =='))})
                                  ]
                                  spids: [506 520]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                )
                              ]
                              spids: [470 526]
                            )
                          ]
                          spids: [341 529]
                        )
                      spids: [330 339]
                    )
                  ]
                  spids: [322 532]
                )
            )
          ]
          spids: [286]
        )
      spids: [282 285]
    )
    (FuncDef
      name: split-commas
      body: 
        (BraceGroup
          children: [
            (Pipeline
              children: [
                (C {(echo)} {($ VSub_Number '$1')})
                (C {(tr)} {(DQ (','))} {(DQ (Lit_Other '\\') (n))})
              ]
              negated: False
            )
          ]
          spids: [541]
        )
      spids: [537 540]
    )
    (FuncDef
      name: install-kube-binary-config
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ (${ VSub_Name KUBE_HOME))})
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:server_binary_tar_urls)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (C {(split-commas)} {(DQ (${ VSub_Name SERVER_BINARY_TAR_URL))})
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [593 601]
                            )
                          }
                        ]
                      )
                    }
                  spids: [590]
                )
              ]
              spids: [586]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:server_binary_tar)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name server_binary_tar_urls>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)}))
                          suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                          spids: [612 620]
                        )
                      )
                    }
                  spids: [610]
                )
              ]
              spids: [606]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name SERVER_BINARY_TAR_HASH>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [631 634]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      flags: [-r]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:server_binary_tar_hash)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name SERVER_BINARY_TAR_HASH))}
                          spids: [647]
                        )
                      ]
                      spids: [643]
                    )
                  ]
                  spids: [16777215 640]
                )
              ]
              else_action: [
                (C {(echo)} {(DQ ('Downloading binary release sha1 (not found in env)'))})
                (C {(download-or-bust)} {(DQ )} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name server_binary_tar_urls>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: 
                          (PatSub
                            pat: {(.tar.gz)}
                            replace: {(.tar.gz.sha1)}
                            do_all: False
                            do_prefix: False
                            do_suffix: False
                          )
                        spids: [671 680]
                      )
                    )
                  }
                )
                (Assignment
                  keyword: Assign_Local
                  flags: [-r]
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:server_binary_tar_hash)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(cat)} {(DQ (${ VSub_Name server_binary_tar) (.sha1))})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [689 698]
                          )
                        }
                      spids: [688]
                    )
                  ]
                  spids: [684]
                )
              ]
              spids: [655 701]
            )
            (C {(echo)} {(DQ ('Downloading binary release tar'))})
            (C {(download-or-bust)} {(DQ (${ VSub_Name server_binary_tar_hash))} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name server_binary_tar_urls>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [720 725]
                  )
                )
              }
            )
            (C {(tar)} {(xzf)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name server_binary_tar))} 
              {(-C)} {(DQ (${ VSub_Name KUBE_HOME))} {(--overwrite)}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:src_dir)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes/server/bin))}
                  spids: [758]
                )
              ]
              spids: [758]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dst_dir)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_HOME) (/kube-docker-files))}
                  spids: [767]
                )
              ]
              spids: [767]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name dst_dir))})
            (C {(cp)} {(DQ (${ VSub_Name src_dir) (/)) (Lit_Other '*') (.docker_tag)} 
              {(DQ (${ VSub_Name dst_dir))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBERNETES_MASTER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [810 813]
                                    )
                                  )
                                }
                              right: {(DQ (false))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-proxy.tar))} 
                      {(DQ (${ VSub_Name dst_dir))}
                    )
                  ]
                  spids: [16777215 825]
                )
              ]
              else_action: [
                (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-apiserver.tar))} 
                  {(DQ (${ VSub_Name dst_dir))}
                )
                (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-controller-manager.tar))} 
                  {(DQ (${ VSub_Name dst_dir))}
                )
                (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-scheduler.tar))} 
                  {(DQ (${ VSub_Name dst_dir))}
                )
                (C {(cp)} {(-r)} {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes/addons))} 
                  {(DQ (${ VSub_Name dst_dir))}
                )
              ]
              spids: [844 913]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kube_bin)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_HOME) (/bin))}
                  spids: [920]
                )
              ]
              spids: [916]
            )
            (C {(mv)} {(DQ (${ VSub_Name src_dir) (/kubelet))} {(DQ (${ VSub_Name kube_bin))})
            (C {(mv)} {(DQ (${ VSub_Name src_dir) (/kubectl))} {(DQ (${ VSub_Name kube_bin))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name NETWORK_PROVIDER>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [967 970]
                                        )
                                      )
                                    }
                                  right: {(DQ (kubenet))}
                                )
                            )
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name NETWORK_PROVIDER>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [988 991]
                                        )
                                      )
                                    }
                                  right: {(DQ (cni))}
                                )
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      flags: [-r]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cni_tar)
                          op: Equal
                          rhs: {(DQ (cni-0799f5732f2a11b329d9e3d51b9c8f2e3759f2ff.tar.gz))}
                          spids: [1014]
                        )
                      ]
                      spids: [1010]
                    )
                    (Assignment
                      keyword: Assign_Local
                      flags: [-r]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cni_sha1)
                          op: Equal
                          rhs: {(DQ (1d9788b0f5420e1a219aad2cb8681823fc515e7c))}
                          spids: [1024]
                        )
                      ]
                      spids: [1020]
                    )
                    (C {(download-or-bust)} {(DQ (${ VSub_Name cni_sha1))} 
                      {
                        (DQ ('https://storage.googleapis.com/kubernetes-release/network-plugins/') 
                          (${ VSub_Name cni_tar)
                        )
                      }
                    )
                    (Assignment
                      keyword: Assign_Local
                      flags: [-r]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cni_dir)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name KUBE_HOME) (/cni))}
                          spids: [1050]
                        )
                      ]
                      spids: [1046]
                    )
                    (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name cni_dir))})
                    (C {(tar)} {(xzf)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name cni_tar))} {(-C)} 
                      {(DQ (${ VSub_Name cni_dir))} {(--overwrite)}
                    )
                    (C {(mv)} {(DQ (${ VSub_Name cni_dir) (/bin)) (/) (Lit_Other '*')} 
                      {(DQ (${ VSub_Name kube_bin))}
                    )
                    (C {(rmdir)} {(DQ (${ VSub_Name cni_dir) (/bin))})
                    (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name cni_tar))})
                  ]
                  spids: [16777215 1003]
                )
              ]
              spids: [16777215 1138]
            )
            (C {(mv)} {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes/LICENSES))} 
              {(DQ (${ VSub_Name KUBE_HOME))}
            )
            (C {(mv)} {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes/kubernetes-src.tar.gz))} 
              {(DQ (${ VSub_Name KUBE_HOME))}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dst_dir)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_HOME) (/kube-manifests))}
                  spids: [1179]
                )
              ]
              spids: [1179]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name dst_dir))})
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:manifests_tar_urls)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (C {(split-commas)} {(DQ (${ VSub_Name KUBE_MANIFESTS_TAR_URL))})
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [1206 1214]
                            )
                          }
                        ]
                      )
                    }
                  spids: [1203]
                )
              ]
              spids: [1199]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:manifests_tar)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name manifests_tar_urls>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)}))
                          suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                          spids: [1225 1233]
                        )
                      )
                    }
                  spids: [1223]
                )
              ]
              spids: [1219]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name KUBE_MANIFESTS_TAR_HASH>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [1244 1247]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      flags: [-r]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:manifests_tar_hash)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name KUBE_MANIFESTS_TAR_HASH))}
                          spids: [1260]
                        )
                      ]
                      spids: [1256]
                    )
                  ]
                  spids: [16777215 1253]
                )
              ]
              else_action: [
                (C {(echo)} {(DQ ('Downloading k8s manifests sha1 (not found in env)'))})
                (C {(download-or-bust)} {(DQ )} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name manifests_tar_urls>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: 
                          (PatSub
                            pat: {(.tar.gz)}
                            replace: {(.tar.gz.sha1)}
                            do_all: False
                            do_prefix: False
                            do_suffix: False
                          )
                        spids: [1284 1293]
                      )
                    )
                  }
                )
                (Assignment
                  keyword: Assign_Local
                  flags: [-r]
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:manifests_tar_hash)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(cat)} {(DQ (${ VSub_Name manifests_tar) (.sha1))})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [1302 1311]
                          )
                        }
                      spids: [1301]
                    )
                  ]
                  spids: [1297]
                )
              ]
              spids: [1268 1314]
            )
            (C {(echo)} {(DQ ('Downloading k8s manifests tar'))})
            (C {(download-or-bust)} {(DQ (${ VSub_Name manifests_tar_hash))} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name manifests_tar_urls>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [1333 1338]
                  )
                )
              }
            )
            (C {(tar)} {(xzf)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name manifests_tar))} {(-C)} 
              {(DQ (${ VSub_Name dst_dir))} {(--overwrite)}
            )
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kube_addon_registry)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name KUBE_ADDON_REGISTRY>
                          suffix_op: 
                            (StringUnary
                              op_id: VTest_ColonHyphen
                              arg_word: {(gcr.io) (Lit_Slash /) (google_containers)}
                            )
                          spids: [1373 1379]
                        )
                      )
                    }
                  spids: [1371]
                )
              ]
              spids: [1367]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ (${ VSub_Name kube_addon_registry))}
                              right: {(DQ (gcr.io/google_containers))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Pipeline
                      children: [
                        (C {(find)} {(DQ (${ VSub_Name dst_dir))} {(-name)} 
                          {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.yaml)} {(-or)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.yaml.in)}
                        )
                        (C {(xargs)} {(sed)} {(-ri)} 
                          {
                            (DQ ('s@(image:') (Lit_Other '\\') ('s.*)gcr.io/google_containers@') 
                              (Lit_Other '\\') (1) (${ VSub_Name kube_addon_registry) ('@')
                            )
                          }
                        )
                      ]
                      negated: False
                    )
                    (Pipeline
                      children: [
                        (C {(find)} {(DQ (${ VSub_Name dst_dir))} {(-name)} 
                          {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.manifest)} {(-or)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.json)}
                        )
                        (C {(xargs)} {(sed)} {(-ri)} 
                          {
                            (DQ ('s@(image') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (':') 
                              (Lit_Other '\\') ('s+') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (')gcr.io/google_containers@') 
                              (Lit_Other '\\') (1) (${ VSub_Name kube_addon_registry) ('@')
                            )
                          }
                        )
                      ]
                      negated: False
                    )
                  ]
                  spids: [16777215 1402]
                )
              ]
              spids: [16777215 1495]
            )
            (C {(cp)} 
              {
                (DQ (${ VSub_Name dst_dir) 
                  (/kubernetes/gci-trusty/container-linux-configure-helper.sh)
                )
              } {(DQ (${ VSub_Name KUBE_HOME) (/bin/configure-helper.sh))}
            )
            (C {(chmod)} {(-R)} {(755)} {(DQ (${ VSub_Name kube_bin))})
            (C {(rm)} {(-rf)} {(DQ (${ VSub_Name KUBE_HOME) (/kubernetes))})
            (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name server_binary_tar))})
            (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name server_binary_tar) (.sha1))})
            (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name manifests_tar))})
            (C {(rm)} {(-f)} {(DQ (${ VSub_Name KUBE_HOME) (/) (${ VSub_Name manifests_tar) (.sha1))})
          ]
          spids: [574]
        )
      spids: [570 573]
    )
    (C {(echo)} {(DQ ('Start to install kubernetes files'))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_HOME)
          op: Equal
          rhs: {(DQ (/opt/kubernetes))}
          spids: [1618]
        )
      ]
      spids: [1618]
    )
    (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name KUBE_HOME))})
    (C {(download-kube-env)})
    (C {(source)} {(DQ (${ VSub_Name KUBE_HOME) (/kube-env))})
    (C {(install-kube-binary-config)})
    (C {(echo)} {(DQ ('Done for installing kubernetes files'))})
    (SimpleCommand
      words: [{(echo)} {(DQ ('127.0.0.1 localhost'))}]
      redirects: [(Redir op_id:Redir_DGreat fd:16777215 arg_word:{(/etc/hosts)} spids:[1665])]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ('::1 localhost'))}]
      redirects: [(Redir op_id:Redir_DGreat fd:16777215 arg_word:{(/etc/hosts)} spids:[1675])]
    )
    (C {(echo)} {(DQ ('Configuring hostname'))})
    (C {(hostnamectl)} {(set-hostname)} 
      {
        (CommandSubPart
          command_list: 
            (CommandList
              children: [
                (Pipeline
                  children: [(C {(hostname)}) (C {(cut)} {(-f1)} {(-d.)})]
                  negated: False
                )
              ]
            )
          left_token: <Left_CommandSub '$('>
          spids: [1690 1700]
        )
      }
    )
  ]
)