(CommandList
  children: [
    (C {(set)} {(-euo)} {(pipefail)})
    (While
      cond: [
        (Sentence
          child: (C {(Lit_Other "[")} {(KW_Bang "!")} {(-f)} {(WORKSPACE)} {(Lit_Other "]")})
          terminator: <Op_Semi ";">
        )
      ]
      body: 
        (DoGroup
          children: [
            (C {(cd)} {(..)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other "[")} {(DQ (/))} {(Lit_Other "=")} 
                      {
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(pwd)})])
                          left_token: <Left_CommandSub "$(">
                          spids: [94 96]
                        )
                      } {(Lit_Other "]")}
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ ("WORKSPACE not found."))}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[110])]
                    )
                    (C {(exit)} {(1)})
                  ]
                  spids: [-1 101]
                )
              ]
              spids: [-1 119]
            )
          ]
          spids: [76 121]
        )
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name ANDROID_BUILD_TOOLS_VERSION>
          suffix_op: (StringUnary op_id:VTest_ColonEquals arg_word:{(DQ (21.1.1))})
          spids: [126 132]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name ANDROID_API_LEVEL>
          suffix_op: (StringUnary op_id:VTest_ColonEquals arg_word:{(DQ (19))})
          spids: [136 142]
        )
      }
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(-n)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name ANDROID_HOME>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                        spids: [152 155]
                      )
                    )
                  } {(Lit_Other "]")}
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("def android_sdk():\n") ("  native.android_sdk_repository(\n") 
                        ("    name = ") (Right_DoubleQuote "\"") (androidsdk) (Right_DoubleQuote "\"") (",\n") ("    path = ") 
                        (Right_DoubleQuote "\"") (${ VSub_Name ANDROID_HOME) (Right_DoubleQuote "\"") (",\n") 
                        ("    # Available versions are under /path/to/sdk/build-tools/.\n") ("    build_tools_version = ") (Right_DoubleQuote "\"") (${ VSub_Name ANDROID_BUILD_TOOLS_VERSION) 
                        (Right_DoubleQuote "\"") (",\n") ("    # Available versions are under /path/to/sdk/platforms/.\n") ("    api_level = ") 
                        (${ VSub_Name ANDROID_API_LEVEL) (",\n") ("  )\n") ("  native.bind(name = ") (Right_DoubleQuote "\"") (android_sdk_for_testing) 
                        (Right_DoubleQuote "\"") (", actual = ") (Right_DoubleQuote "\"") ("@androidsdk//:files") (Right_DoubleQuote "\"") (")\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [166]
                )
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(WORKSPACE.user.bzl)}
                  spids: [169]
                )
              ]
            )
          ]
          spids: [-1 161]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (HereDoc
              op_id: Redir_DLess
              fd: -1
              body: 
                {
                  (DQ ("def android_sdk():\n") ("    native.bind(name = ") (Right_DoubleQuote "\"") 
                    (android_sdk_for_testing) (Right_DoubleQuote "\"") (", actual = ") (Right_DoubleQuote "\"") ("//:dummy") (Right_DoubleQuote "\"") 
                    (")\n")
                  )
                }
              do_expansion: True
              here_end: EOF
              was_filled: True
              spids: [215]
            )
            (Redir op_id:Redir_Great fd:-1 arg_word:{(WORKSPACE.user.bzl)} spids:[218])
          ]
        )
      ]
      spids: [210 231]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(-n)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name ANDROID_NDK>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                        spids: [241 244]
                      )
                    )
                  } {(Lit_Other "]")}
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("def android_ndk():\n") ("  native.android_ndk_repository(\n") 
                        ("    name = ") (Right_DoubleQuote "\"") (androidndk) (Right_DoubleQuote "\"") (",\n") ("    path = ") 
                        (Right_DoubleQuote "\"") (${ VSub_Name ANDROID_NDK) (Right_DoubleQuote "\"") (",\n") ("    api_level = ") 
                        (${ VSub_Name ANDROID_API_LEVEL) (",\n") ("  )\n") ("  native.bind(name = ") (Right_DoubleQuote "\"") (android_ndk_for_testing) 
                        (Right_DoubleQuote "\"") (", actual = ") (Right_DoubleQuote "\"") ("@androidndk//:files") (Right_DoubleQuote "\"") (")\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [255]
                )
                (Redir
                  op_id: Redir_DGreat
                  fd: -1
                  arg_word: {(WORKSPACE.user.bzl)}
                  spids: [258]
                )
              ]
            )
          ]
          spids: [-1 250]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (HereDoc
              op_id: Redir_DLess
              fd: -1
              body: 
                {
                  (DQ ("def android_ndk():\n") ("    native.bind(name = ") (Right_DoubleQuote "\"") 
                    (android_ndk_for_testing) (Right_DoubleQuote "\"") (", actual = ") (Right_DoubleQuote "\"") ("//:dummy") (Right_DoubleQuote "\"") 
                    (")\n")
                  )
                }
              do_expansion: True
              here_end: EOF
              was_filled: True
              spids: [295]
            )
            (Redir op_id:Redir_DGreat fd:-1 arg_word:{(WORKSPACE.user.bzl)} spids:[298])
          ]
        )
      ]
      spids: [290 311]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {(DQ ("def android_repositories():\n") ("  android_sdk()\n") ("  android_ndk()\n"))}
          do_expansion: True
          here_end: EOF
          was_filled: True
          spids: [316]
        )
        (Redir op_id:Redir_DGreat fd:-1 arg_word:{(WORKSPACE.user.bzl)} spids:[319])
      ]
    )
  ]
)