(command.CommandList
  children: [
    (C {(set)} {(-e)})
    (C {(mkdir)} {(-p)} 
      {
        (DQ 
          (word_part.CommandSubPart
            command_list: 
              (command.CommandList
                children: [(C {(dirname)} {(DQ ($ VSub_Number '$0'))})]
              )
            left_token: <Left_CommandSub '$('>
          )
        ) (/../deps/scratch)
      }
    )
    (C {(cd)} 
      {
        (DQ 
          (word_part.CommandSubPart
            command_list: 
              (command.CommandList
                children: [(C {(dirname)} {(DQ ($ VSub_Number '$0'))})]
              )
            left_token: <Left_CommandSub '$('>
          )
        ) (/../deps/scratch)
      }
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(lhs_expr.LhsName name:CMAKE_VERSION_MAJOR) op:Equal rhs:{(3)})]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(lhs_expr.LhsName name:CMAKE_VERSION_MINOR) op:Equal rhs:{(7)})]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(lhs_expr.LhsName name:CMAKE_VERSION_PATCH) op:Equal rhs:{(1)})]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:CMAKE_VERSION_MAJMIN)
          op: Equal
          rhs: 
            {($ VSub_DollarName '$CMAKE_VERSION_MAJOR') (.) ($ VSub_DollarName '$CMAKE_VERSION_MINOR')}
        )
      ]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:CMAKE_VERSION)
          op: Equal
          rhs: 
            {($ VSub_DollarName '$CMAKE_VERSION_MAJMIN') (.) 
              ($ VSub_DollarName '$CMAKE_VERSION_PATCH')
            }
        )
      ]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:CMAKE_SHA256_DARWIN)
          op: Equal
          rhs: {(1851d1448964893fdc5a8c05863326119f397a3790e0c84c40b83499c7960267)}
        )
      ]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:CMAKE_SHA256_LINUX)
          op: Equal
          rhs: {(7b4b7a1d9f314f45722899c0521c261e4bfab4a6b532609e37fef391da6bade2)}
        )
      ]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:PLATFORM)
          op: Equal
          rhs: 
            {
              (DQ 
                (word_part.CommandSubPart
                  command_list: (command.CommandList children:[(C {(uname)})])
                  left_token: <Left_CommandSub '$('>
                ) (-) 
                (word_part.CommandSubPart
                  command_list: (command.CommandList children:[(C {(uname)} {(-m)})])
                  left_token: <Left_CommandSub '$('>
                )
              )
            }
        )
      ]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:FULLNAME)
          op: Equal
          rhs: {(cmake-) ($ VSub_DollarName '$CMAKE_VERSION') (-) ($ VSub_DollarName '$PLATFORM')}
        )
      ]
    )
    (command.Case
      to_match: {($ VSub_DollarName '$PLATFORM')}
      arms: [
        (case_arm
          pat_list: [{(Darwin-x86_64)}]
          action: [
            (C {(../tools/jldownload)} 
              {(https) (Lit_Other ':') (//cmake.org/files/v) 
                ($ VSub_DollarName '$CMAKE_VERSION_MAJMIN') (/) ($ VSub_DollarName '$FULLNAME') (.tar.gz)
              }
            )
            (command.Pipeline
              children: [
                (C {(echo)} 
                  {
                    (DQ ($ VSub_DollarName '$CMAKE_SHA256_DARWIN') ('  ') 
                      ($ VSub_DollarName '$FULLNAME') (.tar.gz)
                    )
                  }
                )
                (C {(shasum)} {(-a)} {(256)} {(-c)} {(-)})
              ]
              negated: F
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:CMAKE_EXTRACTED_PATH)
                  op: Equal
                  rhs: {($ VSub_DollarName '$FULLNAME') (/CMake.app/Contents/bin/cmake)}
                )
              ]
            )
          ]
        )
        (case_arm
          pat_list: [{(Linux-x86_64)}]
          action: [
            (C {(../tools/jldownload)} 
              {(https) (Lit_Other ':') (//cmake.org/files/v) 
                ($ VSub_DollarName '$CMAKE_VERSION_MAJMIN') (/) ($ VSub_DollarName '$FULLNAME') (.tar.gz)
              }
            )
            (command.Pipeline
              children: [
                (C {(echo)} 
                  {
                    (DQ ($ VSub_DollarName '$CMAKE_SHA256_LINUX') ('  ') 
                      ($ VSub_DollarName '$FULLNAME') (.tar.gz)
                    )
                  }
                )
                (C {(sha256sum)} {(-c)} {(-)})
              ]
              negated: F
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:CMAKE_EXTRACTED_PATH)
                  op: Equal
                  rhs: {($ VSub_DollarName '$FULLNAME') (/bin/cmake)}
                )
              ]
            )
          ]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (command.SimpleCommand
              words: [
                {(echo)}
                {(DQ ('This script only supports x86_64 Mac and Linux. For other platforms,'))}
              ]
              redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (command.SimpleCommand
              words: [{(echo)} {(DQ ('get cmake from your package manager or compile it from source.'))}]
              redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
        )
      ]
    )
    (C {(tar)} {(-xzf)} {($ VSub_DollarName '$FULLNAME') (.tar.gz)})
    (command.SimpleCommand
      words: [
        {(echo)}
        {(DQ ('CMAKE = ') ($ VSub_DollarName '$PWD') (/) ($ VSub_DollarName '$CMAKE_EXTRACTED_PATH'))}
      ]
      redirects: [(redir.Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(../../Make.user)})]
    )
  ]
)