(CommandList
  children: [
    (C {(set)} {(-o)} {(errexit)})
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:is_push) op:Equal rhs:{($ VSub_At '$@')} spids:[66])]
      spids: [66]
    )
    (FuncDef
      name: ensure-basic-networking
      body: 
        (BraceGroup
          children: [
            (Until
              cond: [
                (Sentence
                  child: (C {(getent)} {(hosts)} {(metadata.google.internal)})
                  terminator: <Op_Amp '&'>
                )
                (Sentence
                  child: 
                    (SimpleCommand
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(/dev/null)}
                          spids: [100]
                        )
                      ]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C {(echo)} 
                      {
                        (SQ 
                          <
'Waiting for functional DNS (trying to resolve metadata.google.internal)...'
                          >
                        )
                      }
                    )
                    (C {(sleep)} {(3)})
                  ]
                  spids: [104 119]
                )
            )
            (Until
              cond: [
                (Sentence
                  child: 
                    (C {(getent)} {(hosts)} 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (AndOr
                                  children: [(C {(hostname)} {(-f)}) (C {(echo)} {(_error_)})]
                                  op_id: Op_DPipe
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [128 138]
                        )
                      }
                    )
                  terminator: <Op_Amp '&'>
                )
                (Sentence
                  child: 
                    (SimpleCommand
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(/dev/null)}
                          spids: [141]
                        )
                      ]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C {(echo)} {(SQ <'Waiting for functional DNS (trying to resolve my own FQDN)...'>)})
                    (C {(sleep)} {(3)})
                  ]
                  spids: [145 160]
                )
            )
            (Until
              cond: [
                (Sentence
                  child: 
                    (C {(getent)} {(hosts)} 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (AndOr
                                  children: [(C {(hostname)} {(-i)}) (C {(echo)} {(_error_)})]
                                  op_id: Op_DPipe
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [169 179]
                        )
                      }
                    )
                  terminator: <Op_Amp '&'>
                )
                (Sentence
                  child: 
                    (SimpleCommand
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(/dev/null)}
                          spids: [182]
                        )
                      ]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C {(echo)} {(SQ <'Waiting for functional DNS (trying to resolve my own IP)...'>)})
                    (C {(sleep)} {(3)})
                  ]
                  spids: [186 201]
                )
            )
            (C {(echo)} 
              {
                (DQ ('Networking functional on ') 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(hostname)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [209 211]
                  ) (' (') 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(hostname)} {(-i)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [213 217]
                  ) (')')
                )
              }
            )
          ]
          spids: [76]
        )
      spids: [70 75]
    )
    (FuncDef
      name: ensure-packages
      body: (BraceGroup children:[(C {(Lit_Other ':')})] spids:[231])
      spids: [227 230]
    )
    (FuncDef
      name: create-node-pki
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('Creating node pki files'))})
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pki_dir)
                  op: Equal
                  rhs: {(DQ (/etc/kubernetes/pki))}
                  spids: [258]
                )
              ]
              spids: [254]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name pki_dir))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_z
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name CA_CERT_BUNDLE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [283 286]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CA_CERT_BUNDLE)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name CA_CERT))}
                          spids: [295]
                        )
                      ]
                      spids: [295]
                    )
                  ]
                  spids: [16777215 292]
                )
              ]
              spids: [16777215 303]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CA_CERT_BUNDLE_PATH)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name pki_dir) (/ca-certificates.crt))}
                  spids: [307]
                )
              ]
              spids: [307]
            )
            (Pipeline
              children: [
                (C {(echo)} {(DQ (${ VSub_Name CA_CERT_BUNDLE))})
                (SimpleCommand
                  words: [{(base64)} {(--decode)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(DQ (${ VSub_Name CA_CERT_BUNDLE_PATH))}
                      spids: [330]
                    )
                  ]
                )
              ]
              negated: False
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_z
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name KUBELET_CERT>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [349 352]
                                            )
                                          )
                                        }
                                    )
                                )
                              right: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_z
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name KUBELET_KEY>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [362 365]
                                            )
                                          )
                                        }
                                    )
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBELET_CERT_PATH)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name pki_dir) (/kubelet.crt))}
                          spids: [374]
                        )
                      ]
                      spids: [374]
                    )
                    (Pipeline
                      children: [
                        (C {(echo)} {(DQ (${ VSub_Name KUBELET_CERT))})
                        (SimpleCommand
                          words: [{(base64)} {(--decode)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(DQ (${ VSub_Name KUBELET_CERT_PATH))}
                              spids: [397]
                            )
                          ]
                        )
                      ]
                      negated: False
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBELET_KEY_PATH)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name pki_dir) (/kubelet.key))}
                          spids: [407]
                        )
                      ]
                      spids: [407]
                    )
                    (Pipeline
                      children: [
                        (C {(echo)} {(DQ (${ VSub_Name KUBELET_KEY))})
                        (SimpleCommand
                          words: [{(base64)} {(--decode)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(DQ (${ VSub_Name KUBELET_KEY_PATH))}
                              spids: [430]
                            )
                          ]
                        )
                      ]
                      negated: False
                    )
                  ]
                  spids: [16777215 371]
                )
              ]
              spids: [16777215 439]
            )
            (C {(ln)} {(-sf)} {(DQ (${ VSub_Name CA_CERT_BUNDLE_PATH))} {(/etc/kubernetes/ca.crt)})
          ]
          spids: [243]
        )
      spids: [239 242]
    )
    (FuncDef
      name: ensure-local-disks
      body: 
        (BraceGroup
          children: [
            (ForEach
              iter_name: ssd
              iter_words: [{(/dev/disk/by-id/google-local-ssd-) (Lit_Other '*')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Name '$ssd'))} {(Lit_Other ']')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ssdnum)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {($ VSub_Name '$ssd')})
                                                  (C {(sed)} {(-e)} 
                                                    {
                                                      (SQ 
                                                        <
's/\\/dev\\/disk\\/by-id\\/google-local-ssd-\\([0-9]*\\)/\\1/'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [506 520]
                                      )
                                    }
                                  spids: [505]
                                )
                              ]
                              spids: [505]
                            )
                            (C {(echo)} 
                              {
                                (DQ ('Formatting and mounting local SSD ') ($ VSub_Name '$ssd') 
                                  (' to /mnt/disks/ssd') ($ VSub_Name '$ssdnum')
                                )
                              }
                            )
                            (C {(mkdir)} {(-p)} {(/mnt/disks/ssd) ($ VSub_Name '$ssdnum')})
                            (Sentence
                              child: 
                                (C {(/usr/share/google/safe_format_and_mount)} {(-m)} 
                                  {(DQ ('mkfs.ext4 -F'))} {(DQ (${ VSub_Name ssd))} {(/mnt/disks/ssd) ($ VSub_Name '$ssdnum')}
                                )
                              terminator: <Op_Amp '&'>
                            )
                            (AndOr
                              children: [
                                (SimpleCommand
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 16777215
                                      arg_word: 
                                        {(/var/log/local-ssd-) ($ VSub_Name '$ssdnum') (-mount.log)}
                                      spids: [559]
                                    )
                                  ]
                                )
                                (BraceGroup
                                  children: [
                                    (Sentence
                                      child: 
                                        (C {(echo)} 
                                          {
                                            (DQ ('Local SSD ') ($ VSub_Name '$ssdnum') 
                                              (' mount failed, review /var/log/local-ssd-') ($ VSub_Name '$ssdnum') (-mount.log)
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (Sentence
                                      child: 
                                        (ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(1)}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  spids: [568]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [16777215 502]
                        )
                      ]
                      else_action: [(C {(echo)} {(DQ ('No local SSD disks found.'))})]
                      spids: [589 599]
                    )
                  ]
                  spids: [486 602]
                )
              spids: [481 484]
            )
          ]
          spids: [473]
        )
      spids: [469 472]
    )
    (FuncDef
      name: config-ip-firewall
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('Configuring IP firewall rules'))})
            (C {(iptables)} {(-N)} {(KUBE-METADATA-SERVER)})
            (C {(iptables)} {(-I)} {(FORWARD)} {(-p)} {(tcp)} {(-d)} {(169.254.169.254)} {(--dport)} {(80)} 
              {(-j)} {(KUBE-METADATA-SERVER)}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_FIREWALL_METADATA_SERVER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [660 663]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(iptables)} {(-A)} {(KUBE-METADATA-SERVER)} {(-j)} {(DROP)})]
                  spids: [16777215 669]
                )
              ]
              spids: [16777215 683]
            )
          ]
          spids: [611]
        )
      spids: [607 610]
    )
    (FuncDef
      name: ensure-install-dir
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:INSTALL_DIR)
                  op: Equal
                  rhs: {(DQ (/var/cache/kubernetes-install))}
                  spids: [697]
                )
              ]
              spids: [697]
            )
            (C {(mkdir)} {(-p)} {(${ VSub_Name INSTALL_DIR)})
            (C {(cd)} {(${ VSub_Name INSTALL_DIR)})
          ]
          spids: [694]
        )
      spids: [688 693]
    )
    (FuncDef
      name: salt-apiserver-timeout-grain
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: {(DQ ("  minRequestTimeout: '") ($ VSub_Number '$1') ("'\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [732]
                )
                (Redir
                  op_id: Redir_DGreat
                  fd: 16777215
                  arg_word: {(/etc/salt/minion.d/grains.conf)}
                  spids: [735]
                )
              ]
            )
          ]
          spids: [727]
        )
      spids: [721 726]
    )
    (FuncDef
      name: set-broken-motd
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {(echo)}
                {(-e)}
                {
                  (SQ 
                    <
'\\nBroken (or in progress) Kubernetes node setup! Suggested first step:\\n  tail /var/log/startupscript.log\\n'
                    >
                  )
                }
              ]
              redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/etc/motd)} spids:[762])]
            )
          ]
          spids: [751]
        )
      spids: [745 750]
    )
    (FuncDef
      name: reset-motd
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:version)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(/usr/local/bin/kubelet)} {(--version) (Lit_Other '=') (true)})
                                    (C {(cut)} {(-f2)} {(-d)} {(DQ (' '))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [788 806]
                        )
                      )
                    }
                  spids: [786]
                )
              ]
              spids: [782]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:gitref)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ (${ VSub_Name version))})
                                    (C {(sed)} {(-r)} 
                                      {
                                        (DQ ('s/(v[0-9]+') (Lit_Other '\\') ('.[0-9]+') (Lit_Other '\\') 
                                          ('.[0-9]+)(-[a-z]+') (Lit_Other '\\') ('.[0-9]+)?.*/') (Lit_Other '\\') (1) (Lit_Other '\\') (2/g)
                                        )
                                      }
                                    )
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [822 850]
                        )
                      )
                    }
                  spids: [820]
                )
              ]
              spids: [818]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:devel) op:Equal rhs:{(DQ )} spids:[856])]
              spids: [854]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ (${ VSub_Name gitref))}
                              right: {(DQ (${ VSub_Name version))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:devel)
                          op: Equal
                          rhs: 
                            {
                              (DQ ('\n') 
                                (
'Note: This looks like a development version, which might not be present on GitHub.\n'
                                ) ("If it isn't, the closest tag is at:\n") ('  https://github.com/kubernetes/kubernetes/tree/') 
                                (${ VSub_Name gitref) ('\n')
                              )
                            }
                          spids: [885]
                        )
                      ]
                      spids: [885]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gitref)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name version>
                                  suffix_op: 
                                    (PatSub
                                      pat: {('*+')}
                                      replace: {(SQ )}
                                      do_all: True
                                      do_prefix: False
                                      do_suffix: False
                                    )
                                  spids: [900 906]
                                )
                              )
                            }
                          spids: [898]
                        )
                      ]
                      spids: [898]
                    )
                  ]
                  spids: [16777215 882]
                )
              ]
              spids: [16777215 910]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/etc/motd)}
                  spids: [915]
                )
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('\n') ('Welcome to Kubernetes ') (${ VSub_Name version) ('!\n') ('\n') 
                        ('You can find documentation for Kubernetes at:\n') ('  http://docs.kubernetes.io/\n') ('\n') ('The source for this release can be found at:\n') 
                        ('  /usr/local/share/doc/kubernetes/kubernetes-src.tar.gz\n') ('Or you can download it at:\n') ('  https://storage.googleapis.com/kubernetes-release/release/') 
                        (${ VSub_Name version) ('/kubernetes-src.tar.gz\n') ('\n') ('It is based on the Kubernetes source at:\n') 
                        ('  https://github.com/kubernetes/kubernetes/tree/') (${ VSub_Name gitref) ('\n') (${ VSub_Name devel) ('\n') 
                        ('For Kubernetes copyright and licensing information, see:\n') ('  /usr/local/share/doc/kubernetes/LICENSES\n') ('\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [919]
                )
              ]
            )
          ]
          spids: [775]
        )
      spids: [769 774]
    )
    (FuncDef
      name: curl-metadata
      body: 
        (BraceGroup
          children: [
            (C {(curl)} {(--fail)} {(--retry)} {(5)} {(--silent)} {(-H)} {(SQ <'Metadata-Flavor: Google'>)} 
              {(DQ ('http://metadata/computeMetadata/v1/instance/attributes/') (${ VSub_Number 1))}
            )
          ]
          spids: [964]
        )
      spids: [958 963]
    )
    (FuncDef
      name: set-kube-env
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kube_env_yaml)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name INSTALL_DIR) (/kube_env.yaml))}
                  spids: [1004]
                )
              ]
              spids: [1002]
            )
            (Until
              cond: [
                (Sentence
                  child: 
                    (SimpleCommand
                      words: [{(curl-metadata)} {(kube-env)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(DQ (${ VSub_Name kube_env_yaml))}
                          spids: [1020]
                        )
                      ]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [(C {(echo)} {(SQ <'Waiting for kube-env...'>)}) (C {(sleep)} {(3)})]
                  spids: [1029 1044]
                )
            )
            (C {(eval)} 
              {
                (DQ 
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (SimpleCommand
                            words: [
                              {(python)}
                              {(-c)}
                              {
                                (SQ <'\n'> <'import pipes,sys,yaml\n'> <'\n'> 
                                  <'for k,v in yaml.load(sys.stdin).iteritems():\n'> <'  print("""readonly {var}={value}""".format(var = k, value = pipes.quote(str(v))))\n'> 
                                  <'  print("""export {var}""".format(var = k))\n'> <'  '>
                                )
                              }
                            ]
                            redirects: [
                              (Redir
                                op_id: Redir_Less
                                fd: 16777215
                                arg_word: {(DQ ) (DQ (${ VSub_Name kube_env_yaml)) (DQ )}
                                spids: [1070]
                              )
                            ]
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [1055 1081]
                  )
                )
              }
            )
          ]
          spids: [999]
        )
      spids: [993 998]
    )
    (FuncDef
      name: remove-docker-artifacts
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('== Deleting docker0 =='))})
            (C {(apt-get-install)} {(bridge-utils)})
            (AndOr
              children: [(C {(iptables)} {(-t)} {(nat)} {(-F)}) (C {(true)})]
              op_id: Op_DPipe
            )
            (AndOr
              children: [(C {(ifconfig)} {(docker0)} {(down)}) (C {(true)})]
              op_id: Op_DPipe
            )
            (AndOr
              children: [(C {(brctl)} {(delbr)} {(docker0)}) (C {(true)})]
              op_id: Op_DPipe
            )
            (C {(echo)} {(DQ ('== Finished deleting docker0 =='))})
          ]
          spids: [1093]
        )
      spids: [1087 1092]
    )
    (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: [1180]
                )
              ]
              spids: [1176]
            )
            (C {(shift)} {(1)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:urls)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{($ VSub_Star '$*')}])}
                  spids: [1192]
                )
              ]
              spids: [1192]
            )
            (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: [1215 1220]
                            )
                          )
                        }
                      ]
                      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: [1231 1236]
                                        )
                                      )
                                    }
                                  spids: [1229]
                                )
                              ]
                              spids: [1227]
                            )
                            (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 1292]
                                )
                                (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: [1306 1339]
                                )
                              ]
                              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 1371]
                                    )
                                  ]
                                  else_action: [
                                    (C {(echo)} {(DQ ('== Downloaded ') (${ VSub_Name url) (' =='))})
                                  ]
                                  spids: [1389 1403]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                )
                              ]
                              spids: [1353 1409]
                            )
                          ]
                          spids: [1224 1412]
                        )
                      spids: [1213 1222]
                    )
                  ]
                  spids: [1205 1415]
                )
            )
          ]
          spids: [1173]
        )
      spids: [1169 1172]
    )
    (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: [1431]
                )
              ]
              spids: [1427]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:expected)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$2'))}
                  spids: [1441]
                )
              ]
              spids: [1437]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:actual) op:Equal spids:[1449])]
              spids: [1447]
            )
            (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: [1454 1468]
                          )
                        }
                      spids: [1453]
                    )
                  ]
                  spids: [1453]
                )
                (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 1496]
                )
              ]
              spids: [16777215 1523]
            )
          ]
          spids: [1424]
        )
      spids: [1420 1423]
    )
    (FuncDef
      name: apt-get-install
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:packages)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{($ VSub_At '$@')}])}
                  spids: [1539]
                )
              ]
              spids: [1535]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:installed) op:Equal rhs:{(true)} spids:[1547])]
              spids: [1547]
            )
            (ForEach
              iter_name: package
              iter_words: [
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name packages>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [1558 1563]
                    )
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [(C {(dpkg)} {(-s)} {(DQ (${ VSub_Name package))})]
                                  negated: True
                                )
                              terminator: <Op_Amp '&'>
                            )
                            (Sentence
                              child: 
                                (SimpleCommand
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                      spids: [1585]
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:installed)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [1592]
                                )
                              ]
                              spids: [1592]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [16777215 1589]
                        )
                      ]
                      spids: [16777215 1599]
                    )
                  ]
                  spids: [1567 1602]
                )
              spids: [1556 1565]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(DQ (${ VSub_Name installed))}
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ('== ') 
                          (BracedVarSub
                            token: <VSub_Name packages>
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [1631 1636]
                          ) (' already installed, skipped apt-get install ') 
                          (BracedVarSub
                            token: <VSub_Name packages>
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [1638 1643]
                          ) (' ==')
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [16777215 1624]
                )
              ]
              spids: [16777215 1651]
            )
            (C {(apt-get-update)})
            (Until
              cond: [
                (Sentence
                  child: 
                    (C {(apt-get)} {(-q)} {(-y)} {(-o)} 
                      {(DPkg) (Lit_Other ':') (Lit_Other ':') (Options) (Lit_Other ':') (Lit_Other ':') 
                        (Lit_Other '=') (--force-confold)
                      } {(-o)} 
                      {(DPkg) (Lit_Other ':') (Lit_Other ':') (Options) (Lit_Other ':') (Lit_Other ':') 
                        (Lit_Other '=') (--force-confdef)
                      } {(install)} {($ VSub_At '$@')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C {(echo)} 
                      {(DQ ('== install of packages ') ($ VSub_At '$@') (' failed, retrying =='))}
                    )
                    (C {(sleep)} {(5)})
                  ]
                  spids: [1698 1715]
                )
            )
          ]
          spids: [1532]
        )
      spids: [1528 1531]
    )
    (FuncDef
      name: apt-get-update
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('== Refreshing package database =='))})
            (Until
              cond: [(Sentence child:(C {(apt-get)} {(update)}) terminator:<Op_Semi ';'>)]
              body: 
                (DoGroup
                  children: [
                    (C {(echo)} {(DQ ('== apt-get update failed, retrying =='))})
                    (C {(sleep)} {(5)})
                  ]
                  spids: [1741 1756]
                )
            )
          ]
          spids: [1724]
        )
      spids: [1720 1723]
    )
    (FuncDef
      name: restart-updated-services
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name AUTO_RESTART_SERVICES>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(true)}
                                        )
                                      spids: [1783 1787]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ('Auto restart of services prevented by AUTO_RESTART_SERVICES=') 
                          (${ VSub_Name AUTO_RESTART_SERVICES)
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [16777215 1799]
                )
              ]
              spids: [16777215 1815]
            )
            (C {(echo)} {(DQ ('Restarting services with updated libraries (needrestart -r a)'))})
            (Pipeline
              children: [
                (C {(echo)} {(DQ )})
                (SimpleCommand
                  words: [{(needrestart)} {(-r)} {(a)}]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1846])]
                )
                (C {(tee)} {(/dev/null)})
              ]
              negated: False
            )
          ]
          spids: [1771]
        )
      spids: [1767 1770]
    )
    (FuncDef
      name: reboot-if-required
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_e
                                  child: {(DQ (/var/run/reboot-required))}
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(ControlFlow token:<ControlFlow_Return return>)]
                  spids: [16777215 1883]
                )
              ]
              spids: [16777215 1889]
            )
            (C {(echo)} {(DQ ('Reboot is required (/var/run/reboot-required detected)'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_e
                              child: {(DQ (/var/run/reboot-required.pkgs))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('Packages that triggered reboot:'))})
                    (C {(cat)} {(/var/run/reboot-required.pkgs)})
                  ]
                  spids: [16777215 1913]
                )
              ]
              spids: [16777215 1928]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name AUTO_REBOOT>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(true)}
                                        )
                                      spids: [1941 1945]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('Reboot prevented by AUTO_REBOOT=') (${ VSub_Name AUTO_REBOOT))})
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [16777215 1957]
                )
              ]
              spids: [16777215 1973]
            )
            (C {(rm)} {(-f)} {(/var/run/reboot-required)})
            (C {(rm)} {(-f)} {(/var/run/reboot-required.pkgs)})
            (C {(echo)} {(DQ ('Triggering reboot'))})
            (C {(init)} {(6)})
          ]
          spids: [1865]
        )
      spids: [1861 1864]
    )
    (FuncDef
      name: auto-upgrade
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name AUTO_UPGRADE>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(false)}
                                        )
                                      spids: [2024 2028]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ("AUTO_UPGRADE not set to true; won't auto-upgrade"))})
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [16777215 2040]
                )
              ]
              spids: [16777215 2053]
            )
            (C {(apt-get-install)} {(unattended-upgrades)} {(needrestart)})
            (C {(unattended-upgrade)} {(--debug)})
            (C {(reboot-if-required)})
            (C {(restart-updated-services)})
          ]
          spids: [2012]
        )
      spids: [2008 2011]
    )
    (FuncDef
      name: install-salt
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(dpkg)} {(-s)} {(salt-minion)})
                      terminator: <Op_Amp '&'>
                    )
                    (Sentence
                      child: 
                        (SimpleCommand
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/null)}
                              spids: [2104]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('== SaltStack already installed, skipping install step =='))})
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [16777215 2108]
                )
              ]
              spids: [16777215 2121]
            )
            (C {(echo)} {(DQ ('== Refreshing package database =='))})
            (Until
              cond: [(Sentence child:(C {(apt-get)} {(update)}) terminator:<Op_Semi ';'>)]
              body: 
                (DoGroup
                  children: [
                    (C {(echo)} {(DQ ('== apt-get update failed, retrying =='))})
                    (C {(sleep)} {(5)})
                  ]
                  spids: [2139 2154]
                )
            )
            (C {(mkdir)} {(-p)} {(/var/cache/salt-install)})
            (C {(cd)} {(/var/cache/salt-install)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DEBS)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(libzmq3_3.2.3) (Lit_Other '+') (dfsg-1) (Lit_Tilde '~') (bpo70) 
                            (Lit_Tilde '~') (dst) (Lit_Other '+') (1_amd64.deb)
                          }
                          {(python-zmq_13.1.0-1) (Lit_Tilde '~') (bpo70) (Lit_Tilde '~') (dst) 
                            (Lit_Other '+') (1_amd64.deb)
                          }
                          {(salt-common_2014.1.13) (Lit_Other '+') (ds-1) (Lit_Tilde '~') (bpo70) 
                            (Lit_Other '+') (1_all.deb)
                          }
                          {(salt-minion_2014.1.13) (Lit_Other '+') (ds-1) (Lit_Tilde '~') (bpo70) 
                            (Lit_Other '+') (1_all.deb)
                          }
                        ]
                      )
                    }
                  spids: [2171]
                )
              ]
              spids: [2171]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:URL_BASE)
                  op: Equal
                  rhs: {(DQ ('https://storage.googleapis.com/kubernetes-release/salt'))}
                  spids: [2216]
                )
              ]
              spids: [2216]
            )
            (ForEach
              iter_name: deb
              iter_words: [
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name DEBS>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [2230 2235]
                    )
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(DQ (${ VSub_Name deb))} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(download-or-bust)} {(DQ )} 
                              {(DQ (${ VSub_Name URL_BASE) (/) (${ VSub_Name deb))}
                            )
                          ]
                          spids: [16777215 2259]
                        )
                      ]
                      spids: [16777215 2278]
                    )
                  ]
                  spids: [2239 2281]
                )
              spids: [2228 2237]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/usr/sbin/policy-rc.d)}
                  spids: [2311]
                )
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('#!/bin/sh\n') ('echo ') (Right_DoubleQuote '"') ('Salt shall not start.') 
                        (Right_DoubleQuote '"') (' >&2\n') ('exit 101\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [2315]
                )
              ]
            )
            (C {(chmod)} {(0755)} {(/usr/sbin/policy-rc.d)})
            (ForEach
              iter_name: deb
              iter_words: [
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name DEBS>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [2342 2347]
                    )
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(echo)} 
                      {
                        (DQ ('== Installing ') (${ VSub_Name deb) 
                          (', ignore dependency complaints (will fix later) ==')
                        )
                      }
                    )
                    (C {(dpkg)} {(--skip-same-version)} {(--force-depends)} {(-i)} 
                      {(DQ (${ VSub_Name deb))}
                    )
                  ]
                  spids: [2351 2380]
                )
              spids: [2340 2349]
            )
            (C {(echo)} {(DQ ('== Installing unmet dependencies =='))})
            (Until
              cond: [
                (Sentence
                  child: (C {(apt-get)} {(install)} {(-f)} {(-y)})
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C {(echo)} {(DQ ('== apt-get install failed, retrying =='))})
                    (C {(sleep)} {(5)})
                  ]
                  spids: [2406 2421]
                )
            )
            (C {(rm)} {(/usr/sbin/policy-rc.d)})
            (C {(echo)} {(DQ ('== Finished installing Salt =='))})
          ]
          spids: [2092]
        )
      spids: [2088 2091]
    )
    (FuncDef
      name: stop-salt-minion
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_e child:{(/etc/init/salt-minion.override)})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(ControlFlow token:<ControlFlow_Return return>)]
                  spids: [16777215 2465]
                )
              ]
              spids: [16777215 2475]
            )
            (SimpleCommand
              words: [{(echo)} {(manual)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/etc/init/salt-minion.override)}
                  spids: [2487]
                )
              ]
            )
            (C {(update-rc.d)} {(salt-minion)} {(disable)})
            (While
              cond: [
                (Sentence
                  child: 
                    (SimpleCommand
                      words: [{(service)} {(salt-minion)} {(status)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(/dev/null)}
                          spids: [2508]
                        )
                      ]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C {(echo)} {(DQ ('salt-minion found running, stopping'))})
                    (C {(service)} {(salt-minion)} {(stop)})
                    (C {(sleep)} {(1)})
                  ]
                  spids: [2512 2534]
                )
            )
          ]
          spids: [2451]
        )
      spids: [2447 2450]
    )
    (FuncDef
      name: find-master-pd
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MASTER_PD_DEVICE)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [2549]
                )
              ]
              spids: [2549]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_e
                                  child: {(/dev/disk/by-id/google-master-pd)}
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(ControlFlow token:<ControlFlow_Return return>)]
                  spids: [16777215 2567]
                )
              ]
              spids: [16777215 2573]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:device_info)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(ls)} {(-l)} {(/dev/disk/by-id/google-master-pd)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2577 2583]
                      )
                    }
                  spids: [2576]
                )
              ]
              spids: [2576]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:relative_path)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name device_info>
                        suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('* ')})
                        spids: [2587 2591]
                      )
                    }
                  spids: [2586]
                )
              ]
              spids: [2586]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MASTER_PD_DEVICE)
                  op: Equal
                  rhs: {(DQ (/dev/disk/by-id/) (${ VSub_Name relative_path))}
                  spids: [2594]
                )
              ]
              spids: [2594]
            )
          ]
          spids: [2546]
        )
      spids: [2542 2545]
    )
    (FuncDef
      name: create-salt-pillar
      body: 
        (BraceGroup
          children: [
            (C {(mkdir)} {(-p)} {(/srv/salt-overlay/pillar)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ("instance_prefix: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$INSTANCE_PREFIX'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2647 2663]
                        ) ("'\n") ("node_tags: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$NODE_TAGS'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2666 2682]
                        ) ("'\n") ("node_instance_prefix: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$NODE_INSTANCE_PREFIX'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2685 2701]
                        ) ("'\n") ("cluster_cidr: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$CLUSTER_IP_RANGE'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2704 2720]
                        ) ("'\n") ("allocate_node_cidrs: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ALLOCATE_NODE_CIDRS'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2723 2739]
                        ) ("'\n") ("non_masquerade_cidr: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$NON_MASQUERADE_CIDR'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2742 2758]
                        ) ("'\n") ("service_cluster_ip_range: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$SERVICE_CLUSTER_IP_RANGE'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2761 2777]
                        ) ("'\n") ("enable_cluster_monitoring: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_CLUSTER_MONITORING'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2780 2796]
                        ) ("'\n") ("enable_cluster_logging: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_CLUSTER_LOGGING'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2799 2815]
                        ) ("'\n") ("enable_cluster_ui: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_CLUSTER_UI'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2818 2834]
                        ) ("'\n") ("enable_node_problem_detector: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_NODE_PROBLEM_DETECTOR'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2837 2853]
                        ) ("'\n") ("enable_l7_loadbalancing: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_L7_LOADBALANCING'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2856 2872]
                        ) ("'\n") ("enable_node_logging: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_NODE_LOGGING'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2875 2891]
                        ) ("'\n") ("enable_metadata_proxy: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_METADATA_PROXY'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2894 2910]
                        ) ("'\n") ("enable_metrics_server: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_METRICS_SERVER'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2913 2929]
                        ) ("'\n") ("enable_rescheduler: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_RESCHEDULER'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2932 2948]
                        ) ("'\n") ("logging_destination: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$LOGGING_DESTINATION'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2951 2967]
                        ) ("'\n") ("elasticsearch_replicas: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ELASTICSEARCH_LOGGING_REPLICAS'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2970 2986]
                        ) ("'\n") ("enable_cluster_dns: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_CLUSTER_DNS'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2989 3005]
                        ) ("'\n") ("enable_cluster_registry: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_CLUSTER_REGISTRY'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3008 3024]
                        ) ("'\n") ("dns_server: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$DNS_SERVER_IP'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3027 3043]
                        ) ("'\n") ("dns_domain: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$DNS_DOMAIN'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3046 3062]
                        ) ("'\n") ("enable_dns_horizontal_autoscaler: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_DNS_HORIZONTAL_AUTOSCALER'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3065 3081]
                        ) ("'\n") ("admission_control: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ADMISSION_CONTROL'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3084 3100]
                        ) ("'\n") ("network_provider: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$NETWORK_PROVIDER'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3103 3119]
                        ) ("'\n") ("prepull_e2e_images: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$PREPULL_E2E_IMAGES'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3122 3138]
                        ) ("'\n") ("hairpin_mode: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$HAIRPIN_MODE'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3141 3157]
                        ) ("'\n") ("softlockup_panic: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$SOFTLOCKUP_PANIC'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3160 3176]
                        ) ("'\n") ("opencontrail_tag: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$OPENCONTRAIL_TAG'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3179 3195]
                        ) ("'\n") ("opencontrail_kubernetes_tag: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(echo)} {(DQ ($ VSub_Name '$OPENCONTRAIL_KUBERNETES_TAG'))})
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3198 3204]
                        ) ("'\n") ("opencontrail_public_subnet: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(echo)} {(DQ ($ VSub_Name '$OPENCONTRAIL_PUBLIC_SUBNET'))})]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3207 3213]
                        ) ("'\n") ("network_policy_provider: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$NETWORK_POLICY_PROVIDER'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3216 3232]
                        ) ("'\n") ("enable_manifest_url: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name ENABLE_MANIFEST_URL>
                                            suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                            spids: [3239 3242]
                                          )
                                        )
                                      }
                                    )
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3235 3254]
                        ) ("'\n") ("manifest_url: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name MANIFEST_URL>
                                            suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                            spids: [3261 3264]
                                          )
                                        )
                                      }
                                    )
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3257 3276]
                        ) ("'\n") ("manifest_url_header: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name MANIFEST_URL_HEADER>
                                            suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                            spids: [3283 3286]
                                          )
                                        )
                                      }
                                    )
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3279 3298]
                        ) ("'\n") ('num_nodes: ') 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name NUM_NODES>
                                            suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                            spids: [3305 3308]
                                          )
                                        )
                                      }
                                    )
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3301 3320]
                        ) ('\n') ("e2e_storage_test_environment: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$E2E_STORAGE_TEST_ENVIRONMENT'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3323 3339]
                        ) ("'\n") ("kube_uid: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ (${ VSub_Name KUBE_UID))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3342 3360]
                        ) ("'\n") ("initial_etcd_cluster: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name INITIAL_ETCD_CLUSTER>
                                            suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                            spids: [3367 3370]
                                          )
                                        )
                                      }
                                    )
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3363 3382]
                        ) ("'\n") ("initial_etcd_cluster_state: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name INITIAL_ETCD_CLUSTER_STATE>
                                            suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                            spids: [3389 3392]
                                          )
                                        )
                                      }
                                    )
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3385 3404]
                        ) ("'\n") ("ca_cert_bundle_path: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name CA_CERT_BUNDLE_PATH>
                                            suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                            spids: [3411 3414]
                                          )
                                        )
                                      }
                                    )
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3407 3426]
                        ) ("'\n") ('hostname: ') 
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(hostname)} {(-s)})])
                          left_token: <Left_CommandSub '$('>
                          spids: [3429 3433]
                        ) ('\n') ("enable_pod_priority: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name ENABLE_POD_PRIORITY>
                                            suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                            spids: [3440 3443]
                                          )
                                        )
                                      }
                                    )
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3436 3455]
                        ) ("'\n") ("enable_default_storage_class: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_DEFAULT_STORAGE_CLASS'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3458 3474]
                        ) ("'\n") ("kube_proxy_daemonset: '") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name '$KUBE_PROXY_DAEMONSET'))})
                                    (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [3477 3493]
                        ) ("'\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [2640]
                )
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                  spids: [2643]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name STORAGE_BACKEND>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [3504 3507]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("storage_backend: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ ($ VSub_Name '$STORAGE_BACKEND'))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [3525 3541]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3518]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [3521]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 3513]
                )
              ]
              spids: [16777215 3545]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name STORAGE_MEDIA_TYPE>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [3555 3558]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("storage_media_type: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ ($ VSub_Name '$STORAGE_MEDIA_TYPE'))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [3576 3592]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3569]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [3572]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 3564]
                )
              ]
              spids: [16777215 3596]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT_SEC>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [3606 3609]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("kube_apiserver_request_timeout_sec: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  ($ VSub_Name '$KUBE_APISERVER_REQUEST_TIMEOUT_SEC')
                                                )
                                              }
                                            )
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [3627 3643]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3620]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [3623]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 3615]
                )
              ]
              spids: [16777215 3647]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(Lit_Other '[')} {(-n)} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name ADMISSION_CONTROL>
                                    suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                    spids: [3657 3660]
                                  )
                                )
                              } {(Lit_Other ']')}
                            )
                            (C {(Lit_Other '[')} {(${ VSub_Name ADMISSION_CONTROL)} 
                              {(Lit_Other '=') (Lit_Other '=')} {(Lit_Other '*') (DQ (ImagePolicyWebhook)) (Lit_Other '*')} {(Lit_Other ']')}
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ 
                                (
'admission-control-config-file: /etc/admission_controller.config\n'
                                )
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3690]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [3693]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 3685]
                )
              ]
              spids: [16777215 3699]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name KUBELET_PORT>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [3709 3712]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("kubelet_port: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ ($ VSub_Name '$KUBELET_PORT'))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [3730 3746]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3723]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [3726]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 3718]
                )
              ]
              spids: [16777215 3750]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name ETCD_IMAGE>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [3760 3763]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("etcd_docker_tag: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ ($ VSub_Name '$ETCD_IMAGE'))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [3781 3797]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3774]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [3777]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 3769]
                )
              ]
              spids: [16777215 3801]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name ETCD_DOCKER_REPOSITORY>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [3811 3814]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("etcd_docker_repository: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ ($ VSub_Name '$ETCD_DOCKER_REPOSITORY'))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [3832 3848]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3825]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [3828]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 3820]
                )
              ]
              spids: [16777215 3852]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name ETCD_VERSION>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [3862 3865]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("etcd_version: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ ($ VSub_Name '$ETCD_VERSION'))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [3883 3899]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3876]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [3879]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 3871]
                )
              ]
              spids: [16777215 3903]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name ETCD_CA_KEY>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [3913 3916]
                                        )
                                      )
                                    }
                                )
                              right: 
                                (LogicalAnd
                                  left: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name ETCD_CA_CERT>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [3924 3927]
                                            )
                                          )
                                        }
                                    )
                                  right: 
                                    (LogicalAnd
                                      left: 
                                        (BoolUnary
                                          op_id: BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name ETCD_PEER_KEY>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [3935 3938]
                                                )
                                              )
                                            }
                                        )
                                      right: 
                                        (BoolUnary
                                          op_id: BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name ETCD_PEER_CERT>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [3946 3949]
                                                )
                                              )
                                            }
                                        )
                                    )
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: {(DQ ("etcd_over_ssl: 'true'\n"))}
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3960]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [3963]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 3955]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: {(DQ ("etcd_over_ssl: 'false'\n"))}
                      do_expansion: True
                      here_end: EOF
                      was_filled: True
                      spids: [3974]
                    )
                    (Redir
                      op_id: Redir_DGreat
                      fd: 16777215
                      arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                      spids: [3977]
                    )
                  ]
                )
              ]
              spids: [3969 3983]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name ETCD_QUORUM_READ>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [3993 3996]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("etcd_quorum_read: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ (${ VSub_Name ETCD_QUORUM_READ))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4014 4032]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4007]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4010]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4002]
                )
              ]
              spids: [16777215 4036]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name APISERVER_TEST_ARGS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4050 4053]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("apiserver_test_args: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ ($ VSub_Name '$APISERVER_TEST_ARGS'))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4071 4087]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4064]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4067]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4059]
                )
              ]
              spids: [16777215 4091]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name API_SERVER_TEST_LOG_LEVEL>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4101 4104]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("api_server_test_log_level: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} 
                                              {(DQ ($ VSub_Name '$API_SERVER_TEST_LOG_LEVEL'))}
                                            )
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4122 4138]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4115]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4118]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4110]
                )
              ]
              spids: [16777215 4142]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name KUBELET_TEST_ARGS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4152 4155]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("kubelet_test_args: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ ($ VSub_Name '$KUBELET_TEST_ARGS'))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4173 4189]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4166]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4169]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4161]
                )
              ]
              spids: [16777215 4193]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name KUBELET_TEST_LOG_LEVEL>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4203 4206]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("kubelet_test_log_level: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ ($ VSub_Name '$KUBELET_TEST_LOG_LEVEL'))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4224 4240]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4217]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4220]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4212]
                )
              ]
              spids: [16777215 4244]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name DOCKER_TEST_LOG_LEVEL>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4254 4257]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("docker_test_log_level: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ ($ VSub_Name '$DOCKER_TEST_LOG_LEVEL'))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4275 4291]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4268]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4271]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4263]
                )
              ]
              spids: [16777215 4295]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name CONTROLLER_MANAGER_TEST_ARGS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4305 4308]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("controller_manager_test_args: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} 
                                              {(DQ ($ VSub_Name '$CONTROLLER_MANAGER_TEST_ARGS'))}
                                            )
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4326 4342]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4319]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4322]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4314]
                )
              ]
              spids: [16777215 4346]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name CONTROLLER_MANAGER_TEST_LOG_LEVEL>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4356 4359]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("controller_manager_test_log_level: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} 
                                              {
                                                (DQ 
                                                  ($ VSub_Name '$CONTROLLER_MANAGER_TEST_LOG_LEVEL')
                                                )
                                              }
                                            )
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4377 4393]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4370]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4373]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4365]
                )
              ]
              spids: [16777215 4397]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name SCHEDULER_TEST_ARGS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4407 4410]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("scheduler_test_args: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ ($ VSub_Name '$SCHEDULER_TEST_ARGS'))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4428 4444]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4421]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4424]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4416]
                )
              ]
              spids: [16777215 4448]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name SCHEDULER_TEST_LOG_LEVEL>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4458 4461]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("scheduler_test_log_level: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ ($ VSub_Name '$SCHEDULER_TEST_LOG_LEVEL'))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4479 4495]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4472]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4475]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4467]
                )
              ]
              spids: [16777215 4499]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name KUBEPROXY_TEST_ARGS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4509 4512]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("kubeproxy_test_args: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ ($ VSub_Name '$KUBEPROXY_TEST_ARGS'))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4530 4546]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4523]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4526]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4518]
                )
              ]
              spids: [16777215 4550]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name KUBEPROXY_TEST_LOG_LEVEL>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4560 4563]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("kubeproxy_test_log_level: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ ($ VSub_Name '$KUBEPROXY_TEST_LOG_LEVEL'))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4581 4597]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4574]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4577]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4569]
                )
              ]
              spids: [16777215 4601]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ (${ VSub_Name ENABLE_CLUSTER_REGISTRY))}
                                  right: {(true)}
                                )
                              right: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: {(DQ (${ VSub_Name CLUSTER_REGISTRY_DISK))}
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('cluster_registry_disk_type: gce\n') 
                                ('cluster_registry_disk_size: ') 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} 
                                              {
                                                (CommandSubPart
                                                  command_list: 
                                                    (CommandList
                                                      children: [
                                                        (C {(convert-bytes-gce-kube)} 
                                                          {
                                                            (${ VSub_Name CLUSTER_REGISTRY_DISK_SIZE)
                                                          }
                                                        )
                                                      ]
                                                    )
                                                  left_token: <Left_CommandSub '$('>
                                                  spids: [4651 4657]
                                                )
                                              }
                                            )
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4648 4668]
                                ) ('\n') ('cluster_registry_disk_name: ') 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(${ VSub_Name CLUSTER_REGISTRY_DISK)})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4671 4687]
                                ) ('\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4640]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4643]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4635]
                )
              ]
              spids: [16777215 4691]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name TERMINATED_POD_GC_THRESHOLD>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4701 4704]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("terminated_pod_gc_threshold: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} 
                                              {(DQ (${ VSub_Name TERMINATED_POD_GC_THRESHOLD))}
                                            )
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4722 4740]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4715]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4718]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4710]
                )
              ]
              spids: [16777215 4744]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name ENABLE_CUSTOM_METRICS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4754 4757]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("enable_custom_metrics: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ (${ VSub_Name ENABLE_CUSTOM_METRICS))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4775 4793]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4768]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4771]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4763]
                )
              ]
              spids: [16777215 4797]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name NODE_LABELS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4807 4810]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("node_labels: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ (${ VSub_Name NODE_LABELS))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4828 4846]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4821]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4824]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4816]
                )
              ]
              spids: [16777215 4850]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name NODE_TAINTS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4860 4863]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("node_taints: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ (${ VSub_Name NODE_TAINTS))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4881 4899]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4874]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4877]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4869]
                )
              ]
              spids: [16777215 4903]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name EVICTION_HARD>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [4913 4916]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("eviction_hard: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ (${ VSub_Name EVICTION_HARD))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4934 4952]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4927]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4930]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4922]
                )
              ]
              spids: [16777215 4956]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_CLUSTER_AUTOSCALER>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(false)}
                                        )
                                      spids: [4964 4968]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("enable_cluster_autoscaler: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ (${ VSub_Name ENABLE_CLUSTER_AUTOSCALER))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4992 5010]
                                ) ("'\n") ("autoscaler_mig_config: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ (${ VSub_Name AUTOSCALER_MIG_CONFIG))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [5013 5031]
                                ) ("'\n") ("autoscaler_expander_config: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ (${ VSub_Name AUTOSCALER_EXPANDER_CONFIG))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [5034 5052]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4985]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [4988]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 4980]
                )
              ]
              spids: [16777215 5056]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name SCHEDULING_ALGORITHM_PROVIDER>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [5066 5069]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("scheduling_algorithm_provider: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} 
                                              {(DQ (${ VSub_Name SCHEDULING_ALGORITHM_PROVIDER))}
                                            )
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [5087 5105]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [5080]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [5083]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 5075]
                )
              ]
              spids: [16777215 5109]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name ENABLE_IP_ALIASES>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [5119 5122]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("enable_ip_aliases: '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ ($ VSub_Name '$ENABLE_IP_ALIASES'))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [5140 5156]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [5133]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/srv/salt-overlay/pillar/cluster-params.sls)}
                          spids: [5136]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 5128]
                )
              ]
              spids: [16777215 5160]
            )
          ]
          spids: [2620]
        )
      spids: [2614 2619]
    )
    (FuncDef
      name: convert-bytes-gce-kube
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:storage_space)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [5205]
                )
              ]
              spids: [5201]
            )
            (Pipeline
              children: [
                (C {(echo)} {(DQ (${ VSub_Name storage_space))})
                (C {(sed)} {(-e)} {(SQ <'s/^\\([0-9]\\+\\)\\([A-Z]\\)\\?i\\?B$/\\1\\2/g'>)} {(-e)} 
                  {(SQ <'s/\\([A-Z]\\)$/\\1i/'>)}
                )
              ]
              negated: False
            )
          ]
          spids: [5198]
        )
      spids: [5192 5197]
    )
    (FuncDef
      name: create-salt-kubelet-auth
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kubelet_kubeconfig_file)
                  op: Equal
                  rhs: {(DQ (/srv/salt-overlay/salt/kubelet/bootstrap-kubeconfig))}
                  spids: [5265]
                )
              ]
              spids: [5261]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} 
                          {(DQ (${ VSub_Name kubelet_kubeconfig_file))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(mkdir)} {(-p)} {(/srv/salt-overlay/salt/kubelet)})
                    (Subshell
                      child: 
                        (CommandList
                          children: [
                            (Sentence
                              child: (C {(umask)} {(077)})
                              terminator: <Op_Semi ';'>
                            )
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 16777215
                                  arg_word: {(DQ (${ VSub_Name kubelet_kubeconfig_file))}
                                  spids: [5307]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: 16777215
                                  body: 
                                    {
                                      (DQ ('apiVersion: v1\n') ('kind: Config\n') ('users:\n') 
                                        ('- name: kubelet\n') ('  user:\n') ('    client-certificate: ') (${ VSub_Name KUBELET_CERT_PATH) ('\n') ('    client-key: ') 
                                        (${ VSub_Name KUBELET_KEY_PATH) ('\n') ('clusters:\n') ('- name: local\n') ('  cluster:\n') ('    server: https://') 
                                        (${ VSub_Name KUBERNETES_MASTER_NAME) ('\n') ('    certificate-authority: ') (${ VSub_Name CA_CERT_BUNDLE_PATH) ('\n') ('contexts:\n') 
                                        ('- context:\n') ('    cluster: local\n') ('    user: kubelet\n') ('  name: service-account-context\n') 
                                        ('current-context: service-account-context\n')
                                      )
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [5315]
                                )
                              ]
                            )
                          ]
                        )
                      spids: [5298 5353]
                    )
                  ]
                  spids: [16777215 5288]
                )
              ]
              spids: [16777215 5356]
            )
          ]
          spids: [5258]
        )
      spids: [5252 5257]
    )
    (FuncDef
      name: create-salt-kubeproxy-auth
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kube_proxy_kubeconfig_file)
                  op: Equal
                  rhs: {(DQ (/srv/salt-overlay/salt/kube-proxy/kubeconfig))}
                  spids: [5386]
                )
              ]
              spids: [5382]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} 
                          {(DQ (${ VSub_Name kube_proxy_kubeconfig_file))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(mkdir)} {(-p)} {(/srv/salt-overlay/salt/kube-proxy)})
                    (Subshell
                      child: 
                        (CommandList
                          children: [
                            (Sentence
                              child: (C {(umask)} {(077)})
                              terminator: <Op_Semi ';'>
                            )
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 16777215
                                  arg_word: {(DQ (${ VSub_Name kube_proxy_kubeconfig_file))}
                                  spids: [5428]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: 16777215
                                  body: 
                                    {
                                      (DQ ('apiVersion: v1\n') ('kind: Config\n') ('users:\n') 
                                        ('- name: kube-proxy\n') ('  user:\n') ('    token: ') (${ VSub_Name KUBE_PROXY_TOKEN) ('\n') ('clusters:\n') ('- name: local\n') 
                                        ('  cluster:\n') ('    certificate-authority-data: ') (${ VSub_Name CA_CERT_BUNDLE) ('\n') ('contexts:\n') 
                                        ('- context:\n') ('    cluster: local\n') ('    user: kube-proxy\n') ('  name: service-account-context\n') 
                                        ('current-context: service-account-context\n')
                                      )
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [5436]
                                )
                              ]
                            )
                          ]
                        )
                      spids: [5419 5464]
                    )
                  ]
                  spids: [16777215 5409]
                )
              ]
              spids: [16777215 5467]
            )
          ]
          spids: [5379]
        )
      spids: [5373 5378]
    )
    (FuncDef
      name: split-commas
      body: 
        (BraceGroup
          children: [
            (Pipeline
              children: [
                (C {(echo)} {($ VSub_Number '$1')})
                (C {(tr)} {(DQ (','))} {(DQ (Lit_Other '\\') (n))})
              ]
              negated: False
            )
          ]
          spids: [5478]
        )
      spids: [5472 5477]
    )
    (FuncDef
      name: try-download-release
      body: 
        (BraceGroup
          children: [
            (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: [5526 5534]
                            )
                          }
                        ]
                      )
                    }
                  spids: [5523]
                )
              ]
              spids: [5519]
            )
            (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: [5545 5553]
                        )
                      )
                    }
                  spids: [5543]
                )
              ]
              spids: [5539]
            )
            (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: [5564 5567]
                                    )
                                  )
                                }
                            )
                        )
                      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: [5580]
                        )
                      ]
                      spids: [5576]
                    )
                  ]
                  spids: [16777215 5573]
                )
              ]
              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: [5604 5613]
                      )
                    )
                  }
                )
                (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: [5622 5631]
                          )
                        }
                      spids: [5621]
                    )
                  ]
                  spids: [5617]
                )
              ]
              spids: [5588 5634]
            )
            (C {(echo)} 
              {
                (DQ ('Downloading binary release tar (') 
                  (BracedVarSub
                    token: <VSub_Name server_binary_tar_urls>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [5642 5647]
                  ) (')')
                )
              }
            )
            (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: [5661 5666]
                  )
                )
              }
            )
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:salt_tar_urls)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [(C {(split-commas)} {(DQ (${ VSub_Name SALT_TAR_URL))})]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [5678 5686]
                            )
                          }
                        ]
                      )
                    }
                  spids: [5675]
                )
              ]
              spids: [5671]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:salt_tar)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name salt_tar_urls>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)}))
                          suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                          spids: [5697 5705]
                        )
                      )
                    }
                  spids: [5695]
                )
              ]
              spids: [5691]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name SALT_TAR_HASH>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [5716 5719]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      flags: [-r]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:salt_tar_hash)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name SALT_TAR_HASH))}
                          spids: [5732]
                        )
                      ]
                      spids: [5728]
                    )
                  ]
                  spids: [16777215 5725]
                )
              ]
              else_action: [
                (C {(echo)} {(DQ ('Downloading Salt tar sha1 (not found in env)'))})
                (C {(download-or-bust)} {(DQ )} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name salt_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: [5756 5765]
                      )
                    )
                  }
                )
                (Assignment
                  keyword: Assign_Local
                  flags: [-r]
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:salt_tar_hash)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(cat)} {(DQ (${ VSub_Name salt_tar) (.sha1))})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [5774 5783]
                          )
                        }
                      spids: [5773]
                    )
                  ]
                  spids: [5769]
                )
              ]
              spids: [5740 5786]
            )
            (C {(echo)} 
              {
                (DQ ('Downloading Salt tar (') 
                  (BracedVarSub
                    token: <VSub_Name salt_tar_urls>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [5794 5799]
                  ) (')')
                )
              }
            )
            (C {(download-or-bust)} {(DQ (${ VSub_Name salt_tar_hash))} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name salt_tar_urls>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [5813 5818]
                  )
                )
              }
            )
            (C {(echo)} {(DQ ('Unpacking Salt tree and checking integrity of binary release tar'))})
            (C {(rm)} {(-rf)} {(kubernetes)})
            (AndOr
              children: [
                (C {(tar)} {(xzf)} {(DQ (${ VSub_Name salt_tar))})
                (SimpleCommand
                  words: [{(tar)} {(tzf)} {(DQ (${ VSub_Name server_binary_tar))}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [5859]
                    )
                  ]
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [5507]
        )
      spids: [5501 5506]
    )
    (FuncDef
      name: download-release
      body: 
        (BraceGroup
          children: [
            (Until
              cond: [(Sentence child:(C {(try-download-release)}) terminator:<Op_Semi ';'>)]
              body: 
                (DoGroup
                  children: [
                    (C {(sleep)} {(15)})
                    (C {(echo)} {(DQ ("Couldn't download release. Retrying..."))})
                  ]
                  spids: [5884 5899]
                )
            )
            (C {(echo)} {(DQ ('Running release install script'))})
            (C {(kubernetes/saltbase/install.sh)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name SERVER_BINARY_TAR_URL>
                    suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                    spids: [5913 5918]
                  )
                )
              }
            )
          ]
          spids: [5872]
        )
      spids: [5866 5871]
    )
    (FuncDef
      name: fix-apt-sources
      body: 
        (BraceGroup
          children: [
            (C {(sed)} {(-i)} {(-e)} 
              {(DQ (Lit_Other '\\') ('|^deb.*http://http.debian.net/debian| s/^/#/'))} {(/etc/apt/sources.list)}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {(DQ (Lit_Other '\\') ('|^deb.*http://ftp.debian.org/debian| s/^/#/'))} {(/etc/apt/sources.list.d/backports.list)}
            )
          ]
          spids: [5930]
        )
      spids: [5924 5929]
    )
    (FuncDef
      name: salt-run-local
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('file_client: local\n') ('file_roots:\n') ('  base:\n') ('    - /srv/salt\n'))
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [5974]
                )
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/etc/salt/minion.d/local.conf)}
                  spids: [5977]
                )
              ]
            )
          ]
          spids: [5969]
        )
      spids: [5963 5968]
    )
    (FuncDef
      name: salt-debug-log
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: {(DQ ('log_level: debug\n') ('log_level_logfile: debug\n'))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [5999]
                )
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/etc/salt/minion.d/log-level-debug.conf)}
                  spids: [6002]
                )
              ]
            )
          ]
          spids: [5994]
        )
      spids: [5988 5993]
    )
    (FuncDef
      name: salt-node-role
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kubelet_bootstrap_kubeconfig)
                  op: Equal
                  rhs: {(DQ (/srv/salt-overlay/salt/kubelet/bootstrap-kubeconfig))}
                  spids: [6024]
                )
              ]
              spids: [6020]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kubelet_kubeconfig)
                  op: Equal
                  rhs: {(DQ (/srv/salt-overlay/salt/kubelet/kubeconfig))}
                  spids: [6034]
                )
              ]
              spids: [6030]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('grains:\n') ('  roles:\n') ('    - kubernetes-pool\n') ('  cloud: gce\n') 
                        ("  api_servers: '") (${ VSub_Name KUBERNETES_MASTER_NAME) ("'\n") 
                        ('  kubelet_bootstrap_kubeconfig: /var/lib/kubelet/bootstrap-kubeconfig\n') ('  kubelet_kubeconfig: /var/lib/kubelet/kubeconfig\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [6042]
                )
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/etc/salt/minion.d/grains.conf)}
                  spids: [6045]
                )
              ]
            )
          ]
          spids: [6017]
        )
      spids: [6011 6016]
    )
    (FuncDef
      name: env-to-grains
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:key)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [6072]
                )
              ]
              spids: [6070]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:env_key)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Name '$key')})
                                  (C {(tr)} {(SQ <'[:lower:]'>)} {(SQ <'[:upper:]'>)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [6079 6095]
                      )
                    }
                  spids: [6078]
                )
              ]
              spids: [6076]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:value)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name env_key>
                        prefix_op: VSub_Bang
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                        spids: [6101 6105]
                      )
                    }
                  spids: [6100]
                )
              ]
              spids: [6098]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{(DQ (${ VSub_Name value))})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('  ') (${ VSub_Name key) (": '") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(DQ (${ VSub_Name value))})
                                            (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [6143 6161]
                                ) ("'\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [6132]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(/etc/salt/minion.d/grains.conf)}
                          spids: [6135]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 6123]
                )
              ]
              spids: [16777215 6165]
            )
          ]
          spids: [6067]
        )
      spids: [6063 6066]
    )
    (FuncDef
      name: node-docker-opts
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name EXTRA_DOCKER_OPTS>
                                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                                      spids: [6186 6189]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:DOCKER_OPTS)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name DOCKER_OPTS>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [6200 6203]
                                ) (' ') (${ VSub_Name EXTRA_DOCKER_OPTS)
                              )
                            }
                          spids: [6198]
                        )
                      ]
                      spids: [6198]
                    )
                  ]
                  spids: [16777215 6195]
                )
              ]
              spids: [16777215 6211]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name DOCKER_REGISTRY_MIRROR_URL>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [6230 6233]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ('Enable docker registry mirror at: ') 
                          (${ VSub_Name DOCKER_REGISTRY_MIRROR_URL)
                        )
                      }
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:DOCKER_OPTS)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name DOCKER_OPTS>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [6254 6257]
                                ) (' --registry-mirror=') (${ VSub_Name DOCKER_REGISTRY_MIRROR_URL)
                              )
                            }
                          spids: [6252]
                        )
                      ]
                      spids: [6252]
                    )
                  ]
                  spids: [16777215 6239]
                )
              ]
              spids: [16777215 6265]
            )
          ]
          spids: [6176]
        )
      spids: [6170 6175]
    )
    (FuncDef
      name: salt-grains
      body: 
        (BraceGroup
          children: [
            (C {(env-to-grains)} {(DQ (docker_opts))})
            (C {(env-to-grains)} {(DQ (docker_root))})
            (C {(env-to-grains)} {(DQ (kubelet_root))})
            (C {(env-to-grains)} {(DQ (feature_gates))})
          ]
          spids: [6276]
        )
      spids: [6270 6275]
    )
    (FuncDef
      name: configure-salt
      body: 
        (BraceGroup
          children: [
            (C {(mkdir)} {(-p)} {(/etc/salt/minion.d)})
            (C {(salt-run-local)})
            (C {(salt-node-role)})
            (C {(node-docker-opts)})
            (C {(salt-grains)})
            (C {(install-salt)})
            (C {(stop-salt-minion)})
          ]
          spids: [6315]
        )
      spids: [6309 6314]
    )
    (FuncDef
      name: run-salt
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('== Calling Salt =='))})
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:rc) op:Equal rhs:{(0)} spids:[6363])]
              spids: [6361]
            )
            (ForEach
              iter_name: i
              iter_words: [{(Lit_LBrace '{') (0..6) (Lit_RBrace '}')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(salt-call)} {(--retcode-passthrough)} {(--local)} {(state.highstate)})
                        (AndOr
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rc)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [6391]
                                )
                              ]
                              spids: [6391]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rc)
                                  op: Equal
                                  rhs: {($ VSub_QMark '$?')}
                                  spids: [6396]
                                )
                              ]
                              spids: [6396]
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ (${ VSub_Name rc))}
                                      right: {(0)}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                          spids: [16777215 6417]
                        )
                      ]
                      spids: [16777215 6425]
                    )
                  ]
                  spids: [6378 6428]
                )
              spids: [6372 6376]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ('Salt failed to run repeatedly'))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[6437])]
            )
            (ControlFlow
              token: <ControlFlow_Return return>
              arg_word: {(DQ (${ VSub_Name rc))}
            )
          ]
          spids: [6351]
        )
      spids: [6345 6350]
    )
    (FuncDef
      name: run-user-script
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [{(curl-metadata)} {(k8s-user-startup-script)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(DQ (${ VSub_Name INSTALL_DIR) (/k8s-user-script.sh))}
                              spids: [6467]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:user_script)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(cat)} {(DQ (${ VSub_Name INSTALL_DIR) (/k8s-user-script.sh))})
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [6481 6490]
                              )
                            }
                          spids: [6480]
                        )
                      ]
                      spids: [6480]
                    )
                  ]
                  spids: [16777215 6477]
                )
              ]
              spids: [16777215 6493]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name user_script>
                                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                        spids: [6504 6507]
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(chmod)} {(u) (Lit_Other '+') (x)} 
                      {(DQ (${ VSub_Name INSTALL_DIR) (/k8s-user-script.sh))}
                    )
                    (C {(echo)} {(DQ ('== running user startup script =='))})
                    (C {(DQ (${ VSub_Name INSTALL_DIR) (/k8s-user-script.sh))})
                  ]
                  spids: [16777215 6512]
                )
              ]
              spids: [16777215 6544]
            )
          ]
          spids: [6458]
        )
      spids: [6452 6457]
    )
    (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: [6554 6557]
                            )
                          )
                        }
                      right: {(DQ (true))}
                    )
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(echo)} {(DQ ('Support for debian master has been removed'))}) (C {(exit)} {(1)})]
          spids: [16777215 6569]
        )
      ]
      spids: [16777215 6583]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(DQ (${ VSub_Name is_push))}))
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('== kube-up node config starting =='))})
            (C {(set-broken-motd)})
            (C {(config-ip-firewall)})
            (C {(ensure-basic-networking)})
            (C {(fix-apt-sources)})
            (C {(ensure-install-dir)})
            (C {(ensure-packages)})
            (C {(set-kube-env)})
            (C {(auto-upgrade)})
            (C {(ensure-local-disks)})
            (C {(create-node-pki)})
            (C {(create-salt-pillar)})
            (C {(create-salt-kubelet-auth)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_PROXY_DAEMONSET>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [6652 6655]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(create-salt-kubeproxy-auth)})]
                  spids: [16777215 6667]
                )
              ]
              spids: [16777215 6673]
            )
            (C {(download-release)})
            (C {(configure-salt)})
            (C {(remove-docker-artifacts)})
            (C {(run-salt)})
            (C {(reset-motd)})
            (C {(run-user-script)})
            (C {(echo)} {(DQ ('== kube-up node config done =='))})
          ]
          spids: [16777215 6601]
        )
      ]
      else_action: [
        (C {(echo)} {(DQ ('== kube-push node config starting =='))})
        (C {(ensure-basic-networking)})
        (C {(ensure-install-dir)})
        (C {(set-kube-env)})
        (C {(create-salt-pillar)})
        (C {(download-release)})
        (C {(reset-motd)})
        (C {(run-salt)})
        (C {(echo)} {(DQ ('== kube-push node config done =='))})
      ]
      spids: [6701 6738]
    )
  ]
)