public Map<Integer, String> getBaseURLs() {
		if (baseURLs != null && baseURLs.size() > 0) {
			return baseURLs;
		}

		BufferedReader reader = null;
		baseURLs = new HashMap<Integer, String>();
		try {
			reader = new BufferedReader(new InputStreamReader(new URL(BASE_URL_INFO).openStream()));
			String line = null;
			while ((line = reader.readLine()) != null) {
				int urlStartIndex = line.indexOf("\"") + 1;
				int urlEndIndex = line.lastIndexOf("\"");
				if ((line.contains("baseurl")) && (line.contains("if(catid")) && (urlStartIndex > -1) && (urlEndIndex > -1)) {
					String url = line.substring(urlStartIndex, urlEndIndex);
					String ifContent = getParenthesizedContent(line).replace(" ", "");
					String[] equalContents = ifContent.split("\\|\\|");
					for (String equalContent : equalContents) {
						int categoryId = Integer.parseInt(equalContent.split("==")[1]);
						baseURLs.put(categoryId, url);
					}
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			IOCloser.close(reader);
		}
		return baseURLs;
	}