
if (type == exact) {
if (type != exact) {
   setupRequired(utils -j g8956d74c4f+37c27a6131)
   setupRequired(sconsUtils -j g9e4288ad24)
   setupRequired(sphinxutils -j g52a5f7ac38+afb4790f61)
   setupRequired(verify -j g00d583acbd+13298bc0d3)
   setupRequired(pex_config -j ge80df9fc40+296e528a3c)
   setupOptional(daf_base -j g8ea07a8fe4+14188bbe6c)
   setupRequired(cpputils -j g87389fa792+2df283593c)
   setupRequired(base -j g53246c7159+afb4790f61)
   setupRequired(pex_exceptions -j g786e29fd12+c90741701a)
   setupRequired(resources -j g0ed9cbdc82+692b620dcb)
   setupRequired(daf_butler -j gdcd7429747+aa77171ecc)
   setupRequired(sphgeom -j g04536d8304+afb4790f61)
   setupRequired(pipe_base -j g6cec3c9704+e0b8d0c7be)
   setupRequired(dax_apdb -j gbe40082654+aa0fe4f45b)
   setupRequired(felis -j g47538561f3+cced0a835f)
   setupRequired(sdm_schemas -j g67af733147+afb4790f61)
   setupRequired(afw -j g27eaf4dc65+45adbcf3d0)
   setupRequired(geom -j g19811a7679+c67ce918b9)
   setupRequired(log -j geaed405ab2+692b620dcb)
   setupRequired(astshim -j gf5dcc679e7+dafe91c9d6)
   setupOptional(afwdata -j gda6a35342c)
   setupRequired(verify_metrics -j g8b480f84d9+afb4790f61)
   setupRequired(ap_pipe -j g8195f7d317+10f07b31d8)
   setupRequired(pipe_tasks -j g67866f04bb+19f006acd4)
   setupRequired(coadd_utils -j g89139ef638+4cc183dd6f)
   setupRequired(dustmaps_cachedata -j gbb0a0c949e+afb4790f61)
   setupRequired(images -j gd67227652f+171b5a77d8)
   setupRequired(astro_metadata_translator -j g36c86f07e0+296e528a3c)
   setupOptional(testdata_images -j g029eb89d77)
   setupOptional(obs_base -j g0d66bda83d+e145df49fa)
   setupOptional(meas_extensions_piff -j g92c671f44c+df562b8b65)
   setupRequired(meas_algorithms -j g2b1a15d7c7+7512567c8e)
   setupRequired(meas_base -j g51c93253c0+80acdda92f)
   setupRequired(skymap -j gf1bbfaee84+b40bbd4691)
   setupRequired(kht -j gaf53c9a034)
   setupRequired(shapelet -j gc794cbe0cf+4cc183dd6f)
   setupOptional(meas_extensions_psfex -j g33ac35c1f1+7130041fff)
   setupRequired(psfex -j g7b9623be85+afb4790f61)
   setupOptional(cell_coadds -j g1c12f59687+df562b8b65)
   setupRequired(ip_diffim -j gee0feffdaa+3efb6cff55)
   setupRequired(meas_astrom -j gaea863341c+df562b8b65)
   setupRequired(meas_extensions_trailedSources -j g74acd417e5+196af90b30)
   setupRequired(meas_extensions_shapeHSM -j gf8a46c3309+df562b8b65)
   setupRequired(meas_deblender -j g262e1987ae+b6c1f206cf)
   setupOptional(testdata_deblender -j g8a244b6544)
   setupRequired(ip_isr -j gd2a69bfd97+df562b8b65)
   setupRequired(meas_extensions_convolved -j g7da95dfc27+7e856e7d77)
   setupRequired(meas_extensions_photometryKron -j g64539dfbff+df562b8b65)
   setupRequired(meas_extensions_gaap -j g5c7ea12361+b3c001ab24)
   setupRequired(meas_extensions_scarlet -j gb538e179e5+a9f03d2f1a)
   setupRequired(scarlet_lite -j ge1c02a5578+afb4790f61)
   setupRequired(meas_modelfit -j g9a9c865167+df562b8b65)
   setupRequired(rubinoxide -j g8d063e1f77+692b620dcb)
   setupRequired(ap_association -j g27daa043d6+4dfb366ed0)
   setupRequired(alert_packet -j g0e68e3ed40+af4d790919)
   setupRequired(analysis_tools -j gdc2d7233cb+374d1a4705)
   setupRequired(cp_pipe -j g0e37f4806a+c28430074e)
   setupOptional(obs_subaru -j g4db92921ce+b0f218d1a8)
   setupRequired(obs_subaru_data -j g7ff78db354)
   setupOptional(testdata_subaru -j g03c3ee655a)
   setupOptional(obs_decam -j g8bbb235e95+3f720ef21e)
   setupRequired(obs_decam_data -j g9eeeb5e174)
   setupOptional(testdata_decam -j gfde10c3a1c)
   setupOptional(obs_lsst -j g0e84d755dc+5f41d7cc6d)
   setupRequired(obs_lsst_data -j ge015015f0c+afb4790f61)
   setupOptional(fgcmcal -j g3845412f31+98c3f6d958)
   setupRequired(fgcm -j g17573debd1)
   setupOptional(testdata_jointcal -j gb6f1a889d2)
   setupRequired(drp_tasks -j g34363b08a3+283747fab4)
   setupRequired(gbdes -j g0019e3c466+87cce5ecef)
   setupRequired(metadetect -j g374dac2964+09fa602066)
   setupOptional(descwl_shear_sims -j gb1c43e6ccb+e44c014e84)
   setupOptional(descwl -j g811db82e6e+c90741701a)
   setupOptional(descwl_coadd -j gb717290d67+df562b8b65)
   setupRequired(source_injection -j g4e7cb873f6+e1a128760e)
   setupRequired(meas_transiNet -j gd42b450c19+196af90b30)
   setupRequired(ctrl_mpexec -j gdcd519e9b7+e068b93ac8)
   setupOptional(ap_verify_testdata -j g5dbd2c695e)
}
} else {
   if (type == exact) {
      setupRequired(utils           -j g8956d74c4f+37c27a6131)
      setupRequired(sconsUtils      -j g9e4288ad24)
      setupRequired(sphinxutils     -j g52a5f7ac38+afb4790f61)
      setupRequired(verify          -j g00d583acbd+13298bc0d3)
      setupRequired(pex_config      -j ge80df9fc40+296e528a3c)
      setupOptional(daf_base        -j g8ea07a8fe4+14188bbe6c)
      setupRequired(cpputils        -j g87389fa792+2df283593c)
      setupRequired(base            -j g53246c7159+afb4790f61)
      setupRequired(pex_exceptions  -j g786e29fd12+c90741701a)
      setupRequired(resources       -j g0ed9cbdc82+692b620dcb)
      setupRequired(daf_butler      -j gdcd7429747+aa77171ecc)
      setupRequired(sphgeom         -j g04536d8304+afb4790f61)
      setupRequired(pipe_base       -j g6cec3c9704+e0b8d0c7be)
      setupRequired(dax_apdb        -j gbe40082654+aa0fe4f45b)
      setupRequired(felis           -j g47538561f3+cced0a835f)
      setupRequired(sdm_schemas     -j g67af733147+afb4790f61)
      setupRequired(afw             -j g27eaf4dc65+45adbcf3d0)
      setupRequired(geom            -j g19811a7679+c67ce918b9)
      setupRequired(log             -j geaed405ab2+692b620dcb)
      setupRequired(astshim         -j gf5dcc679e7+dafe91c9d6)
      setupRequired(verify_metrics  -j g8b480f84d9+afb4790f61)
      setupRequired(ap_pipe         -j g8195f7d317+10f07b31d8)
      setupRequired(pipe_tasks      -j g67866f04bb+19f006acd4)
      setupRequired(coadd_utils     -j g89139ef638+4cc183dd6f)
      setupRequired(dustmaps_cachedata -j gbb0a0c949e+afb4790f61)
      setupRequired(images          -j gd67227652f+171b5a77d8)
      setupRequired(astro_metadata_translator -j g36c86f07e0+296e528a3c)
      setupOptional(obs_base        -j g0d66bda83d+e145df49fa)
      setupOptional(meas_extensions_piff -j g92c671f44c+df562b8b65)
      setupRequired(meas_algorithms -j g2b1a15d7c7+7512567c8e)
      setupRequired(meas_base       -j g51c93253c0+80acdda92f)
      setupRequired(skymap          -j gf1bbfaee84+b40bbd4691)
      setupRequired(kht             -j gaf53c9a034)
      setupRequired(shapelet        -j gc794cbe0cf+4cc183dd6f)
      setupOptional(meas_extensions_psfex -j g33ac35c1f1+7130041fff)
      setupRequired(psfex           -j g7b9623be85+afb4790f61)
      setupOptional(cell_coadds     -j g1c12f59687+df562b8b65)
      setupRequired(ip_diffim       -j gee0feffdaa+3efb6cff55)
      setupRequired(meas_astrom     -j gaea863341c+df562b8b65)
      setupRequired(meas_extensions_trailedSources -j g74acd417e5+196af90b30)
      setupRequired(meas_extensions_shapeHSM -j gf8a46c3309+df562b8b65)
      setupRequired(meas_deblender  -j g262e1987ae+b6c1f206cf)
      setupRequired(ip_isr          -j gd2a69bfd97+df562b8b65)
      setupRequired(meas_extensions_convolved -j g7da95dfc27+7e856e7d77)
      setupRequired(meas_extensions_photometryKron -j g64539dfbff+df562b8b65)
      setupRequired(meas_extensions_gaap -j g5c7ea12361+b3c001ab24)
      setupRequired(meas_extensions_scarlet -j gb538e179e5+a9f03d2f1a)
      setupRequired(scarlet_lite    -j ge1c02a5578+afb4790f61)
      setupRequired(meas_modelfit   -j g9a9c865167+df562b8b65)
      setupRequired(rubinoxide      -j g8d063e1f77+692b620dcb)
      setupRequired(ap_association  -j g27daa043d6+4dfb366ed0)
      setupRequired(alert_packet    -j g0e68e3ed40+af4d790919)
      setupRequired(analysis_tools  -j gdc2d7233cb+374d1a4705)
      setupRequired(cp_pipe         -j g0e37f4806a+c28430074e)
      setupOptional(obs_subaru      -j g4db92921ce+b0f218d1a8)
      setupRequired(obs_subaru_data -j g7ff78db354)
      setupOptional(obs_decam       -j g8bbb235e95+3f720ef21e)
      setupRequired(obs_decam_data  -j g9eeeb5e174)
      setupOptional(obs_lsst        -j g0e84d755dc+5f41d7cc6d)
      setupRequired(obs_lsst_data   -j ge015015f0c+afb4790f61)
      setupOptional(fgcmcal         -j g3845412f31+98c3f6d958)
      setupRequired(fgcm            -j g17573debd1)
      setupRequired(drp_tasks       -j g34363b08a3+283747fab4)
      setupRequired(gbdes           -j g0019e3c466+87cce5ecef)
      setupRequired(metadetect      -j g374dac2964+09fa602066)
      setupRequired(source_injection -j g4e7cb873f6+e1a128760e)
      setupRequired(meas_transiNet  -j gd42b450c19+196af90b30)
      setupRequired(ctrl_mpexec     -j gdcd519e9b7+e068b93ac8)
   } else {
      setupRequired(utils g8956d74c4f+37c27a6131 [>= g8956d74c4f+37c27a6131])
      setupRequired(verify g00d583acbd+13298bc0d3 [>= g00d583acbd+13298bc0d3])
      setupRequired(ap_pipe g8195f7d317+10f07b31d8 [>= g8195f7d317+10f07b31d8])
      setupRequired(ctrl_mpexec gdcd519e9b7+e068b93ac8 [>= gdcd519e9b7+e068b93ac8])
      
      # For testing
      setupOptional(ap_verify_testdata g5dbd2c695e [>= g5dbd2c695e])
      setupOptional(obs_lsst g0e84d755dc+5f41d7cc6d [>= g0e84d755dc+5f41d7cc6d])
      
      # For default metric configs
      setupRequired(ip_diffim gee0feffdaa+3efb6cff55 [>= gee0feffdaa+3efb6cff55])
      setupRequired(ap_association g27daa043d6+4dfb366ed0 [>= g27daa043d6+4dfb366ed0])
      
      # Datasets other than ap_verify_testdata must be set up manually
      #     to avoid being inadvertently downloaded by lsstsw
      # See the Sphinx docs for known datasets
   }
}
envPrepend(PYTHONPATH, ${PRODUCT_DIR}/python)
envPrepend(PATH, ${PRODUCT_DIR}/bin)
