/**
* Copyright (c) 2010-2016 by the respective copyright holders.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
/**
* eltiempo.selfip.com - Sager Weathercaster Algorhithm
*
* Copyright © 2008 Naish666 (eltiempo.selfip.com)
* October 2008 - v1.0
* Java transposition done by Gaël L'hopital - 2015
**
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
***
* BT's Global Sager Weathercaster PHP Scripts For Cumulus (Weathercaster)
* by "Buford T. Justice" / "BTJustice"
* http://www.freewebs.com/btjustice/bt-forecasters.html
* 2014-02-05
*
* You may redistribute and use these PHP Scripts any way you wish as long as
* they remain FREE and money is not charged for their use directly or indirectly.
* If these PHP Scripts are used in your work or are modified in any way, please
* retain the full credit header.
* Based Upon:
* The Sager Weathercaster: A Scientific Instrument for Accurate Prediction of
* the Weather
* Copyright © 1969 by Raymond M. Sager and E. F. Sager
" The Sager Weathercaster predicts the weather quickly and accurately. It has been
* in use since 1942.
* Not a novelty, not a toy, this is a highly dependable, scientifically designed
* tool of inestimable value to travelers, farmers, hunters, sailors, yachtsmen, campers,
* fishermen, students -- in fact, to everyone who needs or wants to know what
* the weather will be."
* 378 possible forecasts determined from 4996 dial codes.
*/
package org.openhab.binding.sagercaster.internal;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
/**
* This class is responsible for handling the SagerWeatherCaster algorithm
*
* @author Gaël L'hopital
* @since 1.7.0
*/
public class SagerWeatherCaster {
// Northern Polar Zone & Northern Tropical Zone
final static String[] NPZDIRECTIONS = { "S", "SW", "W", "NW", "N", "NE", "E", "SE" };
// Northern Temperate Zone
final static String[] NTZDIRECTIONS = { "N", "NE", "E", "SE", "S", "SW", "W", "NW" };
// Southern Polar Zone & Southern Tropical Zone
final static String[] SPZDIRECTIONS = { "N", "NW", "W", "SW", "S", "SE", "E", "NE" };
// Southern Temperate Zone
final static String[] STZDIRECTIONS = { "S", "SE", "E", "NE", "N", "NW", "W", "SW" };
final static Map<String, String> sageForecaster = new HashMap<String, String>() {
private static final long serialVersionUID = 1L;
{
put("A111", "CU8");
put("A112", "CU8");
put("A113", "CU8");
put("A114", "CU8");
put("A115", "WU8");
put("A121", "AU8");
put("A122", "AU8");
put("A123", "AU8");
put("A124", "AU8");
put("A125", "TU8");
put("A131", "AD8");
put("A132", "AD8");
put("A133", "AD8");
put("A134", "XD8");
put("A135", "RD8");
put("A141", "AU8");
put("A142", "AU8");
put("A143", "XU8");
put("A144", "DU8");
put("A145", "RU8");
put("A151", "GN8");
put("A152", "GN8");
put("A153", "GN8");
put("A154", "GN8");
put("A155", "JN8");
put("A211", "CU8");
put("A212", "CU8");
put("A213", "CU8");
put("A214", "CU8");
put("A215", "WU8");
put("A221", "AU8");
put("A222", "AU8");
put("A223", "AU8");
put("A224", "AU8");
put("A225", "TU8");
put("A231", "AU8");
put("A232", "AU8");
put("A233", "AU8");
put("A234", "XU8");
put("A235", "RU8");
put("A241", "AU8");
put("A242", "AU8");
put("A243", "XU8");
put("A244", "DU8");
put("A245", "RU8");
put("A251", "GN8");
put("A252", "GN8");
put("A253", "GN8");
put("A254", "GN8");
put("A255", "JN8");
put("A311", "CF8");
put("A312", "CF8");
put("A313", "CF8");
put("A314", "CF8");
put("A315", "WF8");
put("A321", "CU8");
put("A322", "CU8");
put("A323", "CU8");
put("A324", "CU8");
put("A325", "UU8");
put("A331", "AU8");
put("A332", "AU8");
put("A333", "AU8");
put("A334", "XU8");
put("A335", "RU8");
put("A341", "AU8");
put("A342", "AU8");
put("A343", "XU8");
put("A344", "DU8");
put("A345", "RU8");
put("A351", "GN8");
put("A352", "GN8");
put("A353", "GN8");
put("A354", "GN8");
put("A355", "JN8");
put("A411", "CF8");
put("A412", "CF8");
put("A413", "CF8");
put("A414", "CF8");
put("A415", "UF8");
put("A421", "CF8");
put("A422", "CF8");
put("A423", "CF8");
put("A424", "CF8");
put("A425", "UF8");
put("A431", "AF8");
put("A432", "AF8");
put("A433", "AF8");
put("A434", "XF8");
put("A435", "RF8");
put("A441", "AF8");
put("A442", "XF8");
put("A443", "XF8");
put("A444", "DF8");
put("A445", "RF8");
put("A451", "JN8");
put("A452", "JN8");
put("A453", "LN8");
put("A454", "LN8");
put("A455", "LN8");
put("A511", "CS8");
put("A512", "CS8");
put("A513", "CS8");
put("A514", "YS8");
put("A515", "US8");
put("A521", "CF8");
put("A522", "CF8");
put("A523", "CF8");
put("A524", "FF8");
put("A525", "SF8");
put("A531", "CF8");
put("A532", "CF8");
put("A533", "YF8");
put("A534", "FF8");
put("A535", "SF8");
put("A541", "FS8");
put("A542", "FS8");
put("A543", "FS8");
put("A544", "SS8");
put("A545", "SS8");
put("A551", "LS8");
put("A552", "LS8");
put("A553", "LS8");
put("A554", "LS8");
put("A555", "LS8");
put("A611", "CS8");
put("A612", "CS8");
put("A613", "CS8");
put("A614", "FS8");
put("A615", "SS8");
put("A621", "CS8");
put("A622", "CS8");
put("A623", "FS8");
put("A624", "FS8");
put("A625", "SS8");
put("A631", "CS8");
put("A632", "FS8");
put("A633", "FS8");
put("A634", "FS8");
put("A635", "SS8");
put("A641", "FS8");
put("A642", "SS8");
put("A643", "SS8");
put("A644", "SS8");
put("A645", "SS8");
put("A651", "LS8");
put("A652", "LS8");
put("A653", "LS8");
put("A654", "LS8");
put("A655", "LS8");
put("A711", "CG8");
put("A712", "CG8");
put("A713", "FG8");
put("A714", "FG8");
put("A715", "SG8");
put("A721", "CG8");
put("A722", "FG8");
put("A723", "FG8");
put("A724", "SG8");
put("A725", "SG8");
put("A731", "FG8");
put("A732", "FG8");
put("A733", "SG8");
put("A734", "SG8");
put("A735", "SG8");
put("A741", "SG8");
put("A742", "SG8");
put("A743", "SG8");
put("A744", "SG8");
put("A745", "SG8");
put("A751", "SG8");
put("A752", "SG8");
put("A753", "SG8");
put("A754", "SG8");
put("A755", "SG8");
put("A811", "FW8");
put("A812", "FW8");
put("A813", "FW8");
put("A814", "SW8");
put("A815", "SW8");
put("A821", "FW8");
put("A822", "FW8");
put("A823", "SW8");
put("A824", "SW8");
put("A825", "SW8");
put("A831", "SW8");
put("A832", "SW8");
put("A833", "SW8");
put("A834", "SW8");
put("A835", "SW8");
put("A841", "SW8");
put("A842", "SW8");
put("A843", "SW8");
put("A844", "SW8");
put("A845", "SW8");
put("A851", "SW8");
put("A852", "SW8");
put("A853", "SW8");
put("A854", "SW8");
put("A855", "SW8");
put("B111", "AD8");
put("B112", "AD8");
put("B113", "AD8");
put("B114", "AD8");
put("B115", "WD8");
put("B121", "AD8");
put("B122", "AD8");
put("B123", "AD8");
put("B124", "AD8");
put("B125", "TD8");
put("B131", "AD1");
put("B132", "AD1");
put("B133", "AD1");
put("B134", "XD1");
put("B135", "RD1");
put("B141", "AU1");
put("B142", "DU1");
put("B143", "GU1");
put("B144", "GU1");
put("B145", "JU1");
put("B151", "GN1");
put("B152", "GN1");
put("B153", "GN1");
put("B154", "GN1");
put("B155", "MN1");
put("B211", "CU8");
put("B212", "CU8");
put("B213", "CU8");
put("B214", "CU8");
put("B215", "WU8");
put("B221", "CD8");
put("B222", "CD8");
put("B223", "CD8");
put("B224", "CD8");
put("B225", "UD8");
put("B231", "AD1");
put("B232", "AD1");
put("B233", "AD1");
put("B234", "XD1");
put("B235", "RD1");
put("B241", "AU1");
put("B242", "DU1");
put("B243", "GU1");
put("B244", "GU1");
put("B245", "JU1");
put("B251", "GN1");
put("B252", "GN1");
put("B253", "GN1");
put("B254", "GN1");
put("B255", "MN1");
put("B311", "CF8");
put("B312", "CF8");
put("B313", "CF8");
put("B314", "CF8");
put("B315", "WF8");
put("B321", "CU8");
put("B322", "CU8");
put("B323", "CU8");
put("B324", "CU8");
put("B325", "UU8");
put("B331", "AU1");
put("B332", "AU1");
put("B333", "AU1");
put("B334", "XU1");
put("B335", "RU1");
put("B341", "DU1");
put("B342", "DU1");
put("B343", "GU1");
put("B344", "GU1");
put("B345", "JU1");
put("B351", "GN1");
put("B352", "GN1");
put("B353", "GN1");
put("B354", "GN1");
put("B355", "MN1");
put("B411", "CF8");
put("B412", "CF8");
put("B413", "CF8");
put("B414", "CF8");
put("B415", "UF8");
put("B421", "CF8");
put("B422", "CF8");
put("B423", "CF8");
put("B424", "CF8");
put("B425", "UF8");
put("B431", "AU8");
put("B432", "AU8");
put("B433", "AF8");
put("B434", "XF8");
put("B435", "RF8");
put("B441", "DF1");
put("B442", "DF1");
put("B443", "GF1");
put("B444", "JF1");
put("B445", "JF1");
put("B451", "JN1");
put("B452", "JN1");
put("B453", "LN1");
put("B454", "PN1");
put("B455", "PN1");
put("B511", "CS8");
put("B512", "CS8");
put("B513", "CS8");
put("B514", "YS8");
put("B515", "US8");
put("B521", "CF8");
put("B522", "CF8");
put("B523", "CF8");
put("B524", "FF8");
put("B525", "SF8");
put("B531", "CF8");
put("B532", "CF8");
put("B533", "YF8");
put("B534", "FF8");
put("B535", "SF8");
put("B541", "FS8");
put("B542", "LS8");
put("B543", "LS8");
put("B544", "LS8");
put("B545", "LS8");
put("B551", "LS8");
put("B552", "LS8");
put("B553", "LS8");
put("B554", "PS8");
put("B555", "PS8");
put("B611", "CS8");
put("B612", "CS8");
put("B613", "CS8");
put("B614", "FS8");
put("B615", "SS8");
put("B621", "CS8");
put("B622", "CS8");
put("B623", "FS8");
put("B624", "FS8");
put("B625", "SS8");
put("B631", "CS8");
put("B632", "FS8");
put("B633", "FS8");
put("B634", "FS8");
put("B635", "SS8");
put("B641", "SS8");
put("B642", "SS8");
put("B643", "SS8");
put("B644", "SS8");
put("B645", "SS8");
put("B651", "LS8");
put("B652", "LS8");
put("B653", "PS8");
put("B654", "PS8");
put("B655", "PS8");
put("B711", "CG8");
put("B712", "CG8");
put("B713", "FG8");
put("B714", "FG8");
put("B715", "SG8");
put("B721", "CG8");
put("B722", "FG8");
put("B723", "FG8");
put("B724", "SG8");
put("B725", "SG8");
put("B731", "FG8");
put("B732", "SG8");
put("B733", "SG8");
put("B734", "SG8");
put("B735", "SG8");
put("B741", "SG8");
put("B742", "SG8");
put("B743", "SG8");
put("B744", "SG8");
put("B745", "SG8");
put("B751", "LG8");
put("B752", "LG8");
put("B753", "PG8");
put("B754", "PG8");
put("B755", "PG8");
put("B811", "FW8");
put("B812", "FW8");
put("B813", "FW8");
put("B814", "SW8");
put("B815", "SW8");
put("B821", "FW8");
put("B822", "FW8");
put("B823", "SW8");
put("B824", "SW8");
put("B825", "SW8");
put("B831", "SW8");
put("B832", "SW8");
put("B833", "SW8");
put("B834", "SW8");
put("B835", "SW8");
put("B841", "SW8");
put("B842", "SW8");
put("B843", "SW8");
put("B844", "SW8");
put("B845", "SW8");
put("B851", "LW8");
put("B852", "LW8");
put("B853", "PW8");
put("B854", "PW8");
put("B855", "PW8");
put("C111", "CU1");
put("C112", "CU1");
put("C113", "CU1");
put("C114", "CU1");
put("C115", "UU1");
put("C121", "AU1");
put("C122", "AU1");
put("C123", "AU1");
put("C124", "XU1");
put("C125", "RU1");
put("C131", "AD1");
put("C132", "AD1");
put("C133", "AD1");
put("C134", "DD1");
put("C135", "JD1");
put("C141", "AU1");
put("C142", "DU1");
put("C143", "GU1");
put("C144", "GU1");
put("C145", "JU1");
put("C151", "GN1");
put("C152", "GN1");
put("C153", "GN1");
put("C154", "GN1");
put("C155", "MN1");
put("C211", "CU1");
put("C212", "CU1");
put("C213", "CU1");
put("C214", "CU1");
put("C215", "UU1");
put("C221", "CU1");
put("C222", "CU1");
put("C223", "CU1");
put("C224", "YU1");
put("C225", "SU1");
put("C231", "AU1");
put("C232", "AU1");
put("C233", "AU1");
put("C234", "DU1");
put("C235", "JU1");
put("C241", "AU1");
put("C242", "DU1");
put("C243", "GU1");
put("C244", "GU1");
put("C245", "JU1");
put("C251", "GN1");
put("C252", "GN1");
put("C253", "GN1");
put("C254", "GN1");
put("C255", "MN1");
put("C311", "CF1");
put("C312", "CF1");
put("C313", "CF1");
put("C314", "YF1");
put("C315", "UF1");
put("C321", "CU1");
put("C322", "CU1");
put("C323", "CU1");
put("C324", "YU1");
put("C325", "SU1");
put("C331", "AU1");
put("C332", "AU1");
put("C333", "AU1");
put("C334", "DU1");
put("C335", "JU1");
put("C341", "AU1");
put("C342", "DU1");
put("C343", "GU1");
put("C344", "GU1");
put("C345", "JU1");
put("C351", "GN1");
put("C411", "CF1");
put("C412", "CF1");
put("C413", "CF1");
put("C414", "YF1");
put("C415", "SF1");
put("C421", "CF1");
put("C422", "CF1");
put("C423", "CF1");
put("C424", "YF1");
put("C425", "SF1");
put("C431", "AF1");
put("C432", "AF1");
put("C433", "YF1");
put("C434", "FF1");
put("C435", "LF1");
put("C441", "DF1");
put("C442", "DF1");
put("C443", "GF1");
put("C444", "LF1");
put("C445", "LF1");
put("C451", "JN1");
put("C452", "JN1");
put("C453", "LN1");
put("C454", "PN1");
put("C455", "PN1");
put("C511", "CS1");
put("C512", "CS1");
put("C513", "CS1");
put("C514", "FS1");
put("C515", "SS1");
put("C521", "CF1");
put("C522", "CF1");
put("C523", "YF1");
put("C524", "FF1");
put("C525", "SF1");
put("C531", "CF1");
put("C532", "YF1");
put("C533", "FF1");
put("C534", "FF1");
put("C535", "SF1");
put("C541", "FS1");
put("C542", "LS1");
put("C543", "LS1");
put("C544", "LS1");
put("C545", "LS1");
put("C551", "LS1");
put("C552", "LS1");
put("C553", "LS1");
put("C554", "PS1");
put("C555", "PS1");
put("C611", "CS8");
put("C612", "CS8");
put("C613", "FS8");
put("C614", "FS8");
put("C615", "SS8");
put("C621", "CS8");
put("C622", "FS8");
put("C623", "SS8");
put("C624", "SS8");
put("C625", "SS8");
put("C631", "FS8");
put("C632", "FS8");
put("C633", "SS8");
put("C634", "SS8");
put("C635", "SS8");
put("C641", "SS8");
put("C642", "SS8");
put("C643", "SS8");
put("C644", "SS8");
put("C645", "SS8");
put("C651", "LS1");
put("C652", "LS1");
put("C653", "LS1");
put("C654", "PS1");
put("C655", "PS1");
put("C711", "FG8");
put("C712", "FG8");
put("C713", "SG8");
put("C714", "SG8");
put("C715", "SG8");
put("C721", "FG8");
put("C722", "FG8");
put("C723", "SG8");
put("C724", "SG8");
put("C725", "SG8");
put("C731", "FG8");
put("C732", "SG8");
put("C733", "SG8");
put("C734", "SG8");
put("C735", "SG8");
put("C741", "SG8");
put("C742", "SG8");
put("C743", "SG8");
put("C744", "SG8");
put("C745", "SG8");
put("C751", "LG1");
put("C752", "LG1");
put("C753", "LG1");
put("C754", "PG1");
put("C755", "PG1");
put("C811", "FW8");
put("C812", "FW8");// Shown in The Sager Weathercaster as "B812".
put("C813", "SW8");
put("C814", "SW8");
put("C815", "SW8");
put("C821", "FW8");
put("C822", "FW8");
put("C823", "SW8");
put("C824", "SW8");
put("C825", "SW8");
put("C831", "SW8");
put("C832", "SW8");
put("C833", "SW8");
put("C834", "SW8");
put("C835", "SW8");
put("C841", "SW8");
put("C842", "SW8");
put("C843", "SW8");
put("C844", "SW8");
put("C845", "SW8");
put("C851", "LW8");
put("C852", "LW8");
put("C853", "LW8");
put("C854", "PW8");
put("C855", "PW8");
put("D111", "AU1");
put("D112", "AU1");
put("D113", "AU1");
put("D114", "AU1");
put("D115", "TU1");
put("D121", "AU1");
put("D122", "AU1");
put("D123", "AU1");
put("D124", "DU1");
put("D125", "RU1");
put("D131", "AU1");
put("D132", "AU1");
put("D133", "AU1");
put("D134", "GU1");
put("D135", "JU1");
put("D141", "DN1");
put("D142", "GN1");
put("D143", "GN1");
put("D144", "GN1");
put("D145", "MN1");
put("D151", "GN1");
put("D152", "GN1");
put("D153", "GN1");
put("D154", "GN1");
put("D155", "MN1");
put("D211", "CU1");
put("D212", "CU1");
put("D213", "CU1");
put("D214", "CU1");
put("D215", "UU1");
put("D221", "AU1");
put("D222", "AU1");
put("D223", "AU1");
put("D224", "DU1");
put("D225", "RU1");
put("D231", "AU1");
put("D232", "AU1");
put("D233", "AU1");
put("D234", "GU1");
put("D235", "JU1");
put("D241", "DN1");
put("D242", "GN1");
put("D243", "GN1");
put("D244", "GN1");
put("D245", "MN1");
put("D251", "GN1");
put("D252", "GN1");
put("D253", "GN1");
put("D254", "GN1");
put("D255", "MN1");
put("D311", "CF1");
put("D312", "CF1");
put("D313", "CF1");
put("D314", "CF1");
put("D315", "UF1");
put("D321", "AU1");
put("D322", "AU1");
put("D323", "AU1");
put("D324", "DU1");
put("D325", "RU1");
put("D331", "AU1");
put("D332", "AU1");
put("D333", "AU1");
put("D334", "GU1");
put("D335", "JU1");
put("D341", "GN1");
put("D342", "GN1");
put("D343", "GN1");
put("D344", "GN1");
put("D345", "MN1");
put("D351", "GN1");
put("D352", "GN1");
put("D353", "GN1");
put("D354", "GN1");
put("D355", "MN1");
put("D411", "CF1");
put("D412", "CF1");
put("D413", "CF1");
put("D414", "YF1");
put("D415", "SF1");
put("D421", "CF1");
put("D422", "CF1");
put("D423", "CF1");
put("D424", "FF1");
put("D425", "SF1");
put("D431", "AF1");
put("D432", "AF1");
put("D433", "AF1");
put("D434", "GF1");
put("D435", "JF1");
put("D441", "GN1");
put("D442", "GN1");
put("D443", "GN1");
put("D444", "MN1");
put("D445", "MN1");
put("D451", "GS1");
put("D452", "MS1");
put("D453", "MS1");
put("D454", "MS1");
put("D455", "MS1");
put("D511", "CS1");
put("D512", "CS1");
put("D513", "CS1");
put("D514", "FS1");
put("D515", "SS1");
put("D521", "CS1");
put("D522", "CS1");
put("D523", "CS1");
put("D524", "FS1");
put("D525", "SS1");
put("D531", "AS1");
put("D532", "XS1");
put("D533", "JS1");
put("D534", "JS1");
put("D535", "JS1");
put("D541", "JS1");
put("D542", "JS1");
put("D543", "MS1");
put("D544", "MS1");
put("D545", "MS1");
put("D551", "MS1");
put("D552", "MS1");
put("D553", "MS1");
put("D554", "MS1");
put("D555", "MS1");
put("D611", "YS18");
put("D612", "YS18");
put("D613", "FS18");
put("D614", "SS18");
put("D615", "SS18");
put("D621", "FS18");
put("D622", "FS18");
put("D623", "FS18");
put("D624", "SS18");
put("D625", "SS18");
put("D631", "LS18");
put("D632", "LS18");
put("D633", "LS18");
put("D634", "LS18");
put("D635", "LS18");
put("D641", "LG18");
put("D642", "PG18");
put("D643", "PG18");
put("D644", "PG18");
put("D645", "PG18");
put("D651", "PG18");
put("D652", "PG18");
put("D653", "PG18");
put("D654", "PG18");
put("D655", "PG18");
put("D711", "SG18");
put("D712", "SG18");
put("D713", "SG18");
put("D714", "SG18");
put("D715", "SG18");
put("D721", "SG18");
put("D722", "SG18");
put("D723", "SG18");
put("D724", "SG18");
put("D725", "SG18");
put("D731", "LG18");
put("D732", "LG18");
put("D733", "LG18");
put("D734", "PG18");
put("D735", "PG18");
put("D741", "PW18");
put("D742", "PW18");
put("D743", "PW18");
put("D744", "PW18");
put("D745", "PW18");
put("D751", "PW18");
put("D752", "PW18");
put("D753", "PW18");
put("D754", "PW18");
put("D755", "PW18");
put("D811", "LW18");
put("D812", "LW18");
put("D813", "LW18");
put("D814", "LW18");
put("D815", "LW18");
put("D821", "LW18");
put("D822", "LW18");
put("D823", "LW18");
put("D824", "LW18");
put("D825", "LW18");
put("D831", "PW18");
put("D832", "PW18");
put("D833", "PW18");
put("D834", "PW18");
put("D835", "PW18");
put("D841", "PW18");
put("D842", "PW18");
put("D843", "PW18");
put("D844", "PW18");
put("D845", "PW18");
put("D851", "PH18");
put("D852", "PH18");
put("D853", "PH18");
put("D854", "PH18");
put("D855", "PH18");
put("E111", "AU1");
put("E112", "AU1");
put("E113", "AU1");
put("E114", "AU1");
put("E115", "TU1");
put("E121", "AU1");
put("E122", "AU1");
put("E123", "AU1");
put("E124", "DU1");
put("E125", "RU1");
put("E131", "AU1");
put("E132", "AU1");
put("E133", "AU1");
put("E134", "GU1");
put("E135", "JU1");
put("E141", "DN2");
put("E142", "GN2");
put("E143", "GN2");
put("E144", "GN2");
put("E145", "MN2");
put("E151", "GN2");
put("E152", "GN2");
put("E153", "GN2");
put("E154", "GN2");
put("E155", "MN2");
put("E211", "CU1");
put("E212", "CU1");
put("E213", "CU1");
put("E214", "CU1");
put("E215", "UU1");
put("E221", "AU1");
put("E222", "AU1");
put("E223", "AU1");
put("E224", "DU1");
put("E225", "RU1");
put("E231", "AU1");
put("E232", "AU1");
put("E233", "AU1");
put("E234", "GU1");
put("E235", "JU1");
put("E241", "DN2");
put("E242", "GN2");
put("E243", "GN2");
put("E244", "GN2");
put("E245", "MN2");
put("E251", "GN2");
put("E252", "GN2");
put("E253", "GN2");
put("E254", "GN2");
put("E255", "MN2");
put("E311", "CF1");
put("E312", "CF1");
put("E313", "CF1");
put("E314", "CF1");
put("E315", "UF1");
put("E321", "AU1");
put("E322", "AU1");
put("E323", "AU1");
put("E324", "DU1");
put("E325", "RU1");
put("E331", "AU1");
put("E332", "AU1");
put("E333", "AU1");
put("E334", "GU1");
put("E335", "JU1");
put("E341", "GN2");
put("E342", "GN2");
put("E343", "GN2");
put("E344", "GN2");
put("E345", "MN2");
put("E351", "GN2");
put("E352", "GN2");
put("E353", "GN2");
put("E354", "GN2");
put("E355", "MN2");
put("E411", "CF1");
put("E412", "CF1");
put("E413", "CF1");
put("E414", "YF1");
put("E415", "SF1");
put("E421", "CF1");
put("E422", "CF1");
put("E423", "CF1");
put("E424", "FF1");
put("E425", "SF1");
put("E431", "AF1");
put("E432", "AF1");
put("E433", "AF1");
put("E434", "GF1");
put("E435", "JF1");
put("E441", "GN2");
put("E442", "GN2");
put("E443", "GN2");
put("E444", "MN2");
put("E445", "MN2");
put("E451", "GS2");
put("E452", "MS2");
put("E453", "MS2");
put("E454", "MS2");
put("E455", "MS2");
put("E511", "CS1");
put("E512", "CS1");
put("E513", "CS1");
put("E514", "FS1");
put("E515", "SS1");
put("E521", "CS1");
put("E522", "CS1");
put("E523", "CS1");
put("E524", "FS1");
put("E525", "SS1");
put("E531", "AS1");
put("E532", "XS1");
put("E533", "JS1");
put("E534", "JS1");
put("E535", "JS1");
put("E541", "JS1");
put("E542", "JS1");
put("E543", "MS1");
put("E544", "MS1");
put("E545", "MS1");
put("E551", "MS2");
put("E552", "MS2");
put("E553", "MS2");
put("E554", "MS2");
put("E555", "MS2");
put("E611", "YS18");
put("E612", "YS18");
put("E613", "FS18");
put("E614", "SS18");
put("E615", "SS18");
put("E621", "FS18");
put("E622", "FS18");
put("E623", "FS18");
put("E624", "SS18");
put("E625", "SS18");
put("E631", "LS18");
put("E632", "LS18");
put("E633", "LS18");
put("E634", "LS18");
put("E635", "LS18");
put("E641", "LG18");
put("E642", "PG18");
put("E643", "PG18");
put("E644", "PG18");
put("E645", "PG18");
put("E651", "PG18");
put("E652", "PG18");
put("E653", "PG18");
put("E654", "PG18");
put("E655", "PG18");
put("E711", "SG18");
put("E712", "SG18");
put("E713", "SG18");
put("E714", "SG18");
put("E715", "SG18");
put("E721", "SG18");
put("E722", "SG18");
put("E723", "SG18");
put("E724", "SG18");
put("E725", "SG18");
put("E731", "LG18");
put("E732", "LG18");
put("E733", "LG18");
put("E734", "PG18");
put("E735", "PG18");
put("E741", "PW18");
put("E742", "PW18");
put("E743", "PW18");
put("E744", "PW18");
put("E745", "PW18");
put("E751", "PW18");
put("E752", "PW18");
put("E753", "PW18");
put("E754", "PW18");
put("E755", "PW18");
put("E811", "LW18");
put("E812", "LW18");
put("E813", "LW18");
put("E814", "LW18");
put("E815", "LW18");
put("E821", "LW18");
put("E822", "LW18");
put("E823", "LW18");
put("E824", "LW18");
put("E825", "LW18");
put("E831", "PW18");
put("E832", "PW18");
put("E833", "PW18");
put("E834", "PW18");
put("E835", "PW18");
put("E841", "PW18");
put("E842", "PW18");
put("E843", "PW18");
put("E844", "PW18");
put("E845", "PW18");
put("E851", "PH18");
put("E852", "PH18");
put("E853", "PH18");
put("E854", "PH18");
put("E855", "PH18");
put("F111", "AU1");
put("F112", "AU1");
put("F113", "AU1");
put("F114", "DU1");
put("F115", "RU1");
put("F121", "AU2");
put("F122", "AU2");
put("F123", "AU2");
put("F124", "DU2");
put("F125", "JU2");
put("F131", "AU2");
put("F132", "AU2");
put("F133", "AU2");
put("F134", "GU2");
put("F135", "JU2");
put("F141", "DN2");
put("F142", "GN2");
put("F143", "GN2");
put("F144", "GN2");
put("F145", "MN2");
put("F151", "GN2");
put("F152", "GN2");
put("F153", "GN2");
put("F154", "GN2");
put("F155", "MN2");
put("F211", "CU1");
put("F212", "CU1");
put("F213", "CU1");
put("F214", "FU1");
put("F215", "SU1");
put("F221", "AU2");
put("F222", "AU2");
put("F223", "AU2");
put("F224", "DU2");
put("F225", "JU2");
put("F231", "AU2");
put("F232", "AU2");
put("F233", "AU2");
put("F234", "GU2");
put("F235", "MU2");
put("F241", "DN2");
put("F242", "GN2");
put("F243", "GN2");
put("F244", "GN2");
put("F245", "MN2");
put("F251", "GN2");
put("F252", "GN2");
put("F253", "GN2");
put("F254", "GN2");
put("F255", "MN2");
put("F311", "CF1");
put("F312", "CF1");
put("F313", "CF1");
put("F314", "FF1");
put("F315", "SF1");
put("F321", "AU1");
put("F322", "AU1");
put("F323", "XU1");
put("F324", "DU1");
put("F325", "JU1");
put("F331", "AU2");
put("F332", "AU2");
put("F333", "DU2");
put("F334", "GU2");
put("F335", "MU2");
put("F341", "GN2");
put("F342", "GN2");
put("F343", "GN2");
put("F344", "GN2");
put("F345", "MN2");
put("F351", "GN2");
put("F352", "GN2");
put("F353", "GN2");
put("F354", "GN2");
put("F355", "MN2");
put("F411", "CF1");
put("F412", "CF1");
put("F413", "FF1");
put("F414", "FF1");
put("F415", "SF1");
put("F421", "CF1");
put("F422", "CF1");
put("F423", "YF1");
put("F424", "FF1");
put("F425", "LF1");
put("F431", "AF2");
put("F432", "AF2");
put("F433", "DF2");
put("F434", "GF2");
put("F435", "MF2");
put("F441", "GN2");
put("F442", "GN2");
put("F443", "GN2");
put("F444", "MN2");
put("F445", "MN2");
put("F451", "GS2");
put("F452", "MS2");
put("F453", "MS2");
put("F454", "MS2");
put("F455", "MS2");
put("F511", "CS1");
put("F512", "CS1");
put("F513", "FS1");
put("F514", "FS1");
put("F515", "SS1");
put("F521", "CS1");
put("F522", "CS1");
put("F523", "FS1");
put("F524", "FS1");
put("F525", "LS1");
put("F531", "AS1");
put("F532", "DS1");
put("F533", "JS1");
put("F534", "JS1");
put("F535", "MS1");
put("F541", "JS2");
put("F542", "JS2");
put("F543", "MS2");
put("F544", "MS2");
put("F545", "MS2");
put("F551", "MS2");
put("F552", "MS2");
put("F553", "MS2");
put("F554", "MS2");
put("F555", "MS2");
put("F611", "FS18");
put("F612", "FS18");
put("F613", "FS18");
put("F614", "SS18");
put("F615", "SS18");
put("F621", "FS18");
put("F622", "FS18");
put("F623", "LS18");
put("F624", "LS18");
put("F625", "LS18");
put("F631", "LS18");
put("F632", "LS18");
put("F633", "LS18");
put("F634", "LS18");
put("F635", "LS18");
put("F641", "LG1");
put("F642", "PG1");
put("F643", "PG1");
put("F644", "PG1");
put("F645", "PG1");
put("F651", "PG1");
put("F652", "PG1");
put("F653", "PG1");
put("F654", "PG1");
put("F655", "PG1");
put("F711", "SG18");
put("F712", "SG18");
put("F713", "SG18");
put("F714", "SG18");
put("F715", "SG18");
put("F721", "LG18");
put("F722", "LG18");
put("F723", "LG18");
put("F724", "LG18");
put("F725", "LG18");
put("F731", "LG18");
put("F732", "LG18");
put("F733", "LG18");
put("F734", "PG18");
put("F735", "PG18");
put("F741", "PW18");
put("F742", "PW18");
put("F743", "PW18");
put("F744", "PW18");
put("F745", "PW18");
put("F751", "PW1");
put("F752", "PW1");
put("F753", "PW1");
put("F754", "PW1");
put("F755", "PW1");
put("F811", "LW18");
put("F812", "LW18");
put("F813", "LW18");
put("F814", "LW18");
put("F815", "LW18");
put("F821", "LW18");
put("F822", "LW18");
put("F823", "LW18");
put("F824", "LW18");
put("F825", "LW18");
put("F831", "PW18");
put("F832", "PW18");
put("F833", "PW18");
put("F834", "PW18");
put("F835", "PW18");
put("F841", "PW18");
put("F842", "PW18");
put("F843", "PW18");
put("F844", "PW18");
put("F845", "PW18");
put("F851", "PH1");
put("F852", "PH1");
put("F853", "PH1");
put("F854", "PH1");
put("F855", "PH1");
put("G111", "AU2");
put("G112", "AU2");
put("G113", "AU2");
put("G114", "DU2");
put("G115", "RU2");
put("G121", "AU2");
put("G122", "AU2");
put("G123", "AU2");
put("G124", "DU2");
put("G125", "JU2");
put("G131", "AU2");
put("G132", "AU2");
put("G133", "DU2");
put("G134", "GU2");
put("G135", "JU2");
put("G141", "EN2");
put("G142", "HN2");
put("G143", "HN2");
put("G144", "HN2");
put("G145", "NN2");
put("G151", "HN2");
put("G152", "HN2");
put("G153", "HN2");
put("G154", "HN2");
put("G155", "NN2");
put("G211", "AU2");
put("G212", "AU2");
put("G213", "AU2");
put("G214", "DU2");
put("G215", "RU2");
put("G221", "AU2");
put("G222", "AU2");
put("G223", "AU2");
put("G224", "DU2");
put("G225", "JU2");
put("G231", "AU2");
put("G232", "AU2");
put("G233", "DU2");
put("G234", "GU2");
put("G235", "JU2");
put("G241", "DN2");
put("G242", "GN2");
put("G243", "GN2");
put("G244", "GN2");
put("G245", "MN2");
put("G251", "GN2");
put("G252", "GN2");
put("G253", "GN2");
put("G254", "GN2");
put("G255", "MN2");
put("G311", "AU2");
put("G312", "AU2");
put("G313", "AU2");
put("G314", "DU2");
put("G315", "RU2");
put("G321", "AU2");
put("G322", "AU2");
put("G323", "AU2");
put("G324", "DU2");
put("G325", "JU2");
put("G331", "AU2");
put("G332", "AU2");
put("G333", "DU2");
put("G334", "GU2");
put("G335", "JU2");
put("G341", "GN2");
put("G342", "GN2");
put("G343", "GN2");
put("G344", "GN2");
put("G345", "MN2");
put("G351", "GN2");
put("G352", "GN2");
put("G353", "GN2");
put("G354", "GN2");
put("G355", "MN2");
put("G411", "AF2");
put("G412", "AF2");
put("G413", "AF2");
put("G414", "DF2");
put("G415", "JF2");
put("G421", "AF2");
put("G422", "AF2");
put("G423", "AF2");
put("G424", "GF2");
put("G425", "JF2");
put("G431", "AF2");
put("G432", "AF2");
put("G433", "DF2");
put("G434", "GF2");
put("G435", "JF2");
put("G441", "GN2");
put("G442", "GN2");
put("G443", "GN2");
put("G444", "MN2");
put("G445", "MN2");
put("G451", "GS2");
put("G452", "MS2");
put("G453", "MS2");
put("G454", "MS2");
put("G455", "MS2");
put("G511", "AS21");
put("G512", "DS21");
put("G513", "JS21");
put("G514", "JS21");
put("G515", "JS21");
put("G521", "DS21");
put("G522", "JS21");
put("G523", "JS21");
put("G524", "JS21");
put("G525", "JS21");
put("G531", "DS21");
put("G532", "JS21");
put("G533", "JS21");
put("G534", "JS21");
put("G535", "JS21");
put("G541", "JS2");
put("G542", "MS2");
put("G543", "MS2");
put("G544", "MS2");
put("G545", "MS2");
put("G551", "MS2");
put("G552", "MS2");
put("G553", "MS2");
put("G554", "MS2");
put("G555", "MS2");
put("G611", "LS21");
put("G612", "LS21");
put("G613", "LS21");
put("G614", "LS21");
put("G615", "LS21");
put("G621", "LS21");
put("G622", "LS21");
put("G623", "LS21");
put("G624", "LS21");
put("G625", "LS21");
put("G631", "LS21");
put("G632", "LS21");
put("G633", "LS21");
put("G634", "LS21");
put("G635", "LS21");
put("G641", "LG21");
put("G642", "PG21");
put("G643", "PG21");
put("G644", "PG21");
put("G645", "PG21");
put("G651", "PG2");
put("G652", "PG2");
put("G653", "PG2");
put("G654", "PG2");
put("G655", "PG2");
put("G711", "LG28");
put("G712", "LG28");
put("G713", "LG28");
put("G714", "LG28");
put("G715", "LG28");
put("G721", "LG28");
put("G722", "LG28");
put("G723", "LG28");
put("G724", "LG28");
put("G725", "LG28");
put("G731", "PG28");
put("G732", "PG28");
put("G733", "PG28");
put("G734", "PG28");
put("G735", "PG28");
put("G741", "PW21");
put("G742", "PW21");
put("G743", "PW21");
put("G744", "PW21");
put("G745", "PW21");
put("G751", "PW21");
put("G752", "PW21");
put("G753", "PW21");
put("G754", "PW21");
put("G755", "PW21");
put("G811", "LW28");
put("G812", "LW28");
put("G813", "LW28");
put("G814", "LW28");
put("G815", "LW28");
put("G821", "PW28");
put("G822", "PW28");
put("G823", "PW28");
put("G824", "PW28");
put("G825", "PW28");
put("G831", "PW28");
put("G832", "PW28");
put("G833", "PW28");
put("G834", "PW28");
put("G835", "PW28");
put("G841", "PW28");
put("G842", "PW28");
put("G843", "PW28");
put("G844", "PW28");
put("G845", "PW28");
put("G851", "PH21");
put("G852", "PH21");
put("G853", "PH21");
put("G854", "PH21");
put("G855", "PH21");
put("H111", "AU2");
put("H112", "AU2");
put("H113", "AU2");
put("H114", "DU2");
put("H115", "RU2");
put("H121", "AU2");
put("H122", "AU2");
put("H123", "AU2");
put("H124", "DU2");
put("H125", "JU2");
put("H131", "AU3");
put("H132", "AU3");
put("H133", "DU3");
put("H134", "GU3");
put("H135", "JU3");
put("H141", "EN3");
put("H142", "HN3");
put("H143", "HN3");
put("H144", "HN3");
put("H145", "NN3");
put("H151", "HN3");
put("H152", "HN3");
put("H153", "HN3");
put("H154", "HN3");
put("H155", "NN3");
put("H211", "AU2");
put("H212", "AU2");
put("H213", "AU2");
put("H214", "DU2");
put("H215", "RU2");
put("H221", "AU2");
put("H222", "AU2");
put("H223", "AU2");
put("H224", "DU2");
put("H225", "JU2");
put("H231", "AU3");
put("H232", "AU3");
put("H233", "DU3");
put("H234", "GU3");
put("H235", "JU3");
put("H241", "EN3");
put("H242", "HN3");
put("H243", "HN3");
put("H244", "HN3");
put("H245", "NN3");
put("H251", "HN3");
put("H252", "HN3");
put("H253", "HN3");
put("H254", "HN3");
put("H255", "NN3");
put("H311", "AU2");
put("H312", "AU2");
put("H313", "AU2");
put("H314", "DU2");
put("H315", "RU2");
put("H321", "AU2");
put("H322", "AU2");
put("H323", "AU2");
put("H324", "DU2");
put("H325", "JU2");
put("H331", "AU3");
put("H332", "AU3");
put("H333", "DU3");
put("H334", "GU3");
put("H335", "JU3");
put("H341", "HN3");
put("H342", "HN3");
put("H343", "HN3");
put("H344", "HN3");
put("H345", "NN3");
put("H351", "GN3");
put("H352", "GN3");
put("H353", "GN3");
put("H354", "GN3");
put("H355", "MN3");
put("H411", "AF2");
put("H412", "AF2");
put("H413", "AF2");
put("H414", "DF2");
put("H415", "JF2");
put("H421", "AF2");
put("H422", "AF2");
put("H423", "AF2");
put("H424", "GF2");
put("H425", "JF2");
put("H431", "AF2");
put("H432", "AF2");
put("H433", "DF2");
put("H434", "GF2");
put("H435", "JF2");
put("H441", "GN3");
put("H442", "GN3");
put("H443", "GN3");
put("H444", "MN3");
put("H445", "MN3");
put("H451", "GS3");
put("H452", "MS3");
put("H453", "MS3");
put("H454", "MS3");
put("H455", "MS3");
put("H511", "AS2");
put("H512", "DS2");
put("H513", "JS2");
put("H514", "JS2");
put("H515", "JS2");
put("H521", "DS2");
put("H522", "JS2");
put("H523", "JS2");
put("H524", "JS2");
put("H525", "JS2");
put("H531", "DS2");
put("H532", "JS2");
put("H533", "JS2");
put("H534", "JS2");
put("H535", "JS2");
put("H541", "JS3");
put("H542", "MS3");
put("H543", "MS3");
put("H544", "MS3");
put("H545", "MS3");
put("H551", "MS3");
put("H552", "MS3");
put("H553", "MS3");
put("H554", "MS3");
put("H555", "MS3");
put("H611", "LS21");
put("H612", "LS21");
put("H613", "LS21");
put("H614", "LS21");
put("H615", "LS21");
put("H621", "LS21");
put("H622", "LS21");
put("H623", "LS21");
put("H624", "LS21");
put("H625", "LS21");
put("H631", "LS21");
put("H632", "LS21");
put("H633", "LS21");
put("H634", "LS21");
put("H635", "LS21");
put("H641", "LG3");
put("H642", "PG3");
put("H643", "PG3");
put("H644", "PG3");
put("H645", "PG3");
put("H651", "PG3");
put("H652", "PG3");
put("H653", "PG3");
put("H654", "PG3");
put("H655", "PG3");
put("H711", "LG3");
put("H712", "LG3");
put("H713", "LG3");
put("H714", "LG3");
put("H715", "LG3");
put("H721", "LG3");
put("H722", "LG3");
put("H723", "LG3");
put("H724", "LG3");
put("H725", "LG3");
put("H731", "PG3");
put("H732", "PG3");
put("H733", "PG3");
put("H734", "PG3");
put("H735", "PG3");
put("H741", "PW3");
put("H742", "PW3");
put("H743", "PW3");
put("H744", "PW3");
put("H745", "PW3");
put("H751", "PW3");
put("H752", "PW3");
put("H753", "PW3");
put("H754", "PW3");
put("H755", "PW3");
put("H811", "LW3");
put("H812", "LW3");
put("H813", "LW3");
put("H814", "LW3");
put("H815", "LW3");
put("H821", "PW3");
put("H822", "PW3");
put("H823", "PW3");
put("H824", "PW3");
put("H825", "PW3");
put("H831", "PW3");
put("H832", "PW3");
put("H833", "PW3");
put("H834", "PW3");
put("H835", "PW3");
put("H841", "PW3");
put("H842", "PW3");
put("H843", "PW3");
put("H844", "PW3");
put("H845", "PW3");
put("H851", "PH3");
put("H852", "PH3");
put("H853", "PH3");
put("H854", "PH3");
put("H855", "PH3");
put("J111", "AU3");
put("J112", "AU3");
put("J113", "AU3");
put("J114", "DU3");
put("J115", "JU3");
put("J121", "AU3");
put("J122", "AU3");
put("J123", "AU3");
put("J124", "DU3");
put("J125", "JU3");
put("J131", "AU3");
put("J132", "AU3");
put("J133", "DU3");
put("J134", "GU3");
put("J135", "JU3");
put("J141", "EN3");
put("J142", "HN3");
put("J143", "HN3");
put("J144", "HN3");
put("J145", "NN3");
put("J151", "HN3");
put("J152", "HN3");
put("J153", "HN3");
put("J154", "HN3");
put("J155", "NN3");
put("J211", "AU3");
put("J212", "AU3");
put("J213", "AU3");
put("J214", "DU3");
put("J215", "JU3");
put("J221", "AU3");
put("J222", "AU3");
put("J223", "AU3");
put("J224", "DU3");
put("J225", "JU3");
put("J231", "AU3");
put("J232", "AU3");
put("J233", "DU3");
put("J234", "GU3");
put("J235", "MU3");
put("J241", "EN3");
put("J242", "HN3");
put("J243", "HN3");
put("J244", "HN3");
put("J245", "NN3");
put("J251", "HN3");
put("J252", "HN3");
put("J253", "HN3");
put("J254", "HN3");
put("J255", "NN3");
put("J311", "AU3");
put("J312", "AU3");
put("J313", "AU3");
put("J314", "DU3");
put("J315", "JU3");
put("J321", "AU3");
put("J322", "AU3");
put("J323", "AU3");
put("J324", "DU3");
put("J325", "JU3");
put("J331", "AU3");
put("J332", "AU3");
put("J333", "DU3");
put("J334", "GU3");
put("J335", "MU3");
put("J341", "HN3");
put("J342", "HN3");
put("J343", "HN3");
put("J344", "HN3");
put("J345", "NN3");
put("J351", "GN3");
put("J352", "GN3");
put("J353", "GN3");
put("J354", "GN3");
put("J355", "MN3");
put("J411", "AF3");
put("J412", "AF3");
put("J413", "AF3");
put("J414", "DF3");
put("J415", "JF3");
put("J421", "AF3");
put("J422", "AF3");
put("J423", "AF3");
put("J424", "GF3");
put("J425", "JF3");
put("J431", "AF3");
put("J432", "AF3");
put("J433", "DF3");
put("J434", "GF3");
put("J435", "MF3");
put("J441", "GN3");
put("J442", "GN3");
put("J443", "GN3");
put("J444", "MN3");
put("J445", "MN3");
put("J451", "GS3");
put("J452", "MS3");
put("J453", "MS3");
put("J454", "MS3");
put("J455", "MS3");
put("J511", "AS2");
put("J512", "DS2");
put("J513", "JS2");
put("J514", "JS2");
put("J515", "JS2");
put("J521", "DS2");
put("J522", "JS2");
put("J523", "JS2");
put("J524", "JS2");
put("J525", "JS2");
put("J531", "DS3");
put("J532", "JS3");
put("J533", "JS3");
put("J534", "JS3");
put("J535", "MS3");
put("J541", "JS3");
put("J542", "MS3");
put("J543", "MS3");
put("J544", "MS3");
put("J545", "MS3");
put("J551", "MS3");
put("J552", "MS3");
put("J553", "MS3");
put("J554", "MS3");
put("J555", "MS3");
put("J611", "LS2");
put("J612", "LS2");
put("J613", "LS2");
put("J614", "LS2");
put("J615", "LS2");
put("J621", "LS2");
put("J622", "LS2");
put("J623", "LS2");
put("J624", "LS2");
put("J625", "LS2");
put("J631", "LS3");
put("J632", "LS3");
put("J633", "LS3");
put("J634", "LS3");
put("J635", "LS3");
put("J641", "LG3");
put("J642", "LG3");
put("J643", "PG3");
put("J644", "PG3");
put("J645", "PG3");
put("J651", "PG3");
put("J652", "PG3");
put("J653", "PG3");
put("J654", "PG3");
put("J655", "PG3");
put("J711", "LG3");
put("J712", "LG3");
put("J713", "LG3");
put("J714", "LG3");
put("J715", "LG3");
put("J721", "LG3");
put("J722", "LG3");
put("J723", "LG3");
put("J724", "LG3");
put("J725", "LG3");
put("J731", "PG3");
put("J732", "PG3");
put("J733", "PG3");
put("J734", "PG3");
put("J735", "PG3");
put("J741", "PW3");
put("J742", "PW3");
put("J743", "PW3");
put("J744", "PW3");
put("J745", "PW3");
put("J751", "PW3");
put("J752", "PW3");
put("J753", "PW3");
put("J754", "PW3");
put("J755", "PW3");
put("J811", "LW3");
put("J812", "LW3");
put("J813", "LW3");
put("J814", "LW3");
put("J815", "LW3");
put("J821", "PW3");
put("J822", "PW3");
put("J823", "PW3");
put("J824", "PW3");
put("J825", "PW3");
put("J831", "PW3");
put("J832", "PW3");
put("J833", "PW3");
put("J834", "PW3");
put("J835", "PW3");
put("J841", "PW3");
put("J842", "PW3");
put("J843", "PW3");
put("J844", "PW3");
put("J845", "PW3");
put("J851", "PH3");
put("J852", "PH3");
put("J853", "PH3");
put("J854", "PH3");
put("J855", "PH3");
put("K111", "AU3");
put("K112", "AU3");
put("K113", "AU3");
put("K114", "DU3");
put("K115", "JU3");
put("K121", "AU3");
put("K122", "AU3");
put("K123", "AU3");
put("K124", "DU3");
put("K125", "JU3");
put("K131", "AU3");
put("K132", "AU3");
put("K133", "DU3");
put("K134", "GU3");
put("K135", "JU3");
put("K141", "EN3");
put("K142", "HN3");
put("K143", "HN3");
put("K144", "HN3");
put("K145", "NN3");
put("K151", "HN3");
put("K152", "HN3");
put("K153", "HN3");
put("K154", "HN3");
put("K155", "NN3");
put("K211", "AU3");
put("K212", "AU3");
put("K213", "AU3");
put("K214", "DU3");
put("K215", "JU3");
put("K221", "AU3");
put("K222", "AU3");
put("K223", "AU3");
put("K224", "DU3");
put("K225", "JU3");
put("K231", "AU3");
put("K232", "AU3");
put("K233", "DU3");
put("K234", "GU3");
put("K235", "MU3");
put("K241", "HN3");
put("K242", "HN3");
put("K243", "HN3");
put("K244", "HN3");
put("K245", "NN3");
put("K251", "HN3");
put("K252", "HN3");
put("K253", "HN3");
put("K254", "HN3");
put("K255", "NN3");
put("K311", "AU3");
put("K312", "AU3");
put("K313", "AU3");
put("K314", "DU3");
put("K315", "JU3");
put("K321", "AU3");
put("K322", "AU3");
put("K323", "AU3");
put("K324", "DU3");
put("K325", "JU3");
put("K331", "AU3");
put("K332", "AU3");
put("K333", "DU3");
put("K334", "GU3");
put("K335", "MU3");
put("K341", "HN3");
put("K342", "HN3");
put("K343", "HN3");
put("K344", "HN3");
put("K345", "NN3");
put("K351", "GN3");
put("K352", "GN3");
put("K353", "GN3");
put("K354", "GN3");
put("K355", "MN3");
put("K411", "AF3");
put("K412", "AF3");
put("K413", "AF3");
put("K414", "DF3");
put("K415", "JF3");
put("K421", "AF3");
put("K422", "AF3");
put("K423", "DF3");
put("K424", "GF3");
put("K425", "JF3");
put("K431", "AF3");
put("K432", "AF3");
put("K433", "GF3");
put("K434", "GF3");
put("K435", "JF3");
put("K441", "GN3");
put("K442", "GN3");
put("K443", "GN3");
put("K444", "MN3");
put("K445", "MN3");
put("K451", "GS3");
put("K452", "MS3");
put("K453", "MS3");
put("K454", "MS3");
put("K455", "MS3");
put("K511", "DS3");
put("K512", "JS3");
put("K513", "JS3");
put("K514", "JS3");
put("K515", "JS3");
put("K521", "JS3");
put("K522", "JS3");
put("K523", "JS3");
put("K524", "JS3");
put("K525", "JS3");
put("K531", "JS3");
put("K532", "JS3");
put("K533", "JS3");
put("K534", "JS3");
put("K535", "MS3");
put("K541", "JS3");
put("K542", "MS3");
put("K543", "MS3");
put("K544", "MS3");
put("K545", "MS3");
put("K551", "MS3");
put("K552", "MS3");
put("K553", "MS3");
put("K554", "MS3");
put("K555", "MS3");
put("K611", "LS3");
put("K612", "LS3");
put("K613", "LS3");
put("K614", "LS3");
put("K615", "LS3");
put("K621", "LS3");
put("K622", "LS3");
put("K623", "LS3");
put("K624", "LS3");
put("K625", "LS3");
put("K631", "LS3");
put("K632", "LS3");
put("K633", "LS3");
put("K634", "LS3");
put("K635", "LS3");
put("K641", "LG3");
put("K642", "PG3");
put("K643", "PG3");
put("K644", "PG3");
put("K645", "PG3");
put("K651", "PG3");
put("K652", "PG3");
put("K653", "PG3");
put("K654", "PG3");
put("K655", "PG3");
put("K711", "LG46");
put("K712", "LG46");
put("K713", "LG46");
put("K714", "LG46");
put("K715", "LG46");
put("K721", "LG46");
put("K722", "LG46");
put("K723", "LG46");
put("K724", "LG46");
put("K725", "LG46");
put("K731", "PG46");
put("K732", "PG46");
put("K733", "PG46");
put("K734", "PG46");
put("K735", "PG46");
put("K741", "PW46");
put("K742", "PW46");
put("K743", "PW46");
put("K744", "PW46");
put("K745", "PW46");
put("K751", "PW45");
put("K752", "PW45");
put("K753", "PW45");
put("K754", "PW45");
put("K755", "PW45");
put("K811", "LW46");
put("K812", "LW46");
put("K813", "LW46");
put("K814", "LW46");
put("K815", "LW46");
put("K821", "PW46");
put("K822", "PW46");
put("K823", "PW46");
put("K824", "PW46");
put("K825", "PW46");
put("K831", "PW46");
put("K832", "PW46");
put("K833", "PW46");
put("K834", "PW46");
put("K835", "PW46");
put("K841", "PW46");
put("K842", "PW46");
put("K843", "PW46");
put("K844", "PW46");
put("K845", "PW46");
put("K851", "PH46");
put("K852", "PH46");
put("K853", "PH46");
put("K854", "PH46");
put("K855", "PH46");
put("L111", "AU3");
put("L112", "AU3");
put("L113", "AU3");
put("L114", "DU3");
put("L115", "JU3");
put("L121", "AU4");
put("L122", "AU4");
put("L123", "AU4");
put("L124", "DU4");
put("L125", "JU4");
put("L131", "BU4");
put("L132", "BU4");
put("L133", "EU4");
put("L134", "HU4");
put("L135", "KU4");
put("L141", "EN4");
put("L142", "HN4");
put("L143", "HN4");
put("L144", "HN4");
put("L145", "NN4");
put("L151", "HN4");
put("L152", "HN4");
put("L153", "HN4");
put("L154", "HN4");
put("L155", "NN4");
put("L211", "AU3");
put("L212", "AU3");
put("L213", "AU3");
put("L214", "DU3");
put("L215", "JU3");
put("L221", "AU4");
put("L222", "AU4");
put("L223", "AU4");
put("L224", "DU4");
put("L225", "JU4");
put("L231", "AU4");
put("L232", "AU4");
put("L233", "DU4");
put("L234", "GU4");
put("L235", "JU4");
put("L241", "HN4");
put("L242", "HN4");
put("L243", "HN4");
put("L244", "HN4");
put("L245", "NN4");
put("L251", "HN4");
put("L252", "HN4");
put("L253", "HN4");
put("L254", "HN4");
put("L255", "NN4");
put("L311", "AU3");
put("L312", "AU3");
put("L313", "AU3");
put("L314", "DU3");
put("L315", "JU3");
put("L321", "AU4");
put("L322", "AU4");
put("L323", "AU4");
put("L324", "DU4");
put("L325", "JU4");
put("L331", "AU4");
put("L332", "AU4");
put("L333", "DU4");
put("L334", "GU4");
put("L335", "JU4");
put("L341", "HN4");
put("L342", "HN4");
put("L343", "HN4");
put("L344", "HN4");
put("L345", "NN4");
put("L351", "GN4");
put("L352", "GN4");
put("L353", "GN4");
put("L354", "GN4");
put("L355", "MN4");
put("L411", "AF3");
put("L412", "AF3");
put("L413", "AF3");
put("L414", "DF3");
put("L415", "JF3");
put("L421", "AF4");
put("L422", "AF4");// Shown in The Sager Weathercaster as "L 422".
put("L423", "DF4");
put("L424", "GF4");
put("L425", "JF4");
put("L431", "AF4");
put("L432", "AF4");
put("L433", "GF4");
put("L434", "GF4");
put("L435", "JF4");
put("L441", "GN4");
put("L442", "GN4");
put("L443", "GN4");
put("L444", "MN4");
put("L445", "MN4");
put("L451", "GS4");
put("L452", "MS4");
put("L453", "MS4");
put("L454", "MS4");
put("L455", "MS4");
put("L511", "DS3");
put("L512", "JS3");
put("L513", "JS3");
put("L514", "JS3");
put("L515", "JS3");
put("L521", "JS4");
put("L522", "JS4");
put("L523", "JS4");
put("L524", "JS4");
put("L525", "JS4");
put("L531", "JS4");
put("L532", "JS4");
put("L533", "JS4");
put("L534", "JS4");
put("L535", "MS4");
put("L541", "JS4");
put("L542", "MS4");
put("L543", "MS4");
put("L544", "MS4");
put("L545", "MS4");
put("L551", "MS4");
put("L552", "MS4");
put("L553", "MS4");
put("L554", "MS4");
put("L555", "MS4");
put("L611", "LS45");
put("L612", "LS45");
put("L613", "LS45");
put("L614", "LS45");
put("L615", "LS45");
put("L621", "LS45");
put("L622", "LS45");
put("L623", "LS45");
put("L624", "LS45");
put("L625", "LS45");
put("L631", "LS45");
put("L632", "LS45");
put("L633", "LS45");
put("L634", "LS45");
put("L635", "LS45");
put("L641", "LG45");
put("L642", "PG45");
put("L643", "PG45");
put("L644", "PG45");
put("L645", "PG45");
put("L651", "PG45");
put("L652", "PG45");
put("L653", "PG45");
put("L654", "PG45");
put("L655", "PG45");
put("L711", "LG46");
put("L712", "LG46");
put("L713", "LG46");
put("L714", "LG46");
put("L715", "LG46");
put("L721", "LG46");
put("L722", "LG46");
put("L723", "LG46");
put("L724", "LG46");
put("L725", "LG46");
put("L731", "PG46");
put("L732", "PG46");
put("L733", "PG46");
put("L734", "PG46");
put("L735", "PG46");
put("L741", "PW46");
put("L742", "PW46");
put("L743", "PW46");
put("L744", "PW46");
put("L745", "PW46");
put("L751", "PW45");
put("L752", "PW45");
put("L753", "PW45");
put("L754", "PW45");
put("L755", "PW45");
put("L811", "LW46");
put("L812", "LW46");
put("L813", "LW46");
put("L814", "LW46");
put("L815", "LW46");
put("L821", "PW46");
put("L822", "PW46");
put("L823", "PW46");
put("L824", "PW46");
put("L825", "PW46");
put("L831", "PW46");
put("L832", "PW46");
put("L833", "PW46");
put("L834", "PW46");
put("L835", "PW46");
put("L841", "PW46");
put("L842", "PW46");
put("L843", "PW46");
put("L844", "PW46");
put("L845", "PW46");
put("L851", "PH46");
put("L852", "PH46");
put("L853", "PH46");
put("L854", "PH46");
put("L855", "PH46");
put("M111", "AU4");
put("M112", "AU4");
put("M113", "AU4");
put("M114", "DU4");
put("M115", "JU4");
put("M121", "AU4");
put("M122", "AU4");
put("M123", "AU4");
put("M124", "DU4");
put("M125", "JU4");
put("M131", "BU4");
put("M132", "BU4");
put("M133", "EU4");
put("M134", "HU4");
put("M135", "KU4");
put("M141", "EN4");
put("M142", "HN4");
put("M143", "HN4");
put("M144", "HN4");
put("M145", "NN4");
put("M151", "HN4");
put("M152", "HN4");
put("M153", "HN4");
put("M154", "HN4");
put("M155", "NN4");
put("M211", "AU4");
put("M212", "AU4");
put("M213", "AU4");
put("M214", "DU4");
put("M215", "JU4");
put("M221", "AU4");
put("M222", "AU4");
put("M223", "AU4");
put("M224", "DU4");
put("M225", "JU4");
put("M231", "AU4");
put("M232", "AU4");
put("M233", "DU4");
put("M234", "GU4");
put("M235", "JU4");
put("M241", "HN4");
put("M242", "HN4");
put("M243", "HN4");
put("M244", "HN4");
put("M245", "NN4");
put("M251", "HN4");
put("M252", "HN4");
put("M253", "HN4");
put("M254", "HN4");
put("M255", "NN4");
put("M311", "AU4");
put("M312", "AU4");
put("M313", "AU4");
put("M314", "DU4");
put("M315", "JU4");
put("M321", "AU4");
put("M322", "AU4");
put("M323", "AU4");
put("M324", "DU4");
put("M325", "JU4");
put("M331", "AU4");
put("M332", "AU4");
put("M333", "DU4");
put("M334", "GU4");
put("M335", "JU4");
put("M341", "HN4");
put("M342", "HN4");
put("M343", "HN4");
put("M344", "HN4");
put("M345", "NN4");
put("M351", "GN4");
put("M352", "GN4");
put("M353", "GN4");
put("M354", "GN4");
put("M355", "MN4");
put("M411", "AF4");
put("M412", "AF4");
put("M413", "AF4");
put("M414", "DF4");
put("M415", "JF4");
put("M421", "AF4");
put("M422", "AF4");
put("M423", "DF4");
put("M424", "GF4");
put("M425", "JF4");
put("M431", "AF4");
put("M432", "AF4");
put("M433", "GF4");
put("M434", "GF4");
put("M435", "JF4");
put("M441", "GN4");
put("M442", "GN4");
put("M443", "GN4");
put("M444", "MN4");
put("M445", "MN4");
put("M451", "GS4");
put("M452", "MS4");
put("M453", "MS4");
put("M454", "MS4");
put("M455", "MS4");
put("M511", "DS4");
put("M512", "JS4");
put("M513", "JS4");
put("M514", "JS4");
put("M515", "JS4");
put("M521", "JS4");
put("M522", "JS4");
put("M523", "JS4");
put("M524", "JS4");
put("M525", "JS4");
put("M531", "JS4");
put("M532", "JS4");
put("M533", "JS4");
put("M534", "JS4");
put("M535", "MS4");
put("M541", "JS4");
put("M542", "MS4");
put("M543", "MS4");
put("M544", "MS4");
put("M545", "MS4");
put("M551", "MS4");
put("M552", "MS4");
put("M553", "MS4");
put("M554", "MS4");
put("M555", "MS4");
put("M611", "LS45");
put("M612", "LS45");
put("M613", "LS45");
put("M614", "LS45");
put("M615", "LS45");
put("M621", "LS45");
put("M622", "LS45");
put("M623", "LS45");
put("M624", "LS45");
put("M625", "LS45");
put("M631", "LS45");
put("M632", "LS45");
put("M633", "LS45");
put("M634", "LS45");
put("M635", "LS45");
put("M641", "LG45");
put("M642", "PG45");
put("M643", "PG45");
put("M644", "PG45");
put("M645", "PG45");
put("M651", "PG45");
put("M652", "PG45");
put("M653", "PG45");
put("M654", "PG45");
put("M655", "PG45");
put("M711", "LG46");
put("M712", "LG46");
put("M713", "LG46");
put("M714", "LG46");
put("M715", "LG46");
put("M721", "LG46");
put("M722", "LG46");
put("M723", "LG46");
put("M724", "LG46");
put("M725", "LG46");
put("M731", "PG46");
put("M732", "PG46");
put("M733", "PG46");
put("M734", "PG46");
put("M735", "PG46");
put("M741", "PW46");
put("M742", "PW46");
put("M743", "PW46");
put("M744", "PW46");
put("M745", "PW46");
put("M751", "PW46");
put("M752", "PW46");
put("M753", "PW46");
put("M754", "PW46");
put("M755", "PW46");
put("M811", "LW46");
put("M812", "LW46");
put("M813", "LW46");
put("M814", "LW46");
put("M815", "LW46");
put("M821", "PW46");
put("M822", "PW46");
put("M823", "PW46");
put("M824", "PW46");
put("M825", "PW46");
put("M831", "PW46");
put("M832", "PW46");
put("M833", "PW46");
put("M834", "PW46");
put("M835", "PW46");
put("M841", "PW46");
put("M842", "PW46");
put("M843", "PW46");
put("M844", "PW46");
put("M845", "PW46");
put("M851", "PH46");
put("M852", "PH46");
put("M853", "PH46");
put("M854", "PH46");
put("M855", "PH46");
put("N111", "BU5");
put("N112", "BU5");
put("N113", "BU5");
put("N114", "BU5");
put("N115", "EU5");
put("N121", "BU5");
put("N122", "BU5");
put("N123", "BU5");
put("N124", "EU5");
put("N125", "EU5");
put("N131", "BU5");
put("N132", "BU5");
put("N133", "BU5");
put("N134", "EU5");
put("N135", "KU5");
put("N141", "EN4");
put("N142", "HN4");
put("N143", "HN4");
put("N144", "HN4");
put("N145", "NN4");
put("N151", "HN4");
put("N152", "HN4");
put("N153", "HN4");
put("N154", "HN4");
put("N155", "NN4");
put("N211", "AU5");
put("N212", "AU5");
put("N213", "AU5");
put("N214", "AU5");
put("N215", "DU5");
put("N221", "BU5");
put("N222", "BU5");
put("N223", "BU5");
put("N224", "EU5");
put("N225", "EU5");
put("N231", "BU5");
put("N232", "BU5");
put("N233", "BU5");
put("N234", "EU5");
put("N235", "KU5");
put("N241", "EN4");
put("N242", "HN4");
put("N243", "HN4");
put("N244", "HN4");
put("N245", "KN4");
put("N251", "HN4");
put("N252", "HN4");
put("N253", "HN4");
put("N254", "HN4");
put("N255", "NN4");
put("N311", "AU5");
put("N312", "AU5");
put("N313", "AU5");
put("N314", "AU5");
put("N315", "DU5");
put("N321", "AU5");
put("N322", "AU5");
put("N323", "AU5");
put("N324", "DU5");
put("N325", "JU5");
put("N331", "BU5");
put("N332", "BU5");
put("N333", "BU5");
put("N334", "EU5");
put("N335", "KU5");
put("N341", "HN4");
put("N342", "HN4");
put("N343", "HN4");
put("N344", "HN4");
put("N345", "KN4");
put("N351", "HN4");
put("N352", "HN4");
put("N353", "HN4");
put("N354", "HN4");
put("N355", "NN4");
put("N411", "AF5");
put("N412", "AF5");
put("N413", "AF5");
put("N414", "DF5");
put("N415", "JF5");
put("N421", "AF5");
put("N422", "AF5");
put("N423", "AF5");
put("N424", "DF5");
put("N425", "JF5");
put("N431", "AF5");
put("N432", "AF5");
put("N433", "DF5");
put("N434", "GF5");
put("N435", "JF5");
put("N441", "GN4");
put("N442", "GN4");
put("N443", "GN4");
put("N444", "JN4");
put("N445", "MN4");
put("N451", "GN4");
put("N452", "GN4");
put("N453", "GN4");
put("N454", "MN4");
put("N455", "MN4");
put("N511", "DS56");
put("N512", "JS56");
put("N513", "JS56");
put("N514", "JS56");
put("N515", "JS56");
put("N521", "DF5");
put("N522", "JF5");
put("N523", "JF5");
put("N524", "JF5");
put("N525", "JF5");
put("N531", "JF5");
put("N532", "JF5");
put("N533", "JF5");
put("N534", "JF5");
put("N535", "JF5");
put("N541", "JS5");
put("N542", "JS5");
put("N543", "JS5");
put("N544", "MS5");
put("N545", "MS5");
put("N551", "JS5");
put("N552", "JS5");
put("N553", "MS5");
put("N554", "MS5");
put("N555", "MS5");
put("N611", "SS56");
put("N612", "SS56");
put("N613", "SS56");
put("N614", "SS56");
put("N615", "SS56");
put("N621", "SS56");
put("N622", "SS56");
put("N623", "SS56");
put("N624", "SS56");
put("N625", "SS56");
put("N631", "SS56");
put("N632", "SS56");
put("N633", "SS56");
put("N634", "SS56");
put("N635", "SS56");
put("N641", "SS56");
put("N642", "SS56");
put("N643", "SS56");
put("N644", "SS56");
put("N645", "SS56");
put("N651", "LS56");
put("N652", "LS56");
put("N653", "PS56");
put("N654", "PS56");
put("N655", "PS56");
put("N711", "SG57");
put("N712", "SG57");
put("N713", "SG57");
put("N714", "SG57");
put("N715", "SG57");
put("N721", "SG57");
put("N722", "SG57");
put("N723", "SG57");
put("N724", "SG57");
put("N725", "SG57");
put("N731", "SG57");
put("N732", "SG57");
put("N733", "SG57");
put("N734", "SG57");
put("N735", "SG57");
put("N741", "SG57");
put("N742", "SG57");
put("N743", "SG57");
put("N744", "SG57");
put("N745", "SG57");
put("N751", "LG57");
put("N752", "LG57");
put("N753", "PG57");
put("N754", "PG57");
put("N755", "PG57");
put("N811", "SW57");
put("N812", "SW57");
put("N813", "SW57");
put("N814", "SW57");
put("N815", "SW57");
put("N821", "SW57");
put("N822", "SW57");
put("N823", "SW57");
put("N824", "SW57");
put("N825", "SW57");
put("N831", "SW57");
put("N832", "SW57");
put("N833", "SW57");
put("N834", "SW57");
put("N835", "SW57");
put("N841", "SW57");
put("N842", "SW57");
put("N843", "SW57");
put("N844", "SW57");
put("N845", "SW57");
put("N851", "LW57");
put("N852", "LW57");
put("N853", "PW57");
put("N854", "PW57");
put("N855", "PW57");
put("O111", "AU5");
put("O112", "AU5");
put("O113", "AU5");
put("O114", "AU5");
put("O115", "DU5");
put("O121", "BU5");
put("O122", "BU5");
put("O123", "BU5");
put("O124", "BU5");
put("O125", "EU5");
put("O131", "BU5");
put("O132", "BU5");
put("O133", "BU5");
put("O134", "EU5");
put("O135", "KU5");
put("O141", "BN4");
put("O142", "HN4");
put("O143", "HN4");
put("O144", "HN4");
put("O145", "NN4");
put("O151", "HN4");
put("O152", "HN4");
put("O153", "HN4");
put("O154", "HN4");
put("O155", "NN4");
put("O211", "AU5");
put("O212", "AU5");
put("O213", "AU5");
put("O214", "AU5");
put("O215", "DU5");
put("O221", "BU5");
put("O222", "BU5");
put("O223", "BU5");
put("O224", "BU5");
put("O225", "EU5");
put("O231", "BU5");
put("O232", "BU5");
put("O233", "BU5");
put("O234", "EU5");
put("O235", "KU5");
put("O241", "EN4");
put("O242", "HN4");
put("O243", "HN4");
put("O244", "HN4");
put("O245", "KN4");
put("O251", "HN4");
put("O252", "HN4");
put("O253", "HN4");
put("O254", "HN4");
put("O255", "NN4");
put("O311", "AU5");
put("O312", "AU5");
put("O313", "AU5");
put("O314", "AU5");
put("O315", "DU5");
put("O321", "AU5");
put("O322", "AU5");
put("O323", "AU5");
put("O324", "DU5");
put("O325", "JU5");
put("O331", "BU5");
put("O332", "BU5");
put("O333", "BU5");
put("O334", "EU5");
put("O335", "KU5");
put("O341", "HN5");
put("O342", "HN5");
put("O343", "HN5");
put("O344", "HN5");
put("O345", "KN5");
put("O351", "GN5");
put("O352", "GN5");
put("O353", "GN5");
put("O354", "GN5");
put("O355", "MN5");
put("O411", "AF5");
put("O412", "AF5");
put("O413", "AF5");
put("O414", "DF5");
put("O415", "JF5");
put("O421", "AF5");
put("O422", "AF5");
put("O423", "AF5");
put("O424", "DF5");
put("O425", "JF5");
put("O431", "AF5");
put("O432", "AF5");
put("O433", "DF5");
put("O434", "GF5");
put("O435", "JF5");
put("O441", "GN5");
put("O442", "GN5");
put("O443", "GN5");
put("O444", "JN5");
put("O445", "MN5");
put("O451", "GN5");
put("O452", "GN5");
put("O453", "GN5");
put("O454", "MN5");
put("O455", "MN5");
put("O511", "DS56");
put("O512", "JS56");
put("O513", "JS56");
put("O514", "SS56");
put("O515", "SS56");
put("O521", "DF56");
put("O522", "JF56");
put("O523", "JF56");
put("O524", "SF56");
put("O525", "SF56");
put("O531", "JF56");
put("O532", "JF56");
put("O533", "JF56");
put("O534", "JF56");
put("O535", "JF56");
put("O541", "JS56");
put("O542", "JS56");
put("O543", "JS56");
put("O544", "MS56");
put("O545", "MS56");
put("O551", "LS56");
put("O552", "LS56");
put("O553", "PS56");
put("O554", "PS56");
put("O555", "PS56");
put("O611", "SS57");
put("O612", "SS57");
put("O613", "SS57");
put("O614", "SS57");
put("O615", "SS57");
put("O621", "SS57");
put("O622", "SS57");
put("O623", "SS57");
put("O624", "SS57");
put("O625", "SS57");
put("O631", "SS57");
put("O632", "SS57");
put("O633", "SS57");
put("O634", "SS57");
put("O635", "SS57");
put("O641", "SS57");
put("O642", "SS57");
put("O643", "SS57");
put("O644", "SS57");
put("O645", "SS57");
put("O651", "LS57");
put("O652", "LS57");
put("O653", "PS57");
put("O654", "PS57");
put("O655", "PS57");
put("O711", "SG57");
put("O712", "SG57");
put("O713", "SG57");
put("O714", "SG57");
put("O715", "SG57");
put("O721", "SG57");
put("O722", "SG57");
put("O723", "SG57");
put("O724", "SG57");
put("O725", "SG57");
put("O731", "SG57");
put("O732", "SG57");
put("O733", "SG57");
put("O734", "SG57");
put("O735", "SG57");
put("O741", "SG57");
put("O742", "SG57");
put("O743", "SG57");
put("O744", "SG57");
put("O745", "SG57");
put("O751", "LG57");
put("O752", "LG57");
put("O753", "PG57");
put("O754", "PG57");
put("O755", "PG57");
put("O811", "SW57");
put("O812", "SW57");
put("O813", "SW57");
put("O814", "SW57");
put("O815", "SW57");
put("O821", "SW57");
put("O822", "SW57");
put("O823", "SW57");
put("O824", "SW57");
put("O825", "SW57");
put("O831", "SW57");
put("O832", "SW57");
put("O833", "SW57");
put("O834", "SW57");
put("O835", "SW57");
put("O841", "SW57");
put("O842", "SW57");
put("O843", "SW57");
put("O844", "SW57");
put("O845", "SW57");
put("O851", "LW57");
put("O852", "LW57");
put("O853", "PW57");
put("O854", "PW57");
put("O855", "PW57");
put("P111", "AU5");
put("P112", "AU5");
put("P113", "AU5");
put("P114", "AU5");
put("P115", "DU5");
put("P121", "BU5");
put("P122", "BU5");
put("P123", "BU5");
put("P124", "BU5");
put("P125", "EU5");
put("P131", "BU5");
put("P132", "BU5");
put("P133", "BU5");
put("P134", "EU5");
put("P135", "KU5");
put("P141", "BN5");
put("P142", "HN5");
put("P143", "HN5");
put("P144", "HN5");
put("P145", "KN5");
put("P151", "HN5");
put("P152", "HN5");
put("P153", "HN5");
put("P154", "HN5");
put("P155", "NN5");
put("P211", "AU5");
put("P212", "AU5");
put("P213", "AU5");
put("P214", "AU5");
put("P215", "DU5");
put("P221", "BU5");
put("P222", "BU5");
put("P223", "BU5");
put("P224", "BU5");
put("P225", "EU5");
put("P231", "BU5");
put("P232", "BU5");
put("P233", "BU5");
put("P234", "EU5");
put("P235", "KU5");
put("P241", "EN5");
put("P242", "HN5");
put("P243", "HN5");
put("P244", "HN5");
put("P245", "KN5");
put("P251", "HN5");
put("P252", "HN5");
put("P253", "HN5");
put("P254", "HN5");
put("P255", "NN5");
put("P311", "AU5");
put("P312", "AU5");
put("P313", "AU5");
put("P314", "AU5");
put("P315", "DU5");
put("P321", "AU5");
put("P322", "AU5");
put("P323", "AU5");
put("P324", "DU5");
put("P325", "JU5");
put("P331", "BU5");
put("P332", "BU5");
put("P333", "BU5");
put("P334", "EU5");
put("P335", "KU5");
put("P341", "HN5");
put("P342", "HN5");
put("P343", "HN5");
put("P344", "HN5");
put("P345", "KN5");
put("P351", "GN5");
put("P352", "GN5");
put("P353", "GN5");
put("P354", "GN5");
put("P355", "MN5");
put("P411", "AF5");
put("P412", "AF5");
put("P413", "AF5");
put("P414", "DF5");
put("P415", "JF5");
put("P421", "AF5");
put("P422", "AF5");
put("P423", "AF5");
put("P424", "DF5");
put("P425", "JF5");
put("P431", "AF5");
put("P432", "AF5");
put("P433", "DF5");
put("P434", "GF5");
put("P435", "JF5");
put("P441", "GN5");
put("P442", "GN5");
put("P443", "GN5");
put("P444", "JN5");
put("P445", "MN5");
put("P451", "GN5");
put("P452", "GN5");
put("P453", "GN5");
put("P454", "MN5");
put("P455", "MN5");
put("P511", "DS56");
put("P512", "JS56");
put("P513", "JS56");
put("P514", "SS56");
put("P515", "SS56");
put("P521", "DF56");
put("P522", "JF56");
put("P523", "JF56");
put("P524", "SF56");
put("P525", "SF56");
put("P531", "JF56");
put("P532", "JF56");
put("P533", "JF56");
put("P534", "JF56");
put("P535", "JF56");
put("P541", "JS56");
put("P542", "JS56");
put("P543", "JS56");
put("P544", "MS56");
put("P545", "MS56");
put("P551", "LS56");
put("P552", "LS56");
put("P553", "PS56");
put("P554", "PS56");
put("P555", "PS56");
put("P611", "SS57");
put("P612", "SS57");
put("P613", "SS57");
put("P614", "SS57");
put("P615", "SS57");
put("P621", "SS57");
put("P622", "SS57");
put("P623", "SS57");
put("P624", "SS57");
put("P625", "SS57");
put("P631", "SS57");
put("P632", "SS57");
put("P633", "SS57");
put("P634", "SS57");
put("P635", "SS57");
put("P641", "SS57");
put("P642", "SS57");
put("P643", "SS57");
put("P644", "SS57");
put("P645", "SS57");
put("P651", "LS57");
put("P652", "LS57");
put("P653", "PS57");
put("P654", "PS57");
put("P655", "PS57");
put("P711", "SG57");
put("P712", "SG57");
put("P713", "SG57");
put("P714", "SG57");
put("P715", "SG57");
put("P721", "SG57");
put("P722", "SG57");
put("P723", "SG57");
put("P724", "SG57");
put("P725", "SG57");
put("P731", "SG57");
put("P732", "SG57");
put("P733", "SG57");
put("P734", "SG57");
put("P735", "SG57");
put("P741", "SG57");
put("P742", "SG57");
put("P743", "SG57");
put("P744", "SG57");
put("P745", "SG57");
put("P751", "LG57");
put("P752", "LG57");
put("P753", "PG57");
put("P754", "PG57");
put("P755", "PG57");
put("P811", "SW57");
put("P812", "SW57");
put("P813", "SW57");
put("P814", "SW57");
put("P815", "SW57");
put("P821", "SW57");
put("P822", "SW57");
put("P823", "SW57");
put("P824", "SW57");
put("P825", "SW57");
put("P831", "SW57");
put("P832", "SW57");
put("P833", "SW57");
put("P834", "SW57");
put("P835", "SW57");
put("P841", "SW57");
put("P842", "SW57");
put("P843", "SW57");
put("P844", "SW57");
put("P845", "SW57");
put("P851", "LW57");
put("P852", "LW57");
put("P853", "PW57");
put("P854", "PW57");
put("P855", "PW57");
put("Q111", "BU5");
put("Q112", "BU5");
put("Q113", "BU5");
put("Q114", "BU5");
put("Q115", "EU5");
put("Q121", "BU5");
put("Q122", "BU5");
put("Q123", "BU5");
put("Q124", "BU5");
put("Q125", "EU5");
put("Q131", "BU5");
put("Q132", "BU5");
put("Q133", "BU5");
put("Q134", "BU5");
put("Q135", "KU5");
put("Q141", "BN5");
put("Q142", "EN5");
put("Q143", "HN5");
put("Q144", "HN5");
put("Q145", "KN5");
put("Q151", "EN5");
put("Q152", "HN5");
put("Q153", "HN5");
put("Q154", "HN5");
put("Q155", "KN5");
put("Q211", "AU5");
put("Q212", "AU5");
put("Q213", "AU5");
put("Q214", "AU5");
put("Q215", "DU5");
put("Q221", "BU5");
put("Q222", "BU5");
put("Q223", "BU5");
put("Q224", "BU5");
put("Q225", "EU5");
put("Q231", "BU5");
put("Q232", "BU5");
put("Q233", "BU5");
put("Q234", "EU5");
put("Q235", "KU5");
put("Q241", "BN5");
put("Q242", "EN5");
put("Q243", "HN5");
put("Q244", "HN5");
put("Q245", "KN5");
put("Q251", "HN5");
put("Q252", "HN5");
put("Q253", "HN5");
put("Q254", "HN5");
put("Q255", "KN5");
put("Q311", "AF5");
put("Q312", "AF5");
put("Q313", "AF5");
put("Q314", "AF5");
put("Q315", "DF5");
put("Q321", "AU5");
put("Q322", "AU5");
put("Q323", "AU5");
put("Q324", "DU5");
put("Q325", "RU5");
put("Q331", "BU5");
put("Q332", "BU5");
put("Q333", "BU5");
put("Q334", "EU5");
put("Q335", "KU5");
put("Q341", "EN5");
put("Q342", "HN5");
put("Q343", "HN5");
put("Q344", "HN5");
put("Q345", "KN5");
put("Q351", "HN5");
put("Q352", "HN5");
put("Q353", "HN5");
put("Q354", "HN5");
put("Q355", "KN5");
put("Q411", "CF6");
put("Q412", "CF6");
put("Q413", "CF6");
put("Q414", "YF6");
put("Q415", "UF6");
put("Q421", "AF6");
put("Q422", "AF6");
put("Q423", "AF6");
put("Q424", "DF6");
put("Q425", "JF6");
put("Q431", "AF6");
put("Q432", "AF6");
put("Q433", "DF6");
put("Q434", "DF6");
put("Q435", "JF6");
put("Q441", "GN5");
put("Q442", "GN5");
put("Q443", "GN5");
put("Q444", "JN5");
put("Q445", "JN5");
put("Q451", "GN5");
put("Q452", "GN5");
put("Q453", "GN5");
put("Q454", "JN5");
put("Q455", "JN5");
put("Q511", "CS6");
put("Q512", "CS6");
put("Q513", "FS6");
put("Q514", "FS6");
put("Q515", "SS6");
put("Q521", "FF6");
put("Q522", "FF6");
put("Q523", "FF6");
put("Q524", "FF6");
put("Q525", "SF6");
put("Q531", "JF6");
put("Q532", "JF6");
put("Q533", "JF6");
put("Q534", "JF6");
put("Q535", "JF6");
put("Q541", "JS6");
put("Q542", "JS6");
put("Q543", "JS6");
put("Q544", "JS6");
put("Q545", "JS6");
put("Q551", "JS6");
put("Q552", "JS6");
put("Q553", "JS6");
put("Q554", "JS6");
put("Q555", "JS6");
put("Q611", "FS6");
put("Q612", "FS6");
put("Q613", "FS6");
put("Q614", "SS6");
put("Q615", "SS6");
put("Q621", "FS6");
put("Q622", "FS6");
put("Q623", "FS6");
put("Q624", "SS6");
put("Q625", "SS6");
put("Q631", "SS6");
put("Q632", "SS6");
put("Q633", "SS6");
put("Q634", "SS6");
put("Q635", "SS6");
put("Q641", "SS6");
put("Q642", "SS6");
put("Q643", "SS6");
put("Q644", "SS6");
put("Q645", "SS6");
put("Q651", "SS6");
put("Q652", "SS6");
put("Q653", "SS6");
put("Q654", "SS6");
put("Q655", "SS6");
put("Q711", "FG67");
put("Q712", "SG67");
put("Q713", "SG67");
put("Q714", "SG67");
put("Q715", "SG67");
put("Q721", "SG67");
put("Q722", "SG67");
put("Q723", "SG67");
put("Q724", "SG67");
put("Q725", "SG67");
put("Q731", "SG67");
put("Q732", "SG67");
put("Q733", "SG67");
put("Q734", "SG67");
put("Q735", "SG67");
put("Q741", "SG67");
put("Q742", "SG67");
put("Q743", "SG67");
put("Q744", "SG67");
put("Q745", "SG67");
put("Q751", "SG67");
put("Q752", "SG67");
put("Q753", "SG67");
put("Q754", "SG67");
put("Q755", "SG67");
put("Q811", "SW67");
put("Q812", "SW67");
put("Q813", "SW67");
put("Q814", "SW67");
put("Q815", "SW67");
put("Q821", "SW67");
put("Q822", "SW67");
put("Q823", "SW67");
put("Q824", "SW67");
put("Q825", "SW67");
put("Q831", "SW67");
put("Q832", "SW67");
put("Q833", "SW67");
put("Q834", "SW67");
put("Q835", "SW67");
put("Q841", "SW67");
put("Q842", "SW67");
put("Q843", "SW67");
put("Q844", "SW67");
put("Q845", "SW67");
put("Q851", "SW67");
put("Q852", "SW67");
put("Q853", "SW67");
put("Q854", "SW67");
put("Q855", "SW67");
put("R111", "AU6");
put("R112", "AU6");
put("R113", "AU6");
put("R114", "AU6");
put("R115", "DU6");
put("R121", "BU6");
put("R122", "BU6");
put("R123", "BU6");
put("R124", "BU6");
put("R125", "EU6");
put("R131", "BU6");
put("R132", "BU6");
put("R133", "BU6");
put("R134", "BU6");
put("R135", "EU6");
put("R141", "BN5");
put("R142", "EN5");
put("R143", "HN5");
put("R144", "HN5");
put("R145", "KN5");
put("R151", "EN5");
put("R152", "HN5");
put("R153", "HN5");
put("R154", "HN5");
put("R155", "KN5");
put("R211", "AU6");
put("R212", "AU6");
put("R213", "AU6");
put("R214", "AU6");
put("R215", "DU6");
put("R221", "AU6");
put("R222", "AU6");
put("R223", "AU6");
put("R224", "AU6");
put("R225", "DU6");
put("R231", "BU6");
put("R232", "BU6");
put("R233", "BU6");
put("R234", "EU6");
put("R235", "RU6");
put("R241", "BN5");
put("R242", "EN5");
put("R243", "HN5");
put("R244", "HN5");
put("R245", "KN5");
put("R251", "HN5");
put("R252", "HN5");
put("R253", "HN5");
put("R254", "HN5");
put("R255", "KN5");
put("R311", "CF6");
put("R312", "CF6");
put("R313", "CF6");
put("R314", "CF6");
put("R315", "FF6");
put("R321", "AU6");
put("R322", "AU6");
put("R323", "AU6");
put("R324", "AU6");
put("R325", "TU6");
put("R331", "BU6");
put("R332", "BU6");
put("R333", "BU6");
put("R334", "XU6");
put("R335", "RU6");
put("R341", "EN5");
put("R342", "HN5");
put("R343", "HN5");
put("R344", "HN5");
put("R345", "KN5");
put("R351", "HN5");
put("R352", "HN5");
put("R353", "HN5");
put("R354", "GN5");
put("R355", "JN5");
put("R411", "CF6");
put("R412", "CF6");
put("R413", "CF6");
put("R414", "YF6");
put("R415", "UF6");
put("R421", "AF6");
put("R422", "AF6");
put("R423", "AF6");
put("R424", "XF6");
put("R425", "RF6");
put("R431", "AF6");
put("R432", "AF6");
put("R433", "XF6");
put("R434", "DF6");
put("R435", "RF6");
put("R441", "GN6");
put("R442", "GN6");
put("R443", "GN6");
put("R444", "JN6");
put("R445", "JN6");
put("R451", "GN6");
put("R452", "GN6");
put("R453", "GN6");
put("R454", "JN6");
put("R455", "JN6");
put("R511", "CS6");
put("R512", "CS6");
put("R513", "YS6");
put("R514", "FS6");
put("R515", "US6");
put("R521", "CF6");
put("R522", "CF6");
put("R523", "FF6");
put("R524", "FF6");
put("R525", "SF6");
put("R531", "DF6");
put("R532", "FF6");
put("R533", "LF6");
put("R534", "SF6");
put("R535", "SF6");
put("R541", "JS6");
put("R542", "LS6");
put("R543", "LS6");
put("R544", "SS6");
put("R545", "SS6");
put("R551", "SS6");
put("R552", "SS6");
put("R553", "SS6");
put("R554", "SS6");
put("R555", "SS6");
put("R611", "CS67");
put("R612", "FS67");
put("R613", "FS67");
put("R614", "SS67");
put("R615", "SS67");
put("R621", "FS67");
put("R622", "FS67");
put("R623", "FS67");
put("R624", "SS67");
put("R625", "SS67");
put("R631", "SS67");
put("R632", "SS67");
put("R633", "SS67");
put("R634", "SS67");
put("R635", "SS67");
put("R641", "SS67");
put("R642", "SS67");
put("R643", "SS67");
put("R644", "SS67");
put("R645", "SS67");
put("R651", "SS67");
put("R652", "SS67");
put("R653", "SS67");
put("R654", "SS67");
put("R655", "SS67");
put("R711", "FG67");
put("R712", "FG67");
put("R713", "SG67");
put("R714", "SG67");
put("R715", "SG67");
put("R721", "SG67");
put("R722", "SG67");
put("R723", "SG67");
put("R724", "SG67");
put("R725", "SG67");
put("R731", "SG67");
put("R732", "SG67");
put("R733", "SG67");
put("R734", "SG67");
put("R735", "SG67");
put("R741", "SG67");
put("R742", "SG67");
put("R743", "SG67");
put("R744", "SG67");
put("R745", "SG67");
put("R751", "SG67");
put("R752", "SG67");
put("R753", "SG67");
put("R754", "SG67");
put("R755", "SG67");
put("R811", "SW67");
put("R812", "SW67");
put("R813", "SW67");
put("R814", "SW67");
put("R815", "SW67");
put("R821", "SW67");
put("R822", "SW67");
put("R823", "SW67");
put("R824", "SW67");
put("R825", "SW67");
put("R831", "SW67");
put("R832", "SW67");
put("R833", "SW67");
put("R834", "SW67");
put("R835", "SW67");
put("R841", "SW67");
put("R842", "SW67");
put("R843", "SW67");
put("R844", "SW67");
put("R845", "SW67");
put("R851", "SW67");
put("R852", "SW67");
put("R853", "SW67");
put("R854", "SW67");
put("R855", "SW67");
put("S111", "AU6");
put("S112", "AU6");
put("S113", "AU6");
put("S114", "AU6");
put("S115", "DU6");
put("S121", "AU6");
put("S122", "AU6");
put("S123", "AU6");
put("S124", "AU6");
put("S125", "DU6");
put("S131", "BU6");
put("S132", "BU6");
put("S133", "BU6");
put("S134", "BU6");
put("S135", "EU6");
put("S141", "BN5");
put("S142", "EN5");
put("S143", "EN5");
put("S144", "EN5");
put("S145", "KN5");
put("S151", "EN5");
put("S152", "HN5");
put("S153", "HN5");
put("S154", "HN5");
put("S155", "KN5");
put("S211", "AU6");
put("S212", "AU6");
put("S213", "AU6");
put("S214", "AU6");
put("S215", "DU6");
put("S221", "AU6");
put("S222", "AU6");
put("S223", "AU6");
put("S224", "AU6");
put("S225", "DU6");
put("S231", "BU6");
put("S232", "BU6");
put("S233", "BU6");
put("S234", "XU6");
put("S235", "RU6");
put("S241", "BN5");
put("S242", "EN5");
put("S243", "EN5");
put("S244", "EN5");
put("S245", "KN5");
put("S251", "HN5");
put("S252", "HN5");
put("S253", "HN5");
put("S254", "HN5");
put("S255", "KN5");
put("S311", "CF6");
put("S312", "CF6");
put("S313", "CF6");
put("S314", "CF6");
put("S315", "FF6");
put("S321", "AU6");
put("S322", "AU6");
put("S323", "AU6");
put("S324", "AU6");
put("S325", "TU6");
put("S331", "AU6");
put("S332", "AU6");
put("S333", "AU6");
put("S334", "XU6");
put("S335", "RU6");
put("S341", "EN5");
put("S342", "EN5");
put("S343", "GN5");
put("S344", "GN5");
put("S345", "JN5");
put("S351", "GN5");
put("S352", "GN5");
put("S353", "GN5");
put("S354", "GN5");
put("S355", "JN5");
put("S411", "CF6");
put("S412", "CF6");
put("S413", "CF6");
put("S414", "YF6");
put("S415", "UF6");
put("S421", "AF6");
put("S422", "AF6");
put("S423", "AF6");
put("S424", "XF6");
put("S425", "RF6");
put("S431", "AF6");
put("S432", "AF6");
put("S433", "XF6");
put("S434", "DF6");
put("S435", "RF6");
put("S441", "GN6");
put("S442", "GN6");
put("S443", "GN6");
put("S444", "JN6");
put("S445", "JN6");
put("S451", "GN6");
put("S452", "GN6");
put("S453", "GN6");
put("S454", "JN6");
put("S455", "JN6");
put("S511", "CS6");
put("S512", "CS6");
put("S513", "YS6");
put("S514", "FS6");
put("S515", "US6");
put("S521", "CF6");
put("S522", "CF6");
put("S523", "FF6");
put("S524", "FF6");
put("S525", "SF6");
put("S531", "FF6");
put("S532", "FF6");
put("S533", "LF6");
put("S534", "SF6");
put("S535", "SF6");
put("S541", "LS6");
put("S542", "LS6");
put("S543", "LS6");
put("S544", "SS6");
put("S545", "SS6");
put("S551", "SS6");
put("S552", "SS6");
put("S553", "SS6");
put("S554", "SS6");
put("S555", "SS6");
put("S611", "CS67");
put("S612", "FS67");
put("S613", "FS67");
put("S614", "SS67");
put("S615", "SS67");
put("S621", "FS67");
put("S622", "FS67");
put("S623", "FS67");
put("S624", "SS67");
put("S625", "SS67");
put("S631", "SS67");
put("S632", "SS67");
put("S633", "SS67");
put("S634", "SS67");
put("S635", "SS67");
put("S641", "SS67");
put("S642", "SS67");
put("S643", "SS67");
put("S644", "SS67");
put("S645", "SS67");
put("S651", "SS67");
put("S652", "SS67");
put("S653", "SS67");
put("S654", "SS67");
put("S655", "SS67");
put("S711", "FG67");
put("S712", "FG67");
put("S713", "SG67");
put("S714", "SG67");
put("S715", "SG67");
put("S721", "SG67");
put("S722", "SG67");
put("S723", "SG67");
put("S724", "SG67");
put("S725", "SG67");
put("S731", "SG67");
put("S732", "SG67");
put("S733", "SG67");
put("S734", "SG67");
put("S735", "SG67");
put("S741", "SG67");
put("S742", "SG67");
put("S743", "SG67");
put("S744", "SG67");
put("S745", "SG67");
put("S751", "SG67");
put("S752", "SG67");
put("S753", "SG67");
put("S754", "SG67");
put("S755", "SG67");
put("S811", "SW67");
put("S812", "SW67");
put("S813", "SW67");
put("S814", "SW67");
put("S815", "SW67");
put("S821", "SW67");
put("S822", "SW67");
put("S823", "SW67");
put("S824", "SW67");
put("S825", "SW67");
put("S831", "SW67");
put("S832", "SW67");
put("S833", "SW67");
put("S834", "SW67");
put("S835", "SW67");
put("S841", "SW67");
put("S842", "SW67");
put("S843", "SW67");
put("S844", "SW67");
put("S845", "SW67");
put("S851", "SW67");
put("S852", "SW67");
put("S853", "SW67");
put("S854", "SW67");
put("S855", "SW67");
put("T111", "AU6");
put("T112", "AU6");
put("T113", "AU6");
put("T114", "AU6");
put("T115", "XU6");
put("T121", "BU6");
put("T122", "BU6");
put("T123", "BU6");
put("T124", "BU6");
put("T125", "EU6");
put("T131", "BU6");
put("T132", "BU6");
put("T133", "BU6");
put("T134", "BU6");
put("T135", "EU6");
put("T141", "BU6");
put("T142", "BU6");
put("T143", "EU6");
put("T144", "EU6");
put("T145", "KU6");
put("T151", "BN6");
put("T152", "BN6");
put("T153", "EN6");
put("T154", "HN6");
put("T155", "KN6");
put("T211", "AU6");
put("T212", "AU6");
put("T213", "AU6");
put("T214", "AU6");
put("T215", "XU6");
put("T221", "AU6");
put("T222", "AU6");
put("T223", "AU6");
put("T224", "AU6");
put("T225", "DU6");
put("T231", "BU6");
put("T232", "BU6");
put("T233", "BU6");
put("T234", "BU6");
put("T235", "EU6");
put("T241", "BU6");
put("T242", "BU6");
put("T243", "EU6");
put("T244", "EU6");
put("T245", "KU6");
put("T251", "BN6");
put("T252", "EN6");
put("T253", "HN6");
put("T254", "HN6");
put("T255", "KN6");
put("T311", "AF6");
put("T312", "AF6");
put("T313", "AF6");
put("T314", "AF6");
put("T315", "XF6");
put("T321", "AU6");
put("T322", "AU6");
put("T323", "AU6");
put("T324", "AU6");
put("T325", "DU6");
put("T331", "BU6");
put("T332", "BU6");
put("T333", "BU6");
put("T334", "BU6");
put("T335", "TU6");
put("T341", "BU6");
put("T342", "BU6");
put("T343", "EU6");
put("T344", "EU6");
put("T345", "KU6");
put("T351", "EN6");
put("T352", "EN6");
put("T353", "HN6");
put("T354", "HN6");
put("T355", "KN6");
put("T411", "CF7");
put("T412", "CF7");
put("T413", "CF7");
put("T414", "CF7");
put("T415", "WF7");
put("T421", "AF7");
put("T422", "AF7");
put("T423", "AF7");
put("T424", "AF7");
put("T425", "WF7");
put("T431", "AF6");
put("T432", "AF6");
put("T433", "AF6");// Shown in The Sager Weathercaster as "7433".
put("T434", "AF6");
put("T435", "TF6");
put("T441", "AF6");
put("T442", "DF6");
put("T443", "GF6");
put("T444", "JF6");
put("T445", "JF6");
put("T451", "DN6");
put("T452", "GN6");
put("T453", "GN6");
put("T454", "JN6");
put("T455", "JN6");
put("T511", "CS7");
put("T512", "CS7");
put("T513", "CS7");
put("T514", "CS7");
put("T515", "WS7");
put("T521", "CF7");
put("T522", "CF7");
put("T523", "CF7");
put("T524", "CF7");
put("T525", "UF7");
put("T531", "AF7");
put("T532", "AF7");
put("T533", "AF7");
put("T534", "DF7");
put("T535", "SF7");
put("T541", "DF6");
put("T542", "DF6");
put("T543", "JF6");
put("T544", "RF6");
put("T545", "RF6");
put("T551", "JS6");
put("T552", "JS6");
put("T553", "JS6");
put("T554", "JS6");
put("T555", "SS6");
put("T611", "CS7");
put("T612", "CS7");
put("T613", "CS7");
put("T614", "CS7");
put("T615", "US7");
put("T621", "CS7");
put("T622", "CS7");
put("T623", "CS7");
put("T624", "FS7");
put("T625", "US7");
put("T631", "CS7");
put("T632", "CS7");
put("T633", "FS7");
put("T634", "FS7");
put("T635", "SS7");
put("T641", "FS7");
put("T642", "LS7");
put("T643", "SS7");
put("T644", "SS7");
put("T645", "SS7");
put("T651", "SS7");
put("T652", "SS7");
put("T653", "SS7");
put("T654", "SS7");
put("T655", "SS7");
put("T711", "CG7");
put("T712", "CG7");
put("T713", "YG7");
put("T714", "FG7");
put("T715", "UG7");
put("T721", "FG7");
put("T722", "FG7");
put("T723", "FG7");
put("T724", "UG7");
put("T725", "SG7");
put("T731", "FG7");
put("T732", "FG7");
put("T733", "SG7");
put("T734", "SG7");
put("T735", "SG7");
put("T741", "SG7");
put("T742", "SG7");
put("T743", "SG7");
put("T744", "SG7");
put("T745", "SG7");
put("T751", "SG7");
put("T752", "SG7");
put("T753", "SG7");
put("T754", "SG7");
put("T755", "SG7");
put("T811", "FW7");
put("T812", "FW7");
put("T813", "FW7");
put("T814", "SW7");
put("T815", "SW7");
put("T821", "FW7");
put("T822", "FW7");
put("T823", "SW7");
put("T824", "SW7");
put("T825", "SW7");
put("T831", "SW7");
put("T832", "SW7");
put("T833", "SW7");
put("T834", "SW7");
put("T835", "SW7");
put("T841", "SW7");
put("T842", "SW7");
put("T843", "SW7");
put("T844", "SW7");
put("T845", "SW7");
put("T851", "SW7");
put("T852", "SW7");
put("T853", "SW7");
put("T854", "SW7");
put("T855", "SW7");
put("U111", "AD7");
put("U112", "AD7");
put("U113", "AD7");
put("U114", "AD7");
put("U115", "XD7");
put("U121", "BD7");
put("U122", "BD7");
put("U123", "BD7");
put("U124", "BD7");
put("U125", "XD7");
put("U131", "BD6");
put("U132", "BD6");
put("U133", "BD6");
put("U134", "BD6");
put("U135", "ED6");
put("U141", "BU6");
put("U142", "BU6");
put("U143", "EU6");
put("U144", "EU6");
put("U145", "KU6");
put("U151", "BN6");
put("U152", "BN6");
put("U153", "EN6");
put("U154", "HN6");
put("U155", "KN6");
put("U211", "AU7");
put("U212", "AU7");
put("U213", "AU7");
put("U214", "AU7");
put("U215", "XU7");
put("U221", "AD7");
put("U222", "AD7");
put("U223", "AD7");
put("U224", "AD7");
put("U225", "XD7");
put("U231", "AD6");
put("U232", "AD6");
put("U233", "AD6");
put("U234", "AD6");
put("U235", "DD6");
put("U241", "BU6");
put("U242", "BU6");
put("U243", "EU6");
put("U244", "EU6");
put("U245", "KU6");
put("U251", "BN6");
put("U252", "EN6");
put("U253", "HN6");
put("U254", "HN6");
put("U255", "KN6");
put("U311", "CF7");
put("U312", "CF7");
put("U313", "CF7");
put("U314", "CF7");
put("U315", "XF7");
put("U321", "AU7");
put("U322", "AU7");
put("U323", "AU7");
put("U324", "AU7");
put("U325", "XU7");
put("U331", "AU6");
put("U332", "AU6");
put("U333", "AU6");
put("U334", "AU6");
put("U335", "TU6");
put("U341", "BU6");
put("U342", "BU6");
put("U343", "EU6");
put("U344", "DU6");
put("U345", "JU6");
put("U351", "EN6");
put("U352", "EN6");
put("U353", "HN6");
put("U354", "HN6");
put("U355", "JN6");
put("U411", "CF7");
put("U412", "CF7");
put("U413", "CF7");
put("U414", "CF7");
put("U415", "WF7");
put("U421", "CF7");
put("U422", "CF7");
put("U423", "CF7");
put("U424", "CF7");
put("U425", "WF7");
put("U431", "AU7");
put("U432", "AU7");
put("U433", "AF7");
put("U434", "AF7");
put("U435", "TF7");
put("U441", "AF6");
put("U442", "DF6");
put("U443", "GF6");
put("U444", "JF6");
put("U445", "JF6");
put("U511", "CS7");
put("U512", "CS7");
put("U513", "CS7");
put("U514", "CS7");
put("U515", "WS7");
put("U521", "CF7");
put("U522", "CF7");
put("U523", "CF7");
put("U524", "CF7");
put("U525", "UF7");
put("U531", "AF7");
put("U532", "CF7");
put("U533", "CF7");
put("U534", "YF7");
put("U535", "UF7");
put("U541", "DF7");
put("U542", "DF7");
put("U543", "JF7");
put("U544", "SF7");
put("U545", "SF7");
put("U551", "LS7");
put("U552", "SS7");
put("U553", "SS7");
put("U554", "SS7");
put("U555", "SS7");
put("U611", "CS7");
put("U612", "CS7");
put("U613", "CS7");
put("U614", "CS7");
put("U615", "US7");
put("U621", "CS7");
put("U622", "CS7");
put("U623", "CS7");
put("U624", "FS7");
put("U625", "US7");
put("U631", "CS7");
put("U632", "CS7");
put("U633", "FS7");
put("U634", "FS7");
put("U635", "SS7");
put("U641", "FS7");
put("U642", "LS7");
put("U643", "SS7");
put("U644", "SS7");
put("U645", "SS7");
put("U651", "SS7");
put("U652", "SS7");
put("U653", "SS7");
put("U654", "SS7");
put("U655", "SS7");
put("U711", "CG7");
put("U712", "CG7");
put("U713", "YG7");
put("U714", "FG7");
put("U715", "UG7");
put("U721", "FG7");
put("U722", "FG7");
put("U723", "FG7");
put("U724", "UG7");
put("U725", "UG7");
put("U731", "FG7");
put("U732", "FG7");
put("U733", "SG7");
put("U734", "SG7");
put("U735", "SG7");
put("U741", "SG7");
put("U742", "SG7");
put("U743", "SG7");
put("U744", "SG7");
put("U745", "SG7");
put("U751", "SG7");
put("U752", "SG7");
put("U753", "SG7");
put("U754", "SG7");
put("U755", "SG7");
put("U811", "FW7");
put("U812", "FW7");
put("U813", "FW7");
put("U814", "SW7");
put("U815", "SW7");
put("U821", "FW7");
put("U822", "FW7");
put("U823", "SW7");
put("U824", "SW7");
put("U825", "SW7");
put("U831", "SW7");
put("U832", "SW7");
put("U833", "SW7");
put("U834", "SW7");
put("U835", "SW7");
put("U841", "SW7");
put("U842", "SW7");
put("U843", "SW7");
put("U844", "SW7");
put("U845", "SW7");
put("U851", "SW7");
put("U852", "SW7");
put("U853", "SW7");
put("U854", "SW7");
put("U855", "SW7");
put("V111", "AU7");
put("V112", "AU7");
put("V113", "AU7");
put("V114", "AU7");
put("V115", "XU7");
put("V121", "AU7");
put("V122", "AU7");
put("V123", "AU7");
put("V124", "AU7");
put("V125", "DU7");
put("V131", "BD7");
put("V132", "BD7");
put("V133", "BD7");
put("V134", "BD7");
put("V135", "ED7");
put("V141", "BU6");
put("V142", "BU6");
put("V143", "XU6");
put("V144", "EU6");
put("V145", "EU6");
put("V151", "BN6");
put("V152", "BN6");
put("V153", "EN6");
put("V154", "HN6");
put("V155", "KN6");
put("V211", "AU7");
put("V212", "AU7");
put("V213", "AU7");
put("V214", "AU7");
put("V215", "XU7");
put("V221", "AU7");
put("V222", "AU7");
put("V223", "AU7");
put("V224", "AU7");
put("V225", "DU7");
put("V231", "AU7");
put("V232", "AU7");
put("V233", "AU7");
put("V234", "AU7");
put("V235", "DU7");
put("V241", "AU6");
put("V242", "AU6");
put("V243", "XU6");
put("V244", "DU6");
put("V245", "RU6");
put("V251", "AN6");
put("V252", "DN6");
put("V253", "DN6");
put("V254", "HN6");
put("V255", "JN6");
put("V311", "CF7");
put("V312", "CF7");
put("V313", "CF7");
put("V314", "CF7");
put("V315", "XF7");
put("V321", "CU7");
put("V322", "CU7");
put("V323", "CU7");
put("V324", "CU7");
put("V325", "FU7");
put("V331", "AU7");
put("V332", "AU7");
put("V333", "AU7");
put("V334", "XU7");
put("V335", "TU7");
put("V341", "AU7");
put("V342", "AU7");
put("V343", "XU7");
put("V344", "DU7");
put("V345", "RU7");
put("V351", "DN7");
put("V352", "DN7");
put("V353", "DN7");
put("V354", "HN7");
put("V355", "JN7");
put("V411", "CF7");
put("V412", "CF7");
put("V413", "CF7");
put("V414", "CF7");
put("V415", "WF7");
put("V421", "CF7");
put("V422", "CF7");
put("V423", "CF7");
put("V424", "YF7");
put("V425", "UF7");
put("V431", "AF7");
put("V432", "AF7");
put("V433", "AF7");
put("V434", "YF7");
put("V435", "UF7");
put("V441", "AF7");
put("V442", "XF7");
put("V443", "DF7");
put("V444", "DF7");
put("V445", "RF7");
put("V451", "DN7");
put("V452", "DN7");
put("V453", "DN7");
put("V454", "JN7");
put("V455", "RN7");
put("V511", "CS7");
put("V512", "CS7");
put("V513", "CS7");
put("V514", "YS7");
put("V515", "US7");
put("V521", "CF7");
put("V522", "CF7");
put("V523", "YF7");
put("V524", "YF7");
put("V525", "UF7");
put("V531", "CF7");
put("V532", "CF7");
put("V533", "YF7");
put("V534", "YF7");
put("V535", "SF7");
put("V541", "FF7");
put("V542", "FF7");
put("V543", "SF7");
put("V544", "SF7");
put("V545", "SF7");
put("V551", "FS7");
put("V552", "FS7");
put("V553", "SS7");
put("V554", "SS7");
put("V555", "SS7");
put("V611", "CS7");
put("V612", "CS7");
put("V613", "YS7");
put("V614", "YS7");
put("V615", "US7");
put("V621", "CS7");
put("V622", "YS7");
put("V623", "YS7");
put("V624", "FS7");
put("V625", "US7");
put("V631", "CS7");
put("V632", "YS7");
put("V633", "FS7");
put("V634", "FS7");
put("V635", "SS7");
put("V641", "FS7");
put("V642", "SS7");
put("V643", "SS7");
put("V644", "SS7");
put("V645", "SS7");
put("V651", "SS7");
put("V652", "SS7");
put("V653", "SS7");
put("V654", "SS7");
put("V655", "SS7");
put("V711", "CG7");
put("V712", "YG7");
put("V713", "FG7");
put("V714", "FG7");
put("V715", "UG7");
put("V721", "FG7");
put("V722", "FG7");
put("V723", "FG7");
put("V724", "UG7");
put("V725", "SG7");
put("V731", "FG7");
put("V732", "FG7");
put("V733", "SG7");
put("V734", "SG7");
put("V735", "SG7");
put("V741", "SG7");
put("V742", "SG7");
put("V743", "SG7");
put("V744", "SG7");
put("V745", "SG7");
put("V751", "SG7");
put("V752", "SG7");
put("V753", "SG7");
put("V754", "SG7");
put("V755", "SG7");
put("V811", "FW7");
put("V812", "FW7");
put("V813", "FW7");
put("V814", "SW7");
put("V815", "SW7");
put("V821", "FW7");
put("V822", "FW7");
put("V823", "SW7");
put("V824", "SW7");
put("V825", "SW7");
put("V831", "SW7");
put("V832", "SW7");
put("V833", "SW7");
put("V834", "SW7");
put("V835", "SW7");
put("V841", "SW7");
put("V842", "SW7");
put("V843", "SW7");
put("V844", "SW7");
put("V845", "SW7");
put("V851", "SW7");
put("V852", "SW7");
put("V853", "SW7");
put("V854", "SW7");
put("V855", "SW7");
put("W111", "AU7");
put("W112", "AU7");
put("W113", "AU7");
put("W114", "AU7");
put("W115", "XU7");
put("W121", "AU7");
put("W122", "AU7");
put("W123", "AU7");
put("W124", "AU7");
put("W125", "XU7");
put("W131", "AD7");
put("W132", "AD7");
put("W133", "AD7");
put("W134", "AD7");
put("W135", "XD7");
put("W141", "BU7");
put("W142", "AU7");
put("W143", "AU7");
put("W144", "XU7");
put("W145", "RU7");
put("W151", "BN7");
put("W152", "BN7");
put("W153", "DN7");
put("W154", "DN7");
put("W155", "RN7");
put("W211", "CU7");
put("W212", "CU7");
put("W213", "CU7");
put("W214", "CU7");
put("W215", "YU7");
put("W221", "AU7");
put("W222", "AU7");
put("W223", "AU7");
put("W224", "AU7");
put("W225", "XU7");
put("W231", "AU7");
put("W232", "AU7");
put("W233", "AU7");
put("W234", "AU7");
put("W235", "XU7");
put("W241", "AU7");
put("W242", "AU7");
put("W243", "AU7");
put("W244", "XU7");
put("W245", "RU7");
put("W251", "AN7");
put("W252", "AN7");
put("W253", "DN7");
put("W254", "DN7");
put("W255", "RN7");
put("W311", "CF7");
put("W312", "CF7");
put("W313", "CF7");
put("W314", "CF7");
put("W315", "YF7");
put("W321", "AU7");
put("W322", "AU7");
put("W323", "AU7");
put("W324", "AU7");
put("W325", "XU7");
put("W331", "AU7");
put("W332", "AU7");
put("W333", "AU7");
put("W334", "AU7");
put("W335", "TU7");
put("W341", "AU7");
put("W342", "AU7");
put("W343", "AU7");
put("W344", "XU7");
put("W345", "RU7");
put("W351", "AN7");
put("W352", "AN7");
put("W353", "DN7");
put("W354", "DN7");
put("W355", "RN7");
put("W411", "CF7");
put("W412", "CF7");
put("W413", "CF7");
put("W414", "CF7");
put("W415", "WF7");
put("W421", "CF7");
put("W422", "CF7");
put("W423", "CF7");
put("W424", "CF7");
put("W425", "WF7");
put("W431", "AF7");
put("W432", "AF7");
put("W433", "AF7");
put("W434", "AF7");
put("W435", "TF7");
put("W441", "AF7");
put("W442", "AF7");
put("W443", "XF7");
put("W444", "DF7");
put("W445", "RF7");
put("W451", "XN7");
put("W452", "XN7");
put("W453", "DN7");
put("W454", "RN7");
put("W455", "RN7");
put("W511", "CS8");
put("W512", "CS8");
put("W513", "CS8");
put("W514", "CS8");
put("W515", "WS8");
put("W521", "CF7");
put("W522", "CF7");
put("W523", "CF7");
put("W524", "CF7");
put("W525", "UF7");
put("W531", "AF7");
put("W532", "CF7");
put("W533", "CF7");
put("W534", "YF7");
put("W535", "UF7");
put("W541", "CF7");
put("W542", "YF7");
put("W543", "FF7");
put("W544", "FF7");
put("W545", "SF7");
put("W551", "FS7");
put("W552", "FS7");
put("W553", "FS7");
put("W554", "SS7");
put("W555", "SS7");
put("W611", "CS8");
put("W612", "CS8");
put("W613", "CS8");
put("W614", "YS8");
put("W615", "WS8");
put("W621", "CS8");
put("W622", "CS8");
put("W623", "CS8");
put("W624", "YS8");
put("W625", "US8");
put("W631", "CS8");
put("W632", "CS8");
put("W633", "YS8");
put("W634", "FS8");
put("W635", "US8");
put("W641", "CS8");
put("W642", "FS8");
put("W643", "FS8");
put("W644", "FS8");
put("W645", "SS8");
put("W651", "FS8");
put("W652", "FS8");
put("W653", "SS8");
put("W654", "SS8");
put("W655", "SS8");
put("W711", "CG8");
put("W712", "CG8");
put("W713", "YG8");
put("W714", "YG8");
put("W715", "UG8");
put("W721", "CG8");
put("W722", "CG8");
put("W723", "YG8");
put("W724", "FG8");
put("W725", "SG8");
put("W731", "FG8");
put("W732", "FG8");
put("W733", "FG8");
put("W734", "SG8");
put("W735", "SG8");
put("W741", "FG8");
put("W742", "FG8");
put("W743", "SG8");
put("W744", "SG8");
put("W745", "SG8");
put("W751", "SG8");
put("W752", "SG8");
put("W753", "SG8");
put("W754", "SG8");
put("W755", "SG8");
put("W811", "FW8");
put("W812", "FW8");
put("W813", "FW8");
put("W814", "FW8");
put("W815", "UW8");
put("W821", "FW8");
put("W822", "FW8");
put("W823", "FW8");
put("W824", "SW8");
put("W825", "SW8");
put("W831", "SW8");
put("W832", "SW8");
put("W833", "SW8");
put("W834", "SW8");
put("W835", "SW8");
put("W841", "FW8");
put("W842", "FW8");
put("W843", "SW8");
put("W844", "SW8");
put("W845", "SW8");
put("W851", "SW8");
put("W852", "SW8");
put("W853", "SW8");
put("W854", "SW8");
put("W855", "SW8");
put("X111", "AD8");
put("X112", "AD8");
put("X113", "AD8");
put("X114", "AD8");
put("X115", "XD8");
put("X121", "AD7");
put("X122", "AD7");
put("X123", "AD7");
put("X124", "AD7");
put("X125", "XD7");
put("X131", "AD7");
put("X132", "AD7");
put("X133", "AD7");
put("X134", "AD7");
put("X135", "XD7");
put("X141", "BU7");
put("X142", "BU7");
put("X143", "EU7");
put("X144", "EU7");
put("X145", "KU7");
put("X151", "BN7");
put("X152", "BN7");
put("X153", "EN7");
put("X154", "HN7");
put("X155", "KN7");
put("X211", "CU8");
put("X212", "CU8");
put("X213", "CU8");
put("X214", "CU8");
put("X215", "YU8");
put("X221", "AD8");
put("X222", "AD8");
put("X223", "AD8");
put("X224", "AD8");
put("X225", "XD8");
put("X231", "AD7");
put("X232", "AD7");
put("X233", "AD7");
put("X234", "AD7");
put("X235", "XD7");
put("X241", "BU7");
put("X242", "BU7");
put("X243", "EU7");
put("X244", "EU7");
put("X245", "KU7");
put("X251", "BN7");
put("X252", "EN7");
put("X253", "EN7");
put("X254", "HN7");
put("X255", "KN7");
put("X311", "CF8");
put("X312", "CF8");
put("X313", "CF8");
put("X314", "CF8");
put("X315", "YF8");
put("X321", "CU8");
put("X322", "CU8");
put("X323", "CU8");
put("X324", "CU8");
put("X325", "YU8");
put("X331", "AU7");
put("X332", "AU7");
put("X333", "AU7");
put("X334", "AU7");
put("X335", "TU7");
put("X341", "AU7");
put("X342", "AU7");
put("X343", "DU7");
put("X344", "DU7");
put("X345", "JU7");
put("X351", "BN7");
put("X352", "EN7");
put("X353", "DN7");
put("X354", "GN7");
put("X355", "JN7");
put("X411", "CF8");
put("X412", "CF8");
put("X413", "CF8");
put("X414", "CF8");
put("X415", "WF8");
put("X421", "CF8");
put("X422", "CF8");
put("X423", "CF8");
put("X424", "CF8");
put("X425", "WF8");
put("X431", "AU7");
put("X432", "AU7");
put("X433", "AF7");
put("X434", "AF7");
put("X435", "TF7");
put("X441", "AF7");
put("X442", "DF7");
put("X443", "DF7");
put("X444", "DF7");
put("X445", "JF7");
put("X451", "DN7");
put("X452", "DN7");
put("X453", "DN7");
put("X454", "JN7");
put("X455", "JN7");
put("X511", "CS8");
put("X512", "CS8");
put("X513", "CS8");
put("X514", "CS8");
put("X515", "WS8");
put("X521", "CF8");
put("X522", "CF8");
put("X523", "CF8");
put("X524", "CF8");
put("X525", "UF8");
put("X531", "AF8");
put("X532", "CF8");
put("X533", "CF8");
put("X534", "YF8");
put("X535", "UF8");
put("X541", "AF7");
put("X542", "DF7");
put("X543", "DF7");
put("X544", "SF7");
put("X545", "SF7");
put("X551", "FS7");
put("X552", "FS7");
put("X553", "SS7");
put("X554", "SS7");
put("X555", "SS7");
put("X611", "CS8");
put("X612", "CS8");
put("X613", "CS8");
put("X614", "CS8");
put("X615", "WS8");
put("X621", "CS8");
put("X622", "CS8");
put("X623", "CS8");
put("X624", "YS8");
put("X625", "US8");
put("X631", "CS8");
put("X632", "CS8");
put("X633", "FS8");
put("X634", "FS8");
put("X635", "US8");
put("X641", "FS8");
put("X642", "FS8");
put("X643", "FS8");
put("X644", "SS8");
put("X645", "SS8");
put("X651", "SS8");
put("X652", "SS8");
put("X653", "SS8");
put("X654", "SS8");
put("X655", "SS8");
put("X711", "CG8");
put("X712", "CG8");
put("X713", "CG8");
put("X714", "YG8");
put("X715", "UG8");
put("X721", "CG8");
put("X722", "CG8");
put("X723", "YG8");
put("X724", "FG8");
put("X725", "UG8");
put("X731", "FG8");
put("X732", "FG8");
put("X733", "FG8");
put("X734", "SG8");
put("X735", "SG8");
put("X741", "FG8");
put("X742", "SG8");
put("X743", "SG8");
put("X744", "SG8");
put("X745", "SG8");
put("X751", "SG8");
put("X752", "SG8");
put("X753", "SG8");
put("X754", "SG8");
put("X755", "SG8");
put("X811", "CW8");
put("X812", "FW8");
put("X813", "FW8");
put("X814", "FW8");
put("X815", "UW8");
put("X821", "FW8");
put("X822", "FW8");
put("X823", "FW8");
put("X824", "SW8");
put("X825", "UW8");
put("X831", "SW8");
put("X832", "SW8");
put("X833", "SW8");
put("X834", "SW8");
put("X835", "SW8");
put("X841", "SW8");
put("X842", "SW8");
put("X843", "SW8");
put("X844", "SW8");
put("X845", "SW8");
put("X851", "SW8");
put("X852", "SW8");
put("X853", "SW8");
put("X854", "SW8");
put("X855", "SW8");
put("Y111", "CU8");
put("Y112", "CU8");
put("Y113", "CU8");
put("Y114", "CU8");
put("Y115", "XU8");
put("Y121", "AU8");
put("Y122", "AU8");
put("Y123", "AU8");
put("Y124", "AU8");
put("Y125", "DU8");
put("Y131", "AD7");
put("Y132", "AD7");
put("Y133", "AD7");
put("Y134", "AD7");
put("Y135", "DD7");
put("Y141", "AU7");
put("Y142", "AU7");
put("Y143", "XU7");
put("Y144", "DU7");
put("Y145", "RU7");
put("Y151", "AN7");
put("Y152", "AN7");
put("Y153", "DN7");
put("Y154", "DN7");
put("Y155", "RN7");
put("Y211", "CU8");
put("Y212", "CU8");
put("Y213", "CU8");
put("Y214", "CU8");
put("Y215", "YU8");
put("Y221", "CU8");
put("Y222", "CU8");
put("Y223", "CU8");
put("Y224", "CU8");
put("Y225", "FU8");
put("Y231", "AU7");
put("Y232", "AU7");
put("Y233", "AU7");
put("Y234", "AU7");
put("Y235", "DU7");
put("Y241", "AU7");
put("Y242", "AU7");
put("Y243", "XU7");
put("Y244", "DU7");
put("Y245", "RU7");
put("Y251", "AN7");
put("Y252", "XN7");
put("Y253", "DN7");
put("Y254", "DN7");
put("Y255", "RN7");
put("Y311", "CF8");
put("Y312", "CF8");
put("Y313", "CF8");
put("Y314", "CF8");
put("Y315", "YF8");
put("Y321", "CU8");
put("Y322", "CU8");
put("Y323", "CU8");
put("Y324", "CU8");
put("Y325", "FU8");
put("Y331", "AU8");
put("Y332", "AU8");
put("Y333", "AU8");
put("Y334", "AU8");
put("Y335", "TU8");
put("Y341", "AU7");
put("Y342", "AU7");
put("Y343", "XU7");
put("Y344", "DU7");
put("Y345", "RU7");
put("Y351", "AN7");
put("Y352", "XN7");
put("Y353", "DN7");
put("Y354", "DN7");
put("Y355", "RN7");
put("Y411", "CF8");
put("Y412", "CF8");
put("Y413", "CF8");
put("Y414", "CF8");
put("Y415", "WF8");
put("Y421", "CF8");
put("Y422", "CF8");
put("Y423", "CF8");
put("Y424", "CF8");
put("Y425", "UF8");
put("Y431", "AF8");
put("Y432", "AF8");
put("Y433", "CF8");
put("Y434", "YF8");
put("Y435", "UF8");
put("Y441", "AF7");
put("Y442", "XF7");
put("Y443", "DF7");
put("Y444", "DF7");
put("Y445", "RF7");
put("Y451", "DN7");
put("Y452", "DN7");
put("Y453", "FN7");
put("Y454", "SN7");
put("Y455", "SN7");
put("Y511", "CS8");
put("Y512", "CS8");
put("Y513", "CS8");
put("Y514", "YS8");
put("Y515", "WS8");
put("Y521", "CF8");
put("Y522", "CF8");
put("Y523", "CF8");
put("Y524", "YF8");
put("Y525", "UF8");
put("Y531", "CF8");
put("Y532", "CF8");
put("Y533", "YF8");
put("Y534", "YF8");
put("Y535", "SF8");
put("Y541", "CF8");
put("Y542", "YS8");
put("Y543", "FF8");
put("Y544", "SF8");
put("Y545", "SF8");
put("Y551", "FS8");
put("Y552", "FS8");
put("Y553", "SS8");
put("Y554", "SS8");
put("Y555", "SS8");
put("Y611", "CS8");
put("Y612", "CS8");
put("Y613", "CS8");
put("Y614", "FS8");
put("Y615", "US8");
put("Y621", "CS8");
put("Y622", "CS8");
put("Y623", "YS8");
put("Y624", "FS8");
put("Y625", "US8");
put("Y631", "CS8");
put("Y632", "YS8");
put("Y633", "FS8");
put("Y634", "FS8");
put("Y635", "SS8");
put("Y641", "FS8");
put("Y642", "FS8");
put("Y643", "FS8");
put("Y644", "SS8");
put("Y645", "SS8");
put("Y651", "FS8");
put("Y652", "FS8");
put("Y653", "SS8");
put("Y654", "SS8");
put("Y655", "SS8");
put("Y711", "CG8");
put("Y712", "CG8");
put("Y713", "YG8");
put("Y714", "FG8");
put("Y715", "SG8");
put("Y721", "CG8");
put("Y722", "YG8");
put("Y723", "FG8");
put("Y724", "FG8");
put("Y725", "SG8");
put("Y731", "FG8");
put("Y732", "FG8");
put("Y733", "FG8");
put("Y734", "SG8");
put("Y735", "SG8");
put("Y741", "SG8");
put("Y742", "SG8");
put("Y743", "SG8");
put("Y744", "SG8");
put("Y745", "SG8");
put("Y751", "SG8");
put("Y752", "SG8");
put("Y753", "SG8");
put("Y754", "SG8");
put("Y755", "SG8");
put("Y811", "FW8");
put("Y812", "FW8");
put("Y813", "FW8");
put("Y814", "FW8");
put("Y815", "SW8");
put("Y821", "FW8");
put("Y822", "FW8");
put("Y823", "FW8");
put("Y824", "SW8");
put("Y825", "SW8");
put("Y831", "FW8");
put("Y832", "FW8");
put("Y833", "SW8");
put("Y834", "SW8");
put("Y835", "SW8");
put("Y841", "SW8");
put("Y842", "SW8");
put("Y843", "SW8");
put("Y844", "SW8");
put("Y845", "SW8");
put("Y851", "SW8");
put("Y852", "SW8");
put("Y853", "SW8");
put("Y854", "SW8");
put("Y855", "SW8");
put("Z111", "AU9");
put("Z112", "AU9");
put("Z113", "AU9");
put("Z114", "AU9");
put("Z115", "TU9");
put("Z121", "AU9");
put("Z122", "AU9");
put("Z123", "AU9");
put("Z124", "AU9");
put("Z125", "TU9");
put("Z131", "AU9");
put("Z132", "AU9");
put("Z133", "AU9");
put("Z134", "AU9");
put("Z135", "RU9");
put("Z141", "BN9");
put("Z142", "EN9");
put("Z143", "HN9");
put("Z144", "HN9");
put("Z145", "NN9");
put("Z151", "BN9");
put("Z152", "HN9");
put("Z153", "HN9");
put("Z154", "HN9");
put("Z155", "NN9");
put("Z211", "AU9");
put("Z212", "AU9");
put("Z213", "AU9");
put("Z214", "AU9");
put("Z215", "TU9");
put("Z221", "AU9");
put("Z222", "AU9");
put("Z223", "AU9");
put("Z224", "AU9");
put("Z225", "TU9");
put("Z231", "AU9");
put("Z232", "AU9");
put("Z233", "AU9");
put("Z234", "AU9");
put("Z235", "RU9");
put("Z241", "BN9");
put("Z242", "EN9");
put("Z243", "HN9");
put("Z244", "HN9");
put("Z245", "NN9");
put("Z251", "HN9");
put("Z252", "HN9");
put("Z253", "HN9");
put("Z254", "HN9");
put("Z255", "NN9");
put("Z311", "AU9");
put("Z312", "AU9");
put("Z313", "AU9");
put("Z314", "AU9");
put("Z315", "TU9");
put("Z321", "AU9");
put("Z322", "AU9");
put("Z323", "AU9");
put("Z324", "AU9");
put("Z325", "TU9");
put("Z331", "AU9");
put("Z332", "AU9");
put("Z333", "AU9");
put("Z334", "AU9");
put("Z335", "RU9");
put("Z341", "EN9");
put("Z342", "HN9");
put("Z343", "HN9");
put("Z344", "HN9");
put("Z345", "NN9");
put("Z351", "GN9");
put("Z352", "GN9");
put("Z353", "GN9");
put("Z354", "GN9");
put("Z355", "NN9");
put("Z411", "AF9");
put("Z412", "AF9");
put("Z413", "AF9");
put("Z414", "AF9");
put("Z415", "TF9");
put("Z421", "AF9");
put("Z422", "AF9");
put("Z423", "AF9");
put("Z424", "AF9");
put("Z425", "RF9");
put("Z431", "AF9");
put("Z432", "AF9");
put("Z433", "AF9");
put("Z434", "XF9");
put("Z435", "RF9");
put("Z441", "GN9");
put("Z442", "GN9");
put("Z443", "GN9");
put("Z444", "GN9");
put("Z445", "MN9");
put("Z451", "GN9");
put("Z452", "GN9");
put("Z453", "GN9");
put("Z454", "GN9");
put("Z455", "MN9");
put("Z511", "CS9");
put("Z512", "CS9");
put("Z513", "CS9");
put("Z514", "YS9");
put("Z515", "SS9");
put("Z521", "CF9");
put("Z522", "CF9");
put("Z523", "YF9");
put("Z524", "FF9");
put("Z525", "SF9");
put("Z531", "AF9");
put("Z532", "AF9");
put("Z533", "DF9");
put("Z534", "FF9");
put("Z535", "SF9");
put("Z541", "GN9");
put("Z542", "GN9");
put("Z543", "GN9");
put("Z544", "MN9");
put("Z545", "MN9");
put("Z551", "JS9");
put("Z552", "JS9");
put("Z553", "MS9");
put("Z554", "MS9");
put("Z555", "MS9");
put("Z611", "CS9");
put("Z612", "CS9");
put("Z613", "FS9");
put("Z614", "FS9");
put("Z615", "SS9");
put("Z621", "CS9");
put("Z622", "YS9");
put("Z623", "FS9");
put("Z624", "SS9");
put("Z625", "SS9");
put("Z631", "FS9");
put("Z632", "FS9");
put("Z633", "FS9");
put("Z634", "SS9");
put("Z635", "SS9");
put("Z641", "LS9");
put("Z642", "LS9");
put("Z643", "LS9");
put("Z644", "PS9");
put("Z645", "PS9");
put("Z651", "LS9");
put("Z652", "LS9");
put("Z653", "PS9");
put("Z654", "PS9");
put("Z655", "PS9");
put("Z711", "FW97");
put("Z712", "FW97");
put("Z713", "SW97");
put("Z714", "SW97");
put("Z715", "SW97");
put("Z721", "FG97");
put("Z722", "FG97");
put("Z723", "SG97");
put("Z724", "SG97");
put("Z725", "SG97");
put("Z731", "FG97");
put("Z732", "FG97");
put("Z733", "SG97");
put("Z734", "SG97");
put("Z735", "SG97");
put("Z741", "LG97");
put("Z742", "LG97");
put("Z743", "LG97");
put("Z744", "PG97");
put("Z745", "PG97");
put("Z751", "LG97");
put("Z752", "LG97");
put("Z753", "PG97");
put("Z754", "PG97");
put("Z755", "PG97");
put("Z811", "SW97");
put("Z812", "SW97");
put("Z813", "SW97");
put("Z814", "SW97");
put("Z815", "SW97");
put("Z821", "SW97");
put("Z822", "SW97");
put("Z823", "SW97");
put("Z824", "SW97");
put("Z825", "SW97");
put("Z831", "SW97");
put("Z832", "SW97");
put("Z833", "SW97");
put("Z834", "SW97");
put("Z835", "SW97");
put("Z841", "LW97");
put("Z842", "LW97");
put("Z843", "LW97");
put("Z844", "PW97");
put("Z845", "PW97");
put("Z851", "LW97");
put("Z852", "LW97");
put("Z853", "PW97");
put("Z854", "PW97");
put("Z855", "PW97");
}
};
String[] usedDirections = null;
int currentBearing = -1;
int windEvolution = -1; // Whether the wind during the last 6 hours has changed its direction by approximately 45
// degrees or more
int sagerPressure = -1; // currentPressure is Sea Level Adjusted (Relative) barometer in hPa or mB
int pressureEvolution = -1; // pressureEvolution There are five points for registering the behavior of your
// barometer for a period of about 6 hours prior to the forecast.
int nubes = -1;
int currentBeaufort = -1;
double cloudLevel = -1;
boolean raining = false;
private class Prevision {
public char zForecast;
public char zWindVelocity;
public int zWindDirection;
public int zWindDirection2;
public Prevision(String forecast) {
zForecast = forecast.charAt(0);
zWindVelocity = forecast.charAt(1);
zWindDirection = Character.getNumericValue(forecast.charAt(2));
if (forecast.length() > 3) {
zWindDirection2 = Character.getNumericValue(forecast.charAt(3));
} else {
zWindDirection2 = -1;
}
}
}
private Prevision prevision = null;
public void setBearing(int newBearing, int shaBearing) {
int windEvol = sagerWindTrend(shaBearing, newBearing);
if ((windEvol != this.windEvolution) || (newBearing != currentBearing)) {
this.currentBearing = newBearing;
this.windEvolution = windEvol;
updatePrediction();
}
}
public void setPressure(double newPressure, double shaPressure) {
int newSagerPressure = sagerPressureLevel(newPressure);
int pressEvol = sagerPressureTrend(shaPressure, newPressure);
if ((pressEvol != this.pressureEvolution) || (newSagerPressure != sagerPressure)) {
this.sagerPressure = newSagerPressure;
this.pressureEvolution = pressEvol;
updatePrediction();
}
}
public void setCloudLevel(double cloudLevel) {
this.cloudLevel = cloudLevel;
sagerNubesUpdate();
}
public void setRaining(boolean raining) {
this.raining = raining;
sagerNubesUpdate();
}
public void setBeaufort(int beaufortIndex) {
if (this.currentBeaufort != beaufortIndex) {
this.currentBeaufort = beaufortIndex;
updatePrediction();
}
}
public int getWindEvolution() {
return this.windEvolution;
}
public int getPressureTrend() {
return this.pressureEvolution;
}
public void sagerNubesUpdate() {
int result;
if (!this.raining) {
if (cloudLevel > 80) {
result = 4; // overcast
} else if (cloudLevel > 50) {
result = 3; // mostly overcast
} else if (cloudLevel > 20) {
result = 2; // partly cloudy
} else {
result = 1; // clear
}
} else {
result = 5; // raining
}
if (result != this.nubes) {
this.nubes = result;
updatePrediction();
}
}
public static int sagerPressureLevel(double current) {
int result = 1;
if (current > 1029.46) {
result = 1;
} else if (current > 1019.3) {
result = 2;
} else if (current > 1012.53) {
result = 3;
} else if (current > 1005.76) {
result = 4;
} else if (current > 999) {
result = 5;
} else if (current > 988.8) {
result = 6;
} else if (current > 975.28) {
result = 7;
} else {
result = 8;
}
return result;
}
public static int sagerPressureTrend(double current, double historic) {
double evol = current - historic;
int result = 0;
if (evol > 1.4) {
result = 1; // Rising Rapidly
} else if (evol > 0.68) {
result = 2; // Rising Slowly
} else if (evol > -0.68) {
result = 3; // Normal
} else if (evol > -1.4) {
result = 4; // Decreasing Slowly
} else {
result = 5; // Decreasing Rapidly
}
return result;
}
public static int sagerWindTrend(double historic, double position) {
int result = 1; // Steady
double angle = 180 - Math.abs(Math.abs(position - historic) - 180);
if (angle > 45) {
int evol = (int) (historic + angle);
if (evol > 360) {
evol = evol - 360;
}
if (evol == position) {
result = 2; // Veering
} else {
result = 3; // Backing
}
}
return result;
}
public String getCompass() {
double step = 360.0 / NTZDIRECTIONS.length;
double b = Math.floor((this.currentBearing + (step / 2.0)) / step);
return NTZDIRECTIONS[(int) (b % NTZDIRECTIONS.length)];
}
private void updatePrediction() {
int zWind = Arrays.asList(usedDirections).indexOf(getCompass());
String d1 = "-";
if (zWind == 0) {
if (windEvolution == 3) {
d1 = "A";
} else if (windEvolution == 1) {
d1 = "B";
} else if (windEvolution == 2) {
d1 = "C";
}
} else if (zWind == 1) {
if (windEvolution == 3) {
d1 = "D";
} else if (windEvolution == 1) {
d1 = "E";
} else if (windEvolution == 2) {
d1 = "F";
}
} else if (zWind == 2) {
if (windEvolution == 3) {
d1 = "G";
} else if (windEvolution == 1) {
d1 = "H";
} else if (windEvolution == 2) {
d1 = "J";
}
} else if (zWind == 3) {
if (windEvolution == 3) {
d1 = "K";
} else if (windEvolution == 1) {
d1 = "L";
} else if (windEvolution == 2) {
d1 = "M";
}
} else if (zWind == 4) {
if (windEvolution == 3) {
d1 = "N";
} else if (windEvolution == 1) {
d1 = "O";
} else if (windEvolution == 2) {
d1 = "P";
}
} else if (zWind == 5) {
if (windEvolution == 3) {
d1 = "Q";
} else if (windEvolution == 1) {
d1 = "R";
} else if (windEvolution == 2) {
d1 = "S";
}
} else if (zWind == 6) {
if (windEvolution == 3) {
d1 = "T";
} else if (windEvolution == 1) {
d1 = "U";
} else if (windEvolution == 2) {
d1 = "V";
}
} else if (zWind == 7) {
if (windEvolution == 3) {
d1 = "W";
} else if (windEvolution == 1) {
d1 = "X";
} else if (windEvolution == 2) {
d1 = "Y";
}
} else if (currentBeaufort == 0) {
d1 = "Z";
}
String forecast = sageForecaster
.get(d1 + String.valueOf(sagerPressure) + String.valueOf(pressureEvolution) + String.valueOf(nubes));
if (forecast != null) {
prevision = new Prevision(forecast);
} else {
prevision = null;
}
}
public String getForecast() {
if (prevision != null) {
return Character.toString(prevision.zForecast);
} else {
return "-";
}
}
public String getWindVelocity() {
if (prevision != null) {
return Character.toString(prevision.zWindVelocity);
} else {
return "-";
}
}
public BigDecimal getWindDirection() {
if (prevision != null) {
return new BigDecimal(prevision.zWindDirection);
} else {
return BigDecimal.ZERO;
}
}
public BigDecimal getWindDirection2() {
if (prevision != null) {
return new BigDecimal(prevision.zWindDirection2);
} else {
return BigDecimal.ZERO;
}
}
public void setLatitude(double latitude) {
if (latitude >= 66.6) {
usedDirections = NPZDIRECTIONS;
} else if (latitude >= 23.5) {
usedDirections = NTZDIRECTIONS;
} else if (latitude >= 0) {
usedDirections = NPZDIRECTIONS;
} else if (latitude > -23.5) {
usedDirections = SPZDIRECTIONS;
} else if (latitude > -66.6) {
usedDirections = STZDIRECTIONS;
} else {
usedDirections = SPZDIRECTIONS;
}
}
}