private void readBasicInfo(Configuration config) throws ElasticException, NoDatabaseException {
		Map<String, String> keyValue = readKeyValues();
		config.info.databasename = getCriticalValue("name", keyValue);
		config.info.owner = getCriticalValue("owner", keyValue);
		config.info.description = getCriticalValue("description", keyValue);
		config.info.major = (short) SpecXmlUtils.decodeInt(getCriticalValue("major", keyValue));
		config.info.minor = (short) SpecXmlUtils.decodeInt(getCriticalValue("minor", keyValue));
		config.info.settings = SpecXmlUtils.decodeInt(getCriticalValue("settings", keyValue));
		config.info.readonly = SpecXmlUtils.decodeBoolean(getCriticalValue("readonly", keyValue));
		config.info.trackcallgraph =
			SpecXmlUtils.decodeBoolean(getCriticalValue("trackcallgraph", keyValue));
		config.info.layout_version = SpecXmlUtils.decodeInt(getCriticalValue("layout", keyValue));
		config.info.dateColumnName = getCriticalValue("datecolumn", keyValue);
		if (config.info.dateColumnName.equals("Ingest Date")) {
			// name
			config.info.dateColumnName = null; // Don't bother holding it
		}
		config.k = SpecXmlUtils.decodeInt(getCriticalValue("k", keyValue));
		config.L = SpecXmlUtils.decodeInt(getCriticalValue("L", keyValue));

		readExecutableCategories(config.info, keyValue);
		readFunctionTags(config.info, keyValue);
	}
Read all of the basic database configuration information from the "keyvalue" documents
@param config is the Configuration object to fill in with the info
@throws ElasticException for communication problems with the server
@throws NoDatabaseException if the specific database does not exist on the server
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/elastic/ElasticDatabase.java