(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CC) op:Equal rhs:{(gcc)} spids:[191])]
      spids: [191]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:STATIC) op:Equal rhs:{(-static)} spids:[194])]
      spids: [194]
    )
    (C {(trap)} {(SQ <'rm -f conftest.c'>)} {(INT)} {(HUP)} {(TERM)})
    (C {(rm)} {(-f)} {(findssl.log)})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(conftest.c)} spids:[237])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('#include <stdio.h>\n') ('int main(){printf(') (Right_DoubleQuote '"') ('0x%08xL') 
                (Lit_Other '\\') (n) (Right_DoubleQuote '"') (', SSLeay());}\n')
              )
            }
          do_expansion: True
          here_end: EOD
          was_filled: True
          spids: [240]
        )
      ]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DEFAULT_LIBPATH)
          op: Equal
          rhs: {(/usr/lib) (Lit_Other ':') (/usr/local/lib)}
          spids: [262]
        )
      ]
      spids: [262]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LIBPATH)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name LIBPATH>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonEquals
                    arg_word: {($ VSub_Name '$DEFAULT_LIBPATH')}
                  )
                spids: [268 272]
              )
            }
          spids: [267]
        )
      ]
      spids: [267]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LD_LIBRARY_PATH)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name LD_LIBRARY_PATH>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonEquals
                    arg_word: {($ VSub_Name '$DEFAULT_LIBPATH')}
                  )
                spids: [275 279]
              )
            }
          spids: [274]
        )
      ]
      spids: [274]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LIBRARY_PATH)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name LIBRARY_PATH>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonEquals
                    arg_word: {($ VSub_Name '$DEFAULT_LIBPATH')}
                  )
                spids: [282 286]
              )
            }
          spids: [281]
        )
      ]
      spids: [281]
    )
    (C {(export)} {(LIBPATH)} {(LD_LIBRARY_PATH)} {(LIBRARY_PATH)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(which)} {(ls)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [306]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 2
                      arg_word: {(/dev/null)}
                      spids: [309]
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(Lit_Other ':')} {(which)} {(is)} {(defined)})]
          spids: [16777215 313]
        )
      ]
      else_action: [
        (FuncDef
          name: which
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:saveIFS)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$IFS'))}
                      spids: [335]
                    )
                  ]
                  spids: [335]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:IFS)
                      op: Equal
                      rhs: {(Lit_Other ':')}
                      spids: [341]
                    )
                  ]
                  spids: [341]
                )
                (ForEach
                  iter_name: p
                  iter_words: [{($ VSub_Name '$PATH')}]
                  do_arg_iter: False
                  body: 
                    (DoGroup
                      children: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(test)} {(-x)} {(DQ ($ VSub_Name '$p') (/) ($ VSub_Number '$1'))} 
                                      {(-a)} {(-f)} {(DQ ($ VSub_Name '$p') (/) ($ VSub_Number '$1'))}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:IFS)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$saveIFS'))}
                                      spids: [383]
                                    )
                                  ]
                                  spids: [383]
                                )
                                (C {(echo)} {(DQ ($ VSub_Name '$p') (/) ($ VSub_Number '$1'))})
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(0)}
                                )
                              ]
                              spids: [16777215 380]
                            )
                          ]
                          spids: [16777215 403]
                        )
                      ]
                      spids: [354 406]
                    )
                  spids: [350 352]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:IFS)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$saveIFS'))}
                      spids: [409]
                    )
                  ]
                  spids: [409]
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              spids: [332]
            )
          spids: [327 331]
        )
      ]
      spids: [324 422]
    )
    (C {(echo)} {(Searching)} {(KW_For for)} {(OpenSSL)} {(header)} {(files.)})
    (If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} {(-x)} 
              {
                (DQ 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(which)} {(locate)})])
                    left_token: <Left_Backtick '`'>
                    spids: [453 457]
                  )
                )
              } {(Lit_Other ']')}
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:headers)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(locate)} {(opensslv.h)})])
                        left_token: <Left_Backtick '`'>
                        spids: [466 470]
                      )
                    }
                  spids: [465]
                )
              ]
              spids: [465]
            )
          ]
          spids: [16777215 462]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:headers)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (SimpleCommand
                            words: [{(find)} {(/)} {(-name)} {(opensslv.h)} {(-print)}]
                            redirects: [
                              (Redir
                                op_id: Redir_Great
                                fd: 2
                                arg_word: {(/dev/null)}
                                spids: [487]
                              )
                            ]
                          )
                        ]
                      )
                    left_token: <Left_Backtick '`'>
                    spids: [476 489]
                  )
                }
              spids: [475]
            )
          ]
          spids: [475]
        )
      ]
      spids: [472 491]
    )
    (ForEach
      iter_name: header
      iter_words: [{($ VSub_Name '$headers')}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ver)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(awk)} {(SQ <'/OPENSSL_VERSION_NUMBER/{printf \\$3}'>)} 
                                {($ VSub_Name '$header')}
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [506 514]
                      )
                    }
                  spids: [505]
                )
              ]
              spids: [505]
            )
            (C {(echo)} {(DQ ($ VSub_Name '$ver') (' ') ($ VSub_Name '$header'))})
          ]
          spids: [502 525]
        )
      spids: [499 16777215]
    )
    (C {(echo)})
    (C {(echo)} {(Searching)} {(KW_For for)} {(OpenSSL)} {(shared)} {(library)} {(files.)})
    (If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} {(-x)} 
              {
                (DQ 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(which)} {(locate)})])
                    left_token: <Left_Backtick '`'>
                    spids: [563 567]
                  )
                )
              } {(Lit_Other ']')}
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libraries)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(locate)} {(libcrypto.s)})])
                        left_token: <Left_Backtick '`'>
                        spids: [576 580]
                      )
                    }
                  spids: [575]
                )
              ]
              spids: [575]
            )
          ]
          spids: [16777215 572]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:libraries)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (SimpleCommand
                            words: [{(find)} {(/)} {(-name)} {(SQ <'libcrypto.s*'>)} {(-print)}]
                            redirects: [
                              (Redir
                                op_id: Redir_Great
                                fd: 2
                                arg_word: {(/dev/null)}
                                spids: [599]
                              )
                            ]
                          )
                        ]
                      )
                    left_token: <Left_Backtick '`'>
                    spids: [586 601]
                  )
                }
              spids: [585]
            )
          ]
          spids: [585]
        )
      ]
      spids: [582 603]
    )
    (ForEach
      iter_name: lib
      iter_words: [{($ VSub_Name '$libraries')}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Subshell
              child: 
                (CommandList
                  children: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ ('Trying libcrypto ') ($ VSub_Name '$lib'))}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {(findssl.log)}
                          spids: [625]
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dir)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(dirname)} {($ VSub_Name '$lib')})]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [630 634]
                              )
                            }
                          spids: [629]
                        )
                      ]
                      spids: [629]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:LIBPATH)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$dir') (':') ($ VSub_Name '$LIBPATH'))}
                          spids: [637]
                        )
                      ]
                      spids: [637]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:LD_LIBRARY_PATH)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$dir') (':') ($ VSub_Name '$LIBPATH'))}
                          spids: [645]
                        )
                      ]
                      spids: [645]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:LIBRARY_PATH)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$dir') (':') ($ VSub_Name '$LIBPATH'))}
                          spids: [653]
                        )
                      ]
                      spids: [653]
                    )
                    (C {(export)} {(LIBPATH)} {(LD_LIBRARY_PATH)} {(LIBRARY_PATH)})
                    (SimpleCommand
                      words: [
                        {(${ VSub_Name CC)}
                        {(-o)}
                        {(conftest)}
                        {(conftest.c)}
                        {($ VSub_Name '$lib')}
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: 2
                          arg_word: {(findssl.log)}
                          spids: [682]
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [(C {(Lit_Other '[')} {(-x)} {(./conftest)} {(Lit_Other ']')})]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ver)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [{(./conftest)}]
                                                redirects: [
                                                  (Redir
                                                    op_id: Redir_Great
                                                    fd: 2
                                                    arg_word: {(/dev/null)}
                                                    spids: [704]
                                                  )
                                                ]
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [701 706]
                                      )
                                    }
                                  spids: [700]
                                )
                              ]
                              spids: [700]
                            )
                            (C {(rm)} {(-f)} {(./conftest)})
                            (C {(echo)} {(DQ ($ VSub_Name '$ver') (' ') ($ VSub_Name '$lib'))})
                          ]
                          spids: [16777215 697]
                        )
                      ]
                      spids: [16777215 725]
                    )
                  ]
                )
              spids: [617 726]
            )
          ]
          spids: [614 728]
        )
      spids: [611 16777215]
    )
    (C {(echo)})
    (C {(echo)} {(Searching)} {(KW_For for)} {(OpenSSL)} {(static)} {(library)} {(files.)})
    (If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} {(-x)} 
              {
                (DQ 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(which)} {(locate)})])
                    left_token: <Left_Backtick '`'>
                    spids: [763 767]
                  )
                )
              } {(Lit_Other ']')}
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libraries)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(locate)} {(libcrypto.a)})])
                        left_token: <Left_Backtick '`'>
                        spids: [776 780]
                      )
                    }
                  spids: [775]
                )
              ]
              spids: [775]
            )
          ]
          spids: [16777215 772]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:libraries)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (SimpleCommand
                            words: [{(find)} {(/)} {(-name)} {(libcrypto.a)} {(-print)}]
                            redirects: [
                              (Redir
                                op_id: Redir_Great
                                fd: 2
                                arg_word: {(/dev/null)}
                                spids: [797]
                              )
                            ]
                          )
                        ]
                      )
                    left_token: <Left_Backtick '`'>
                    spids: [786 799]
                  )
                }
              spids: [785]
            )
          ]
          spids: [785]
        )
      ]
      spids: [782 801]
    )
    (ForEach
      iter_name: lib
      iter_words: [{($ VSub_Name '$libraries')}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libdir)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(dirname)} {($ VSub_Name '$lib')})])
                        left_token: <Left_Backtick '`'>
                        spids: [816 820]
                      )
                    }
                  spids: [815]
                )
              ]
              spids: [815]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ('Trying libcrypto ') ($ VSub_Name '$lib'))}]
              redirects: [(Redir op_id:Redir_DGreat fd:16777215 arg_word:{(findssl.log)} spids:[830])]
            )
            (SimpleCommand
              words: [
                {(${ VSub_Name CC)}
                {(${ VSub_Name STATIC)}
                {(-o)}
                {(conftest)}
                {(conftest.c)}
                {(-L) (${ VSub_Name libdir)}
                {(-lcrypto)}
              ]
              redirects: [(Redir op_id:Redir_DGreat fd:2 arg_word:{(findssl.log)} spids:[855])]
            )
            (If
              arms: [
                (if_arm
                  cond: [(C {(Lit_Other '[')} {(-x)} {(./conftest)} {(Lit_Other ']')})]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ver)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (SimpleCommand
                                        words: [{(./conftest)}]
                                        redirects: [
                                          (Redir
                                            op_id: Redir_Great
                                            fd: 2
                                            arg_word: {(/dev/null)}
                                            spids: [877]
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [874 879]
                              )
                            }
                          spids: [873]
                        )
                      ]
                      spids: [873]
                    )
                    (C {(rm)} {(-f)} {(./conftest)})
                    (C {(echo)} {(DQ ($ VSub_Name '$ver') (' ') ($ VSub_Name '$lib'))})
                  ]
                  spids: [16777215 870]
                )
              ]
              spids: [16777215 898]
            )
          ]
          spids: [812 900]
        )
      spids: [809 16777215]
    )
    (C {(rm)} {(-f)} {(conftest.c)})
  ]
)