Pneumocystis carinii is diagnosed by: