(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 '$('>
            spids: [25 31]
          )
        ) (/../deps/scratch)
      }
    )
    (C {(cd)} 
      {
        (DQ 
          (word_part.CommandSubPart
            command_list: 
              (command.CommandList
                children: [(C {(dirname)} {(DQ ($ VSub_Number '$0'))})]
              )
            left_token: <Left_CommandSub '$('>
            spids: [38 44]
          )
        ) (/../deps/scratch)
      }
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:CMAKE_VERSION_MAJOR spids:[49])
          op: Equal
          rhs: {(3)}
          spids: [49]
        )
      ]
      spids: [49]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:CMAKE_VERSION_MINOR spids:[52])
          op: Equal
          rhs: {(7)}
          spids: [52]
        )
      ]
      spids: [52]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:CMAKE_VERSION_PATCH spids:[55])
          op: Equal
          rhs: {(1)}
          spids: [55]
        )
      ]
      spids: [55]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:CMAKE_VERSION_MAJMIN spids:[58])
          op: Equal
          rhs: 
            {($ VSub_DollarName '$CMAKE_VERSION_MAJOR') (.) 
              ($ VSub_DollarName '$CMAKE_VERSION_MINOR')
            }
          spids: [58]
        )
      ]
      spids: [58]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:CMAKE_VERSION spids:[63])
          op: Equal
          rhs: 
            {($ VSub_DollarName '$CMAKE_VERSION_MAJMIN') (.) 
              ($ VSub_DollarName '$CMAKE_VERSION_PATCH')
            }
          spids: [63]
        )
      ]
      spids: [63]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:CMAKE_SHA256_DARWIN spids:[78])
          op: Equal
          rhs: {(1851d1448964893fdc5a8c05863326119f397a3790e0c84c40b83499c7960267)}
          spids: [78]
        )
      ]
      spids: [78]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:CMAKE_SHA256_LINUX spids:[81])
          op: Equal
          rhs: {(7b4b7a1d9f314f45722899c0521c261e4bfab4a6b532609e37fef391da6bade2)}
          spids: [81]
        )
      ]
      spids: [81]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:PLATFORM spids:[85])
          op: Equal
          rhs: 
            {
              (DQ 
                (word_part.CommandSubPart
                  command_list: (command.CommandList children:[(C {(uname)})])
                  left_token: <Left_CommandSub '$('>
                  spids: [87 89]
                ) (-) 
                (word_part.CommandSubPart
                  command_list: (command.CommandList children:[(C {(uname)} {(-m)})])
                  left_token: <Left_CommandSub '$('>
                  spids: [91 95]
                )
              )
            }
          spids: [85]
        )
      ]
      spids: [85]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:FULLNAME spids:[98])
          op: Equal
          rhs: {(cmake-) ($ VSub_DollarName '$CMAKE_VERSION') (-) ($ VSub_DollarName '$PLATFORM')}
          spids: [98]
        )
      ]
      spids: [98]
    )
    (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 spids:[148])
                  op: Equal
                  rhs: {($ VSub_DollarName '$FULLNAME') (/CMake.app/Contents/bin/cmake)}
                  spids: [148]
                )
              ]
              spids: [148]
            )
          ]
          spids: [111 112 151 16777215]
        )
        (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 spids:[187])
                  op: Equal
                  rhs: {($ VSub_DollarName '$FULLNAME') (/bin/cmake)}
                  spids: [187]
                )
              ]
              spids: [187]
            )
          ]
          spids: [154 155 190 16777215]
        )
        (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)})
          ]
          spids: [193 194 220 16777215]
        )
      ]
      spids: [104 108 222]
    )
    (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)})]
    )
  ]
)