(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NUM_NODES)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name NUM_NODES>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(3)})
                spids: [52 56]
              )
            }
          spids: [51]
        )
      ]
      spids: [51]
    )
    (C {(export)} {(NUM_NODES)})
    (C {(export)} {(Lit_VarLike 'MASTER_IP=') (DQ (192.168.10.1))})
    (C {(export)} {(Lit_VarLike 'INSTANCE_PREFIX=') (kubernetes)})
    (C {(export)} {(Lit_VarLike 'MASTER_NAME=') (DQ (${ VSub_Name INSTANCE_PREFIX) (-master))})
    (C {(export)} {(Lit_VarLike 'NODE_IP_BASE=') (DQ (192.168.10.))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NODE_CONTAINER_SUBNET_BASE)
          op: Equal
          rhs: {(DQ (10.10))}
          spids: [100]
        )
      ]
      spids: [100]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MASTER_CONTAINER_NETMASK)
          op: Equal
          rhs: {(DQ (255.255.255.0))}
          spids: [105]
        )
      ]
      spids: [105]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MASTER_CONTAINER_ADDR)
          op: Equal
          rhs: {(DQ (${ VSub_Name NODE_CONTAINER_SUBNET_BASE) (.0.1))}
          spids: [110]
        )
      ]
      spids: [110]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MASTER_CONTAINER_SUBNET)
          op: Equal
          rhs: {(DQ (${ VSub_Name NODE_CONTAINER_SUBNET_BASE) (.0.1/24))}
          spids: [118]
        )
      ]
      spids: [118]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CONTAINER_SUBNET)
          op: Equal
          rhs: {(DQ (${ VSub_Name NODE_CONTAINER_SUBNET_BASE) (.0.0/16))}
          spids: [126]
        )
      ]
      spids: [126]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_gt
                      left: {(DQ ($ VSub_Name '$NUM_NODES'))}
                      right: {(253)}
                    )
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} 
              {
                (DQ ('ERROR: Because of how IPs are allocated in ') (${ VSub_Name BASH_SOURCE) 
                  (', you cannot create more than 253 nodes')
                )
              }
            )
            (C {(exit)} {(1)})
          ]
          spids: [16777215 149]
        )
      ]
      spids: [16777215 167]
    )
    (ForExpr
      init: (BinaryAssign op_id:Arith_Equal left:(LhsName name:i) right:(ArithWord w:{(Lit_Digits 0)}))
      cond: 
        (ArithBinary
          op_id: Arith_Less
          left: (ArithVarRef name:i)
          right: (ArithVarRef name:NUM_NODES)
        )
      update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
      body: 
        (DoGroup
          children: [
            (C 
              {(NODE_IPS) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') 
                (DQ (${ VSub_Name NODE_IP_BASE) 
                  (ArithSubPart
                    anode: 
                      (ArithBinary
                        op_id: Arith_Plus
                        left: (ArithVarRef name:i)
                        right: (ArithWord w:{(Lit_Digits 2)})
                      )
                    spids: [201 206]
                  )
                )
              }
            )
            (C 
              {(NODE_NAMES) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') 
                (DQ (${ VSub_Name INSTANCE_PREFIX) (-node-) 
                  (ArithSubPart
                    anode: 
                      (ArithBinary
                        op_id: Arith_Plus
                        left: (ArithVarRef name:i)
                        right: (ArithWord w:{(Lit_Digits 1)})
                      )
                    spids: [220 225]
                  )
                )
              }
            )
            (C 
              {(NODE_CONTAINER_SUBNETS) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                (Lit_Other '=') 
                (DQ (${ VSub_Name NODE_CONTAINER_SUBNET_BASE) (.) 
                  (ArithSubPart
                    anode: 
                      (ArithBinary
                        op_id: Arith_Plus
                        left: (ArithVarRef name:i)
                        right: (ArithWord w:{(Lit_Digits 1)})
                      )
                    spids: [239 244]
                  ) (.1/24)
                )
              }
            )
            (C 
              {(NODE_CONTAINER_ADDRS) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                (Lit_Other '=') 
                (DQ (${ VSub_Name NODE_CONTAINER_SUBNET_BASE) (.) 
                  (ArithSubPart
                    anode: 
                      (ArithBinary
                        op_id: Arith_Plus
                        left: (ArithVarRef name:i)
                        right: (ArithWord w:{(Lit_Digits 1)})
                      )
                    spids: [259 264]
                  ) (.1)
                )
              }
            )
            (C 
              {(NODE_CONTAINER_NETMASKS) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                (Lit_Other '=') (DQ (255.255.255.0))
              }
            )
          ]
          spids: [189 278]
        )
    )
    (C 
      {(NODE_CONTAINER_SUBNETS) (Lit_Other '[') ($ VSub_Name '$NUM_NODES') (Lit_Other ']') 
        (Lit_Other '=') ($ VSub_Name '$MASTER_CONTAINER_SUBNET')
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SERVICE_CLUSTER_IP_RANGE)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name SERVICE_CLUSTER_IP_RANGE>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_ColonHyphen
                      arg_word: {(10.11.0.0) (Lit_Slash /) (16)}
                    )
                  spids: [290 296]
                )
              )
            }
          spids: [288]
        )
      ]
      spids: [288]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ENABLE_NODE_LOGGING) op:Equal rhs:{(false)} spids:[307])]
      spids: [307]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LOGGING_DESTINATION)
          op: Equal
          rhs: {(elasticsearch)}
          spids: [310]
        )
      ]
      spids: [310]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ENABLE_CLUSTER_DNS)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name KUBE_ENABLE_CLUSTER_DNS>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)})
                  spids: [319 323]
                )
              )
            }
          spids: [317]
        )
      ]
      spids: [317]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DNS_SERVER_IP)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name SERVICE_CLUSTER_IP_RANGE>
                  suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{('.*')})
                  spids: [328 332]
                ) (.254)
              )
            }
          spids: [326]
        )
      ]
      spids: [326]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DNS_DOMAIN)
          op: Equal
          rhs: {(DQ (cluster.local))}
          spids: [336]
        )
      ]
      spids: [336]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ENABLE_CLUSTER_REGISTRY)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name KUBE_ENABLE_CLUSTER_REGISTRY>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)})
                  spids: [347 351]
                )
              )
            }
          spids: [345]
        )
      ]
      spids: [345]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ENABLE_DNS_HORIZONTAL_AUTOSCALER)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name KUBE_ENABLE_DNS_HORIZONTAL_AUTOSCALER>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)})
                  spids: [360 364]
                )
              )
            }
          spids: [358]
        )
      ]
      spids: [358]
    )
    (Pipeline
      children: [
        (SimpleCommand
          words: [{(sed)} {(-f)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/addons/dns/transforms2sed.sed))}]
          redirects: [
            (Redir
              op_id: Redir_Less
              fd: 16777215
              arg_word: {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/addons/dns/kube-dns.yaml.base))}
              spids: [382]
            )
          ]
        )
        (SimpleCommand
          words: [
            {(sed)}
            {(-f)}
            {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/libvirt-coreos/forShellEval.sed))}
          ]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/libvirt-coreos/kube-dns.yaml))}
              spids: [404]
            )
          ]
        )
      ]
      negated: False
    )
    (SimpleCommand
      words: [
        {(sed)}
        {(-f)}
        {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/libvirt-coreos/forEmptyDirRegistry.sed))}
      ]
      redirects: [
        (Redir
          op_id: Redir_Less
          fd: 16777215
          arg_word: {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/addons/registry/registry-rc.yaml))}
          spids: [429]
        )
        (Redir
          op_id: Redir_Great
          fd: 16777215
          arg_word: {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/libvirt-coreos/registry-rc.yaml))}
          spids: [438]
        )
      ]
    )
  ]
)