# Python Middleware
if (type == exact) {
if (type != exact) {
   setupRequired(utils -j g36f3e0efcb+4507af2415)
   setupRequired(sconsUtils -j gc8c338059c)
   setupRequired(sphinxutils -j g44fe3e915d+d801c9999e)
   setupRequired(daf_butler -j g275098e6aa+6432f508ed)
   setupRequired(sphgeom -j gdcc65144bf+d801c9999e)
   setupRequired(resources -j g60c6fdcdcd+10496c9515)
   setupRequired(pipe_base -j g954f02917a+881233c0c0)
   setupRequired(pex_config -j ge80df9fc40+31cd7ad5c8)
   setupOptional(daf_base -j g8ea07a8fe4+bf25b92ca5)
   setupRequired(cpputils -j g87389fa792+0bb42a27e1)
   setupRequired(base -j g53246c7159+d801c9999e)
   setupRequired(pex_exceptions -j g786e29fd12+76ce5f0d11)
   setupRequired(astro_metadata_translator -j g7e77d5aedb+31cd7ad5c8)
   setupRequired(afw -j g3a5ebb7d8a+5bad596a60)
   setupRequired(geom -j g19811a7679+e39e0c0036)
   setupRequired(log -j geaed405ab2+10496c9515)
   setupRequired(astshim -j gf5dcc679e7+7aca86229d)
}
} else {
   if (type == exact) {
      setupRequired(utils           -j g36f3e0efcb+4507af2415)
      setupRequired(sconsUtils      -j gc8c338059c)
      setupRequired(sphinxutils     -j g44fe3e915d+d801c9999e)
      setupRequired(daf_butler      -j g275098e6aa+6432f508ed)
      setupRequired(sphgeom         -j gdcc65144bf+d801c9999e)
      setupRequired(resources       -j g60c6fdcdcd+10496c9515)
      setupRequired(pipe_base       -j g954f02917a+881233c0c0)
      setupRequired(pex_config      -j ge80df9fc40+31cd7ad5c8)
      setupOptional(daf_base        -j g8ea07a8fe4+bf25b92ca5)
      setupRequired(cpputils        -j g87389fa792+0bb42a27e1)
      setupRequired(base            -j g53246c7159+d801c9999e)
      setupRequired(pex_exceptions  -j g786e29fd12+76ce5f0d11)
      setupRequired(astro_metadata_translator -j g7e77d5aedb+31cd7ad5c8)
      setupRequired(afw             -j g3a5ebb7d8a+5bad596a60)
      setupRequired(geom            -j g19811a7679+e39e0c0036)
      setupRequired(log             -j geaed405ab2+10496c9515)
      setupRequired(astshim         -j gf5dcc679e7+7aca86229d)
   } else {
      setupRequired(utils g36f3e0efcb+4507af2415 [>= g36f3e0efcb+4507af2415])
      setupRequired(daf_butler g275098e6aa+6432f508ed [>= g275098e6aa+6432f508ed])
      setupRequired(pipe_base g954f02917a+881233c0c0 [>= g954f02917a+881233c0c0])
      setupRequired(resources g60c6fdcdcd+10496c9515 [>= g60c6fdcdcd+10496c9515])
      setupRequired(astro_metadata_translator g7e77d5aedb+31cd7ad5c8 [>= g7e77d5aedb+31cd7ad5c8])
      setupRequired(pex_config ge80df9fc40+31cd7ad5c8 [>= ge80df9fc40+31cd7ad5c8])
      
      # LSST C++.
      setupRequired(daf_base g8ea07a8fe4+bf25b92ca5 [>= g8ea07a8fe4+bf25b92ca5])
      setupRequired(afw g3a5ebb7d8a+5bad596a60 [>= g3a5ebb7d8a+5bad596a60])
      setupRequired(geom g19811a7679+e39e0c0036 [>= g19811a7679+e39e0c0036])
      setupRequired(pex_exceptions g786e29fd12+76ce5f0d11 [>= g786e29fd12+76ce5f0d11])
      setupOptional(log geaed405ab2+10496c9515 [>= geaed405ab2+10496c9515])
   }
}
envPrepend(PYTHONPATH, ${PRODUCT_DIR}/python)
envPrepend(PATH, ${PRODUCT_DIR}/bin)
