diff --git a/AUTHORS b/AUTHORS index dbc90b4349..fe3de9cc40 100644 --- a/AUTHORS +++ b/AUTHORS @@ -83,7 +83,10 @@ FreeType License. Using OpenAL Soft distributed under the GNU LGPL. -Using GeoLite data created by MaxMind and +Using MaxMind GeoIP2 .NET API distributed under +the Apache 2.0 license. + +Using GeoLite2 data created by MaxMind and distributed under the CC BY-SA 3.0 license. Using KopiLua created by Mark Feldman and diff --git a/GeoIP.dat b/GeoIP.dat deleted file mode 100644 index bc239cfb35..0000000000 Binary files a/GeoIP.dat and /dev/null differ diff --git a/GeoIP/COPYING b/GeoIP/COPYING deleted file mode 100644 index 65c5ca88a6..0000000000 --- a/GeoIP/COPYING +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. diff --git a/GeoIP/Country.cs b/GeoIP/Country.cs deleted file mode 100644 index 23d86cdc81..0000000000 --- a/GeoIP/Country.cs +++ /dev/null @@ -1,62 +0,0 @@ -#region Copyright & License Information -/* - * Copyright (C) 2008 MaxMind Inc. All Rights Reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#endregion - -using System; - -namespace GeoIP -{ - public class Country - { - String code; - String name; - - /* - * Creates a new Country. - * - * @param code the country code. - * @param name the country name. - */ - public Country(String code, String name) - { - this.code = code; - this.name = name; - } - - /* - * Returns the ISO two-letter country code of this country. - * - * @return the country code. - */ - public String getCode() - { - return code; - } - - /* - * Returns the name of this country. - * - * @return the country name. - */ - public String getName() - { - return name; - } - } -} \ No newline at end of file diff --git a/GeoIP/DatabaseInfo.cs b/GeoIP/DatabaseInfo.cs deleted file mode 100644 index 5a919c9fa2..0000000000 --- a/GeoIP/DatabaseInfo.cs +++ /dev/null @@ -1,105 +0,0 @@ -#region Copyright & License Information -/* - * Copyright (C) 2008 MaxMind Inc. All Rights Reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#endregion - -using System; - -namespace GeoIP -{ - public class DatabaseInfo - { - public static int COUNTRY_EDITION = 1; - public static int REGION_EDITION_REV0 = 7; - public static int REGION_EDITION_REV1 = 3; - public static int CITY_EDITION_REV0 = 6; - public static int CITY_EDITION_REV1 = 2; - public static int ORG_EDITION = 5; - public static int ISP_EDITION = 4; - public static int PROXY_EDITION = 8; - public static int ASNUM_EDITION = 9; - public static int NETSPEED_EDITION = 10; - public static int DOMAIN_EDITION = 11; - public static int COUNTRY_EDITION_V6 = 12; - public static int ASNUM_EDITION_V6 = 21; - public static int ISP_EDITION_V6 = 22; - public static int ORG_EDITION_V6 = 23; - public static int DOMAIN_EDITION_V6 = 24; - public static int CITY_EDITION_REV1_V6 = 30; - public static int CITY_EDITION_REV0_V6 = 31; - public static int NETSPEED_EDITION_REV1 = 32; - public static int NETSPEED_EDITION_REV1_V6 = 33; - - private String info; - /** - * Creates a new DatabaseInfo object given the database info String. - * @param info - */ - - public DatabaseInfo(String info) - { - this.info = info; - } - - public int getType() - { - if ((info == null) | (info == "")) - { - return COUNTRY_EDITION; - } - else - { - // Get the type code from the database info string and then - // subtract 105 from the value to preserve compatability with - // databases from April 2003 and earlier. - return Convert.ToInt32(info.Substring(4, 3)) - 105; - } - } - - /** - * Returns the date of the database. - * - * @return the date of the database. - */ - public DateTime getDate() - { - for (int i=0; i - - - Debug - AnyCPU - 10.0.0 - 2.0 - {021DDD6A-A608-424C-9A9A-252D8A9989E0} - Library - GeoIP - GeoIP - v3.5 - - - true - full - false - .. - DEBUG; - prompt - 4 - false - - - full - true - .. - prompt - 4 - false - - - - - - - - - - - - - - \ No newline at end of file diff --git a/GeoIP/Location.cs b/GeoIP/Location.cs deleted file mode 100644 index e678c44291..0000000000 --- a/GeoIP/Location.cs +++ /dev/null @@ -1,66 +0,0 @@ -#region Copyright & License Information -/* - * Copyright (C) 2008 MaxMind Inc. All Rights Reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#endregion - -using System; - -namespace GeoIP -{ - public class Location - { - public String countryCode; - public String countryName; - public String region; - public String city; - public String postalCode; - public double latitude; - public double longitude; - public int dma_code; - public int area_code; - public String regionName; - public int metro_code; - - private static double EARTH_DIAMETER = 2 * 6378.2; - private static double PI = 3.14159265; - private static double RAD_CONVERT = PI / 180; - - public double distance (Location loc) - { - double delta_lat, delta_lon; - double temp; - - double lat1 = latitude; - double lon1 = longitude; - double lat2 = loc.latitude; - double lon2 = loc.longitude; - - // convert degrees to radians - lat1 *= RAD_CONVERT; - lat2 *= RAD_CONVERT; - - // find the deltas - delta_lat = lat2 - lat1; - delta_lon = (lon2 - lon1) * RAD_CONVERT; - - // Find the great circle distance - temp = Math.Pow(Math.Sin(delta_lat/2), 2) + Math.Cos(lat1) * Math.Cos(lat2) * Math.Pow(Math.Sin(delta_lon/2), 2); - return EARTH_DIAMETER * Math.Atan2(Math.Sqrt(temp), Math.Sqrt(1-temp)); - } - } -} \ No newline at end of file diff --git a/GeoIP/LookupService.cs b/GeoIP/LookupService.cs deleted file mode 100644 index bfcd0fcd89..0000000000 --- a/GeoIP/LookupService.cs +++ /dev/null @@ -1,999 +0,0 @@ -#region Copyright & License Information -/* - * Copyright (C) 2008 MaxMind Inc. All Rights Reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#endregion - -using System; -using System.IO; -using System.Net; -using System.Runtime.CompilerServices; - -namespace GeoIP -{ - public class LookupService - { - private FileStream file = null; - private DatabaseInfo databaseInfo = null; - private Object ioLock = new Object(); - byte databaseType = Convert.ToByte(DatabaseInfo.COUNTRY_EDITION); - int[] databaseSegments; - int recordLength; - int dboptions; - byte[] dbbuffer; - - private static Country UNKNOWN_COUNTRY = new Country("--", "Unknown Location"); - private static int COUNTRY_BEGIN = 16776960; - private static int STRUCTURE_INFO_MAX_SIZE = 20; - private static int DATABASE_INFO_MAX_SIZE = 100; - private static int FULL_RECORD_LENGTH = 100;//??? - private static int SEGMENT_RECORD_LENGTH = 3; - private static int STANDARD_RECORD_LENGTH = 3; - private static int ORG_RECORD_LENGTH = 4; - private static int MAX_RECORD_LENGTH = 4; - private static int MAX_ORG_RECORD_LENGTH = 1000;//??? - private static int FIPS_RANGE = 360; - private static int STATE_BEGIN_REV0 = 16700000; - private static int STATE_BEGIN_REV1 = 16000000; - private static int US_OFFSET = 1; - private static int CANADA_OFFSET = 677; - private static int WORLD_OFFSET = 1353; - public static int GEOIP_STANDARD = 0; - public static int GEOIP_MEMORY_CACHE = 1; - public static int GEOIP_UNKNOWN_SPEED = 0; - public static int GEOIP_DIALUP_SPEED = 1; - public static int GEOIP_CABLEDSL_SPEED = 2; - public static int GEOIP_CORPORATE_SPEED = 3; - - private static String[] countryCode = { - "--", - "AP", "EU", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "CW", - "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AZ", "BA", "BB", - "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BM", "BN", "BO", - "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", - "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", - "CU", "CV", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", - "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", - "FK", "FM", "FO", "FR", "SX", "GA", "GB", "GD", "GE", "GF", - "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", - "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", - "IE", "IL", "IN", "IO", "IQ", "IR", "IS", "IT", "JM", "JO", - "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", - "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", - "LU", "LV", "LY", "MA", "MC", "MD", "MG", "MH", "MK", "ML", - "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", - "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", - "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", - "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", - "PY", "QA", "RE", "RO", "RU", "RW", "SA", "SB", "SC", "SD", - "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", - "SR", "ST", "SV", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", - "TJ", "TK", "TM", "TN", "TO", "TL", "TR", "TT", "TV", "TW", - "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", - "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "RS", "ZA", - "ZM", "ME", "ZW", "A1", "A2", "O1", "AX", "GG", "IM", "JE", - "BL", "MF", "BQ", "SS", "O1" }; - - private static String[] countryName = { - "Unknown Location", - "Asia/Pacific Region", "Europe", "Andorra", "United Arab Emirates", "Afghanistan", "Antigua and Barbuda", "Anguilla", "Albania", "Armenia", "Curacao", - "Angola", "Antarctica", "Argentina", "American Samoa", "Austria", "Australia", "Aruba", "Azerbaijan", "Bosnia and Herzegovina", "Barbados", - "Bangladesh", "Belgium", "Burkina Faso", "Bulgaria", "Bahrain", "Burundi", "Benin", "Bermuda", "Brunei Darussalam", "Bolivia", - "Brazil", "Bahamas", "Bhutan", "Bouvet Island", "Botswana", "Belarus", "Belize", "Canada", "Cocos (Keeling) Islands", "Congo, The Democratic Republic of the", - "Central African Republic", "Congo", "Switzerland", "Cote D'Ivoire", "Cook Islands", "Chile", "Cameroon", "China", "Colombia", "Costa Rica", - "Cuba", "Cape Verde", "Christmas Island", "Cyprus", "Czech Republic", "Germany", "Djibouti", "Denmark", "Dominica", "Dominican Republic", - "Algeria", "Ecuador", "Estonia", "Egypt", "Western Sahara", "Eritrea", "Spain", "Ethiopia", "Finland", "Fiji", - "Falkland Islands (Malvinas)", "Micronesia, Federated States of", "Faroe Islands", "France", "Sint Maarten (Dutch part)", "Gabon", "United Kingdom", "Grenada", "Georgia", "French Guiana", - "Ghana", "Gibraltar", "Greenland", "Gambia", "Guinea", "Guadeloupe", "Equatorial Guinea", "Greece", "South Georgia and the South Sandwich Islands", "Guatemala", - "Guam", "Guinea-Bissau", "Guyana", "Hong Kong", "Heard Island and McDonald Islands", "Honduras", "Croatia", "Haiti", "Hungary", "Indonesia", - "Ireland", "Israel", "India", "British Indian Ocean Territory", "Iraq", "Iran, Islamic Republic of", "Iceland", "Italy", "Jamaica", "Jordan", - "Japan", "Kenya", "Kyrgyzstan", "Cambodia", "Kiribati", "Comoros", "Saint Kitts and Nevis", "Korea, Democratic People's Republic of", "Korea, Republic of", "Kuwait", - "Cayman Islands", "Kazakhstan", "Lao People's Democratic Republic", "Lebanon", "Saint Lucia", "Liechtenstein", "Sri Lanka", "Liberia", "Lesotho", "Lithuania", - "Luxembourg", "Latvia", "Libya", "Morocco", "Monaco", "Moldova, Republic of", "Madagascar", "Marshall Islands", "Macedonia", "Mali", - "Myanmar", "Mongolia", "Macau", "Northern Mariana Islands", "Martinique", "Mauritania", "Montserrat", "Malta", "Mauritius", "Maldives", - "Malawi", "Mexico", "Malaysia", "Mozambique", "Namibia", "New Caledonia", "Niger", "Norfolk Island", "Nigeria", "Nicaragua", - "Netherlands", "Norway", "Nepal", "Nauru", "Niue", "New Zealand", "Oman", "Panama", "Peru", "French Polynesia", - "Papua New Guinea", "Philippines", "Pakistan", "Poland", "Saint Pierre and Miquelon", "Pitcairn Islands", "Puerto Rico", "Palestinian Territory", "Portugal", "Palau", - "Paraguay", "Qatar", "Reunion", "Romania", "Russian Federation", "Rwanda", "Saudi Arabia", "Solomon Islands", "Seychelles", "Sudan", - "Sweden", "Singapore", "Saint Helena", "Slovenia", "Svalbard and Jan Mayen", "Slovakia", "Sierra Leone", "San Marino", "Senegal", "Somalia", "Suriname", - "Sao Tome and Principe", "El Salvador", "Syrian Arab Republic", "Swaziland", "Turks and Caicos Islands", "Chad", "French Southern Territories", "Togo", "Thailand", - "Tajikistan", "Tokelau", "Turkmenistan", "Tunisia", "Tonga", "Timor-Leste", "Turkey", "Trinidad and Tobago", "Tuvalu", "Taiwan", - "Tanzania, United Republic of", "Ukraine", "Uganda", "United States Minor Outlying Islands", "United States", "Uruguay", "Uzbekistan", "Holy See (Vatican City State)", "Saint Vincent and the Grenadines", "Venezuela", - "Virgin Islands, British", "Virgin Islands, U.S.", "Vietnam", "Vanuatu", "Wallis and Futuna", "Samoa", "Yemen", "Mayotte", "Serbia", "South Africa", - "Zambia", "Montenegro", "Zimbabwe", "Anonymous Proxy", "Satellite Provider", "Other", "Aland Islands", "Guernsey", "Isle of Man", "Jersey", - "Saint Barthelemy", "Saint Martin", "Bonaire, Saint Eustatius and Saba", "South Sudan", "Other" }; - - public LookupService(String databaseFile, int options) - { - try - { - lock (ioLock) - this.file = new FileStream(databaseFile, FileMode.Open, FileAccess.Read); - dboptions = options; - init(); - } - catch(System.SystemException) - { - Console.WriteLine("cannot open file " + databaseFile); - } - } - - public LookupService(String databaseFile):this(databaseFile, GEOIP_STANDARD) { } - - private void init() - { - int i, j; - byte[] delim = new byte[3]; - byte[] buf = new byte[SEGMENT_RECORD_LENGTH]; - databaseType = (byte)DatabaseInfo.COUNTRY_EDITION; - recordLength = STANDARD_RECORD_LENGTH; - - lock (ioLock) - { - file.Seek(-3,SeekOrigin.End); - for (i = 0; i < STRUCTURE_INFO_MAX_SIZE; i++) - { - file.Read(delim,0,3); - if (delim[0] == 255 && delim[1] == 255 && delim[2] == 255) - { - databaseType = Convert.ToByte(file.ReadByte()); - if (databaseType >= 106) - { - // Backward compatibility with databases from April 2003 and earlier - databaseType -= 105; - } - // Determine the database type. - if (databaseType == DatabaseInfo.REGION_EDITION_REV0) - { - databaseSegments = new int[1]; - databaseSegments[0] = STATE_BEGIN_REV0; - recordLength = STANDARD_RECORD_LENGTH; - } - else if (databaseType == DatabaseInfo.REGION_EDITION_REV1) - { - databaseSegments = new int[1]; - databaseSegments[0] = STATE_BEGIN_REV1; - recordLength = STANDARD_RECORD_LENGTH; - } - else if (databaseType == DatabaseInfo.CITY_EDITION_REV0 || - databaseType == DatabaseInfo.CITY_EDITION_REV1 || - databaseType == DatabaseInfo.ORG_EDITION || - databaseType == DatabaseInfo.ORG_EDITION_V6 || - databaseType == DatabaseInfo.ISP_EDITION || - databaseType == DatabaseInfo.ISP_EDITION_V6 || - databaseType == DatabaseInfo.ASNUM_EDITION || - databaseType == DatabaseInfo.ASNUM_EDITION_V6 || - databaseType == DatabaseInfo.NETSPEED_EDITION_REV1 || - databaseType == DatabaseInfo.NETSPEED_EDITION_REV1_V6 || - databaseType == DatabaseInfo.CITY_EDITION_REV0_V6 || - databaseType == DatabaseInfo.CITY_EDITION_REV1_V6) - { - databaseSegments = new int[1]; - databaseSegments[0] = 0; - if (databaseType == DatabaseInfo.CITY_EDITION_REV0 || - databaseType == DatabaseInfo.CITY_EDITION_REV1 || - databaseType == DatabaseInfo.ASNUM_EDITION_V6 || - databaseType == DatabaseInfo.NETSPEED_EDITION_REV1 || - databaseType == DatabaseInfo.NETSPEED_EDITION_REV1_V6 || - databaseType == DatabaseInfo.CITY_EDITION_REV0_V6 || - databaseType == DatabaseInfo.CITY_EDITION_REV1_V6 || - databaseType == DatabaseInfo.ASNUM_EDITION) - { - recordLength = STANDARD_RECORD_LENGTH; - } - else - { - recordLength = ORG_RECORD_LENGTH; - } - file.Read(buf,0,SEGMENT_RECORD_LENGTH); - for (j = 0; j < SEGMENT_RECORD_LENGTH; j++) - databaseSegments[0] += (unsignedByteToInt(buf[j]) << (j * 8)); - } - break; - } - else - { - file.Seek(-4,SeekOrigin.Current); - } - } - if ((databaseType == DatabaseInfo.COUNTRY_EDITION) || - (databaseType == DatabaseInfo.COUNTRY_EDITION_V6) || - (databaseType == DatabaseInfo.PROXY_EDITION) || - (databaseType == DatabaseInfo.NETSPEED_EDITION)) - { - databaseSegments = new int[1]; - databaseSegments[0] = COUNTRY_BEGIN; - recordLength = STANDARD_RECORD_LENGTH; - } - if ((dboptions & GEOIP_MEMORY_CACHE) == 1) - { - int l = (int) file.Length; - dbbuffer = new byte[l]; - file.Seek(0,SeekOrigin.Begin); - file.Read(dbbuffer,0,l); - } - } - } - - public void close() - { - try - { - lock (ioLock) { file.Close(); } - file = null; - } - catch (Exception) { } - } - - public Country getCountry(IPAddress ipAddress) - { - return getCountry(bytestoLong(ipAddress.GetAddressBytes())); - } - - public Country getCountryV6(String ipAddress) - { - IPAddress addr; - try - { - addr = IPAddress.Parse(ipAddress); - } - - catch (Exception e) - { - Console.WriteLine(e.Message); - return UNKNOWN_COUNTRY; - } - return getCountryV6(addr); - } - - public Country getCountry(String ipAddress) - { - IPAddress addr; - try - { - addr = IPAddress.Parse(ipAddress); - } - - catch (Exception e) - { - Console.WriteLine(e.Message); - return UNKNOWN_COUNTRY; - } - return getCountry(bytestoLong(addr.GetAddressBytes())); - } - - public Country getCountryV6(IPAddress ipAddress) - { - if (file == null) - { - throw new Exception("Database has been closed."); - } - if ((databaseType == DatabaseInfo.CITY_EDITION_REV1) | - (databaseType == DatabaseInfo.CITY_EDITION_REV0)) - { - var l = getLocation(ipAddress); - if (l == null) - return UNKNOWN_COUNTRY; - else - return new Country(l.countryCode, l.countryName); - } - else - { - int ret = SeekCountryV6(ipAddress) - COUNTRY_BEGIN; - if (ret == 0) - return UNKNOWN_COUNTRY; - else - return new Country(countryCode[ret], countryName[ret]); - } - } - - public Country getCountry(long ipAddress) - { - if (file == null) - throw new Exception("Database has been closed."); - if ((databaseType == DatabaseInfo.CITY_EDITION_REV1) | - (databaseType == DatabaseInfo.CITY_EDITION_REV0)) - { - var l = getLocation(ipAddress); - if (l == null) - return UNKNOWN_COUNTRY; - else - return new Country(l.countryCode, l.countryName); - } - else - { - var ret = SeekCountry(ipAddress) - COUNTRY_BEGIN; - if (ret == 0) - return UNKNOWN_COUNTRY; - else - return new Country(countryCode[ret], countryName[ret]); - } - } - - public int getID(String ipAddress) - { - IPAddress addr; - try - { - addr = IPAddress.Parse(ipAddress); - } - catch (Exception e) - { - Console.WriteLine(e.Message); - return 0; - } - return getID(bytestoLong(addr.GetAddressBytes())); - } - - public int getID(IPAddress ipAddress) - { - - return getID(bytestoLong(ipAddress.GetAddressBytes())); - } - - public int getID(long ipAddress) - { - if (file == null) - throw new Exception("Database has been closed."); - int ret = SeekCountry(ipAddress) - databaseSegments[0]; - return ret; - } - - public DatabaseInfo getDatabaseInfo() - { - if (databaseInfo != null) - return databaseInfo; - try - { - // Synchronize since we're accessing the database file. - lock (ioLock) - { - bool hasStructureInfo = false; - byte [] delim = new byte[3]; - // Advance to part of file where database info is stored. - file.Seek(-3,SeekOrigin.End); - for (int i=0; i= 1000) - { - record.countryCode = "US"; - record.countryName = "United States"; - ch[0] = (char)(((seek_region - 1000)/26) + 65); - ch[1] = (char)(((seek_region - 1000)%26) + 65); - record.region = new String(ch); - } - else - { - record.countryCode = countryCode[seek_region]; - record.countryName = countryName[seek_region]; - record.region = ""; - } - } - else if (databaseType == DatabaseInfo.REGION_EDITION_REV1) - { - seek_region = SeekCountry(ipnum) - STATE_BEGIN_REV1; - char [] ch = new char[2]; - if (seek_region < US_OFFSET) - { - record.countryCode = ""; - record.countryName = ""; - record.region = ""; - } else if (seek_region < CANADA_OFFSET) - { - record.countryCode = "US"; - record.countryName = "United States"; - ch[0] = (char)(((seek_region - US_OFFSET)/26) + 65); - ch[1] = (char)(((seek_region - US_OFFSET)%26) + 65); - record.region = new String(ch); - } else if (seek_region < WORLD_OFFSET) - { - record.countryCode = "CA"; - record.countryName = "Canada"; - ch[0] = (char)(((seek_region - CANADA_OFFSET)/26) + 65); - ch[1] = (char)(((seek_region - CANADA_OFFSET)%26) + 65); - record.region = new String(ch); - } - else - { - record.countryCode = countryCode[(seek_region - WORLD_OFFSET) / FIPS_RANGE]; - record.countryName = countryName[(seek_region - WORLD_OFFSET) / FIPS_RANGE]; - record.region = ""; - } - } - return record; - } - - public Location getLocation(IPAddress addr) - { - return getLocation(bytestoLong(addr.GetAddressBytes())); - } - - public Location getLocationV6(String str) - { - IPAddress addr; - try - { - addr = IPAddress.Parse(str); - } - catch (Exception e) - { - Console.WriteLine(e.Message); - return null; - } - - return getLocationV6(addr); - } - - public Location getLocation(String str) - { - IPAddress addr; - try - { - addr = IPAddress.Parse(str); - } - catch (Exception e) - { - Console.WriteLine(e.Message); - return null; - } - - return getLocation(bytestoLong(addr.GetAddressBytes())); - } - - [MethodImpl(MethodImplOptions.Synchronized)] - public Location getLocationV6(IPAddress addr) - { - int record_pointer; - byte[] record_buf = new byte[FULL_RECORD_LENGTH]; - char[] record_buf2 = new char[FULL_RECORD_LENGTH]; - int record_buf_offset = 0; - Location record = new Location(); - int str_length = 0; - int j, Seek_country; - double latitude = 0, longitude = 0; - - try - { - Seek_country = SeekCountryV6(addr); - if (Seek_country == databaseSegments[0]) - return null; - - record_pointer = Seek_country + ((2 * recordLength - 1) * databaseSegments[0]); - if ((dboptions & GEOIP_MEMORY_CACHE) == 1) - Array.Copy(dbbuffer, record_pointer, record_buf, 0, Math.Min(dbbuffer.Length - record_pointer, FULL_RECORD_LENGTH)); - else - { - lock (ioLock) - { - file.Seek(record_pointer,SeekOrigin.Begin); - file.Read(record_buf,0,FULL_RECORD_LENGTH); - } - } - for (int a0 = 0;a0 < FULL_RECORD_LENGTH;a0++) - record_buf2[a0] = Convert.ToChar(record_buf[a0]); - - // get country - record.countryCode = countryCode[unsignedByteToInt(record_buf[0])]; - record.countryName = countryName[unsignedByteToInt(record_buf[0])]; - record_buf_offset++; - - // get region - while (record_buf[record_buf_offset + str_length] != '\0') - str_length++; - if (str_length > 0) - record.region = new String(record_buf2, record_buf_offset, str_length); - record_buf_offset += str_length + 1; - str_length = 0; - - // get region_name - record.regionName = RegionName.getRegionName( record.countryCode, record.region ); - - // get city - while (record_buf[record_buf_offset + str_length] != '\0') - str_length++; - if (str_length > 0) - record.city = new String(record_buf2, record_buf_offset, str_length); - record_buf_offset += (str_length + 1); - str_length = 0; - - // get postal code - while (record_buf[record_buf_offset + str_length] != '\0') - str_length++; - if (str_length > 0) - record.postalCode = new String(record_buf2, record_buf_offset, str_length); - record_buf_offset += (str_length + 1); - - // get latitude - for (j = 0; j < 3; j++) - latitude += (unsignedByteToInt(record_buf[record_buf_offset + j]) << (j * 8)); - record.latitude = (float)latitude/10000 - 180; - record_buf_offset += 3; - - // get longitude - for (j = 0; j < 3; j++) - longitude += (unsignedByteToInt(record_buf[record_buf_offset + j]) << (j * 8)); - record.longitude = (float)longitude/10000 - 180; - - record.metro_code = record.dma_code = 0; - record.area_code = 0; - if (databaseType == DatabaseInfo.CITY_EDITION_REV1 - ||databaseType == DatabaseInfo.CITY_EDITION_REV1_V6) - { - // get metro_code - int metroarea_combo = 0; - if (record.countryCode == "US") - { - record_buf_offset += 3; - for (j = 0; j < 3; j++) - metroarea_combo += (unsignedByteToInt(record_buf[record_buf_offset + j]) << (j * 8)); - record.metro_code = record.dma_code = metroarea_combo/1000; - record.area_code = metroarea_combo % 1000; - } - } - } - catch (IOException) - { - Console.WriteLine("IO Exception while seting up segments"); - } - return record; - } - - [MethodImpl(MethodImplOptions.Synchronized)] - public Location getLocation(long ipnum) - { - int record_pointer; - byte[] record_buf = new byte[FULL_RECORD_LENGTH]; - char[] record_buf2 = new char[FULL_RECORD_LENGTH]; - int record_buf_offset = 0; - Location record = new Location(); - int str_length = 0; - int j, Seek_country; - double latitude = 0, longitude = 0; - - try - { - Seek_country = SeekCountry(ipnum); - if (Seek_country == databaseSegments[0]) - return null; - - record_pointer = Seek_country + ((2 * recordLength - 1) * databaseSegments[0]); - if ((dboptions & GEOIP_MEMORY_CACHE) == 1) - Array.Copy(dbbuffer, record_pointer, record_buf, 0, Math.Min(dbbuffer.Length - record_pointer, FULL_RECORD_LENGTH)); - else - { - lock (ioLock) - { - file.Seek(record_pointer,SeekOrigin.Begin); - file.Read(record_buf,0,FULL_RECORD_LENGTH); - } - } - - for (int a0 = 0;a0 < FULL_RECORD_LENGTH;a0++) - record_buf2[a0] = Convert.ToChar(record_buf[a0]); - - // get country - record.countryCode = countryCode[unsignedByteToInt(record_buf[0])]; - record.countryName = countryName[unsignedByteToInt(record_buf[0])]; - record_buf_offset++; - - // get region - while (record_buf[record_buf_offset + str_length] != '\0') - str_length++; - if (str_length > 0) - record.region = new String(record_buf2, record_buf_offset, str_length); - record_buf_offset += str_length + 1; - str_length = 0; - - // get region_name - record.regionName = RegionName.getRegionName(record.countryCode, record.region); - - // get city - while (record_buf[record_buf_offset + str_length] != '\0') - str_length++; - if (str_length > 0) - record.city = new String(record_buf2, record_buf_offset, str_length); - - record_buf_offset += (str_length + 1); - str_length = 0; - - // get postal code - while (record_buf[record_buf_offset + str_length] != '\0') - str_length++; - if (str_length > 0) - record.postalCode = new String(record_buf2, record_buf_offset, str_length); - record_buf_offset += (str_length + 1); - - // get latitude - for (j = 0; j < 3; j++) - latitude += (unsignedByteToInt(record_buf[record_buf_offset + j]) << (j * 8)); - record.latitude = (float) latitude/10000 - 180; - record_buf_offset += 3; - - // get longitude - for (j = 0; j < 3; j++) - longitude += (unsignedByteToInt(record_buf[record_buf_offset + j]) << (j * 8)); - record.longitude = (float) longitude/10000 - 180; - - record.metro_code = record.dma_code = 0; - record.area_code = 0; - if (databaseType == DatabaseInfo.CITY_EDITION_REV1) - { - // get metro_code - int metroarea_combo = 0; - if (record.countryCode == "US"){ - record_buf_offset += 3; - for (j = 0; j < 3; j++) - metroarea_combo += (unsignedByteToInt(record_buf[record_buf_offset + j]) << (j * 8)); - record.metro_code = record.dma_code = metroarea_combo/1000; - record.area_code = metroarea_combo % 1000; - } - } - } - catch (IOException) - { - Console.WriteLine("IO Exception while seting up segments"); - } - return record; - } - - public String getOrg(IPAddress addr) - { - return getOrg(bytestoLong(addr.GetAddressBytes())); - } - - public String getOrgV6(String str) - { - IPAddress addr; - try - { - addr = IPAddress.Parse(str); - } - catch (Exception e) - { - Console.WriteLine(e.Message); - return null; - } - return getOrgV6(addr); - } - - public String getOrg(String str) - { - IPAddress addr; - try - { - addr = IPAddress.Parse(str); - } - catch (Exception e) - { - Console.WriteLine(e.Message); - return null; - } - return getOrg(bytestoLong(addr.GetAddressBytes())); - } - - [MethodImpl(MethodImplOptions.Synchronized)] - public String getOrgV6( IPAddress addr) - { - int Seek_org; - int record_pointer; - int str_length = 0; - byte[] buf = new byte[MAX_ORG_RECORD_LENGTH]; - char[] buf2 = new char[MAX_ORG_RECORD_LENGTH]; - String org_buf; - - try - { - Seek_org = SeekCountryV6(addr); - if (Seek_org == databaseSegments[0]) - return null; - - record_pointer = Seek_org + (2 * recordLength - 1) * databaseSegments[0]; - if ((dboptions & GEOIP_MEMORY_CACHE) == 1) - Array.Copy(dbbuffer, record_pointer, buf, 0, Math.Min(dbbuffer.Length - record_pointer, MAX_ORG_RECORD_LENGTH)); - else - { - lock (ioLock) - { - file.Seek(record_pointer,SeekOrigin.Begin); - file.Read(buf,0,MAX_ORG_RECORD_LENGTH); - } - } - while (buf[str_length] != 0) - { - buf2[str_length] = Convert.ToChar(buf[str_length]); - str_length++; - } - buf2[str_length] = '\0'; - org_buf = new String(buf2,0,str_length); - return org_buf; - } - catch (IOException) - { - Console.WriteLine("IO Exception"); - return null; - } - } - - [MethodImpl(MethodImplOptions.Synchronized)] - public String getOrg(long ipnum) - { - int Seek_org; - int record_pointer; - int str_length = 0; - byte [] buf = new byte[MAX_ORG_RECORD_LENGTH]; - char [] buf2 = new char[MAX_ORG_RECORD_LENGTH]; - String org_buf; - - try - { - Seek_org = SeekCountry(ipnum); - if (Seek_org == databaseSegments[0]) - return null; - - record_pointer = Seek_org + (2 * recordLength - 1) * databaseSegments[0]; - if ((dboptions & GEOIP_MEMORY_CACHE) == 1) - Array.Copy(dbbuffer, record_pointer, buf, 0, Math.Min(dbbuffer.Length - record_pointer, MAX_ORG_RECORD_LENGTH)); - else - { - lock (ioLock) - { - file.Seek(record_pointer,SeekOrigin.Begin); - file.Read(buf,0,MAX_ORG_RECORD_LENGTH); - } - } - while (buf[str_length] != 0) - { - buf2[str_length] = Convert.ToChar(buf[str_length]); - str_length++; - } - buf2[str_length] = '\0'; - org_buf = new String(buf2, 0, str_length); - return org_buf; - } - catch (IOException) - { - Console.WriteLine("IO Exception"); - return null; - } - } - - [MethodImpl(MethodImplOptions.Synchronized)] - int SeekCountryV6(IPAddress ipAddress) - { - byte [] v6vec = ipAddress.GetAddressBytes(); - byte [] buf = new byte[2 * MAX_RECORD_LENGTH]; - int [] x = new int[2]; - int offset = 0; - - for (int depth = 127; depth >= 0; depth--) - { - try - { - if ((dboptions & GEOIP_MEMORY_CACHE) == 1) - { - for (int i = 0;i < (2 * MAX_RECORD_LENGTH);i++) - buf[i] = dbbuffer[i+(2 * recordLength * offset)]; - } - else - { - lock (ioLock) - { - file.Seek(2 * recordLength * offset,SeekOrigin.Begin); - file.Read(buf,0,2 * MAX_RECORD_LENGTH); - } - } - } - catch (IOException) - { - Console.WriteLine("IO Exception"); - } - for (int i = 0; i<2; i++) - { - x[i] = 0; - for (int j = 0; j> 3; - int b_mask = 1 << ( bnum & 7 ^ 7 ); - if ((v6vec[idx] & b_mask) > 0) - { - if (x[1] >= databaseSegments[0]) - { - return x[1]; - } - offset = x[1]; - } - else - { - if (x[0] >= databaseSegments[0]) - { - return x[0]; - } - offset = x[0]; - } - } - - // shouldn't reach here - Console.WriteLine("Error Seeking country while Seeking " + ipAddress); - return 0; - } - - [MethodImpl(MethodImplOptions.Synchronized)] - int SeekCountry(long ipAddress) - { - byte [] buf = new byte[2 * MAX_RECORD_LENGTH]; - int [] x = new int[2]; - int offset = 0; - for (int depth = 31; depth >= 0; depth--) - { - try - { - if ((dboptions & GEOIP_MEMORY_CACHE) == 1) - { - for (int i = 0;i < (2 * MAX_RECORD_LENGTH);i++) - { - buf[i] = dbbuffer[i+(2 * recordLength * offset)]; - } - } - else - { - lock (ioLock) - { - file.Seek(2 * recordLength * offset,SeekOrigin.Begin); - file.Read(buf, 0, 2 * MAX_RECORD_LENGTH); - } - } - } - catch (IOException) - { - Console.WriteLine("IO Exception"); - } - for (int i = 0; i<2; i++) - { - x[i] = 0; - for (int j = 0; j 0) - { - if (x[1] >= databaseSegments[0]) - return x[1]; - offset = x[1]; - } - else - { - if (x[0] >= databaseSegments[0]) - return x[0]; - offset = x[0]; - } - } - - // shouldn't reach here - Console.WriteLine("Error Seeking country while Seeking " + ipAddress); - return 0; - } - - static long swapbytes(long ipAddress) - { - return (((ipAddress>>0) & 255) << 24) | (((ipAddress>>8) & 255) << 16) - | (((ipAddress>>16) & 255) << 8) | (((ipAddress>>24) & 255) << 0); - } - - static long bytestoLong(byte [] address) - { - long ipnum = 0; - for (int i = 0; i < 4; ++i) - { - long y = address[i]; - if (y < 0) - y += 256; - ipnum += y << ((3-i)*8); - } - return ipnum; - } - - static int unsignedByteToInt(byte b) - { - return (int) b & 0xFF; - } - } -} \ No newline at end of file diff --git a/GeoIP/Region.cs b/GeoIP/Region.cs deleted file mode 100644 index e81b13a95c..0000000000 --- a/GeoIP/Region.cs +++ /dev/null @@ -1,52 +0,0 @@ -#region Copyright & License Information -/* - * Copyright (C) 2008 MaxMind Inc. All Rights Reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#endregion - -using System; - -public class Region -{ - public String countryCode; - public String countryName; - public String region; - - public Region() { } - - public Region(String countryCode,String countryName,String region) - { - this.countryCode = countryCode; - this.countryName = countryName; - this.region = region; - } - - public String getcountryCode() - { - return countryCode; - } - - public String getcountryName() - { - return countryName; - } - - public String getregion() - { - return region; - } -} \ No newline at end of file diff --git a/GeoIP/RegionName.cs b/GeoIP/RegionName.cs deleted file mode 100644 index bae13c17e3..0000000000 --- a/GeoIP/RegionName.cs +++ /dev/null @@ -1,4489 +0,0 @@ -#region Copyright & License Information -/* - * Copyright (C) 2008 MaxMind Inc. All Rights Reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#endregion - -using System; -using System.Collections; - -public static class RegionName -{ - static Hashtable GEOIP_REGION_NAME; - - public static String getRegionName(String ccode, String region) - { - if (GEOIP_REGION_NAME == null) - init_region_names(); - - if (region == null || region == "00") - return null; - - if (!GEOIP_REGION_NAME.ContainsKey(ccode)) - return null; - - return (String)((Hashtable)GEOIP_REGION_NAME[ccode])[region]; - } - - static void init_region_names() - { - GEOIP_REGION_NAME = new Hashtable(); - Hashtable cc_reg_AD = new Hashtable(); - cc_reg_AD.Add("02", "Canillo"); - cc_reg_AD.Add("03", "Encamp"); - cc_reg_AD.Add("04", "La Massana"); - cc_reg_AD.Add("05", "Ordino"); - cc_reg_AD.Add("06", "Sant Julia de Loria"); - cc_reg_AD.Add("07", "Andorra la Vella"); - cc_reg_AD.Add("08", "Escaldes-Engordany"); - GEOIP_REGION_NAME.Add("AD", cc_reg_AD ); - Hashtable cc_reg_AE = new Hashtable(); - cc_reg_AE.Add("01", "Abu Dhabi"); - cc_reg_AE.Add("02", "Ajman"); - cc_reg_AE.Add("03", "Dubai"); - cc_reg_AE.Add("04", "Fujairah"); - cc_reg_AE.Add("05", "Ras Al Khaimah"); - cc_reg_AE.Add("06", "Sharjah"); - cc_reg_AE.Add("07", "Umm Al Quwain"); - GEOIP_REGION_NAME.Add("AE", cc_reg_AE ); - Hashtable cc_reg_AF = new Hashtable(); - cc_reg_AF.Add("01", "Badakhshan"); - cc_reg_AF.Add("02", "Badghis"); - cc_reg_AF.Add("03", "Baghlan"); - cc_reg_AF.Add("05", "Bamian"); - cc_reg_AF.Add("06", "Farah"); - cc_reg_AF.Add("07", "Faryab"); - cc_reg_AF.Add("08", "Ghazni"); - cc_reg_AF.Add("09", "Ghowr"); - cc_reg_AF.Add("10", "Helmand"); - cc_reg_AF.Add("11", "Herat"); - cc_reg_AF.Add("13", "Kabol"); - cc_reg_AF.Add("14", "Kapisa"); - cc_reg_AF.Add("17", "Lowgar"); - cc_reg_AF.Add("18", "Nangarhar"); - cc_reg_AF.Add("19", "Nimruz"); - cc_reg_AF.Add("23", "Kandahar"); - cc_reg_AF.Add("24", "Kondoz"); - cc_reg_AF.Add("26", "Takhar"); - cc_reg_AF.Add("27", "Vardak"); - cc_reg_AF.Add("28", "Zabol"); - cc_reg_AF.Add("29", "Paktika"); - cc_reg_AF.Add("30", "Balkh"); - cc_reg_AF.Add("31", "Jowzjan"); - cc_reg_AF.Add("32", "Samangan"); - cc_reg_AF.Add("33", "Sar-e Pol"); - cc_reg_AF.Add("34", "Konar"); - cc_reg_AF.Add("35", "Laghman"); - cc_reg_AF.Add("36", "Paktia"); - cc_reg_AF.Add("37", "Khowst"); - cc_reg_AF.Add("38", "Nurestan"); - cc_reg_AF.Add("39", "Oruzgan"); - cc_reg_AF.Add("40", "Parvan"); - cc_reg_AF.Add("41", "Daykondi"); - cc_reg_AF.Add("42", "Panjshir"); - GEOIP_REGION_NAME.Add("AF", cc_reg_AF ); - Hashtable cc_reg_AG = new Hashtable(); - cc_reg_AG.Add("01", "Barbuda"); - cc_reg_AG.Add("03", "Saint George"); - cc_reg_AG.Add("04", "Saint John"); - cc_reg_AG.Add("05", "Saint Mary"); - cc_reg_AG.Add("06", "Saint Paul"); - cc_reg_AG.Add("07", "Saint Peter"); - cc_reg_AG.Add("08", "Saint Philip"); - cc_reg_AG.Add("09", "Redonda"); - GEOIP_REGION_NAME.Add("AG", cc_reg_AG ); - Hashtable cc_reg_AL = new Hashtable(); - cc_reg_AL.Add("40", "Berat"); - cc_reg_AL.Add("41", "Diber"); - cc_reg_AL.Add("42", "Durres"); - cc_reg_AL.Add("43", "Elbasan"); - cc_reg_AL.Add("44", "Fier"); - cc_reg_AL.Add("45", "Gjirokaster"); - cc_reg_AL.Add("46", "Korce"); - cc_reg_AL.Add("47", "Kukes"); - cc_reg_AL.Add("48", "Lezhe"); - cc_reg_AL.Add("49", "Shkoder"); - cc_reg_AL.Add("50", "Tirane"); - cc_reg_AL.Add("51", "Vlore"); - GEOIP_REGION_NAME.Add("AL", cc_reg_AL ); - Hashtable cc_reg_AM = new Hashtable(); - cc_reg_AM.Add("01", "Aragatsotn"); - cc_reg_AM.Add("02", "Ararat"); - cc_reg_AM.Add("03", "Armavir"); - cc_reg_AM.Add("04", "Geghark'unik'"); - cc_reg_AM.Add("05", "Kotayk'"); - cc_reg_AM.Add("06", "Lorri"); - cc_reg_AM.Add("07", "Shirak"); - cc_reg_AM.Add("08", "Syunik'"); - cc_reg_AM.Add("09", "Tavush"); - cc_reg_AM.Add("10", "Vayots' Dzor"); - cc_reg_AM.Add("11", "Yerevan"); - GEOIP_REGION_NAME.Add("AM", cc_reg_AM ); - Hashtable cc_reg_AO = new Hashtable(); - cc_reg_AO.Add("01", "Benguela"); - cc_reg_AO.Add("02", "Bie"); - cc_reg_AO.Add("03", "Cabinda"); - cc_reg_AO.Add("04", "Cuando Cubango"); - cc_reg_AO.Add("05", "Cuanza Norte"); - cc_reg_AO.Add("06", "Cuanza Sul"); - cc_reg_AO.Add("07", "Cunene"); - cc_reg_AO.Add("08", "Huambo"); - cc_reg_AO.Add("09", "Huila"); - cc_reg_AO.Add("12", "Malanje"); - cc_reg_AO.Add("13", "Namibe"); - cc_reg_AO.Add("14", "Moxico"); - cc_reg_AO.Add("15", "Uige"); - cc_reg_AO.Add("16", "Zaire"); - cc_reg_AO.Add("17", "Lunda Norte"); - cc_reg_AO.Add("18", "Lunda Sul"); - cc_reg_AO.Add("19", "Bengo"); - cc_reg_AO.Add("20", "Luanda"); - GEOIP_REGION_NAME.Add("AO", cc_reg_AO ); - Hashtable cc_reg_AR = new Hashtable(); - cc_reg_AR.Add("01", "Buenos Aires"); - cc_reg_AR.Add("02", "Catamarca"); - cc_reg_AR.Add("03", "Chaco"); - cc_reg_AR.Add("04", "Chubut"); - cc_reg_AR.Add("05", "Cordoba"); - cc_reg_AR.Add("06", "Corrientes"); - cc_reg_AR.Add("07", "Distrito Federal"); - cc_reg_AR.Add("08", "Entre Rios"); - cc_reg_AR.Add("09", "Formosa"); - cc_reg_AR.Add("10", "Jujuy"); - cc_reg_AR.Add("11", "La Pampa"); - cc_reg_AR.Add("12", "La Rioja"); - cc_reg_AR.Add("13", "Mendoza"); - cc_reg_AR.Add("14", "Misiones"); - cc_reg_AR.Add("15", "Neuquen"); - cc_reg_AR.Add("16", "Rio Negro"); - cc_reg_AR.Add("17", "Salta"); - cc_reg_AR.Add("18", "San Juan"); - cc_reg_AR.Add("19", "San Luis"); - cc_reg_AR.Add("20", "Santa Cruz"); - cc_reg_AR.Add("21", "Santa Fe"); - cc_reg_AR.Add("22", "Santiago del Estero"); - cc_reg_AR.Add("23", "Tierra del Fuego"); - cc_reg_AR.Add("24", "Tucuman"); - GEOIP_REGION_NAME.Add("AR", cc_reg_AR ); - Hashtable cc_reg_AT = new Hashtable(); - cc_reg_AT.Add("01", "Burgenland"); - cc_reg_AT.Add("02", "Karnten"); - cc_reg_AT.Add("03", "Niederosterreich"); - cc_reg_AT.Add("04", "Oberosterreich"); - cc_reg_AT.Add("05", "Salzburg"); - cc_reg_AT.Add("06", "Steiermark"); - cc_reg_AT.Add("07", "Tirol"); - cc_reg_AT.Add("08", "Vorarlberg"); - cc_reg_AT.Add("09", "Wien"); - GEOIP_REGION_NAME.Add("AT", cc_reg_AT ); - Hashtable cc_reg_AU = new Hashtable(); - cc_reg_AU.Add("01", "Australian Capital Territory"); - cc_reg_AU.Add("02", "New South Wales"); - cc_reg_AU.Add("03", "Northern Territory"); - cc_reg_AU.Add("04", "Queensland"); - cc_reg_AU.Add("05", "South Australia"); - cc_reg_AU.Add("06", "Tasmania"); - cc_reg_AU.Add("07", "Victoria"); - cc_reg_AU.Add("08", "Western Australia"); - GEOIP_REGION_NAME.Add("AU", cc_reg_AU ); - Hashtable cc_reg_AZ = new Hashtable(); - cc_reg_AZ.Add("01", "Abseron"); - cc_reg_AZ.Add("02", "Agcabadi"); - cc_reg_AZ.Add("03", "Agdam"); - cc_reg_AZ.Add("04", "Agdas"); - cc_reg_AZ.Add("05", "Agstafa"); - cc_reg_AZ.Add("06", "Agsu"); - cc_reg_AZ.Add("07", "Ali Bayramli"); - cc_reg_AZ.Add("08", "Astara"); - cc_reg_AZ.Add("09", "Baki"); - cc_reg_AZ.Add("10", "Balakan"); - cc_reg_AZ.Add("11", "Barda"); - cc_reg_AZ.Add("12", "Beylaqan"); - cc_reg_AZ.Add("13", "Bilasuvar"); - cc_reg_AZ.Add("14", "Cabrayil"); - cc_reg_AZ.Add("15", "Calilabad"); - cc_reg_AZ.Add("16", "Daskasan"); - cc_reg_AZ.Add("17", "Davaci"); - cc_reg_AZ.Add("18", "Fuzuli"); - cc_reg_AZ.Add("19", "Gadabay"); - cc_reg_AZ.Add("20", "Ganca"); - cc_reg_AZ.Add("21", "Goranboy"); - cc_reg_AZ.Add("22", "Goycay"); - cc_reg_AZ.Add("23", "Haciqabul"); - cc_reg_AZ.Add("24", "Imisli"); - cc_reg_AZ.Add("25", "Ismayilli"); - cc_reg_AZ.Add("26", "Kalbacar"); - cc_reg_AZ.Add("27", "Kurdamir"); - cc_reg_AZ.Add("28", "Lacin"); - cc_reg_AZ.Add("29", "Lankaran"); - cc_reg_AZ.Add("30", "Lankaran"); - cc_reg_AZ.Add("31", "Lerik"); - cc_reg_AZ.Add("32", "Masalli"); - cc_reg_AZ.Add("33", "Mingacevir"); - cc_reg_AZ.Add("34", "Naftalan"); - cc_reg_AZ.Add("35", "Naxcivan"); - cc_reg_AZ.Add("36", "Neftcala"); - cc_reg_AZ.Add("37", "Oguz"); - cc_reg_AZ.Add("38", "Qabala"); - cc_reg_AZ.Add("39", "Qax"); - cc_reg_AZ.Add("40", "Qazax"); - cc_reg_AZ.Add("41", "Qobustan"); - cc_reg_AZ.Add("42", "Quba"); - cc_reg_AZ.Add("43", "Qubadli"); - cc_reg_AZ.Add("44", "Qusar"); - cc_reg_AZ.Add("45", "Saatli"); - cc_reg_AZ.Add("46", "Sabirabad"); - cc_reg_AZ.Add("47", "Saki"); - cc_reg_AZ.Add("48", "Saki"); - cc_reg_AZ.Add("49", "Salyan"); - cc_reg_AZ.Add("50", "Samaxi"); - cc_reg_AZ.Add("51", "Samkir"); - cc_reg_AZ.Add("52", "Samux"); - cc_reg_AZ.Add("53", "Siyazan"); - cc_reg_AZ.Add("54", "Sumqayit"); - cc_reg_AZ.Add("55", "Susa"); - cc_reg_AZ.Add("56", "Susa"); - cc_reg_AZ.Add("57", "Tartar"); - cc_reg_AZ.Add("58", "Tovuz"); - cc_reg_AZ.Add("59", "Ucar"); - cc_reg_AZ.Add("60", "Xacmaz"); - cc_reg_AZ.Add("61", "Xankandi"); - cc_reg_AZ.Add("62", "Xanlar"); - cc_reg_AZ.Add("63", "Xizi"); - cc_reg_AZ.Add("64", "Xocali"); - cc_reg_AZ.Add("65", "Xocavand"); - cc_reg_AZ.Add("66", "Yardimli"); - cc_reg_AZ.Add("67", "Yevlax"); - cc_reg_AZ.Add("68", "Yevlax"); - cc_reg_AZ.Add("69", "Zangilan"); - cc_reg_AZ.Add("70", "Zaqatala"); - cc_reg_AZ.Add("71", "Zardab"); - GEOIP_REGION_NAME.Add("AZ", cc_reg_AZ ); - Hashtable cc_reg_BA = new Hashtable(); - cc_reg_BA.Add("01", "Federation of Bosnia and Herzegovina"); - cc_reg_BA.Add("02", "Republika Srpska"); - GEOIP_REGION_NAME.Add("BA", cc_reg_BA ); - Hashtable cc_reg_BB = new Hashtable(); - cc_reg_BB.Add("01", "Christ Church"); - cc_reg_BB.Add("02", "Saint Andrew"); - cc_reg_BB.Add("03", "Saint George"); - cc_reg_BB.Add("04", "Saint James"); - cc_reg_BB.Add("05", "Saint John"); - cc_reg_BB.Add("06", "Saint Joseph"); - cc_reg_BB.Add("07", "Saint Lucy"); - cc_reg_BB.Add("08", "Saint Michael"); - cc_reg_BB.Add("09", "Saint Peter"); - cc_reg_BB.Add("10", "Saint Philip"); - cc_reg_BB.Add("11", "Saint Thomas"); - GEOIP_REGION_NAME.Add("BB", cc_reg_BB ); - Hashtable cc_reg_BD = new Hashtable(); - cc_reg_BD.Add("81", "Dhaka"); - cc_reg_BD.Add("82", "Khulna"); - cc_reg_BD.Add("83", "Rajshahi"); - cc_reg_BD.Add("84", "Chittagong"); - cc_reg_BD.Add("85", "Barisal"); - cc_reg_BD.Add("86", "Sylhet"); - GEOIP_REGION_NAME.Add("BD", cc_reg_BD ); - Hashtable cc_reg_BE = new Hashtable(); - cc_reg_BE.Add("01", "Antwerpen"); - cc_reg_BE.Add("03", "Hainaut"); - cc_reg_BE.Add("04", "Liege"); - cc_reg_BE.Add("05", "Limburg"); - cc_reg_BE.Add("06", "Luxembourg"); - cc_reg_BE.Add("07", "Namur"); - cc_reg_BE.Add("08", "Oost-Vlaanderen"); - cc_reg_BE.Add("09", "West-Vlaanderen"); - cc_reg_BE.Add("10", "Brabant Wallon"); - cc_reg_BE.Add("11", "Brussels Hoofdstedelijk Gewest"); - cc_reg_BE.Add("12", "Vlaams-Brabant"); - cc_reg_BE.Add("13", "Flanders"); - cc_reg_BE.Add("14", "Wallonia"); - GEOIP_REGION_NAME.Add("BE", cc_reg_BE ); - Hashtable cc_reg_BF = new Hashtable(); - cc_reg_BF.Add("15", "Bam"); - cc_reg_BF.Add("19", "Boulkiemde"); - cc_reg_BF.Add("20", "Ganzourgou"); - cc_reg_BF.Add("21", "Gnagna"); - cc_reg_BF.Add("28", "Kouritenga"); - cc_reg_BF.Add("33", "Oudalan"); - cc_reg_BF.Add("34", "Passore"); - cc_reg_BF.Add("36", "Sanguie"); - cc_reg_BF.Add("40", "Soum"); - cc_reg_BF.Add("42", "Tapoa"); - cc_reg_BF.Add("44", "Zoundweogo"); - cc_reg_BF.Add("45", "Bale"); - cc_reg_BF.Add("46", "Banwa"); - cc_reg_BF.Add("47", "Bazega"); - cc_reg_BF.Add("48", "Bougouriba"); - cc_reg_BF.Add("49", "Boulgou"); - cc_reg_BF.Add("50", "Gourma"); - cc_reg_BF.Add("51", "Houet"); - cc_reg_BF.Add("52", "Ioba"); - cc_reg_BF.Add("53", "Kadiogo"); - cc_reg_BF.Add("54", "Kenedougou"); - cc_reg_BF.Add("55", "Komoe"); - cc_reg_BF.Add("56", "Komondjari"); - cc_reg_BF.Add("57", "Kompienga"); - cc_reg_BF.Add("58", "Kossi"); - cc_reg_BF.Add("59", "Koulpelogo"); - cc_reg_BF.Add("60", "Kourweogo"); - cc_reg_BF.Add("61", "Leraba"); - cc_reg_BF.Add("62", "Loroum"); - cc_reg_BF.Add("63", "Mouhoun"); - cc_reg_BF.Add("64", "Namentenga"); - cc_reg_BF.Add("65", "Naouri"); - cc_reg_BF.Add("66", "Nayala"); - cc_reg_BF.Add("67", "Noumbiel"); - cc_reg_BF.Add("68", "Oubritenga"); - cc_reg_BF.Add("69", "Poni"); - cc_reg_BF.Add("70", "Sanmatenga"); - cc_reg_BF.Add("71", "Seno"); - cc_reg_BF.Add("72", "Sissili"); - cc_reg_BF.Add("73", "Sourou"); - cc_reg_BF.Add("74", "Tuy"); - cc_reg_BF.Add("75", "Yagha"); - cc_reg_BF.Add("76", "Yatenga"); - cc_reg_BF.Add("77", "Ziro"); - cc_reg_BF.Add("78", "Zondoma"); - GEOIP_REGION_NAME.Add("BF", cc_reg_BF ); - Hashtable cc_reg_BG = new Hashtable(); - cc_reg_BG.Add("33", "Mikhaylovgrad"); - cc_reg_BG.Add("38", "Blagoevgrad"); - cc_reg_BG.Add("39", "Burgas"); - cc_reg_BG.Add("40", "Dobrich"); - cc_reg_BG.Add("41", "Gabrovo"); - cc_reg_BG.Add("42", "Grad Sofiya"); - cc_reg_BG.Add("43", "Khaskovo"); - cc_reg_BG.Add("44", "Kurdzhali"); - cc_reg_BG.Add("45", "Kyustendil"); - cc_reg_BG.Add("46", "Lovech"); - cc_reg_BG.Add("47", "Montana"); - cc_reg_BG.Add("48", "Pazardzhik"); - cc_reg_BG.Add("49", "Pernik"); - cc_reg_BG.Add("50", "Pleven"); - cc_reg_BG.Add("51", "Plovdiv"); - cc_reg_BG.Add("52", "Razgrad"); - cc_reg_BG.Add("53", "Ruse"); - cc_reg_BG.Add("54", "Shumen"); - cc_reg_BG.Add("55", "Silistra"); - cc_reg_BG.Add("56", "Sliven"); - cc_reg_BG.Add("57", "Smolyan"); - cc_reg_BG.Add("58", "Sofiya"); - cc_reg_BG.Add("59", "Stara Zagora"); - cc_reg_BG.Add("60", "Turgovishte"); - cc_reg_BG.Add("61", "Varna"); - cc_reg_BG.Add("62", "Veliko Turnovo"); - cc_reg_BG.Add("63", "Vidin"); - cc_reg_BG.Add("64", "Vratsa"); - cc_reg_BG.Add("65", "Yambol"); - GEOIP_REGION_NAME.Add("BG", cc_reg_BG ); - Hashtable cc_reg_BH = new Hashtable(); - cc_reg_BH.Add("01", "Al Hadd"); - cc_reg_BH.Add("02", "Al Manamah"); - cc_reg_BH.Add("05", "Jidd Hafs"); - cc_reg_BH.Add("06", "Sitrah"); - cc_reg_BH.Add("08", "Al Mintaqah al Gharbiyah"); - cc_reg_BH.Add("09", "Mintaqat Juzur Hawar"); - cc_reg_BH.Add("10", "Al Mintaqah ash Shamaliyah"); - cc_reg_BH.Add("11", "Al Mintaqah al Wusta"); - cc_reg_BH.Add("12", "Madinat"); - cc_reg_BH.Add("13", "Ar Rifa"); - cc_reg_BH.Add("14", "Madinat Hamad"); - cc_reg_BH.Add("15", "Al Muharraq"); - cc_reg_BH.Add("16", "Al Asimah"); - cc_reg_BH.Add("17", "Al Janubiyah"); - cc_reg_BH.Add("18", "Ash Shamaliyah"); - cc_reg_BH.Add("19", "Al Wusta"); - GEOIP_REGION_NAME.Add("BH", cc_reg_BH ); - Hashtable cc_reg_BI = new Hashtable(); - cc_reg_BI.Add("02", "Bujumbura"); - cc_reg_BI.Add("09", "Bubanza"); - cc_reg_BI.Add("10", "Bururi"); - cc_reg_BI.Add("11", "Cankuzo"); - cc_reg_BI.Add("12", "Cibitoke"); - cc_reg_BI.Add("13", "Gitega"); - cc_reg_BI.Add("14", "Karuzi"); - cc_reg_BI.Add("15", "Kayanza"); - cc_reg_BI.Add("16", "Kirundo"); - cc_reg_BI.Add("17", "Makamba"); - cc_reg_BI.Add("18", "Muyinga"); - cc_reg_BI.Add("19", "Ngozi"); - cc_reg_BI.Add("20", "Rutana"); - cc_reg_BI.Add("21", "Ruyigi"); - cc_reg_BI.Add("22", "Muramvya"); - cc_reg_BI.Add("23", "Mwaro"); - GEOIP_REGION_NAME.Add("BI", cc_reg_BI ); - Hashtable cc_reg_BJ = new Hashtable(); - cc_reg_BJ.Add("07", "Alibori"); - cc_reg_BJ.Add("08", "Atakora"); - cc_reg_BJ.Add("09", "Atlanyique"); - cc_reg_BJ.Add("10", "Borgou"); - cc_reg_BJ.Add("11", "Collines"); - cc_reg_BJ.Add("12", "Kouffo"); - cc_reg_BJ.Add("13", "Donga"); - cc_reg_BJ.Add("14", "Littoral"); - cc_reg_BJ.Add("15", "Mono"); - cc_reg_BJ.Add("16", "Oueme"); - cc_reg_BJ.Add("17", "Plateau"); - cc_reg_BJ.Add("18", "Zou"); - GEOIP_REGION_NAME.Add("BJ", cc_reg_BJ ); - Hashtable cc_reg_BM = new Hashtable(); - cc_reg_BM.Add("01", "Devonshire"); - cc_reg_BM.Add("02", "Hamilton"); - cc_reg_BM.Add("03", "Hamilton"); - cc_reg_BM.Add("04", "Paget"); - cc_reg_BM.Add("05", "Pembroke"); - cc_reg_BM.Add("06", "Saint George"); - cc_reg_BM.Add("07", "Saint George's"); - cc_reg_BM.Add("08", "Sandys"); - cc_reg_BM.Add("09", "Smiths"); - cc_reg_BM.Add("10", "Southampton"); - cc_reg_BM.Add("11", "Warwick"); - GEOIP_REGION_NAME.Add("BM", cc_reg_BM ); - Hashtable cc_reg_BN = new Hashtable(); - cc_reg_BN.Add("07", "Alibori"); - cc_reg_BN.Add("08", "Belait"); - cc_reg_BN.Add("09", "Brunei and Muara"); - cc_reg_BN.Add("10", "Temburong"); - cc_reg_BN.Add("11", "Collines"); - cc_reg_BN.Add("12", "Kouffo"); - cc_reg_BN.Add("13", "Donga"); - cc_reg_BN.Add("14", "Littoral"); - cc_reg_BN.Add("15", "Tutong"); - cc_reg_BN.Add("16", "Oueme"); - cc_reg_BN.Add("17", "Plateau"); - cc_reg_BN.Add("18", "Zou"); - GEOIP_REGION_NAME.Add("BN", cc_reg_BN ); - Hashtable cc_reg_BO = new Hashtable(); - cc_reg_BO.Add("01", "Chuquisaca"); - cc_reg_BO.Add("02", "Cochabamba"); - cc_reg_BO.Add("03", "El Beni"); - cc_reg_BO.Add("04", "La Paz"); - cc_reg_BO.Add("05", "Oruro"); - cc_reg_BO.Add("06", "Pando"); - cc_reg_BO.Add("07", "Potosi"); - cc_reg_BO.Add("08", "Santa Cruz"); - cc_reg_BO.Add("09", "Tarija"); - GEOIP_REGION_NAME.Add("BO", cc_reg_BO ); - Hashtable cc_reg_BR = new Hashtable(); - cc_reg_BR.Add("01", "Acre"); - cc_reg_BR.Add("02", "Alagoas"); - cc_reg_BR.Add("03", "Amapa"); - cc_reg_BR.Add("04", "Amazonas"); - cc_reg_BR.Add("05", "Bahia"); - cc_reg_BR.Add("06", "Ceara"); - cc_reg_BR.Add("07", "Distrito Federal"); - cc_reg_BR.Add("08", "Espirito Santo"); - cc_reg_BR.Add("11", "Mato Grosso do Sul"); - cc_reg_BR.Add("13", "Maranhao"); - cc_reg_BR.Add("14", "Mato Grosso"); - cc_reg_BR.Add("15", "Minas Gerais"); - cc_reg_BR.Add("16", "Para"); - cc_reg_BR.Add("17", "Paraiba"); - cc_reg_BR.Add("18", "Parana"); - cc_reg_BR.Add("20", "Piaui"); - cc_reg_BR.Add("21", "Rio de Janeiro"); - cc_reg_BR.Add("22", "Rio Grande do Norte"); - cc_reg_BR.Add("23", "Rio Grande do Sul"); - cc_reg_BR.Add("24", "Rondonia"); - cc_reg_BR.Add("25", "Roraima"); - cc_reg_BR.Add("26", "Santa Catarina"); - cc_reg_BR.Add("27", "Sao Paulo"); - cc_reg_BR.Add("28", "Sergipe"); - cc_reg_BR.Add("29", "Goias"); - cc_reg_BR.Add("30", "Pernambuco"); - cc_reg_BR.Add("31", "Tocantins"); - GEOIP_REGION_NAME.Add("BR", cc_reg_BR ); - Hashtable cc_reg_BS = new Hashtable(); - cc_reg_BS.Add("05", "Bimini"); - cc_reg_BS.Add("06", "Cat Island"); - cc_reg_BS.Add("10", "Exuma"); - cc_reg_BS.Add("13", "Inagua"); - cc_reg_BS.Add("15", "Long Island"); - cc_reg_BS.Add("16", "Mayaguana"); - cc_reg_BS.Add("18", "Ragged Island"); - cc_reg_BS.Add("22", "Harbour Island"); - cc_reg_BS.Add("23", "New Providence"); - cc_reg_BS.Add("24", "Acklins and Crooked Islands"); - cc_reg_BS.Add("25", "Freeport"); - cc_reg_BS.Add("26", "Fresh Creek"); - cc_reg_BS.Add("27", "Governor's Harbour"); - cc_reg_BS.Add("28", "Green Turtle Cay"); - cc_reg_BS.Add("29", "High Rock"); - cc_reg_BS.Add("30", "Kemps Bay"); - cc_reg_BS.Add("31", "Marsh Harbour"); - cc_reg_BS.Add("32", "Nichollstown and Berry Islands"); - cc_reg_BS.Add("33", "Rock Sound"); - cc_reg_BS.Add("34", "Sandy Point"); - cc_reg_BS.Add("35", "San Salvador and Rum Cay"); - GEOIP_REGION_NAME.Add("BS", cc_reg_BS ); - Hashtable cc_reg_BT = new Hashtable(); - cc_reg_BT.Add("05", "Bumthang"); - cc_reg_BT.Add("06", "Chhukha"); - cc_reg_BT.Add("07", "Chirang"); - cc_reg_BT.Add("08", "Daga"); - cc_reg_BT.Add("09", "Geylegphug"); - cc_reg_BT.Add("10", "Ha"); - cc_reg_BT.Add("11", "Lhuntshi"); - cc_reg_BT.Add("12", "Mongar"); - cc_reg_BT.Add("13", "Paro"); - cc_reg_BT.Add("14", "Pemagatsel"); - cc_reg_BT.Add("15", "Punakha"); - cc_reg_BT.Add("16", "Samchi"); - cc_reg_BT.Add("17", "Samdrup"); - cc_reg_BT.Add("18", "Shemgang"); - cc_reg_BT.Add("19", "Tashigang"); - cc_reg_BT.Add("20", "Thimphu"); - cc_reg_BT.Add("21", "Tongsa"); - cc_reg_BT.Add("22", "Wangdi Phodrang"); - GEOIP_REGION_NAME.Add("BT", cc_reg_BT ); - Hashtable cc_reg_BW = new Hashtable(); - cc_reg_BW.Add("01", "Central"); - cc_reg_BW.Add("03", "Ghanzi"); - cc_reg_BW.Add("04", "Kgalagadi"); - cc_reg_BW.Add("05", "Kgatleng"); - cc_reg_BW.Add("06", "Kweneng"); - cc_reg_BW.Add("08", "North-East"); - cc_reg_BW.Add("09", "South-East"); - cc_reg_BW.Add("10", "Southern"); - cc_reg_BW.Add("11", "North-West"); - GEOIP_REGION_NAME.Add("BW", cc_reg_BW ); - Hashtable cc_reg_BY = new Hashtable(); - cc_reg_BY.Add("01", "Brestskaya Voblasts'"); - cc_reg_BY.Add("02", "Homyel'skaya Voblasts'"); - cc_reg_BY.Add("03", "Hrodzyenskaya Voblasts'"); - cc_reg_BY.Add("04", "Minsk"); - cc_reg_BY.Add("05", "Minskaya Voblasts'"); - cc_reg_BY.Add("06", "Mahilyowskaya Voblasts'"); - cc_reg_BY.Add("07", "Vitsyebskaya Voblasts'"); - GEOIP_REGION_NAME.Add("BY", cc_reg_BY ); - Hashtable cc_reg_BZ = new Hashtable(); - cc_reg_BZ.Add("01", "Belize"); - cc_reg_BZ.Add("02", "Cayo"); - cc_reg_BZ.Add("03", "Corozal"); - cc_reg_BZ.Add("04", "Orange Walk"); - cc_reg_BZ.Add("05", "Stann Creek"); - cc_reg_BZ.Add("06", "Toledo"); - GEOIP_REGION_NAME.Add("BZ", cc_reg_BZ ); - Hashtable cc_reg_CA = new Hashtable(); - cc_reg_CA.Add("AB", "Alberta"); - cc_reg_CA.Add("BC", "British Columbia"); - cc_reg_CA.Add("MB", "Manitoba"); - cc_reg_CA.Add("NB", "New Brunswick"); - cc_reg_CA.Add("NL", "Newfoundland"); - cc_reg_CA.Add("NS", "Nova Scotia"); - cc_reg_CA.Add("NT", "Northwest Territories"); - cc_reg_CA.Add("NU", "Nunavut"); - cc_reg_CA.Add("ON", "Ontario"); - cc_reg_CA.Add("PE", "Prince Edward Island"); - cc_reg_CA.Add("QC", "Quebec"); - cc_reg_CA.Add("SK", "Saskatchewan"); - cc_reg_CA.Add("YT", "Yukon Territory"); - GEOIP_REGION_NAME.Add("CA", cc_reg_CA ); - Hashtable cc_reg_CD = new Hashtable(); - cc_reg_CD.Add("01", "Bandundu"); - cc_reg_CD.Add("02", "Equateur"); - cc_reg_CD.Add("04", "Kasai-Oriental"); - cc_reg_CD.Add("05", "Katanga"); - cc_reg_CD.Add("06", "Kinshasa"); - cc_reg_CD.Add("08", "Bas-Congo"); - cc_reg_CD.Add("09", "Orientale"); - cc_reg_CD.Add("10", "Maniema"); - cc_reg_CD.Add("11", "Nord-Kivu"); - cc_reg_CD.Add("12", "Sud-Kivu"); - GEOIP_REGION_NAME.Add("CD", cc_reg_CD ); - Hashtable cc_reg_CF = new Hashtable(); - cc_reg_CF.Add("01", "Bamingui-Bangoran"); - cc_reg_CF.Add("02", "Basse-Kotto"); - cc_reg_CF.Add("03", "Haute-Kotto"); - cc_reg_CF.Add("04", "Mambere-Kadei"); - cc_reg_CF.Add("05", "Haut-Mbomou"); - cc_reg_CF.Add("06", "Kemo"); - cc_reg_CF.Add("07", "Lobaye"); - cc_reg_CF.Add("08", "Mbomou"); - cc_reg_CF.Add("09", "Nana-Mambere"); - cc_reg_CF.Add("11", "Ouaka"); - cc_reg_CF.Add("12", "Ouham"); - cc_reg_CF.Add("13", "Ouham-Pende"); - cc_reg_CF.Add("14", "Cuvette-Ouest"); - cc_reg_CF.Add("15", "Nana-Grebizi"); - cc_reg_CF.Add("16", "Sangha-Mbaere"); - cc_reg_CF.Add("17", "Ombella-Mpoko"); - cc_reg_CF.Add("18", "Bangui"); - GEOIP_REGION_NAME.Add("CF", cc_reg_CF ); - Hashtable cc_reg_CG = new Hashtable(); - cc_reg_CG.Add("01", "Bouenza"); - cc_reg_CG.Add("04", "Kouilou"); - cc_reg_CG.Add("05", "Lekoumou"); - cc_reg_CG.Add("06", "Likouala"); - cc_reg_CG.Add("07", "Niari"); - cc_reg_CG.Add("08", "Plateaux"); - cc_reg_CG.Add("10", "Sangha"); - cc_reg_CG.Add("11", "Pool"); - cc_reg_CG.Add("12", "Brazzaville"); - cc_reg_CG.Add("13", "Cuvette"); - cc_reg_CG.Add("14", "Cuvette-Ouest"); - GEOIP_REGION_NAME.Add("CG", cc_reg_CG ); - Hashtable cc_reg_CH = new Hashtable(); - cc_reg_CH.Add("01", "Aargau"); - cc_reg_CH.Add("02", "Ausser-Rhoden"); - cc_reg_CH.Add("03", "Basel-Landschaft"); - cc_reg_CH.Add("04", "Basel-Stadt"); - cc_reg_CH.Add("05", "Bern"); - cc_reg_CH.Add("06", "Fribourg"); - cc_reg_CH.Add("07", "Geneve"); - cc_reg_CH.Add("08", "Glarus"); - cc_reg_CH.Add("09", "Graubunden"); - cc_reg_CH.Add("10", "Inner-Rhoden"); - cc_reg_CH.Add("11", "Luzern"); - cc_reg_CH.Add("12", "Neuchatel"); - cc_reg_CH.Add("13", "Nidwalden"); - cc_reg_CH.Add("14", "Obwalden"); - cc_reg_CH.Add("15", "Sankt Gallen"); - cc_reg_CH.Add("16", "Schaffhausen"); - cc_reg_CH.Add("17", "Schwyz"); - cc_reg_CH.Add("18", "Solothurn"); - cc_reg_CH.Add("19", "Thurgau"); - cc_reg_CH.Add("20", "Ticino"); - cc_reg_CH.Add("21", "Uri"); - cc_reg_CH.Add("22", "Valais"); - cc_reg_CH.Add("23", "Vaud"); - cc_reg_CH.Add("24", "Zug"); - cc_reg_CH.Add("25", "Zurich"); - cc_reg_CH.Add("26", "Jura"); - GEOIP_REGION_NAME.Add("CH", cc_reg_CH ); - Hashtable cc_reg_CI = new Hashtable(); - cc_reg_CI.Add("74", "Agneby"); - cc_reg_CI.Add("75", "Bafing"); - cc_reg_CI.Add("76", "Bas-Sassandra"); - cc_reg_CI.Add("77", "Denguele"); - cc_reg_CI.Add("78", "Dix-Huit Montagnes"); - cc_reg_CI.Add("79", "Fromager"); - cc_reg_CI.Add("80", "Haut-Sassandra"); - cc_reg_CI.Add("81", "Lacs"); - cc_reg_CI.Add("82", "Lagunes"); - cc_reg_CI.Add("83", "Marahoue"); - cc_reg_CI.Add("84", "Moyen-Cavally"); - cc_reg_CI.Add("85", "Moyen-Comoe"); - cc_reg_CI.Add("86", "N'zi-Comoe"); - cc_reg_CI.Add("87", "Savanes"); - cc_reg_CI.Add("88", "Sud-Bandama"); - cc_reg_CI.Add("89", "Sud-Comoe"); - cc_reg_CI.Add("90", "Vallee du Bandama"); - cc_reg_CI.Add("91", "Worodougou"); - cc_reg_CI.Add("92", "Zanzan"); - GEOIP_REGION_NAME.Add("CI", cc_reg_CI ); - Hashtable cc_reg_CL = new Hashtable(); - cc_reg_CL.Add("01", "Valparaiso"); - cc_reg_CL.Add("02", "Aisen del General Carlos Ibanez del Campo"); - cc_reg_CL.Add("03", "Antofagasta"); - cc_reg_CL.Add("04", "Araucania"); - cc_reg_CL.Add("05", "Atacama"); - cc_reg_CL.Add("06", "Bio-Bio"); - cc_reg_CL.Add("07", "Coquimbo"); - cc_reg_CL.Add("08", "Libertador General Bernardo O'Higgins"); - cc_reg_CL.Add("09", "Los Lagos"); - cc_reg_CL.Add("10", "Magallanes y de la Antartica Chilena"); - cc_reg_CL.Add("11", "Maule"); - cc_reg_CL.Add("12", "Region Metropolitana"); - cc_reg_CL.Add("13", "Tarapaca"); - cc_reg_CL.Add("14", "Los Lagos"); - cc_reg_CL.Add("15", "Tarapaca"); - cc_reg_CL.Add("16", "Arica y Parinacota"); - cc_reg_CL.Add("17", "Los Rios"); - GEOIP_REGION_NAME.Add("CL", cc_reg_CL ); - Hashtable cc_reg_CM = new Hashtable(); - cc_reg_CM.Add("04", "Est"); - cc_reg_CM.Add("05", "Littoral"); - cc_reg_CM.Add("07", "Nord-Ouest"); - cc_reg_CM.Add("08", "Ouest"); - cc_reg_CM.Add("09", "Sud-Ouest"); - cc_reg_CM.Add("10", "Adamaoua"); - cc_reg_CM.Add("11", "Centre"); - cc_reg_CM.Add("12", "Extreme-Nord"); - cc_reg_CM.Add("13", "Nord"); - cc_reg_CM.Add("14", "Sud"); - GEOIP_REGION_NAME.Add("CM", cc_reg_CM ); - Hashtable cc_reg_CN = new Hashtable(); - cc_reg_CN.Add("01", "Anhui"); - cc_reg_CN.Add("02", "Zhejiang"); - cc_reg_CN.Add("03", "Jiangxi"); - cc_reg_CN.Add("04", "Jiangsu"); - cc_reg_CN.Add("05", "Jilin"); - cc_reg_CN.Add("06", "Qinghai"); - cc_reg_CN.Add("07", "Fujian"); - cc_reg_CN.Add("08", "Heilongjiang"); - cc_reg_CN.Add("09", "Henan"); - cc_reg_CN.Add("10", "Hebei"); - cc_reg_CN.Add("11", "Hunan"); - cc_reg_CN.Add("12", "Hubei"); - cc_reg_CN.Add("13", "Xinjiang"); - cc_reg_CN.Add("14", "Xizang"); - cc_reg_CN.Add("15", "Gansu"); - cc_reg_CN.Add("16", "Guangxi"); - cc_reg_CN.Add("18", "Guizhou"); - cc_reg_CN.Add("19", "Liaoning"); - cc_reg_CN.Add("20", "Nei Mongol"); - cc_reg_CN.Add("21", "Ningxia"); - cc_reg_CN.Add("22", "Beijing"); - cc_reg_CN.Add("23", "Shanghai"); - cc_reg_CN.Add("24", "Shanxi"); - cc_reg_CN.Add("25", "Shandong"); - cc_reg_CN.Add("26", "Shaanxi"); - cc_reg_CN.Add("28", "Tianjin"); - cc_reg_CN.Add("29", "Yunnan"); - cc_reg_CN.Add("30", "Guangdong"); - cc_reg_CN.Add("31", "Hainan"); - cc_reg_CN.Add("32", "Sichuan"); - cc_reg_CN.Add("33", "Chongqing"); - GEOIP_REGION_NAME.Add("CN", cc_reg_CN ); - Hashtable cc_reg_CO = new Hashtable(); - cc_reg_CO.Add("01", "Amazonas"); - cc_reg_CO.Add("02", "Antioquia"); - cc_reg_CO.Add("03", "Arauca"); - cc_reg_CO.Add("04", "Atlantico"); - cc_reg_CO.Add("08", "Caqueta"); - cc_reg_CO.Add("09", "Cauca"); - cc_reg_CO.Add("10", "Cesar"); - cc_reg_CO.Add("11", "Choco"); - cc_reg_CO.Add("12", "Cordoba"); - cc_reg_CO.Add("14", "Guaviare"); - cc_reg_CO.Add("15", "Guainia"); - cc_reg_CO.Add("16", "Huila"); - cc_reg_CO.Add("17", "La Guajira"); - cc_reg_CO.Add("19", "Meta"); - cc_reg_CO.Add("20", "Narino"); - cc_reg_CO.Add("21", "Norte de Santander"); - cc_reg_CO.Add("22", "Putumayo"); - cc_reg_CO.Add("23", "Quindio"); - cc_reg_CO.Add("24", "Risaralda"); - cc_reg_CO.Add("25", "San Andres y Providencia"); - cc_reg_CO.Add("26", "Santander"); - cc_reg_CO.Add("27", "Sucre"); - cc_reg_CO.Add("28", "Tolima"); - cc_reg_CO.Add("29", "Valle del Cauca"); - cc_reg_CO.Add("30", "Vaupes"); - cc_reg_CO.Add("31", "Vichada"); - cc_reg_CO.Add("32", "Casanare"); - cc_reg_CO.Add("33", "Cundinamarca"); - cc_reg_CO.Add("34", "Distrito Especial"); - cc_reg_CO.Add("35", "Bolivar"); - cc_reg_CO.Add("36", "Boyaca"); - cc_reg_CO.Add("37", "Caldas"); - cc_reg_CO.Add("38", "Magdalena"); - GEOIP_REGION_NAME.Add("CO", cc_reg_CO ); - Hashtable cc_reg_CR = new Hashtable(); - cc_reg_CR.Add("01", "Alajuela"); - cc_reg_CR.Add("02", "Cartago"); - cc_reg_CR.Add("03", "Guanacaste"); - cc_reg_CR.Add("04", "Heredia"); - cc_reg_CR.Add("06", "Limon"); - cc_reg_CR.Add("07", "Puntarenas"); - cc_reg_CR.Add("08", "San Jose"); - GEOIP_REGION_NAME.Add("CR", cc_reg_CR ); - Hashtable cc_reg_CU = new Hashtable(); - cc_reg_CU.Add("01", "Pinar del Rio"); - cc_reg_CU.Add("02", "Ciudad de la Habana"); - cc_reg_CU.Add("03", "Matanzas"); - cc_reg_CU.Add("04", "Isla de la Juventud"); - cc_reg_CU.Add("05", "Camaguey"); - cc_reg_CU.Add("07", "Ciego de Avila"); - cc_reg_CU.Add("08", "Cienfuegos"); - cc_reg_CU.Add("09", "Granma"); - cc_reg_CU.Add("10", "Guantanamo"); - cc_reg_CU.Add("11", "La Habana"); - cc_reg_CU.Add("12", "Holguin"); - cc_reg_CU.Add("13", "Las Tunas"); - cc_reg_CU.Add("14", "Sancti Spiritus"); - cc_reg_CU.Add("15", "Santiago de Cuba"); - cc_reg_CU.Add("16", "Villa Clara"); - GEOIP_REGION_NAME.Add("CU", cc_reg_CU ); - Hashtable cc_reg_CV = new Hashtable(); - cc_reg_CV.Add("01", "Boa Vista"); - cc_reg_CV.Add("02", "Brava"); - cc_reg_CV.Add("04", "Maio"); - cc_reg_CV.Add("05", "Paul"); - cc_reg_CV.Add("07", "Ribeira Grande"); - cc_reg_CV.Add("08", "Sal"); - cc_reg_CV.Add("10", "Sao Nicolau"); - cc_reg_CV.Add("11", "Sao Vicente"); - cc_reg_CV.Add("13", "Mosteiros"); - cc_reg_CV.Add("14", "Praia"); - cc_reg_CV.Add("15", "Santa Catarina"); - cc_reg_CV.Add("16", "Santa Cruz"); - cc_reg_CV.Add("17", "Sao Domingos"); - cc_reg_CV.Add("18", "Sao Filipe"); - cc_reg_CV.Add("19", "Sao Miguel"); - cc_reg_CV.Add("20", "Tarrafal"); - GEOIP_REGION_NAME.Add("CV", cc_reg_CV ); - Hashtable cc_reg_CY = new Hashtable(); - cc_reg_CY.Add("01", "Famagusta"); - cc_reg_CY.Add("02", "Kyrenia"); - cc_reg_CY.Add("03", "Larnaca"); - cc_reg_CY.Add("04", "Nicosia"); - cc_reg_CY.Add("05", "Limassol"); - cc_reg_CY.Add("06", "Paphos"); - GEOIP_REGION_NAME.Add("CY", cc_reg_CY ); - Hashtable cc_reg_CZ = new Hashtable(); - cc_reg_CZ.Add("52", "Hlavni mesto Praha"); - cc_reg_CZ.Add("78", "Jihomoravsky kraj"); - cc_reg_CZ.Add("79", "Jihocesky kraj"); - cc_reg_CZ.Add("80", "Vysocina"); - cc_reg_CZ.Add("81", "Karlovarsky kraj"); - cc_reg_CZ.Add("82", "Kralovehradecky kraj"); - cc_reg_CZ.Add("83", "Liberecky kraj"); - cc_reg_CZ.Add("84", "Olomoucky kraj"); - cc_reg_CZ.Add("85", "Moravskoslezsky kraj"); - cc_reg_CZ.Add("86", "Pardubicky kraj"); - cc_reg_CZ.Add("87", "Plzensky kraj"); - cc_reg_CZ.Add("88", "Stredocesky kraj"); - cc_reg_CZ.Add("89", "Ustecky kraj"); - cc_reg_CZ.Add("90", "Zlinsky kraj"); - GEOIP_REGION_NAME.Add("CZ", cc_reg_CZ ); - Hashtable cc_reg_DE = new Hashtable(); - cc_reg_DE.Add("01", "Baden-Wurttemberg"); - cc_reg_DE.Add("02", "Bayern"); - cc_reg_DE.Add("03", "Bremen"); - cc_reg_DE.Add("04", "Hamburg"); - cc_reg_DE.Add("05", "Hessen"); - cc_reg_DE.Add("06", "Niedersachsen"); - cc_reg_DE.Add("07", "Nordrhein-Westfalen"); - cc_reg_DE.Add("08", "Rheinland-Pfalz"); - cc_reg_DE.Add("09", "Saarland"); - cc_reg_DE.Add("10", "Schleswig-Holstein"); - cc_reg_DE.Add("11", "Brandenburg"); - cc_reg_DE.Add("12", "Mecklenburg-Vorpommern"); - cc_reg_DE.Add("13", "Sachsen"); - cc_reg_DE.Add("14", "Sachsen-Anhalt"); - cc_reg_DE.Add("15", "Thuringen"); - cc_reg_DE.Add("16", "Berlin"); - GEOIP_REGION_NAME.Add("DE", cc_reg_DE ); - Hashtable cc_reg_DJ = new Hashtable(); - cc_reg_DJ.Add("01", "Ali Sabieh"); - cc_reg_DJ.Add("04", "Obock"); - cc_reg_DJ.Add("05", "Tadjoura"); - cc_reg_DJ.Add("06", "Dikhil"); - cc_reg_DJ.Add("07", "Djibouti"); - cc_reg_DJ.Add("08", "Arta"); - GEOIP_REGION_NAME.Add("DJ", cc_reg_DJ ); - Hashtable cc_reg_DK = new Hashtable(); - cc_reg_DK.Add("17", "Hovedstaden"); - cc_reg_DK.Add("18", "Midtjylland"); - cc_reg_DK.Add("19", "Nordjylland"); - cc_reg_DK.Add("20", "Sjelland"); - cc_reg_DK.Add("21", "Syddanmark"); - GEOIP_REGION_NAME.Add("DK", cc_reg_DK ); - Hashtable cc_reg_DM = new Hashtable(); - cc_reg_DM.Add("02", "Saint Andrew"); - cc_reg_DM.Add("03", "Saint David"); - cc_reg_DM.Add("04", "Saint George"); - cc_reg_DM.Add("05", "Saint John"); - cc_reg_DM.Add("06", "Saint Joseph"); - cc_reg_DM.Add("07", "Saint Luke"); - cc_reg_DM.Add("08", "Saint Mark"); - cc_reg_DM.Add("09", "Saint Patrick"); - cc_reg_DM.Add("10", "Saint Paul"); - cc_reg_DM.Add("11", "Saint Peter"); - GEOIP_REGION_NAME.Add("DM", cc_reg_DM ); - Hashtable cc_reg_DO = new Hashtable(); - cc_reg_DO.Add("01", "Azua"); - cc_reg_DO.Add("02", "Baoruco"); - cc_reg_DO.Add("03", "Barahona"); - cc_reg_DO.Add("04", "Dajabon"); - cc_reg_DO.Add("05", "Distrito Nacional"); - cc_reg_DO.Add("06", "Duarte"); - cc_reg_DO.Add("08", "Espaillat"); - cc_reg_DO.Add("09", "Independencia"); - cc_reg_DO.Add("10", "La Altagracia"); - cc_reg_DO.Add("11", "Elias Pina"); - cc_reg_DO.Add("12", "La Romana"); - cc_reg_DO.Add("14", "Maria Trinidad Sanchez"); - cc_reg_DO.Add("15", "Monte Cristi"); - cc_reg_DO.Add("16", "Pedernales"); - cc_reg_DO.Add("17", "Peravia"); - cc_reg_DO.Add("18", "Puerto Plata"); - cc_reg_DO.Add("19", "Salcedo"); - cc_reg_DO.Add("20", "Samana"); - cc_reg_DO.Add("21", "Sanchez Ramirez"); - cc_reg_DO.Add("23", "San Juan"); - cc_reg_DO.Add("24", "San Pedro De Macoris"); - cc_reg_DO.Add("25", "Santiago"); - cc_reg_DO.Add("26", "Santiago Rodriguez"); - cc_reg_DO.Add("27", "Valverde"); - cc_reg_DO.Add("28", "El Seibo"); - cc_reg_DO.Add("29", "Hato Mayor"); - cc_reg_DO.Add("30", "La Vega"); - cc_reg_DO.Add("31", "Monsenor Nouel"); - cc_reg_DO.Add("32", "Monte Plata"); - cc_reg_DO.Add("33", "San Cristobal"); - cc_reg_DO.Add("34", "Distrito Nacional"); - cc_reg_DO.Add("35", "Peravia"); - cc_reg_DO.Add("36", "San Jose de Ocoa"); - cc_reg_DO.Add("37", "Santo Domingo"); - GEOIP_REGION_NAME.Add("DO", cc_reg_DO ); - Hashtable cc_reg_DZ = new Hashtable(); - cc_reg_DZ.Add("01", "Alger"); - cc_reg_DZ.Add("03", "Batna"); - cc_reg_DZ.Add("04", "Constantine"); - cc_reg_DZ.Add("06", "Medea"); - cc_reg_DZ.Add("07", "Mostaganem"); - cc_reg_DZ.Add("09", "Oran"); - cc_reg_DZ.Add("10", "Saida"); - cc_reg_DZ.Add("12", "Setif"); - cc_reg_DZ.Add("13", "Tiaret"); - cc_reg_DZ.Add("14", "Tizi Ouzou"); - cc_reg_DZ.Add("15", "Tlemcen"); - cc_reg_DZ.Add("18", "Bejaia"); - cc_reg_DZ.Add("19", "Biskra"); - cc_reg_DZ.Add("20", "Blida"); - cc_reg_DZ.Add("21", "Bouira"); - cc_reg_DZ.Add("22", "Djelfa"); - cc_reg_DZ.Add("23", "Guelma"); - cc_reg_DZ.Add("24", "Jijel"); - cc_reg_DZ.Add("25", "Laghouat"); - cc_reg_DZ.Add("26", "Mascara"); - cc_reg_DZ.Add("27", "M'sila"); - cc_reg_DZ.Add("29", "Oum el Bouaghi"); - cc_reg_DZ.Add("30", "Sidi Bel Abbes"); - cc_reg_DZ.Add("31", "Skikda"); - cc_reg_DZ.Add("33", "Tebessa"); - cc_reg_DZ.Add("34", "Adrar"); - cc_reg_DZ.Add("35", "Ain Defla"); - cc_reg_DZ.Add("36", "Ain Temouchent"); - cc_reg_DZ.Add("37", "Annaba"); - cc_reg_DZ.Add("38", "Bechar"); - cc_reg_DZ.Add("39", "Bordj Bou Arreridj"); - cc_reg_DZ.Add("40", "Boumerdes"); - cc_reg_DZ.Add("41", "Chlef"); - cc_reg_DZ.Add("42", "El Bayadh"); - cc_reg_DZ.Add("43", "El Oued"); - cc_reg_DZ.Add("44", "El Tarf"); - cc_reg_DZ.Add("45", "Ghardaia"); - cc_reg_DZ.Add("46", "Illizi"); - cc_reg_DZ.Add("47", "Khenchela"); - cc_reg_DZ.Add("48", "Mila"); - cc_reg_DZ.Add("49", "Naama"); - cc_reg_DZ.Add("50", "Ouargla"); - cc_reg_DZ.Add("51", "Relizane"); - cc_reg_DZ.Add("52", "Souk Ahras"); - cc_reg_DZ.Add("53", "Tamanghasset"); - cc_reg_DZ.Add("54", "Tindouf"); - cc_reg_DZ.Add("55", "Tipaza"); - cc_reg_DZ.Add("56", "Tissemsilt"); - GEOIP_REGION_NAME.Add("DZ", cc_reg_DZ ); - Hashtable cc_reg_EC = new Hashtable(); - cc_reg_EC.Add("01", "Galapagos"); - cc_reg_EC.Add("02", "Azuay"); - cc_reg_EC.Add("03", "Bolivar"); - cc_reg_EC.Add("04", "Canar"); - cc_reg_EC.Add("05", "Carchi"); - cc_reg_EC.Add("06", "Chimborazo"); - cc_reg_EC.Add("07", "Cotopaxi"); - cc_reg_EC.Add("08", "El Oro"); - cc_reg_EC.Add("09", "Esmeraldas"); - cc_reg_EC.Add("10", "Guayas"); - cc_reg_EC.Add("11", "Imbabura"); - cc_reg_EC.Add("12", "Loja"); - cc_reg_EC.Add("13", "Los Rios"); - cc_reg_EC.Add("14", "Manabi"); - cc_reg_EC.Add("15", "Morona-Santiago"); - cc_reg_EC.Add("17", "Pastaza"); - cc_reg_EC.Add("18", "Pichincha"); - cc_reg_EC.Add("19", "Tungurahua"); - cc_reg_EC.Add("20", "Zamora-Chinchipe"); - cc_reg_EC.Add("22", "Sucumbios"); - cc_reg_EC.Add("23", "Napo"); - cc_reg_EC.Add("24", "Orellana"); - GEOIP_REGION_NAME.Add("EC", cc_reg_EC ); - Hashtable cc_reg_EE = new Hashtable(); - cc_reg_EE.Add("01", "Harjumaa"); - cc_reg_EE.Add("02", "Hiiumaa"); - cc_reg_EE.Add("03", "Ida-Virumaa"); - cc_reg_EE.Add("04", "Jarvamaa"); - cc_reg_EE.Add("05", "Jogevamaa"); - cc_reg_EE.Add("06", "Kohtla-Jarve"); - cc_reg_EE.Add("07", "Laanemaa"); - cc_reg_EE.Add("08", "Laane-Virumaa"); - cc_reg_EE.Add("09", "Narva"); - cc_reg_EE.Add("10", "Parnu"); - cc_reg_EE.Add("11", "Parnumaa"); - cc_reg_EE.Add("12", "Polvamaa"); - cc_reg_EE.Add("13", "Raplamaa"); - cc_reg_EE.Add("14", "Saaremaa"); - cc_reg_EE.Add("15", "Sillamae"); - cc_reg_EE.Add("16", "Tallinn"); - cc_reg_EE.Add("17", "Tartu"); - cc_reg_EE.Add("18", "Tartumaa"); - cc_reg_EE.Add("19", "Valgamaa"); - cc_reg_EE.Add("20", "Viljandimaa"); - cc_reg_EE.Add("21", "Vorumaa"); - GEOIP_REGION_NAME.Add("EE", cc_reg_EE ); - Hashtable cc_reg_EG = new Hashtable(); - cc_reg_EG.Add("01", "Ad Daqahliyah"); - cc_reg_EG.Add("02", "Al Bahr al Ahmar"); - cc_reg_EG.Add("03", "Al Buhayrah"); - cc_reg_EG.Add("04", "Al Fayyum"); - cc_reg_EG.Add("05", "Al Gharbiyah"); - cc_reg_EG.Add("06", "Al Iskandariyah"); - cc_reg_EG.Add("07", "Al Isma'iliyah"); - cc_reg_EG.Add("08", "Al Jizah"); - cc_reg_EG.Add("09", "Al Minufiyah"); - cc_reg_EG.Add("10", "Al Minya"); - cc_reg_EG.Add("11", "Al Qahirah"); - cc_reg_EG.Add("12", "Al Qalyubiyah"); - cc_reg_EG.Add("13", "Al Wadi al Jadid"); - cc_reg_EG.Add("14", "Ash Sharqiyah"); - cc_reg_EG.Add("15", "As Suways"); - cc_reg_EG.Add("16", "Aswan"); - cc_reg_EG.Add("17", "Asyut"); - cc_reg_EG.Add("18", "Bani Suwayf"); - cc_reg_EG.Add("19", "Bur Sa'id"); - cc_reg_EG.Add("20", "Dumyat"); - cc_reg_EG.Add("21", "Kafr ash Shaykh"); - cc_reg_EG.Add("22", "Matruh"); - cc_reg_EG.Add("23", "Qina"); - cc_reg_EG.Add("24", "Suhaj"); - cc_reg_EG.Add("26", "Janub Sina'"); - cc_reg_EG.Add("27", "Shamal Sina'"); - GEOIP_REGION_NAME.Add("EG", cc_reg_EG ); - Hashtable cc_reg_ER = new Hashtable(); - cc_reg_ER.Add("01", "Anseba"); - cc_reg_ER.Add("02", "Debub"); - cc_reg_ER.Add("03", "Debubawi K'eyih Bahri"); - cc_reg_ER.Add("04", "Gash Barka"); - cc_reg_ER.Add("05", "Ma'akel"); - cc_reg_ER.Add("06", "Semenawi K'eyih Bahri"); - GEOIP_REGION_NAME.Add("ER", cc_reg_ER ); - Hashtable cc_reg_ES = new Hashtable(); - cc_reg_ES.Add("07", "Islas Baleares"); - cc_reg_ES.Add("27", "La Rioja"); - cc_reg_ES.Add("29", "Madrid"); - cc_reg_ES.Add("31", "Murcia"); - cc_reg_ES.Add("32", "Navarra"); - cc_reg_ES.Add("34", "Asturias"); - cc_reg_ES.Add("39", "Cantabria"); - cc_reg_ES.Add("51", "Andalucia"); - cc_reg_ES.Add("52", "Aragon"); - cc_reg_ES.Add("53", "Canarias"); - cc_reg_ES.Add("54", "Castilla-La Mancha"); - cc_reg_ES.Add("55", "Castilla y Leon"); - cc_reg_ES.Add("56", "Catalonia"); - cc_reg_ES.Add("57", "Extremadura"); - cc_reg_ES.Add("58", "Galicia"); - cc_reg_ES.Add("59", "Pais Vasco"); - cc_reg_ES.Add("60", "Comunidad Valenciana"); - GEOIP_REGION_NAME.Add("ES", cc_reg_ES ); - Hashtable cc_reg_ET = new Hashtable(); - cc_reg_ET.Add("44", "Adis Abeba"); - cc_reg_ET.Add("45", "Afar"); - cc_reg_ET.Add("46", "Amara"); - cc_reg_ET.Add("47", "Binshangul Gumuz"); - cc_reg_ET.Add("48", "Dire Dawa"); - cc_reg_ET.Add("49", "Gambela Hizboch"); - cc_reg_ET.Add("50", "Hareri Hizb"); - cc_reg_ET.Add("51", "Oromiya"); - cc_reg_ET.Add("52", "Sumale"); - cc_reg_ET.Add("53", "Tigray"); - cc_reg_ET.Add("54", "YeDebub Biheroch Bihereseboch na Hizboch"); - GEOIP_REGION_NAME.Add("ET", cc_reg_ET ); - Hashtable cc_reg_FI = new Hashtable(); - cc_reg_FI.Add("01", "Aland"); - cc_reg_FI.Add("06", "Lapland"); - cc_reg_FI.Add("08", "Oulu"); - cc_reg_FI.Add("13", "Southern Finland"); - cc_reg_FI.Add("14", "Eastern Finland"); - cc_reg_FI.Add("15", "Western Finland"); - GEOIP_REGION_NAME.Add("FI", cc_reg_FI ); - Hashtable cc_reg_FJ = new Hashtable(); - cc_reg_FJ.Add("01", "Central"); - cc_reg_FJ.Add("02", "Eastern"); - cc_reg_FJ.Add("03", "Northern"); - cc_reg_FJ.Add("04", "Rotuma"); - cc_reg_FJ.Add("05", "Western"); - GEOIP_REGION_NAME.Add("FJ", cc_reg_FJ ); - Hashtable cc_reg_FM = new Hashtable(); - cc_reg_FM.Add("01", "Kosrae"); - cc_reg_FM.Add("02", "Pohnpei"); - cc_reg_FM.Add("03", "Chuuk"); - cc_reg_FM.Add("04", "Yap"); - GEOIP_REGION_NAME.Add("FM", cc_reg_FM ); - Hashtable cc_reg_FR = new Hashtable(); - cc_reg_FR.Add("97", "Aquitaine"); - cc_reg_FR.Add("98", "Auvergne"); - cc_reg_FR.Add("99", "Basse-Normandie"); - cc_reg_FR.Add("A1", "Bourgogne"); - cc_reg_FR.Add("A2", "Bretagne"); - cc_reg_FR.Add("A3", "Centre"); - cc_reg_FR.Add("A4", "Champagne-Ardenne"); - cc_reg_FR.Add("A5", "Corse"); - cc_reg_FR.Add("A6", "Franche-Comte"); - cc_reg_FR.Add("A7", "Haute-Normandie"); - cc_reg_FR.Add("A8", "Ile-de-France"); - cc_reg_FR.Add("A9", "Languedoc-Roussillon"); - cc_reg_FR.Add("B1", "Limousin"); - cc_reg_FR.Add("B2", "Lorraine"); - cc_reg_FR.Add("B3", "Midi-Pyrenees"); - cc_reg_FR.Add("B4", "Nord-Pas-de-Calais"); - cc_reg_FR.Add("B5", "Pays de la Loire"); - cc_reg_FR.Add("B6", "Picardie"); - cc_reg_FR.Add("B7", "Poitou-Charentes"); - cc_reg_FR.Add("B8", "Provence-Alpes-Cote d'Azur"); - cc_reg_FR.Add("B9", "Rhone-Alpes"); - cc_reg_FR.Add("C1", "Alsace"); - GEOIP_REGION_NAME.Add("FR", cc_reg_FR ); - Hashtable cc_reg_GA = new Hashtable(); - cc_reg_GA.Add("01", "Estuaire"); - cc_reg_GA.Add("02", "Haut-Ogooue"); - cc_reg_GA.Add("03", "Moyen-Ogooue"); - cc_reg_GA.Add("04", "Ngounie"); - cc_reg_GA.Add("05", "Nyanga"); - cc_reg_GA.Add("06", "Ogooue-Ivindo"); - cc_reg_GA.Add("07", "Ogooue-Lolo"); - cc_reg_GA.Add("08", "Ogooue-Maritime"); - cc_reg_GA.Add("09", "Woleu-Ntem"); - GEOIP_REGION_NAME.Add("GA", cc_reg_GA ); - Hashtable cc_reg_GB = new Hashtable(); - cc_reg_GB.Add("A1", "Barking and Dagenham"); - cc_reg_GB.Add("A2", "Barnet"); - cc_reg_GB.Add("A3", "Barnsley"); - cc_reg_GB.Add("A4", "Bath and North East Somerset"); - cc_reg_GB.Add("A5", "Bedfordshire"); - cc_reg_GB.Add("A6", "Bexley"); - cc_reg_GB.Add("A7", "Birmingham"); - cc_reg_GB.Add("A8", "Blackburn with Darwen"); - cc_reg_GB.Add("A9", "Blackpool"); - cc_reg_GB.Add("B1", "Bolton"); - cc_reg_GB.Add("B2", "Bournemouth"); - cc_reg_GB.Add("B3", "Bracknell Forest"); - cc_reg_GB.Add("B4", "Bradford"); - cc_reg_GB.Add("B5", "Brent"); - cc_reg_GB.Add("B6", "Brighton and Hove"); - cc_reg_GB.Add("B7", "Bristol, City of"); - cc_reg_GB.Add("B8", "Bromley"); - cc_reg_GB.Add("B9", "Buckinghamshire"); - cc_reg_GB.Add("C1", "Bury"); - cc_reg_GB.Add("C2", "Calderdale"); - cc_reg_GB.Add("C3", "Cambridgeshire"); - cc_reg_GB.Add("C4", "Camden"); - cc_reg_GB.Add("C5", "Cheshire"); - cc_reg_GB.Add("C6", "Cornwall"); - cc_reg_GB.Add("C7", "Coventry"); - cc_reg_GB.Add("C8", "Croydon"); - cc_reg_GB.Add("C9", "Cumbria"); - cc_reg_GB.Add("D1", "Darlington"); - cc_reg_GB.Add("D2", "Derby"); - cc_reg_GB.Add("D3", "Derbyshire"); - cc_reg_GB.Add("D4", "Devon"); - cc_reg_GB.Add("D5", "Doncaster"); - cc_reg_GB.Add("D6", "Dorset"); - cc_reg_GB.Add("D7", "Dudley"); - cc_reg_GB.Add("D8", "Durham"); - cc_reg_GB.Add("D9", "Ealing"); - cc_reg_GB.Add("E1", "East Riding of Yorkshire"); - cc_reg_GB.Add("E2", "East Sussex"); - cc_reg_GB.Add("E3", "Enfield"); - cc_reg_GB.Add("E4", "Essex"); - cc_reg_GB.Add("E5", "Gateshead"); - cc_reg_GB.Add("E6", "Gloucestershire"); - cc_reg_GB.Add("E7", "Greenwich"); - cc_reg_GB.Add("E8", "Hackney"); - cc_reg_GB.Add("E9", "Halton"); - cc_reg_GB.Add("F1", "Hammersmith and Fulham"); - cc_reg_GB.Add("F2", "Hampshire"); - cc_reg_GB.Add("F3", "Haringey"); - cc_reg_GB.Add("F4", "Harrow"); - cc_reg_GB.Add("F5", "Hartlepool"); - cc_reg_GB.Add("F6", "Havering"); - cc_reg_GB.Add("F7", "Herefordshire"); - cc_reg_GB.Add("F8", "Hertford"); - cc_reg_GB.Add("F9", "Hillingdon"); - cc_reg_GB.Add("G1", "Hounslow"); - cc_reg_GB.Add("G2", "Isle of Wight"); - cc_reg_GB.Add("G3", "Islington"); - cc_reg_GB.Add("G4", "Kensington and Chelsea"); - cc_reg_GB.Add("G5", "Kent"); - cc_reg_GB.Add("G6", "Kingston upon Hull, City of"); - cc_reg_GB.Add("G7", "Kingston upon Thames"); - cc_reg_GB.Add("G8", "Kirklees"); - cc_reg_GB.Add("G9", "Knowsley"); - cc_reg_GB.Add("H1", "Lambeth"); - cc_reg_GB.Add("H2", "Lancashire"); - cc_reg_GB.Add("H3", "Leeds"); - cc_reg_GB.Add("H4", "Leicester"); - cc_reg_GB.Add("H5", "Leicestershire"); - cc_reg_GB.Add("H6", "Lewisham"); - cc_reg_GB.Add("H7", "Lincolnshire"); - cc_reg_GB.Add("H8", "Liverpool"); - cc_reg_GB.Add("H9", "London, City of"); - cc_reg_GB.Add("I1", "Luton"); - cc_reg_GB.Add("I2", "Manchester"); - cc_reg_GB.Add("I3", "Medway"); - cc_reg_GB.Add("I4", "Merton"); - cc_reg_GB.Add("I5", "Middlesbrough"); - cc_reg_GB.Add("I6", "Milton Keynes"); - cc_reg_GB.Add("I7", "Newcastle upon Tyne"); - cc_reg_GB.Add("I8", "Newham"); - cc_reg_GB.Add("I9", "Norfolk"); - cc_reg_GB.Add("J1", "Northamptonshire"); - cc_reg_GB.Add("J2", "North East Lincolnshire"); - cc_reg_GB.Add("J3", "North Lincolnshire"); - cc_reg_GB.Add("J4", "North Somerset"); - cc_reg_GB.Add("J5", "North Tyneside"); - cc_reg_GB.Add("J6", "Northumberland"); - cc_reg_GB.Add("J7", "North Yorkshire"); - cc_reg_GB.Add("J8", "Nottingham"); - cc_reg_GB.Add("J9", "Nottinghamshire"); - cc_reg_GB.Add("K1", "Oldham"); - cc_reg_GB.Add("K2", "Oxfordshire"); - cc_reg_GB.Add("K3", "Peterborough"); - cc_reg_GB.Add("K4", "Plymouth"); - cc_reg_GB.Add("K5", "Poole"); - cc_reg_GB.Add("K6", "Portsmouth"); - cc_reg_GB.Add("K7", "Reading"); - cc_reg_GB.Add("K8", "Redbridge"); - cc_reg_GB.Add("K9", "Redcar and Cleveland"); - cc_reg_GB.Add("L1", "Richmond upon Thames"); - cc_reg_GB.Add("L2", "Rochdale"); - cc_reg_GB.Add("L3", "Rotherham"); - cc_reg_GB.Add("L4", "Rutland"); - cc_reg_GB.Add("L5", "Salford"); - cc_reg_GB.Add("L6", "Shropshire"); - cc_reg_GB.Add("L7", "Sandwell"); - cc_reg_GB.Add("L8", "Sefton"); - cc_reg_GB.Add("L9", "Sheffield"); - cc_reg_GB.Add("M1", "Slough"); - cc_reg_GB.Add("M2", "Solihull"); - cc_reg_GB.Add("M3", "Somerset"); - cc_reg_GB.Add("M4", "Southampton"); - cc_reg_GB.Add("M5", "Southend-on-Sea"); - cc_reg_GB.Add("M6", "South Gloucestershire"); - cc_reg_GB.Add("M7", "South Tyneside"); - cc_reg_GB.Add("M8", "Southwark"); - cc_reg_GB.Add("M9", "Staffordshire"); - cc_reg_GB.Add("N1", "St. Helens"); - cc_reg_GB.Add("N2", "Stockport"); - cc_reg_GB.Add("N3", "Stockton-on-Tees"); - cc_reg_GB.Add("N4", "Stoke-on-Trent"); - cc_reg_GB.Add("N5", "Suffolk"); - cc_reg_GB.Add("N6", "Sunderland"); - cc_reg_GB.Add("N7", "Surrey"); - cc_reg_GB.Add("N8", "Sutton"); - cc_reg_GB.Add("N9", "Swindon"); - cc_reg_GB.Add("O1", "Tameside"); - cc_reg_GB.Add("O2", "Telford and Wrekin"); - cc_reg_GB.Add("O3", "Thurrock"); - cc_reg_GB.Add("O4", "Torbay"); - cc_reg_GB.Add("O5", "Tower Hamlets"); - cc_reg_GB.Add("O6", "Trafford"); - cc_reg_GB.Add("O7", "Wakefield"); - cc_reg_GB.Add("O8", "Walsall"); - cc_reg_GB.Add("O9", "Waltham Forest"); - cc_reg_GB.Add("P1", "Wandsworth"); - cc_reg_GB.Add("P2", "Warrington"); - cc_reg_GB.Add("P3", "Warwickshire"); - cc_reg_GB.Add("P4", "West Berkshire"); - cc_reg_GB.Add("P5", "Westminster"); - cc_reg_GB.Add("P6", "West Sussex"); - cc_reg_GB.Add("P7", "Wigan"); - cc_reg_GB.Add("P8", "Wiltshire"); - cc_reg_GB.Add("P9", "Windsor and Maidenhead"); - cc_reg_GB.Add("Q1", "Wirral"); - cc_reg_GB.Add("Q2", "Wokingham"); - cc_reg_GB.Add("Q3", "Wolverhampton"); - cc_reg_GB.Add("Q4", "Worcestershire"); - cc_reg_GB.Add("Q5", "York"); - cc_reg_GB.Add("Q6", "Antrim"); - cc_reg_GB.Add("Q7", "Ards"); - cc_reg_GB.Add("Q8", "Armagh"); - cc_reg_GB.Add("Q9", "Ballymena"); - cc_reg_GB.Add("R1", "Ballymoney"); - cc_reg_GB.Add("R2", "Banbridge"); - cc_reg_GB.Add("R3", "Belfast"); - cc_reg_GB.Add("R4", "Carrickfergus"); - cc_reg_GB.Add("R5", "Castlereagh"); - cc_reg_GB.Add("R6", "Coleraine"); - cc_reg_GB.Add("R7", "Cookstown"); - cc_reg_GB.Add("R8", "Craigavon"); - cc_reg_GB.Add("R9", "Down"); - cc_reg_GB.Add("S1", "Dungannon"); - cc_reg_GB.Add("S2", "Fermanagh"); - cc_reg_GB.Add("S3", "Larne"); - cc_reg_GB.Add("S4", "Limavady"); - cc_reg_GB.Add("S5", "Lisburn"); - cc_reg_GB.Add("S6", "Derry"); - cc_reg_GB.Add("S7", "Magherafelt"); - cc_reg_GB.Add("S8", "Moyle"); - cc_reg_GB.Add("S9", "Newry and Mourne"); - cc_reg_GB.Add("T1", "Newtownabbey"); - cc_reg_GB.Add("T2", "North Down"); - cc_reg_GB.Add("T3", "Omagh"); - cc_reg_GB.Add("T4", "Strabane"); - cc_reg_GB.Add("T5", "Aberdeen City"); - cc_reg_GB.Add("T6", "Aberdeenshire"); - cc_reg_GB.Add("T7", "Angus"); - cc_reg_GB.Add("T8", "Argyll and Bute"); - cc_reg_GB.Add("T9", "Scottish Borders, The"); - cc_reg_GB.Add("U1", "Clackmannanshire"); - cc_reg_GB.Add("U2", "Dumfries and Galloway"); - cc_reg_GB.Add("U3", "Dundee City"); - cc_reg_GB.Add("U4", "East Ayrshire"); - cc_reg_GB.Add("U5", "East Dunbartonshire"); - cc_reg_GB.Add("U6", "East Lothian"); - cc_reg_GB.Add("U7", "East Renfrewshire"); - cc_reg_GB.Add("U8", "Edinburgh, City of"); - cc_reg_GB.Add("U9", "Falkirk"); - cc_reg_GB.Add("V1", "Fife"); - cc_reg_GB.Add("V2", "Glasgow City"); - cc_reg_GB.Add("V3", "Highland"); - cc_reg_GB.Add("V4", "Inverclyde"); - cc_reg_GB.Add("V5", "Midlothian"); - cc_reg_GB.Add("V6", "Moray"); - cc_reg_GB.Add("V7", "North Ayrshire"); - cc_reg_GB.Add("V8", "North Lanarkshire"); - cc_reg_GB.Add("V9", "Orkney"); - cc_reg_GB.Add("W1", "Perth and Kinross"); - cc_reg_GB.Add("W2", "Renfrewshire"); - cc_reg_GB.Add("W3", "Shetland Islands"); - cc_reg_GB.Add("W4", "South Ayrshire"); - cc_reg_GB.Add("W5", "South Lanarkshire"); - cc_reg_GB.Add("W6", "Stirling"); - cc_reg_GB.Add("W7", "West Dunbartonshire"); - cc_reg_GB.Add("W8", "Eilean Siar"); - cc_reg_GB.Add("W9", "West Lothian"); - cc_reg_GB.Add("X1", "Isle of Anglesey"); - cc_reg_GB.Add("X2", "Blaenau Gwent"); - cc_reg_GB.Add("X3", "Bridgend"); - cc_reg_GB.Add("X4", "Caerphilly"); - cc_reg_GB.Add("X5", "Cardiff"); - cc_reg_GB.Add("X6", "Ceredigion"); - cc_reg_GB.Add("X7", "Carmarthenshire"); - cc_reg_GB.Add("X8", "Conwy"); - cc_reg_GB.Add("X9", "Denbighshire"); - cc_reg_GB.Add("Y1", "Flintshire"); - cc_reg_GB.Add("Y2", "Gwynedd"); - cc_reg_GB.Add("Y3", "Merthyr Tydfil"); - cc_reg_GB.Add("Y4", "Monmouthshire"); - cc_reg_GB.Add("Y5", "Neath Port Talbot"); - cc_reg_GB.Add("Y6", "Newport"); - cc_reg_GB.Add("Y7", "Pembrokeshire"); - cc_reg_GB.Add("Y8", "Powys"); - cc_reg_GB.Add("Y9", "Rhondda Cynon Taff"); - cc_reg_GB.Add("Z1", "Swansea"); - cc_reg_GB.Add("Z2", "Torfaen"); - cc_reg_GB.Add("Z3", "Vale of Glamorgan, The"); - cc_reg_GB.Add("Z4", "Wrexham"); - cc_reg_GB.Add("Z5", "Bedfordshire"); - cc_reg_GB.Add("Z6", "Central Bedfordshire"); - cc_reg_GB.Add("Z7", "Cheshire East"); - cc_reg_GB.Add("Z8", "Cheshire West and Chester"); - cc_reg_GB.Add("Z9", "Isles of Scilly"); - GEOIP_REGION_NAME.Add("GB", cc_reg_GB ); - Hashtable cc_reg_GD = new Hashtable(); - cc_reg_GD.Add("01", "Saint Andrew"); - cc_reg_GD.Add("02", "Saint David"); - cc_reg_GD.Add("03", "Saint George"); - cc_reg_GD.Add("04", "Saint John"); - cc_reg_GD.Add("05", "Saint Mark"); - cc_reg_GD.Add("06", "Saint Patrick"); - GEOIP_REGION_NAME.Add("GD", cc_reg_GD ); - Hashtable cc_reg_GE = new Hashtable(); - cc_reg_GE.Add("01", "Abashis Raioni"); - cc_reg_GE.Add("02", "Abkhazia"); - cc_reg_GE.Add("03", "Adigenis Raioni"); - cc_reg_GE.Add("04", "Ajaria"); - cc_reg_GE.Add("05", "Akhalgoris Raioni"); - cc_reg_GE.Add("06", "Akhalk'alak'is Raioni"); - cc_reg_GE.Add("07", "Akhalts'ikhis Raioni"); - cc_reg_GE.Add("08", "Akhmetis Raioni"); - cc_reg_GE.Add("09", "Ambrolauris Raioni"); - cc_reg_GE.Add("10", "Aspindzis Raioni"); - cc_reg_GE.Add("11", "Baghdat'is Raioni"); - cc_reg_GE.Add("12", "Bolnisis Raioni"); - cc_reg_GE.Add("13", "Borjomis Raioni"); - cc_reg_GE.Add("14", "Chiat'ura"); - cc_reg_GE.Add("15", "Ch'khorotsqus Raioni"); - cc_reg_GE.Add("16", "Ch'okhatauris Raioni"); - cc_reg_GE.Add("17", "Dedop'listsqaros Raioni"); - cc_reg_GE.Add("18", "Dmanisis Raioni"); - cc_reg_GE.Add("19", "Dushet'is Raioni"); - cc_reg_GE.Add("20", "Gardabanis Raioni"); - cc_reg_GE.Add("21", "Gori"); - cc_reg_GE.Add("22", "Goris Raioni"); - cc_reg_GE.Add("23", "Gurjaanis Raioni"); - cc_reg_GE.Add("24", "Javis Raioni"); - cc_reg_GE.Add("25", "K'arelis Raioni"); - cc_reg_GE.Add("26", "Kaspis Raioni"); - cc_reg_GE.Add("27", "Kharagaulis Raioni"); - cc_reg_GE.Add("28", "Khashuris Raioni"); - cc_reg_GE.Add("29", "Khobis Raioni"); - cc_reg_GE.Add("30", "Khonis Raioni"); - cc_reg_GE.Add("31", "K'ut'aisi"); - cc_reg_GE.Add("32", "Lagodekhis Raioni"); - cc_reg_GE.Add("33", "Lanch'khut'is Raioni"); - cc_reg_GE.Add("34", "Lentekhis Raioni"); - cc_reg_GE.Add("35", "Marneulis Raioni"); - cc_reg_GE.Add("36", "Martvilis Raioni"); - cc_reg_GE.Add("37", "Mestiis Raioni"); - cc_reg_GE.Add("38", "Mts'khet'is Raioni"); - cc_reg_GE.Add("39", "Ninotsmindis Raioni"); - cc_reg_GE.Add("40", "Onis Raioni"); - cc_reg_GE.Add("41", "Ozurget'is Raioni"); - cc_reg_GE.Add("42", "P'ot'i"); - cc_reg_GE.Add("43", "Qazbegis Raioni"); - cc_reg_GE.Add("44", "Qvarlis Raioni"); - cc_reg_GE.Add("45", "Rust'avi"); - cc_reg_GE.Add("46", "Sach'kheris Raioni"); - cc_reg_GE.Add("47", "Sagarejos Raioni"); - cc_reg_GE.Add("48", "Samtrediis Raioni"); - cc_reg_GE.Add("49", "Senakis Raioni"); - cc_reg_GE.Add("50", "Sighnaghis Raioni"); - cc_reg_GE.Add("51", "T'bilisi"); - cc_reg_GE.Add("52", "T'elavis Raioni"); - cc_reg_GE.Add("53", "T'erjolis Raioni"); - cc_reg_GE.Add("54", "T'et'ritsqaros Raioni"); - cc_reg_GE.Add("55", "T'ianet'is Raioni"); - cc_reg_GE.Add("56", "Tqibuli"); - cc_reg_GE.Add("57", "Ts'ageris Raioni"); - cc_reg_GE.Add("58", "Tsalenjikhis Raioni"); - cc_reg_GE.Add("59", "Tsalkis Raioni"); - cc_reg_GE.Add("60", "Tsqaltubo"); - cc_reg_GE.Add("61", "Vanis Raioni"); - cc_reg_GE.Add("62", "Zestap'onis Raioni"); - cc_reg_GE.Add("63", "Zugdidi"); - cc_reg_GE.Add("64", "Zugdidis Raioni"); - GEOIP_REGION_NAME.Add("GE", cc_reg_GE ); - Hashtable cc_reg_GH = new Hashtable(); - cc_reg_GH.Add("01", "Greater Accra"); - cc_reg_GH.Add("02", "Ashanti"); - cc_reg_GH.Add("03", "Brong-Ahafo"); - cc_reg_GH.Add("04", "Central"); - cc_reg_GH.Add("05", "Eastern"); - cc_reg_GH.Add("06", "Northern"); - cc_reg_GH.Add("08", "Volta"); - cc_reg_GH.Add("09", "Western"); - cc_reg_GH.Add("10", "Upper East"); - cc_reg_GH.Add("11", "Upper West"); - GEOIP_REGION_NAME.Add("GH", cc_reg_GH ); - Hashtable cc_reg_GL = new Hashtable(); - cc_reg_GL.Add("01", "Nordgronland"); - cc_reg_GL.Add("02", "Ostgronland"); - cc_reg_GL.Add("03", "Vestgronland"); - GEOIP_REGION_NAME.Add("GL", cc_reg_GL ); - Hashtable cc_reg_GM = new Hashtable(); - cc_reg_GM.Add("01", "Banjul"); - cc_reg_GM.Add("02", "Lower River"); - cc_reg_GM.Add("03", "Central River"); - cc_reg_GM.Add("04", "Upper River"); - cc_reg_GM.Add("05", "Western"); - cc_reg_GM.Add("07", "North Bank"); - GEOIP_REGION_NAME.Add("GM", cc_reg_GM ); - Hashtable cc_reg_GN = new Hashtable(); - cc_reg_GN.Add("01", "Beyla"); - cc_reg_GN.Add("02", "Boffa"); - cc_reg_GN.Add("03", "Boke"); - cc_reg_GN.Add("04", "Conakry"); - cc_reg_GN.Add("05", "Dabola"); - cc_reg_GN.Add("06", "Dalaba"); - cc_reg_GN.Add("07", "Dinguiraye"); - cc_reg_GN.Add("09", "Faranah"); - cc_reg_GN.Add("10", "Forecariah"); - cc_reg_GN.Add("11", "Fria"); - cc_reg_GN.Add("12", "Gaoual"); - cc_reg_GN.Add("13", "Gueckedou"); - cc_reg_GN.Add("15", "Kerouane"); - cc_reg_GN.Add("16", "Kindia"); - cc_reg_GN.Add("17", "Kissidougou"); - cc_reg_GN.Add("18", "Koundara"); - cc_reg_GN.Add("19", "Kouroussa"); - cc_reg_GN.Add("21", "Macenta"); - cc_reg_GN.Add("22", "Mali"); - cc_reg_GN.Add("23", "Mamou"); - cc_reg_GN.Add("25", "Pita"); - cc_reg_GN.Add("27", "Telimele"); - cc_reg_GN.Add("28", "Tougue"); - cc_reg_GN.Add("29", "Yomou"); - cc_reg_GN.Add("30", "Coyah"); - cc_reg_GN.Add("31", "Dubreka"); - cc_reg_GN.Add("32", "Kankan"); - cc_reg_GN.Add("33", "Koubia"); - cc_reg_GN.Add("34", "Labe"); - cc_reg_GN.Add("35", "Lelouma"); - cc_reg_GN.Add("36", "Lola"); - cc_reg_GN.Add("37", "Mandiana"); - cc_reg_GN.Add("38", "Nzerekore"); - cc_reg_GN.Add("39", "Siguiri"); - GEOIP_REGION_NAME.Add("GN", cc_reg_GN ); - Hashtable cc_reg_GQ = new Hashtable(); - cc_reg_GQ.Add("03", "Annobon"); - cc_reg_GQ.Add("04", "Bioko Norte"); - cc_reg_GQ.Add("05", "Bioko Sur"); - cc_reg_GQ.Add("06", "Centro Sur"); - cc_reg_GQ.Add("07", "Kie-Ntem"); - cc_reg_GQ.Add("08", "Litoral"); - cc_reg_GQ.Add("09", "Wele-Nzas"); - GEOIP_REGION_NAME.Add("GQ", cc_reg_GQ ); - Hashtable cc_reg_GR = new Hashtable(); - cc_reg_GR.Add("01", "Evros"); - cc_reg_GR.Add("02", "Rodhopi"); - cc_reg_GR.Add("03", "Xanthi"); - cc_reg_GR.Add("04", "Drama"); - cc_reg_GR.Add("05", "Serrai"); - cc_reg_GR.Add("06", "Kilkis"); - cc_reg_GR.Add("07", "Pella"); - cc_reg_GR.Add("08", "Florina"); - cc_reg_GR.Add("09", "Kastoria"); - cc_reg_GR.Add("10", "Grevena"); - cc_reg_GR.Add("11", "Kozani"); - cc_reg_GR.Add("12", "Imathia"); - cc_reg_GR.Add("13", "Thessaloniki"); - cc_reg_GR.Add("14", "Kavala"); - cc_reg_GR.Add("15", "Khalkidhiki"); - cc_reg_GR.Add("16", "Pieria"); - cc_reg_GR.Add("17", "Ioannina"); - cc_reg_GR.Add("18", "Thesprotia"); - cc_reg_GR.Add("19", "Preveza"); - cc_reg_GR.Add("20", "Arta"); - cc_reg_GR.Add("21", "Larisa"); - cc_reg_GR.Add("22", "Trikala"); - cc_reg_GR.Add("23", "Kardhitsa"); - cc_reg_GR.Add("24", "Magnisia"); - cc_reg_GR.Add("25", "Kerkira"); - cc_reg_GR.Add("26", "Levkas"); - cc_reg_GR.Add("27", "Kefallinia"); - cc_reg_GR.Add("28", "Zakinthos"); - cc_reg_GR.Add("29", "Fthiotis"); - cc_reg_GR.Add("30", "Evritania"); - cc_reg_GR.Add("31", "Aitolia kai Akarnania"); - cc_reg_GR.Add("32", "Fokis"); - cc_reg_GR.Add("33", "Voiotia"); - cc_reg_GR.Add("34", "Evvoia"); - cc_reg_GR.Add("35", "Attiki"); - cc_reg_GR.Add("36", "Argolis"); - cc_reg_GR.Add("37", "Korinthia"); - cc_reg_GR.Add("38", "Akhaia"); - cc_reg_GR.Add("39", "Ilia"); - cc_reg_GR.Add("40", "Messinia"); - cc_reg_GR.Add("41", "Arkadhia"); - cc_reg_GR.Add("42", "Lakonia"); - cc_reg_GR.Add("43", "Khania"); - cc_reg_GR.Add("44", "Rethimni"); - cc_reg_GR.Add("45", "Iraklion"); - cc_reg_GR.Add("46", "Lasithi"); - cc_reg_GR.Add("47", "Dhodhekanisos"); - cc_reg_GR.Add("48", "Samos"); - cc_reg_GR.Add("49", "Kikladhes"); - cc_reg_GR.Add("50", "Khios"); - cc_reg_GR.Add("51", "Lesvos"); - GEOIP_REGION_NAME.Add("GR", cc_reg_GR ); - Hashtable cc_reg_GT = new Hashtable(); - cc_reg_GT.Add("01", "Alta Verapaz"); - cc_reg_GT.Add("02", "Baja Verapaz"); - cc_reg_GT.Add("03", "Chimaltenango"); - cc_reg_GT.Add("04", "Chiquimula"); - cc_reg_GT.Add("05", "El Progreso"); - cc_reg_GT.Add("06", "Escuintla"); - cc_reg_GT.Add("07", "Guatemala"); - cc_reg_GT.Add("08", "Huehuetenango"); - cc_reg_GT.Add("09", "Izabal"); - cc_reg_GT.Add("10", "Jalapa"); - cc_reg_GT.Add("11", "Jutiapa"); - cc_reg_GT.Add("12", "Peten"); - cc_reg_GT.Add("13", "Quetzaltenango"); - cc_reg_GT.Add("14", "Quiche"); - cc_reg_GT.Add("15", "Retalhuleu"); - cc_reg_GT.Add("16", "Sacatepequez"); - cc_reg_GT.Add("17", "San Marcos"); - cc_reg_GT.Add("18", "Santa Rosa"); - cc_reg_GT.Add("19", "Solola"); - cc_reg_GT.Add("20", "Suchitepequez"); - cc_reg_GT.Add("21", "Totonicapan"); - cc_reg_GT.Add("22", "Zacapa"); - GEOIP_REGION_NAME.Add("GT", cc_reg_GT ); - Hashtable cc_reg_GW = new Hashtable(); - cc_reg_GW.Add("01", "Bafata"); - cc_reg_GW.Add("02", "Quinara"); - cc_reg_GW.Add("04", "Oio"); - cc_reg_GW.Add("05", "Bolama"); - cc_reg_GW.Add("06", "Cacheu"); - cc_reg_GW.Add("07", "Tombali"); - cc_reg_GW.Add("10", "Gabu"); - cc_reg_GW.Add("11", "Bissau"); - cc_reg_GW.Add("12", "Biombo"); - GEOIP_REGION_NAME.Add("GW", cc_reg_GW ); - Hashtable cc_reg_GY = new Hashtable(); - cc_reg_GY.Add("10", "Barima-Waini"); - cc_reg_GY.Add("11", "Cuyuni-Mazaruni"); - cc_reg_GY.Add("12", "Demerara-Mahaica"); - cc_reg_GY.Add("13", "East Berbice-Corentyne"); - cc_reg_GY.Add("14", "Essequibo Islands-West Demerara"); - cc_reg_GY.Add("15", "Mahaica-Berbice"); - cc_reg_GY.Add("16", "Pomeroon-Supenaam"); - cc_reg_GY.Add("17", "Potaro-Siparuni"); - cc_reg_GY.Add("18", "Upper Demerara-Berbice"); - cc_reg_GY.Add("19", "Upper Takutu-Upper Essequibo"); - GEOIP_REGION_NAME.Add("GY", cc_reg_GY ); - Hashtable cc_reg_HN = new Hashtable(); - cc_reg_HN.Add("01", "Atlantida"); - cc_reg_HN.Add("02", "Choluteca"); - cc_reg_HN.Add("03", "Colon"); - cc_reg_HN.Add("04", "Comayagua"); - cc_reg_HN.Add("05", "Copan"); - cc_reg_HN.Add("06", "Cortes"); - cc_reg_HN.Add("07", "El Paraiso"); - cc_reg_HN.Add("08", "Francisco Morazan"); - cc_reg_HN.Add("09", "Gracias a Dios"); - cc_reg_HN.Add("10", "Intibuca"); - cc_reg_HN.Add("11", "Islas de la Bahia"); - cc_reg_HN.Add("12", "La Paz"); - cc_reg_HN.Add("13", "Lempira"); - cc_reg_HN.Add("14", "Ocotepeque"); - cc_reg_HN.Add("15", "Olancho"); - cc_reg_HN.Add("16", "Santa Barbara"); - cc_reg_HN.Add("17", "Valle"); - cc_reg_HN.Add("18", "Yoro"); - GEOIP_REGION_NAME.Add("HN", cc_reg_HN ); - Hashtable cc_reg_HR = new Hashtable(); - cc_reg_HR.Add("01", "Bjelovarsko-Bilogorska"); - cc_reg_HR.Add("02", "Brodsko-Posavska"); - cc_reg_HR.Add("03", "Dubrovacko-Neretvanska"); - cc_reg_HR.Add("04", "Istarska"); - cc_reg_HR.Add("05", "Karlovacka"); - cc_reg_HR.Add("06", "Koprivnicko-Krizevacka"); - cc_reg_HR.Add("07", "Krapinsko-Zagorska"); - cc_reg_HR.Add("08", "Licko-Senjska"); - cc_reg_HR.Add("09", "Medimurska"); - cc_reg_HR.Add("10", "Osjecko-Baranjska"); - cc_reg_HR.Add("11", "Pozesko-Slavonska"); - cc_reg_HR.Add("12", "Primorsko-Goranska"); - cc_reg_HR.Add("13", "Sibensko-Kninska"); - cc_reg_HR.Add("14", "Sisacko-Moslavacka"); - cc_reg_HR.Add("15", "Splitsko-Dalmatinska"); - cc_reg_HR.Add("16", "Varazdinska"); - cc_reg_HR.Add("17", "Viroviticko-Podravska"); - cc_reg_HR.Add("18", "Vukovarsko-Srijemska"); - cc_reg_HR.Add("19", "Zadarska"); - cc_reg_HR.Add("20", "Zagrebacka"); - cc_reg_HR.Add("21", "Grad Zagreb"); - GEOIP_REGION_NAME.Add("HR", cc_reg_HR ); - Hashtable cc_reg_HT = new Hashtable(); - cc_reg_HT.Add("03", "Nord-Ouest"); - cc_reg_HT.Add("06", "Artibonite"); - cc_reg_HT.Add("07", "Centre"); - cc_reg_HT.Add("09", "Nord"); - cc_reg_HT.Add("10", "Nord-Est"); - cc_reg_HT.Add("11", "Ouest"); - cc_reg_HT.Add("12", "Sud"); - cc_reg_HT.Add("13", "Sud-Est"); - cc_reg_HT.Add("14", "Grand' Anse"); - cc_reg_HT.Add("15", "Nippes"); - GEOIP_REGION_NAME.Add("HT", cc_reg_HT ); - Hashtable cc_reg_HU = new Hashtable(); - cc_reg_HU.Add("01", "Bacs-Kiskun"); - cc_reg_HU.Add("02", "Baranya"); - cc_reg_HU.Add("03", "Bekes"); - cc_reg_HU.Add("04", "Borsod-Abauj-Zemplen"); - cc_reg_HU.Add("05", "Budapest"); - cc_reg_HU.Add("06", "Csongrad"); - cc_reg_HU.Add("07", "Debrecen"); - cc_reg_HU.Add("08", "Fejer"); - cc_reg_HU.Add("09", "Gyor-Moson-Sopron"); - cc_reg_HU.Add("10", "Hajdu-Bihar"); - cc_reg_HU.Add("11", "Heves"); - cc_reg_HU.Add("12", "Komarom-Esztergom"); - cc_reg_HU.Add("13", "Miskolc"); - cc_reg_HU.Add("14", "Nograd"); - cc_reg_HU.Add("15", "Pecs"); - cc_reg_HU.Add("16", "Pest"); - cc_reg_HU.Add("17", "Somogy"); - cc_reg_HU.Add("18", "Szabolcs-Szatmar-Bereg"); - cc_reg_HU.Add("19", "Szeged"); - cc_reg_HU.Add("20", "Jasz-Nagykun-Szolnok"); - cc_reg_HU.Add("21", "Tolna"); - cc_reg_HU.Add("22", "Vas"); - cc_reg_HU.Add("23", "Veszprem"); - cc_reg_HU.Add("24", "Zala"); - cc_reg_HU.Add("25", "Gyor"); - cc_reg_HU.Add("26", "Bekescsaba"); - cc_reg_HU.Add("27", "Dunaujvaros"); - cc_reg_HU.Add("28", "Eger"); - cc_reg_HU.Add("29", "Hodmezovasarhely"); - cc_reg_HU.Add("30", "Kaposvar"); - cc_reg_HU.Add("31", "Kecskemet"); - cc_reg_HU.Add("32", "Nagykanizsa"); - cc_reg_HU.Add("33", "Nyiregyhaza"); - cc_reg_HU.Add("34", "Sopron"); - cc_reg_HU.Add("35", "Szekesfehervar"); - cc_reg_HU.Add("36", "Szolnok"); - cc_reg_HU.Add("37", "Szombathely"); - cc_reg_HU.Add("38", "Tatabanya"); - cc_reg_HU.Add("39", "Veszprem"); - cc_reg_HU.Add("40", "Zalaegerszeg"); - cc_reg_HU.Add("41", "Salgotarjan"); - cc_reg_HU.Add("42", "Szekszard"); - cc_reg_HU.Add("43", "Erd"); - GEOIP_REGION_NAME.Add("HU", cc_reg_HU ); - Hashtable cc_reg_ID = new Hashtable(); - cc_reg_ID.Add("01", "Aceh"); - cc_reg_ID.Add("02", "Bali"); - cc_reg_ID.Add("03", "Bengkulu"); - cc_reg_ID.Add("04", "Jakarta Raya"); - cc_reg_ID.Add("05", "Jambi"); - cc_reg_ID.Add("07", "Jawa Tengah"); - cc_reg_ID.Add("08", "Jawa Timur"); - cc_reg_ID.Add("10", "Yogyakarta"); - cc_reg_ID.Add("11", "Kalimantan Barat"); - cc_reg_ID.Add("12", "Kalimantan Selatan"); - cc_reg_ID.Add("13", "Kalimantan Tengah"); - cc_reg_ID.Add("14", "Kalimantan Timur"); - cc_reg_ID.Add("15", "Lampung"); - cc_reg_ID.Add("17", "Nusa Tenggara Barat"); - cc_reg_ID.Add("18", "Nusa Tenggara Timur"); - cc_reg_ID.Add("21", "Sulawesi Tengah"); - cc_reg_ID.Add("22", "Sulawesi Tenggara"); - cc_reg_ID.Add("24", "Sumatera Barat"); - cc_reg_ID.Add("26", "Sumatera Utara"); - cc_reg_ID.Add("28", "Maluku"); - cc_reg_ID.Add("29", "Maluku Utara"); - cc_reg_ID.Add("30", "Jawa Barat"); - cc_reg_ID.Add("31", "Sulawesi Utara"); - cc_reg_ID.Add("32", "Sumatera Selatan"); - cc_reg_ID.Add("33", "Banten"); - cc_reg_ID.Add("34", "Gorontalo"); - cc_reg_ID.Add("35", "Kepulauan Bangka Belitung"); - cc_reg_ID.Add("36", "Papua"); - cc_reg_ID.Add("37", "Riau"); - cc_reg_ID.Add("38", "Sulawesi Selatan"); - cc_reg_ID.Add("39", "Irian Jaya Barat"); - cc_reg_ID.Add("40", "Kepulauan Riau"); - cc_reg_ID.Add("41", "Sulawesi Barat"); - GEOIP_REGION_NAME.Add("ID", cc_reg_ID ); - Hashtable cc_reg_IE = new Hashtable(); - cc_reg_IE.Add("01", "Carlow"); - cc_reg_IE.Add("02", "Cavan"); - cc_reg_IE.Add("03", "Clare"); - cc_reg_IE.Add("04", "Cork"); - cc_reg_IE.Add("06", "Donegal"); - cc_reg_IE.Add("07", "Dublin"); - cc_reg_IE.Add("10", "Galway"); - cc_reg_IE.Add("11", "Kerry"); - cc_reg_IE.Add("12", "Kildare"); - cc_reg_IE.Add("13", "Kilkenny"); - cc_reg_IE.Add("14", "Leitrim"); - cc_reg_IE.Add("15", "Laois"); - cc_reg_IE.Add("16", "Limerick"); - cc_reg_IE.Add("18", "Longford"); - cc_reg_IE.Add("19", "Louth"); - cc_reg_IE.Add("20", "Mayo"); - cc_reg_IE.Add("21", "Meath"); - cc_reg_IE.Add("22", "Monaghan"); - cc_reg_IE.Add("23", "Offaly"); - cc_reg_IE.Add("24", "Roscommon"); - cc_reg_IE.Add("25", "Sligo"); - cc_reg_IE.Add("26", "Tipperary"); - cc_reg_IE.Add("27", "Waterford"); - cc_reg_IE.Add("29", "Westmeath"); - cc_reg_IE.Add("30", "Wexford"); - cc_reg_IE.Add("31", "Wicklow"); - GEOIP_REGION_NAME.Add("IE", cc_reg_IE ); - Hashtable cc_reg_IL = new Hashtable(); - cc_reg_IL.Add("01", "HaDarom"); - cc_reg_IL.Add("02", "HaMerkaz"); - cc_reg_IL.Add("03", "HaZafon"); - cc_reg_IL.Add("04", "Hefa"); - cc_reg_IL.Add("05", "Tel Aviv"); - cc_reg_IL.Add("06", "Yerushalayim"); - GEOIP_REGION_NAME.Add("IL", cc_reg_IL ); - Hashtable cc_reg_IN = new Hashtable(); - cc_reg_IN.Add("01", "Andaman and Nicobar Islands"); - cc_reg_IN.Add("02", "Andhra Pradesh"); - cc_reg_IN.Add("03", "Assam"); - cc_reg_IN.Add("05", "Chandigarh"); - cc_reg_IN.Add("06", "Dadra and Nagar Haveli"); - cc_reg_IN.Add("07", "Delhi"); - cc_reg_IN.Add("09", "Gujarat"); - cc_reg_IN.Add("10", "Haryana"); - cc_reg_IN.Add("11", "Himachal Pradesh"); - cc_reg_IN.Add("12", "Jammu and Kashmir"); - cc_reg_IN.Add("13", "Kerala"); - cc_reg_IN.Add("14", "Lakshadweep"); - cc_reg_IN.Add("16", "Maharashtra"); - cc_reg_IN.Add("17", "Manipur"); - cc_reg_IN.Add("18", "Meghalaya"); - cc_reg_IN.Add("19", "Karnataka"); - cc_reg_IN.Add("20", "Nagaland"); - cc_reg_IN.Add("21", "Orissa"); - cc_reg_IN.Add("22", "Puducherry"); - cc_reg_IN.Add("23", "Punjab"); - cc_reg_IN.Add("24", "Rajasthan"); - cc_reg_IN.Add("25", "Tamil Nadu"); - cc_reg_IN.Add("26", "Tripura"); - cc_reg_IN.Add("28", "West Bengal"); - cc_reg_IN.Add("29", "Sikkim"); - cc_reg_IN.Add("30", "Arunachal Pradesh"); - cc_reg_IN.Add("31", "Mizoram"); - cc_reg_IN.Add("32", "Daman and Diu"); - cc_reg_IN.Add("33", "Goa"); - cc_reg_IN.Add("34", "Bihar"); - cc_reg_IN.Add("35", "Madhya Pradesh"); - cc_reg_IN.Add("36", "Uttar Pradesh"); - cc_reg_IN.Add("37", "Chhattisgarh"); - cc_reg_IN.Add("38", "Jharkhand"); - cc_reg_IN.Add("39", "Uttarakhand"); - GEOIP_REGION_NAME.Add("IN", cc_reg_IN ); - Hashtable cc_reg_IQ = new Hashtable(); - cc_reg_IQ.Add("01", "Al Anbar"); - cc_reg_IQ.Add("02", "Al Basrah"); - cc_reg_IQ.Add("03", "Al Muthanna"); - cc_reg_IQ.Add("04", "Al Qadisiyah"); - cc_reg_IQ.Add("05", "As Sulaymaniyah"); - cc_reg_IQ.Add("06", "Babil"); - cc_reg_IQ.Add("07", "Baghdad"); - cc_reg_IQ.Add("08", "Dahuk"); - cc_reg_IQ.Add("09", "Dhi Qar"); - cc_reg_IQ.Add("10", "Diyala"); - cc_reg_IQ.Add("11", "Arbil"); - cc_reg_IQ.Add("12", "Karbala'"); - cc_reg_IQ.Add("13", "At Ta'mim"); - cc_reg_IQ.Add("14", "Maysan"); - cc_reg_IQ.Add("15", "Ninawa"); - cc_reg_IQ.Add("16", "Wasit"); - cc_reg_IQ.Add("17", "An Najaf"); - cc_reg_IQ.Add("18", "Salah ad Din"); - GEOIP_REGION_NAME.Add("IQ", cc_reg_IQ ); - Hashtable cc_reg_IR = new Hashtable(); - cc_reg_IR.Add("01", "Azarbayjan-e Bakhtari"); - cc_reg_IR.Add("03", "Chahar Mahall va Bakhtiari"); - cc_reg_IR.Add("04", "Sistan va Baluchestan"); - cc_reg_IR.Add("05", "Kohkiluyeh va Buyer Ahmadi"); - cc_reg_IR.Add("07", "Fars"); - cc_reg_IR.Add("08", "Gilan"); - cc_reg_IR.Add("09", "Hamadan"); - cc_reg_IR.Add("10", "Ilam"); - cc_reg_IR.Add("11", "Hormozgan"); - cc_reg_IR.Add("12", "Kerman"); - cc_reg_IR.Add("13", "Bakhtaran"); - cc_reg_IR.Add("15", "Khuzestan"); - cc_reg_IR.Add("16", "Kordestan"); - cc_reg_IR.Add("17", "Mazandaran"); - cc_reg_IR.Add("18", "Semnan Province"); - cc_reg_IR.Add("19", "Markazi"); - cc_reg_IR.Add("21", "Zanjan"); - cc_reg_IR.Add("22", "Bushehr"); - cc_reg_IR.Add("23", "Lorestan"); - cc_reg_IR.Add("24", "Markazi"); - cc_reg_IR.Add("25", "Semnan"); - cc_reg_IR.Add("26", "Tehran"); - cc_reg_IR.Add("27", "Zanjan"); - cc_reg_IR.Add("28", "Esfahan"); - cc_reg_IR.Add("29", "Kerman"); - cc_reg_IR.Add("30", "Khorasan"); - cc_reg_IR.Add("31", "Yazd"); - cc_reg_IR.Add("32", "Ardabil"); - cc_reg_IR.Add("33", "East Azarbaijan"); - cc_reg_IR.Add("34", "Markazi"); - cc_reg_IR.Add("35", "Mazandaran"); - cc_reg_IR.Add("36", "Zanjan"); - cc_reg_IR.Add("37", "Golestan"); - cc_reg_IR.Add("38", "Qazvin"); - cc_reg_IR.Add("39", "Qom"); - cc_reg_IR.Add("40", "Yazd"); - cc_reg_IR.Add("41", "Khorasan-e Janubi"); - cc_reg_IR.Add("42", "Khorasan-e Razavi"); - cc_reg_IR.Add("43", "Khorasan-e Shemali"); - cc_reg_IR.Add("44", "Alborz"); - GEOIP_REGION_NAME.Add("IR", cc_reg_IR ); - Hashtable cc_reg_IS = new Hashtable(); - cc_reg_IS.Add("03", "Arnessysla"); - cc_reg_IS.Add("05", "Austur-Hunavatnssysla"); - cc_reg_IS.Add("06", "Austur-Skaftafellssysla"); - cc_reg_IS.Add("07", "Borgarfjardarsysla"); - cc_reg_IS.Add("09", "Eyjafjardarsysla"); - cc_reg_IS.Add("10", "Gullbringusysla"); - cc_reg_IS.Add("15", "Kjosarsysla"); - cc_reg_IS.Add("17", "Myrasysla"); - cc_reg_IS.Add("20", "Nordur-Mulasysla"); - cc_reg_IS.Add("21", "Nordur-Tingeyjarsysla"); - cc_reg_IS.Add("23", "Rangarvallasysla"); - cc_reg_IS.Add("28", "Skagafjardarsysla"); - cc_reg_IS.Add("29", "Snafellsnes- og Hnappadalssysla"); - cc_reg_IS.Add("30", "Strandasysla"); - cc_reg_IS.Add("31", "Sudur-Mulasysla"); - cc_reg_IS.Add("32", "Sudur-Tingeyjarsysla"); - cc_reg_IS.Add("34", "Vestur-Bardastrandarsysla"); - cc_reg_IS.Add("35", "Vestur-Hunavatnssysla"); - cc_reg_IS.Add("36", "Vestur-Isafjardarsysla"); - cc_reg_IS.Add("37", "Vestur-Skaftafellssysla"); - cc_reg_IS.Add("38", "Austurland"); - cc_reg_IS.Add("39", "Hofuoborgarsvaoio"); - cc_reg_IS.Add("40", "Norourland Eystra"); - cc_reg_IS.Add("41", "Norourland Vestra"); - cc_reg_IS.Add("42", "Suourland"); - cc_reg_IS.Add("43", "Suournes"); - cc_reg_IS.Add("44", "Vestfiroir"); - cc_reg_IS.Add("45", "Vesturland"); - GEOIP_REGION_NAME.Add("IS", cc_reg_IS ); - Hashtable cc_reg_IT = new Hashtable(); - cc_reg_IT.Add("01", "Abruzzi"); - cc_reg_IT.Add("02", "Basilicata"); - cc_reg_IT.Add("03", "Calabria"); - cc_reg_IT.Add("04", "Campania"); - cc_reg_IT.Add("05", "Emilia-Romagna"); - cc_reg_IT.Add("06", "Friuli-Venezia Giulia"); - cc_reg_IT.Add("07", "Lazio"); - cc_reg_IT.Add("08", "Liguria"); - cc_reg_IT.Add("09", "Lombardia"); - cc_reg_IT.Add("10", "Marche"); - cc_reg_IT.Add("11", "Molise"); - cc_reg_IT.Add("12", "Piemonte"); - cc_reg_IT.Add("13", "Puglia"); - cc_reg_IT.Add("14", "Sardegna"); - cc_reg_IT.Add("15", "Sicilia"); - cc_reg_IT.Add("16", "Toscana"); - cc_reg_IT.Add("17", "Trentino-Alto Adige"); - cc_reg_IT.Add("18", "Umbria"); - cc_reg_IT.Add("19", "Valle d'Aosta"); - cc_reg_IT.Add("20", "Veneto"); - GEOIP_REGION_NAME.Add("IT", cc_reg_IT ); - Hashtable cc_reg_JM = new Hashtable(); - cc_reg_JM.Add("01", "Clarendon"); - cc_reg_JM.Add("02", "Hanover"); - cc_reg_JM.Add("04", "Manchester"); - cc_reg_JM.Add("07", "Portland"); - cc_reg_JM.Add("08", "Saint Andrew"); - cc_reg_JM.Add("09", "Saint Ann"); - cc_reg_JM.Add("10", "Saint Catherine"); - cc_reg_JM.Add("11", "Saint Elizabeth"); - cc_reg_JM.Add("12", "Saint James"); - cc_reg_JM.Add("13", "Saint Mary"); - cc_reg_JM.Add("14", "Saint Thomas"); - cc_reg_JM.Add("15", "Trelawny"); - cc_reg_JM.Add("16", "Westmoreland"); - cc_reg_JM.Add("17", "Kingston"); - GEOIP_REGION_NAME.Add("JM", cc_reg_JM ); - Hashtable cc_reg_JO = new Hashtable(); - cc_reg_JO.Add("02", "Al Balqa'"); - cc_reg_JO.Add("09", "Al Karak"); - cc_reg_JO.Add("12", "At Tafilah"); - cc_reg_JO.Add("15", "Al Mafraq"); - cc_reg_JO.Add("16", "Amman"); - cc_reg_JO.Add("17", "Az Zaraqa"); - cc_reg_JO.Add("18", "Irbid"); - cc_reg_JO.Add("19", "Ma'an"); - cc_reg_JO.Add("20", "Ajlun"); - cc_reg_JO.Add("21", "Al Aqabah"); - cc_reg_JO.Add("22", "Jarash"); - cc_reg_JO.Add("23", "Madaba"); - GEOIP_REGION_NAME.Add("JO", cc_reg_JO ); - Hashtable cc_reg_JP = new Hashtable(); - cc_reg_JP.Add("01", "Aichi"); - cc_reg_JP.Add("02", "Akita"); - cc_reg_JP.Add("03", "Aomori"); - cc_reg_JP.Add("04", "Chiba"); - cc_reg_JP.Add("05", "Ehime"); - cc_reg_JP.Add("06", "Fukui"); - cc_reg_JP.Add("07", "Fukuoka"); - cc_reg_JP.Add("08", "Fukushima"); - cc_reg_JP.Add("09", "Gifu"); - cc_reg_JP.Add("10", "Gumma"); - cc_reg_JP.Add("11", "Hiroshima"); - cc_reg_JP.Add("12", "Hokkaido"); - cc_reg_JP.Add("13", "Hyogo"); - cc_reg_JP.Add("14", "Ibaraki"); - cc_reg_JP.Add("15", "Ishikawa"); - cc_reg_JP.Add("16", "Iwate"); - cc_reg_JP.Add("17", "Kagawa"); - cc_reg_JP.Add("18", "Kagoshima"); - cc_reg_JP.Add("19", "Kanagawa"); - cc_reg_JP.Add("20", "Kochi"); - cc_reg_JP.Add("21", "Kumamoto"); - cc_reg_JP.Add("22", "Kyoto"); - cc_reg_JP.Add("23", "Mie"); - cc_reg_JP.Add("24", "Miyagi"); - cc_reg_JP.Add("25", "Miyazaki"); - cc_reg_JP.Add("26", "Nagano"); - cc_reg_JP.Add("27", "Nagasaki"); - cc_reg_JP.Add("28", "Nara"); - cc_reg_JP.Add("29", "Niigata"); - cc_reg_JP.Add("30", "Oita"); - cc_reg_JP.Add("31", "Okayama"); - cc_reg_JP.Add("32", "Osaka"); - cc_reg_JP.Add("33", "Saga"); - cc_reg_JP.Add("34", "Saitama"); - cc_reg_JP.Add("35", "Shiga"); - cc_reg_JP.Add("36", "Shimane"); - cc_reg_JP.Add("37", "Shizuoka"); - cc_reg_JP.Add("38", "Tochigi"); - cc_reg_JP.Add("39", "Tokushima"); - cc_reg_JP.Add("40", "Tokyo"); - cc_reg_JP.Add("41", "Tottori"); - cc_reg_JP.Add("42", "Toyama"); - cc_reg_JP.Add("43", "Wakayama"); - cc_reg_JP.Add("44", "Yamagata"); - cc_reg_JP.Add("45", "Yamaguchi"); - cc_reg_JP.Add("46", "Yamanashi"); - cc_reg_JP.Add("47", "Okinawa"); - GEOIP_REGION_NAME.Add("JP", cc_reg_JP ); - Hashtable cc_reg_KE = new Hashtable(); - cc_reg_KE.Add("01", "Central"); - cc_reg_KE.Add("02", "Coast"); - cc_reg_KE.Add("03", "Eastern"); - cc_reg_KE.Add("05", "Nairobi Area"); - cc_reg_KE.Add("06", "North-Eastern"); - cc_reg_KE.Add("07", "Nyanza"); - cc_reg_KE.Add("08", "Rift Valley"); - cc_reg_KE.Add("09", "Western"); - GEOIP_REGION_NAME.Add("KE", cc_reg_KE ); - Hashtable cc_reg_KG = new Hashtable(); - cc_reg_KG.Add("01", "Bishkek"); - cc_reg_KG.Add("02", "Chuy"); - cc_reg_KG.Add("03", "Jalal-Abad"); - cc_reg_KG.Add("04", "Naryn"); - cc_reg_KG.Add("05", "Osh"); - cc_reg_KG.Add("06", "Talas"); - cc_reg_KG.Add("07", "Ysyk-Kol"); - cc_reg_KG.Add("08", "Osh"); - cc_reg_KG.Add("09", "Batken"); - GEOIP_REGION_NAME.Add("KG", cc_reg_KG ); - Hashtable cc_reg_KH = new Hashtable(); - cc_reg_KH.Add("01", "Batdambang"); - cc_reg_KH.Add("02", "Kampong Cham"); - cc_reg_KH.Add("03", "Kampong Chhnang"); - cc_reg_KH.Add("04", "Kampong Speu"); - cc_reg_KH.Add("05", "Kampong Thum"); - cc_reg_KH.Add("06", "Kampot"); - cc_reg_KH.Add("07", "Kandal"); - cc_reg_KH.Add("08", "Koh Kong"); - cc_reg_KH.Add("09", "Kracheh"); - cc_reg_KH.Add("10", "Mondulkiri"); - cc_reg_KH.Add("11", "Phnum Penh"); - cc_reg_KH.Add("12", "Pursat"); - cc_reg_KH.Add("13", "Preah Vihear"); - cc_reg_KH.Add("14", "Prey Veng"); - cc_reg_KH.Add("15", "Ratanakiri Kiri"); - cc_reg_KH.Add("16", "Siem Reap"); - cc_reg_KH.Add("17", "Stung Treng"); - cc_reg_KH.Add("18", "Svay Rieng"); - cc_reg_KH.Add("19", "Takeo"); - cc_reg_KH.Add("25", "Banteay Meanchey"); - cc_reg_KH.Add("29", "Batdambang"); - cc_reg_KH.Add("30", "Pailin"); - GEOIP_REGION_NAME.Add("KH", cc_reg_KH ); - Hashtable cc_reg_KI = new Hashtable(); - cc_reg_KI.Add("01", "Gilbert Islands"); - cc_reg_KI.Add("02", "Line Islands"); - cc_reg_KI.Add("03", "Phoenix Islands"); - GEOIP_REGION_NAME.Add("KI", cc_reg_KI ); - Hashtable cc_reg_KM = new Hashtable(); - cc_reg_KM.Add("01", "Anjouan"); - cc_reg_KM.Add("02", "Grande Comore"); - cc_reg_KM.Add("03", "Moheli"); - GEOIP_REGION_NAME.Add("KM", cc_reg_KM ); - Hashtable cc_reg_KN = new Hashtable(); - cc_reg_KN.Add("01", "Christ Church Nichola Town"); - cc_reg_KN.Add("02", "Saint Anne Sandy Point"); - cc_reg_KN.Add("03", "Saint George Basseterre"); - cc_reg_KN.Add("04", "Saint George Gingerland"); - cc_reg_KN.Add("05", "Saint James Windward"); - cc_reg_KN.Add("06", "Saint John Capisterre"); - cc_reg_KN.Add("07", "Saint John Figtree"); - cc_reg_KN.Add("08", "Saint Mary Cayon"); - cc_reg_KN.Add("09", "Saint Paul Capisterre"); - cc_reg_KN.Add("10", "Saint Paul Charlestown"); - cc_reg_KN.Add("11", "Saint Peter Basseterre"); - cc_reg_KN.Add("12", "Saint Thomas Lowland"); - cc_reg_KN.Add("13", "Saint Thomas Middle Island"); - cc_reg_KN.Add("15", "Trinity Palmetto Point"); - GEOIP_REGION_NAME.Add("KN", cc_reg_KN ); - Hashtable cc_reg_KP = new Hashtable(); - cc_reg_KP.Add("01", "Chagang-do"); - cc_reg_KP.Add("03", "Hamgyong-namdo"); - cc_reg_KP.Add("06", "Hwanghae-namdo"); - cc_reg_KP.Add("07", "Hwanghae-bukto"); - cc_reg_KP.Add("08", "Kaesong-si"); - cc_reg_KP.Add("09", "Kangwon-do"); - cc_reg_KP.Add("11", "P'yongan-bukto"); - cc_reg_KP.Add("12", "P'yongyang-si"); - cc_reg_KP.Add("13", "Yanggang-do"); - cc_reg_KP.Add("14", "Namp'o-si"); - cc_reg_KP.Add("15", "P'yongan-namdo"); - cc_reg_KP.Add("17", "Hamgyong-bukto"); - cc_reg_KP.Add("18", "Najin Sonbong-si"); - GEOIP_REGION_NAME.Add("KP", cc_reg_KP ); - Hashtable cc_reg_KR = new Hashtable(); - cc_reg_KR.Add("01", "Cheju-do"); - cc_reg_KR.Add("03", "Cholla-bukto"); - cc_reg_KR.Add("05", "Ch'ungch'ong-bukto"); - cc_reg_KR.Add("06", "Kangwon-do"); - cc_reg_KR.Add("10", "Pusan-jikhalsi"); - cc_reg_KR.Add("11", "Seoul-t'ukpyolsi"); - cc_reg_KR.Add("12", "Inch'on-jikhalsi"); - cc_reg_KR.Add("13", "Kyonggi-do"); - cc_reg_KR.Add("14", "Kyongsang-bukto"); - cc_reg_KR.Add("15", "Taegu-jikhalsi"); - cc_reg_KR.Add("16", "Cholla-namdo"); - cc_reg_KR.Add("17", "Ch'ungch'ong-namdo"); - cc_reg_KR.Add("18", "Kwangju-jikhalsi"); - cc_reg_KR.Add("19", "Taejon-jikhalsi"); - cc_reg_KR.Add("20", "Kyongsang-namdo"); - cc_reg_KR.Add("21", "Ulsan-gwangyoksi"); - GEOIP_REGION_NAME.Add("KR", cc_reg_KR ); - Hashtable cc_reg_KW = new Hashtable(); - cc_reg_KW.Add("01", "Al Ahmadi"); - cc_reg_KW.Add("02", "Al Kuwayt"); - cc_reg_KW.Add("05", "Al Jahra"); - cc_reg_KW.Add("07", "Al Farwaniyah"); - cc_reg_KW.Add("08", "Hawalli"); - cc_reg_KW.Add("09", "Mubarak al Kabir"); - GEOIP_REGION_NAME.Add("KW", cc_reg_KW ); - Hashtable cc_reg_KY = new Hashtable(); - cc_reg_KY.Add("01", "Creek"); - cc_reg_KY.Add("02", "Eastern"); - cc_reg_KY.Add("03", "Midland"); - cc_reg_KY.Add("04", "South Town"); - cc_reg_KY.Add("05", "Spot Bay"); - cc_reg_KY.Add("06", "Stake Bay"); - cc_reg_KY.Add("07", "West End"); - cc_reg_KY.Add("08", "Western"); - GEOIP_REGION_NAME.Add("KY", cc_reg_KY ); - Hashtable cc_reg_KZ = new Hashtable(); - cc_reg_KZ.Add("01", "Almaty"); - cc_reg_KZ.Add("02", "Almaty City"); - cc_reg_KZ.Add("03", "Aqmola"); - cc_reg_KZ.Add("04", "Aqtobe"); - cc_reg_KZ.Add("05", "Astana"); - cc_reg_KZ.Add("06", "Atyrau"); - cc_reg_KZ.Add("07", "West Kazakhstan"); - cc_reg_KZ.Add("08", "Bayqonyr"); - cc_reg_KZ.Add("09", "Mangghystau"); - cc_reg_KZ.Add("10", "South Kazakhstan"); - cc_reg_KZ.Add("11", "Pavlodar"); - cc_reg_KZ.Add("12", "Qaraghandy"); - cc_reg_KZ.Add("13", "Qostanay"); - cc_reg_KZ.Add("14", "Qyzylorda"); - cc_reg_KZ.Add("15", "East Kazakhstan"); - cc_reg_KZ.Add("16", "North Kazakhstan"); - cc_reg_KZ.Add("17", "Zhambyl"); - GEOIP_REGION_NAME.Add("KZ", cc_reg_KZ ); - Hashtable cc_reg_LA = new Hashtable(); - cc_reg_LA.Add("01", "Attapu"); - cc_reg_LA.Add("02", "Champasak"); - cc_reg_LA.Add("03", "Houaphan"); - cc_reg_LA.Add("04", "Khammouan"); - cc_reg_LA.Add("05", "Louang Namtha"); - cc_reg_LA.Add("07", "Oudomxai"); - cc_reg_LA.Add("08", "Phongsali"); - cc_reg_LA.Add("09", "Saravan"); - cc_reg_LA.Add("10", "Savannakhet"); - cc_reg_LA.Add("11", "Vientiane"); - cc_reg_LA.Add("13", "Xaignabouri"); - cc_reg_LA.Add("14", "Xiangkhoang"); - cc_reg_LA.Add("17", "Louangphrabang"); - GEOIP_REGION_NAME.Add("LA", cc_reg_LA ); - Hashtable cc_reg_LB = new Hashtable(); - cc_reg_LB.Add("01", "Beqaa"); - cc_reg_LB.Add("02", "Al Janub"); - cc_reg_LB.Add("03", "Liban-Nord"); - cc_reg_LB.Add("04", "Beyrouth"); - cc_reg_LB.Add("05", "Mont-Liban"); - cc_reg_LB.Add("06", "Liban-Sud"); - cc_reg_LB.Add("07", "Nabatiye"); - cc_reg_LB.Add("08", "Beqaa"); - cc_reg_LB.Add("09", "Liban-Nord"); - cc_reg_LB.Add("10", "Aakk,r"); - cc_reg_LB.Add("11", "Baalbek-Hermel"); - GEOIP_REGION_NAME.Add("LB", cc_reg_LB ); - Hashtable cc_reg_LC = new Hashtable(); - cc_reg_LC.Add("01", "Anse-la-Raye"); - cc_reg_LC.Add("02", "Dauphin"); - cc_reg_LC.Add("03", "Castries"); - cc_reg_LC.Add("04", "Choiseul"); - cc_reg_LC.Add("05", "Dennery"); - cc_reg_LC.Add("06", "Gros-Islet"); - cc_reg_LC.Add("07", "Laborie"); - cc_reg_LC.Add("08", "Micoud"); - cc_reg_LC.Add("09", "Soufriere"); - cc_reg_LC.Add("10", "Vieux-Fort"); - cc_reg_LC.Add("11", "Praslin"); - GEOIP_REGION_NAME.Add("LC", cc_reg_LC ); - Hashtable cc_reg_LI = new Hashtable(); - cc_reg_LI.Add("01", "Balzers"); - cc_reg_LI.Add("02", "Eschen"); - cc_reg_LI.Add("03", "Gamprin"); - cc_reg_LI.Add("04", "Mauren"); - cc_reg_LI.Add("05", "Planken"); - cc_reg_LI.Add("06", "Ruggell"); - cc_reg_LI.Add("07", "Schaan"); - cc_reg_LI.Add("08", "Schellenberg"); - cc_reg_LI.Add("09", "Triesen"); - cc_reg_LI.Add("10", "Triesenberg"); - cc_reg_LI.Add("11", "Vaduz"); - cc_reg_LI.Add("21", "Gbarpolu"); - cc_reg_LI.Add("22", "River Gee"); - GEOIP_REGION_NAME.Add("LI", cc_reg_LI ); - Hashtable cc_reg_LK = new Hashtable(); - cc_reg_LK.Add("29", "Central"); - cc_reg_LK.Add("30", "North Central"); - cc_reg_LK.Add("32", "North Western"); - cc_reg_LK.Add("33", "Sabaragamuwa"); - cc_reg_LK.Add("34", "Southern"); - cc_reg_LK.Add("35", "Uva"); - cc_reg_LK.Add("36", "Western"); - cc_reg_LK.Add("37", "Eastern"); - cc_reg_LK.Add("38", "Northern"); - GEOIP_REGION_NAME.Add("LK", cc_reg_LK ); - Hashtable cc_reg_LR = new Hashtable(); - cc_reg_LR.Add("01", "Bong"); - cc_reg_LR.Add("04", "Grand Cape Mount"); - cc_reg_LR.Add("05", "Lofa"); - cc_reg_LR.Add("06", "Maryland"); - cc_reg_LR.Add("07", "Monrovia"); - cc_reg_LR.Add("09", "Nimba"); - cc_reg_LR.Add("10", "Sino"); - cc_reg_LR.Add("11", "Grand Bassa"); - cc_reg_LR.Add("12", "Grand Cape Mount"); - cc_reg_LR.Add("13", "Maryland"); - cc_reg_LR.Add("14", "Montserrado"); - cc_reg_LR.Add("17", "Margibi"); - cc_reg_LR.Add("18", "River Cess"); - cc_reg_LR.Add("19", "Grand Gedeh"); - cc_reg_LR.Add("20", "Lofa"); - cc_reg_LR.Add("21", "Gbarpolu"); - cc_reg_LR.Add("22", "River Gee"); - GEOIP_REGION_NAME.Add("LR", cc_reg_LR ); - Hashtable cc_reg_LS = new Hashtable(); - cc_reg_LS.Add("10", "Berea"); - cc_reg_LS.Add("11", "Butha-Buthe"); - cc_reg_LS.Add("12", "Leribe"); - cc_reg_LS.Add("13", "Mafeteng"); - cc_reg_LS.Add("14", "Maseru"); - cc_reg_LS.Add("15", "Mohales Hoek"); - cc_reg_LS.Add("16", "Mokhotlong"); - cc_reg_LS.Add("17", "Qachas Nek"); - cc_reg_LS.Add("18", "Quthing"); - cc_reg_LS.Add("19", "Thaba-Tseka"); - GEOIP_REGION_NAME.Add("LS", cc_reg_LS ); - Hashtable cc_reg_LT = new Hashtable(); - cc_reg_LT.Add("56", "Alytaus Apskritis"); - cc_reg_LT.Add("57", "Kauno Apskritis"); - cc_reg_LT.Add("58", "Klaipedos Apskritis"); - cc_reg_LT.Add("59", "Marijampoles Apskritis"); - cc_reg_LT.Add("60", "Panevezio Apskritis"); - cc_reg_LT.Add("61", "Siauliu Apskritis"); - cc_reg_LT.Add("62", "Taurages Apskritis"); - cc_reg_LT.Add("63", "Telsiu Apskritis"); - cc_reg_LT.Add("64", "Utenos Apskritis"); - cc_reg_LT.Add("65", "Vilniaus Apskritis"); - GEOIP_REGION_NAME.Add("LT", cc_reg_LT ); - Hashtable cc_reg_LU = new Hashtable(); - cc_reg_LU.Add("01", "Diekirch"); - cc_reg_LU.Add("02", "Grevenmacher"); - cc_reg_LU.Add("03", "Luxembourg"); - GEOIP_REGION_NAME.Add("LU", cc_reg_LU ); - Hashtable cc_reg_LV = new Hashtable(); - cc_reg_LV.Add("01", "Aizkraukles"); - cc_reg_LV.Add("02", "Aluksnes"); - cc_reg_LV.Add("03", "Balvu"); - cc_reg_LV.Add("04", "Bauskas"); - cc_reg_LV.Add("05", "Cesu"); - cc_reg_LV.Add("06", "Daugavpils"); - cc_reg_LV.Add("07", "Daugavpils"); - cc_reg_LV.Add("08", "Dobeles"); - cc_reg_LV.Add("09", "Gulbenes"); - cc_reg_LV.Add("10", "Jekabpils"); - cc_reg_LV.Add("11", "Jelgava"); - cc_reg_LV.Add("12", "Jelgavas"); - cc_reg_LV.Add("13", "Jurmala"); - cc_reg_LV.Add("14", "Kraslavas"); - cc_reg_LV.Add("15", "Kuldigas"); - cc_reg_LV.Add("16", "Liepaja"); - cc_reg_LV.Add("17", "Liepajas"); - cc_reg_LV.Add("18", "Limbazu"); - cc_reg_LV.Add("19", "Ludzas"); - cc_reg_LV.Add("20", "Madonas"); - cc_reg_LV.Add("21", "Ogres"); - cc_reg_LV.Add("22", "Preilu"); - cc_reg_LV.Add("23", "Rezekne"); - cc_reg_LV.Add("24", "Rezeknes"); - cc_reg_LV.Add("25", "Riga"); - cc_reg_LV.Add("26", "Rigas"); - cc_reg_LV.Add("27", "Saldus"); - cc_reg_LV.Add("28", "Talsu"); - cc_reg_LV.Add("29", "Tukuma"); - cc_reg_LV.Add("30", "Valkas"); - cc_reg_LV.Add("31", "Valmieras"); - cc_reg_LV.Add("32", "Ventspils"); - cc_reg_LV.Add("33", "Ventspils"); - GEOIP_REGION_NAME.Add("LV", cc_reg_LV ); - Hashtable cc_reg_LY = new Hashtable(); - cc_reg_LY.Add("03", "Al Aziziyah"); - cc_reg_LY.Add("05", "Al Jufrah"); - cc_reg_LY.Add("08", "Al Kufrah"); - cc_reg_LY.Add("13", "Ash Shati'"); - cc_reg_LY.Add("30", "Murzuq"); - cc_reg_LY.Add("34", "Sabha"); - cc_reg_LY.Add("41", "Tarhunah"); - cc_reg_LY.Add("42", "Tubruq"); - cc_reg_LY.Add("45", "Zlitan"); - cc_reg_LY.Add("47", "Ajdabiya"); - cc_reg_LY.Add("48", "Al Fatih"); - cc_reg_LY.Add("49", "Al Jabal al Akhdar"); - cc_reg_LY.Add("50", "Al Khums"); - cc_reg_LY.Add("51", "An Nuqat al Khams"); - cc_reg_LY.Add("52", "Awbari"); - cc_reg_LY.Add("53", "Az Zawiyah"); - cc_reg_LY.Add("54", "Banghazi"); - cc_reg_LY.Add("55", "Darnah"); - cc_reg_LY.Add("56", "Ghadamis"); - cc_reg_LY.Add("57", "Gharyan"); - cc_reg_LY.Add("58", "Misratah"); - cc_reg_LY.Add("59", "Sawfajjin"); - cc_reg_LY.Add("60", "Surt"); - cc_reg_LY.Add("61", "Tarabulus"); - cc_reg_LY.Add("62", "Yafran"); - GEOIP_REGION_NAME.Add("LY", cc_reg_LY ); - Hashtable cc_reg_MA = new Hashtable(); - cc_reg_MA.Add("45", "Grand Casablanca"); - cc_reg_MA.Add("46", "Fes-Boulemane"); - cc_reg_MA.Add("47", "Marrakech-Tensift-Al Haouz"); - cc_reg_MA.Add("48", "Meknes-Tafilalet"); - cc_reg_MA.Add("49", "Rabat-Sale-Zemmour-Zaer"); - cc_reg_MA.Add("50", "Chaouia-Ouardigha"); - cc_reg_MA.Add("51", "Doukkala-Abda"); - cc_reg_MA.Add("52", "Gharb-Chrarda-Beni Hssen"); - cc_reg_MA.Add("53", "Guelmim-Es Smara"); - cc_reg_MA.Add("54", "Oriental"); - cc_reg_MA.Add("55", "Souss-Massa-Dr,a"); - cc_reg_MA.Add("56", "Tadla-Azilal"); - cc_reg_MA.Add("57", "Tanger-Tetouan"); - cc_reg_MA.Add("58", "Taza-Al Hoceima-Taounate"); - cc_reg_MA.Add("59", "La,youne-Boujdour-Sakia El Hamra"); - GEOIP_REGION_NAME.Add("MA", cc_reg_MA ); - Hashtable cc_reg_MC = new Hashtable(); - cc_reg_MC.Add("01", "La Condamine"); - cc_reg_MC.Add("02", "Monaco"); - cc_reg_MC.Add("03", "Monte-Carlo"); - GEOIP_REGION_NAME.Add("MC", cc_reg_MC ); - Hashtable cc_reg_MD = new Hashtable(); - cc_reg_MD.Add("51", "Gagauzia"); - cc_reg_MD.Add("57", "Chisinau"); - cc_reg_MD.Add("58", "Stinga Nistrului"); - cc_reg_MD.Add("59", "Anenii Noi"); - cc_reg_MD.Add("60", "Balti"); - cc_reg_MD.Add("61", "Basarabeasca"); - cc_reg_MD.Add("62", "Bender"); - cc_reg_MD.Add("63", "Briceni"); - cc_reg_MD.Add("64", "Cahul"); - cc_reg_MD.Add("65", "Cantemir"); - cc_reg_MD.Add("66", "Calarasi"); - cc_reg_MD.Add("67", "Causeni"); - cc_reg_MD.Add("68", "Cimislia"); - cc_reg_MD.Add("69", "Criuleni"); - cc_reg_MD.Add("70", "Donduseni"); - cc_reg_MD.Add("71", "Drochia"); - cc_reg_MD.Add("72", "Dubasari"); - cc_reg_MD.Add("73", "Edinet"); - cc_reg_MD.Add("74", "Falesti"); - cc_reg_MD.Add("75", "Floresti"); - cc_reg_MD.Add("76", "Glodeni"); - cc_reg_MD.Add("77", "Hincesti"); - cc_reg_MD.Add("78", "Ialoveni"); - cc_reg_MD.Add("79", "Leova"); - cc_reg_MD.Add("80", "Nisporeni"); - cc_reg_MD.Add("81", "Ocnita"); - cc_reg_MD.Add("82", "Orhei"); - cc_reg_MD.Add("83", "Rezina"); - cc_reg_MD.Add("84", "Riscani"); - cc_reg_MD.Add("85", "Singerei"); - cc_reg_MD.Add("86", "Soldanesti"); - cc_reg_MD.Add("87", "Soroca"); - cc_reg_MD.Add("88", "Stefan-Voda"); - cc_reg_MD.Add("89", "Straseni"); - cc_reg_MD.Add("90", "Taraclia"); - cc_reg_MD.Add("91", "Telenesti"); - cc_reg_MD.Add("92", "Ungheni"); - GEOIP_REGION_NAME.Add("MD", cc_reg_MD ); - Hashtable cc_reg_MG = new Hashtable(); - cc_reg_MG.Add("01", "Antsiranana"); - cc_reg_MG.Add("02", "Fianarantsoa"); - cc_reg_MG.Add("03", "Mahajanga"); - cc_reg_MG.Add("04", "Toamasina"); - cc_reg_MG.Add("05", "Antananarivo"); - cc_reg_MG.Add("06", "Toliara"); - GEOIP_REGION_NAME.Add("MG", cc_reg_MG ); - Hashtable cc_reg_MK = new Hashtable(); - cc_reg_MK.Add("01", "Aracinovo"); - cc_reg_MK.Add("02", "Bac"); - cc_reg_MK.Add("03", "Belcista"); - cc_reg_MK.Add("04", "Berovo"); - cc_reg_MK.Add("05", "Bistrica"); - cc_reg_MK.Add("06", "Bitola"); - cc_reg_MK.Add("07", "Blatec"); - cc_reg_MK.Add("08", "Bogdanci"); - cc_reg_MK.Add("09", "Bogomila"); - cc_reg_MK.Add("10", "Bogovinje"); - cc_reg_MK.Add("11", "Bosilovo"); - cc_reg_MK.Add("12", "Brvenica"); - cc_reg_MK.Add("13", "Cair"); - cc_reg_MK.Add("14", "Capari"); - cc_reg_MK.Add("15", "Caska"); - cc_reg_MK.Add("16", "Cegrane"); - cc_reg_MK.Add("17", "Centar"); - cc_reg_MK.Add("18", "Centar Zupa"); - cc_reg_MK.Add("19", "Cesinovo"); - cc_reg_MK.Add("20", "Cucer-Sandevo"); - cc_reg_MK.Add("21", "Debar"); - cc_reg_MK.Add("22", "Delcevo"); - cc_reg_MK.Add("23", "Delogozdi"); - cc_reg_MK.Add("24", "Demir Hisar"); - cc_reg_MK.Add("25", "Demir Kapija"); - cc_reg_MK.Add("26", "Dobrusevo"); - cc_reg_MK.Add("27", "Dolna Banjica"); - cc_reg_MK.Add("28", "Dolneni"); - cc_reg_MK.Add("29", "Dorce Petrov"); - cc_reg_MK.Add("30", "Drugovo"); - cc_reg_MK.Add("31", "Dzepciste"); - cc_reg_MK.Add("32", "Gazi Baba"); - cc_reg_MK.Add("33", "Gevgelija"); - cc_reg_MK.Add("34", "Gostivar"); - cc_reg_MK.Add("35", "Gradsko"); - cc_reg_MK.Add("36", "Ilinden"); - cc_reg_MK.Add("37", "Izvor"); - cc_reg_MK.Add("38", "Jegunovce"); - cc_reg_MK.Add("39", "Kamenjane"); - cc_reg_MK.Add("40", "Karbinci"); - cc_reg_MK.Add("41", "Karpos"); - cc_reg_MK.Add("42", "Kavadarci"); - cc_reg_MK.Add("43", "Kicevo"); - cc_reg_MK.Add("44", "Kisela Voda"); - cc_reg_MK.Add("45", "Klecevce"); - cc_reg_MK.Add("46", "Kocani"); - cc_reg_MK.Add("47", "Konce"); - cc_reg_MK.Add("48", "Kondovo"); - cc_reg_MK.Add("49", "Konopiste"); - cc_reg_MK.Add("50", "Kosel"); - cc_reg_MK.Add("51", "Kratovo"); - cc_reg_MK.Add("52", "Kriva Palanka"); - cc_reg_MK.Add("53", "Krivogastani"); - cc_reg_MK.Add("54", "Krusevo"); - cc_reg_MK.Add("55", "Kuklis"); - cc_reg_MK.Add("56", "Kukurecani"); - cc_reg_MK.Add("57", "Kumanovo"); - cc_reg_MK.Add("58", "Labunista"); - cc_reg_MK.Add("59", "Lipkovo"); - cc_reg_MK.Add("60", "Lozovo"); - cc_reg_MK.Add("61", "Lukovo"); - cc_reg_MK.Add("62", "Makedonska Kamenica"); - cc_reg_MK.Add("63", "Makedonski Brod"); - cc_reg_MK.Add("64", "Mavrovi Anovi"); - cc_reg_MK.Add("65", "Meseista"); - cc_reg_MK.Add("66", "Miravci"); - cc_reg_MK.Add("67", "Mogila"); - cc_reg_MK.Add("68", "Murtino"); - cc_reg_MK.Add("69", "Negotino"); - cc_reg_MK.Add("70", "Negotino-Polosko"); - cc_reg_MK.Add("71", "Novaci"); - cc_reg_MK.Add("72", "Novo Selo"); - cc_reg_MK.Add("73", "Oblesevo"); - cc_reg_MK.Add("74", "Ohrid"); - cc_reg_MK.Add("75", "Orasac"); - cc_reg_MK.Add("76", "Orizari"); - cc_reg_MK.Add("77", "Oslomej"); - cc_reg_MK.Add("78", "Pehcevo"); - cc_reg_MK.Add("79", "Petrovec"); - cc_reg_MK.Add("80", "Plasnica"); - cc_reg_MK.Add("81", "Podares"); - cc_reg_MK.Add("82", "Prilep"); - cc_reg_MK.Add("83", "Probistip"); - cc_reg_MK.Add("84", "Radovis"); - cc_reg_MK.Add("85", "Rankovce"); - cc_reg_MK.Add("86", "Resen"); - cc_reg_MK.Add("87", "Rosoman"); - cc_reg_MK.Add("88", "Rostusa"); - cc_reg_MK.Add("89", "Samokov"); - cc_reg_MK.Add("90", "Saraj"); - cc_reg_MK.Add("91", "Sipkovica"); - cc_reg_MK.Add("92", "Sopiste"); - cc_reg_MK.Add("93", "Sopotnica"); - cc_reg_MK.Add("94", "Srbinovo"); - cc_reg_MK.Add("95", "Staravina"); - cc_reg_MK.Add("96", "Star Dojran"); - cc_reg_MK.Add("97", "Staro Nagoricane"); - cc_reg_MK.Add("98", "Stip"); - cc_reg_MK.Add("99", "Struga"); - cc_reg_MK.Add("A1", "Strumica"); - cc_reg_MK.Add("A2", "Studenicani"); - cc_reg_MK.Add("A3", "Suto Orizari"); - cc_reg_MK.Add("A4", "Sveti Nikole"); - cc_reg_MK.Add("A5", "Tearce"); - cc_reg_MK.Add("A6", "Tetovo"); - cc_reg_MK.Add("A7", "Topolcani"); - cc_reg_MK.Add("A8", "Valandovo"); - cc_reg_MK.Add("A9", "Vasilevo"); - cc_reg_MK.Add("B1", "Veles"); - cc_reg_MK.Add("B2", "Velesta"); - cc_reg_MK.Add("B3", "Vevcani"); - cc_reg_MK.Add("B4", "Vinica"); - cc_reg_MK.Add("B5", "Vitoliste"); - cc_reg_MK.Add("B6", "Vranestica"); - cc_reg_MK.Add("B7", "Vrapciste"); - cc_reg_MK.Add("B8", "Vratnica"); - cc_reg_MK.Add("B9", "Vrutok"); - cc_reg_MK.Add("C1", "Zajas"); - cc_reg_MK.Add("C2", "Zelenikovo"); - cc_reg_MK.Add("C3", "Zelino"); - cc_reg_MK.Add("C4", "Zitose"); - cc_reg_MK.Add("C5", "Zletovo"); - cc_reg_MK.Add("C6", "Zrnovci"); - GEOIP_REGION_NAME.Add("MK", cc_reg_MK ); - Hashtable cc_reg_ML = new Hashtable(); - cc_reg_ML.Add("01", "Bamako"); - cc_reg_ML.Add("03", "Kayes"); - cc_reg_ML.Add("04", "Mopti"); - cc_reg_ML.Add("05", "Segou"); - cc_reg_ML.Add("06", "Sikasso"); - cc_reg_ML.Add("07", "Koulikoro"); - cc_reg_ML.Add("08", "Tombouctou"); - cc_reg_ML.Add("09", "Gao"); - cc_reg_ML.Add("10", "Kidal"); - GEOIP_REGION_NAME.Add("ML", cc_reg_ML ); - Hashtable cc_reg_MM = new Hashtable(); - cc_reg_MM.Add("01", "Rakhine State"); - cc_reg_MM.Add("02", "Chin State"); - cc_reg_MM.Add("03", "Irrawaddy"); - cc_reg_MM.Add("04", "Kachin State"); - cc_reg_MM.Add("05", "Karan State"); - cc_reg_MM.Add("06", "Kayah State"); - cc_reg_MM.Add("07", "Magwe"); - cc_reg_MM.Add("08", "Mandalay"); - cc_reg_MM.Add("09", "Pegu"); - cc_reg_MM.Add("10", "Sagaing"); - cc_reg_MM.Add("11", "Shan State"); - cc_reg_MM.Add("12", "Tenasserim"); - cc_reg_MM.Add("13", "Mon State"); - cc_reg_MM.Add("14", "Rangoon"); - cc_reg_MM.Add("17", "Yangon"); - GEOIP_REGION_NAME.Add("MM", cc_reg_MM ); - Hashtable cc_reg_MN = new Hashtable(); - cc_reg_MN.Add("01", "Arhangay"); - cc_reg_MN.Add("02", "Bayanhongor"); - cc_reg_MN.Add("03", "Bayan-Olgiy"); - cc_reg_MN.Add("05", "Darhan"); - cc_reg_MN.Add("06", "Dornod"); - cc_reg_MN.Add("07", "Dornogovi"); - cc_reg_MN.Add("08", "Dundgovi"); - cc_reg_MN.Add("09", "Dzavhan"); - cc_reg_MN.Add("10", "Govi-Altay"); - cc_reg_MN.Add("11", "Hentiy"); - cc_reg_MN.Add("12", "Hovd"); - cc_reg_MN.Add("13", "Hovsgol"); - cc_reg_MN.Add("14", "Omnogovi"); - cc_reg_MN.Add("15", "Ovorhangay"); - cc_reg_MN.Add("16", "Selenge"); - cc_reg_MN.Add("17", "Suhbaatar"); - cc_reg_MN.Add("18", "Tov"); - cc_reg_MN.Add("19", "Uvs"); - cc_reg_MN.Add("20", "Ulaanbaatar"); - cc_reg_MN.Add("21", "Bulgan"); - cc_reg_MN.Add("22", "Erdenet"); - cc_reg_MN.Add("23", "Darhan-Uul"); - cc_reg_MN.Add("24", "Govisumber"); - cc_reg_MN.Add("25", "Orhon"); - GEOIP_REGION_NAME.Add("MN", cc_reg_MN ); - Hashtable cc_reg_MO = new Hashtable(); - cc_reg_MO.Add("01", "Ilhas"); - cc_reg_MO.Add("02", "Macau"); - GEOIP_REGION_NAME.Add("MO", cc_reg_MO ); - Hashtable cc_reg_MR = new Hashtable(); - cc_reg_MR.Add("01", "Hodh Ech Chargui"); - cc_reg_MR.Add("02", "Hodh El Gharbi"); - cc_reg_MR.Add("03", "Assaba"); - cc_reg_MR.Add("04", "Gorgol"); - cc_reg_MR.Add("05", "Brakna"); - cc_reg_MR.Add("06", "Trarza"); - cc_reg_MR.Add("07", "Adrar"); - cc_reg_MR.Add("08", "Dakhlet Nouadhibou"); - cc_reg_MR.Add("09", "Tagant"); - cc_reg_MR.Add("10", "Guidimaka"); - cc_reg_MR.Add("11", "Tiris Zemmour"); - cc_reg_MR.Add("12", "Inchiri"); - GEOIP_REGION_NAME.Add("MR", cc_reg_MR ); - Hashtable cc_reg_MS = new Hashtable(); - cc_reg_MS.Add("01", "Saint Anthony"); - cc_reg_MS.Add("02", "Saint Georges"); - cc_reg_MS.Add("03", "Saint Peter"); - GEOIP_REGION_NAME.Add("MS", cc_reg_MS ); - Hashtable cc_reg_MU = new Hashtable(); - cc_reg_MU.Add("12", "Black River"); - cc_reg_MU.Add("13", "Flacq"); - cc_reg_MU.Add("14", "Grand Port"); - cc_reg_MU.Add("15", "Moka"); - cc_reg_MU.Add("16", "Pamplemousses"); - cc_reg_MU.Add("17", "Plaines Wilhems"); - cc_reg_MU.Add("18", "Port Louis"); - cc_reg_MU.Add("19", "Riviere du Rempart"); - cc_reg_MU.Add("20", "Savanne"); - cc_reg_MU.Add("21", "Agalega Islands"); - cc_reg_MU.Add("22", "Cargados Carajos"); - cc_reg_MU.Add("23", "Rodrigues"); - GEOIP_REGION_NAME.Add("MU", cc_reg_MU ); - Hashtable cc_reg_MV = new Hashtable(); - cc_reg_MV.Add("01", "Seenu"); - cc_reg_MV.Add("05", "Laamu"); - cc_reg_MV.Add("30", "Alifu"); - cc_reg_MV.Add("31", "Baa"); - cc_reg_MV.Add("32", "Dhaalu"); - cc_reg_MV.Add("33", "Faafu "); - cc_reg_MV.Add("34", "Gaafu Alifu"); - cc_reg_MV.Add("35", "Gaafu Dhaalu"); - cc_reg_MV.Add("36", "Haa Alifu"); - cc_reg_MV.Add("37", "Haa Dhaalu"); - cc_reg_MV.Add("38", "Kaafu"); - cc_reg_MV.Add("39", "Lhaviyani"); - cc_reg_MV.Add("40", "Maale"); - cc_reg_MV.Add("41", "Meemu"); - cc_reg_MV.Add("42", "Gnaviyani"); - cc_reg_MV.Add("43", "Noonu"); - cc_reg_MV.Add("44", "Raa"); - cc_reg_MV.Add("45", "Shaviyani"); - cc_reg_MV.Add("46", "Thaa"); - cc_reg_MV.Add("47", "Vaavu"); - GEOIP_REGION_NAME.Add("MV", cc_reg_MV ); - Hashtable cc_reg_MW = new Hashtable(); - cc_reg_MW.Add("02", "Chikwawa"); - cc_reg_MW.Add("03", "Chiradzulu"); - cc_reg_MW.Add("04", "Chitipa"); - cc_reg_MW.Add("05", "Thyolo"); - cc_reg_MW.Add("06", "Dedza"); - cc_reg_MW.Add("07", "Dowa"); - cc_reg_MW.Add("08", "Karonga"); - cc_reg_MW.Add("09", "Kasungu"); - cc_reg_MW.Add("11", "Lilongwe"); - cc_reg_MW.Add("12", "Mangochi"); - cc_reg_MW.Add("13", "Mchinji"); - cc_reg_MW.Add("15", "Mzimba"); - cc_reg_MW.Add("16", "Ntcheu"); - cc_reg_MW.Add("17", "Nkhata Bay"); - cc_reg_MW.Add("18", "Nkhotakota"); - cc_reg_MW.Add("19", "Nsanje"); - cc_reg_MW.Add("20", "Ntchisi"); - cc_reg_MW.Add("21", "Rumphi"); - cc_reg_MW.Add("22", "Salima"); - cc_reg_MW.Add("23", "Zomba"); - cc_reg_MW.Add("24", "Blantyre"); - cc_reg_MW.Add("25", "Mwanza"); - cc_reg_MW.Add("26", "Balaka"); - cc_reg_MW.Add("27", "Likoma"); - cc_reg_MW.Add("28", "Machinga"); - cc_reg_MW.Add("29", "Mulanje"); - cc_reg_MW.Add("30", "Phalombe"); - GEOIP_REGION_NAME.Add("MW", cc_reg_MW ); - Hashtable cc_reg_MX = new Hashtable(); - cc_reg_MX.Add("01", "Aguascalientes"); - cc_reg_MX.Add("02", "Baja California"); - cc_reg_MX.Add("03", "Baja California Sur"); - cc_reg_MX.Add("04", "Campeche"); - cc_reg_MX.Add("05", "Chiapas"); - cc_reg_MX.Add("06", "Chihuahua"); - cc_reg_MX.Add("07", "Coahuila de Zaragoza"); - cc_reg_MX.Add("08", "Colima"); - cc_reg_MX.Add("09", "Distrito Federal"); - cc_reg_MX.Add("10", "Durango"); - cc_reg_MX.Add("11", "Guanajuato"); - cc_reg_MX.Add("12", "Guerrero"); - cc_reg_MX.Add("13", "Hidalgo"); - cc_reg_MX.Add("14", "Jalisco"); - cc_reg_MX.Add("15", "Mexico"); - cc_reg_MX.Add("16", "Michoacan de Ocampo"); - cc_reg_MX.Add("17", "Morelos"); - cc_reg_MX.Add("18", "Nayarit"); - cc_reg_MX.Add("19", "Nuevo Leon"); - cc_reg_MX.Add("20", "Oaxaca"); - cc_reg_MX.Add("21", "Puebla"); - cc_reg_MX.Add("22", "Queretaro de Arteaga"); - cc_reg_MX.Add("23", "Quintana Roo"); - cc_reg_MX.Add("24", "San Luis Potosi"); - cc_reg_MX.Add("25", "Sinaloa"); - cc_reg_MX.Add("26", "Sonora"); - cc_reg_MX.Add("27", "Tabasco"); - cc_reg_MX.Add("28", "Tamaulipas"); - cc_reg_MX.Add("29", "Tlaxcala"); - cc_reg_MX.Add("30", "Veracruz-Llave"); - cc_reg_MX.Add("31", "Yucatan"); - cc_reg_MX.Add("32", "Zacatecas"); - GEOIP_REGION_NAME.Add("MX", cc_reg_MX ); - Hashtable cc_reg_MY = new Hashtable(); - cc_reg_MY.Add("01", "Johor"); - cc_reg_MY.Add("02", "Kedah"); - cc_reg_MY.Add("03", "Kelantan"); - cc_reg_MY.Add("04", "Melaka"); - cc_reg_MY.Add("05", "Negeri Sembilan"); - cc_reg_MY.Add("06", "Pahang"); - cc_reg_MY.Add("07", "Perak"); - cc_reg_MY.Add("08", "Perlis"); - cc_reg_MY.Add("09", "Pulau Pinang"); - cc_reg_MY.Add("11", "Sarawak"); - cc_reg_MY.Add("12", "Selangor"); - cc_reg_MY.Add("13", "Terengganu"); - cc_reg_MY.Add("14", "Kuala Lumpur"); - cc_reg_MY.Add("15", "Labuan"); - cc_reg_MY.Add("16", "Sabah"); - cc_reg_MY.Add("17", "Putrajaya"); - GEOIP_REGION_NAME.Add("MY", cc_reg_MY ); - Hashtable cc_reg_MZ = new Hashtable(); - cc_reg_MZ.Add("01", "Cabo Delgado"); - cc_reg_MZ.Add("02", "Gaza"); - cc_reg_MZ.Add("03", "Inhambane"); - cc_reg_MZ.Add("04", "Maputo"); - cc_reg_MZ.Add("05", "Sofala"); - cc_reg_MZ.Add("06", "Nampula"); - cc_reg_MZ.Add("07", "Niassa"); - cc_reg_MZ.Add("08", "Tete"); - cc_reg_MZ.Add("09", "Zambezia"); - cc_reg_MZ.Add("10", "Manica"); - cc_reg_MZ.Add("11", "Maputo"); - GEOIP_REGION_NAME.Add("MZ", cc_reg_MZ ); - Hashtable cc_reg_NA = new Hashtable(); - cc_reg_NA.Add("01", "Bethanien"); - cc_reg_NA.Add("02", "Caprivi Oos"); - cc_reg_NA.Add("03", "Boesmanland"); - cc_reg_NA.Add("04", "Gobabis"); - cc_reg_NA.Add("05", "Grootfontein"); - cc_reg_NA.Add("06", "Kaokoland"); - cc_reg_NA.Add("07", "Karibib"); - cc_reg_NA.Add("08", "Keetmanshoop"); - cc_reg_NA.Add("09", "Luderitz"); - cc_reg_NA.Add("10", "Maltahohe"); - cc_reg_NA.Add("11", "Okahandja"); - cc_reg_NA.Add("12", "Omaruru"); - cc_reg_NA.Add("13", "Otjiwarongo"); - cc_reg_NA.Add("14", "Outjo"); - cc_reg_NA.Add("15", "Owambo"); - cc_reg_NA.Add("16", "Rehoboth"); - cc_reg_NA.Add("17", "Swakopmund"); - cc_reg_NA.Add("18", "Tsumeb"); - cc_reg_NA.Add("20", "Karasburg"); - cc_reg_NA.Add("21", "Windhoek"); - cc_reg_NA.Add("22", "Damaraland"); - cc_reg_NA.Add("23", "Hereroland Oos"); - cc_reg_NA.Add("24", "Hereroland Wes"); - cc_reg_NA.Add("25", "Kavango"); - cc_reg_NA.Add("26", "Mariental"); - cc_reg_NA.Add("27", "Namaland"); - cc_reg_NA.Add("28", "Caprivi"); - cc_reg_NA.Add("29", "Erongo"); - cc_reg_NA.Add("30", "Hardap"); - cc_reg_NA.Add("31", "Karas"); - cc_reg_NA.Add("32", "Kunene"); - cc_reg_NA.Add("33", "Ohangwena"); - cc_reg_NA.Add("34", "Okavango"); - cc_reg_NA.Add("35", "Omaheke"); - cc_reg_NA.Add("36", "Omusati"); - cc_reg_NA.Add("37", "Oshana"); - cc_reg_NA.Add("38", "Oshikoto"); - cc_reg_NA.Add("39", "Otjozondjupa"); - GEOIP_REGION_NAME.Add("NA", cc_reg_NA ); - Hashtable cc_reg_NE = new Hashtable(); - cc_reg_NE.Add("01", "Agadez"); - cc_reg_NE.Add("02", "Diffa"); - cc_reg_NE.Add("03", "Dosso"); - cc_reg_NE.Add("04", "Maradi"); - cc_reg_NE.Add("05", "Niamey"); - cc_reg_NE.Add("06", "Tahoua"); - cc_reg_NE.Add("07", "Zinder"); - cc_reg_NE.Add("08", "Niamey"); - GEOIP_REGION_NAME.Add("NE", cc_reg_NE ); - Hashtable cc_reg_NG = new Hashtable(); - cc_reg_NG.Add("05", "Lagos"); - cc_reg_NG.Add("11", "Federal Capital Territory"); - cc_reg_NG.Add("16", "Ogun"); - cc_reg_NG.Add("21", "Akwa Ibom"); - cc_reg_NG.Add("22", "Cross River"); - cc_reg_NG.Add("23", "Kaduna"); - cc_reg_NG.Add("24", "Katsina"); - cc_reg_NG.Add("25", "Anambra"); - cc_reg_NG.Add("26", "Benue"); - cc_reg_NG.Add("27", "Borno"); - cc_reg_NG.Add("28", "Imo"); - cc_reg_NG.Add("29", "Kano"); - cc_reg_NG.Add("30", "Kwara"); - cc_reg_NG.Add("31", "Niger"); - cc_reg_NG.Add("32", "Oyo"); - cc_reg_NG.Add("35", "Adamawa"); - cc_reg_NG.Add("36", "Delta"); - cc_reg_NG.Add("37", "Edo"); - cc_reg_NG.Add("39", "Jigawa"); - cc_reg_NG.Add("40", "Kebbi"); - cc_reg_NG.Add("41", "Kogi"); - cc_reg_NG.Add("42", "Osun"); - cc_reg_NG.Add("43", "Taraba"); - cc_reg_NG.Add("44", "Yobe"); - cc_reg_NG.Add("45", "Abia"); - cc_reg_NG.Add("46", "Bauchi"); - cc_reg_NG.Add("47", "Enugu"); - cc_reg_NG.Add("48", "Ondo"); - cc_reg_NG.Add("49", "Plateau"); - cc_reg_NG.Add("50", "Rivers"); - cc_reg_NG.Add("51", "Sokoto"); - cc_reg_NG.Add("52", "Bayelsa"); - cc_reg_NG.Add("53", "Ebonyi"); - cc_reg_NG.Add("54", "Ekiti"); - cc_reg_NG.Add("55", "Gombe"); - cc_reg_NG.Add("56", "Nassarawa"); - cc_reg_NG.Add("57", "Zamfara"); - GEOIP_REGION_NAME.Add("NG", cc_reg_NG ); - Hashtable cc_reg_NI = new Hashtable(); - cc_reg_NI.Add("01", "Boaco"); - cc_reg_NI.Add("02", "Carazo"); - cc_reg_NI.Add("03", "Chinandega"); - cc_reg_NI.Add("04", "Chontales"); - cc_reg_NI.Add("05", "Esteli"); - cc_reg_NI.Add("06", "Granada"); - cc_reg_NI.Add("07", "Jinotega"); - cc_reg_NI.Add("08", "Leon"); - cc_reg_NI.Add("09", "Madriz"); - cc_reg_NI.Add("10", "Managua"); - cc_reg_NI.Add("11", "Masaya"); - cc_reg_NI.Add("12", "Matagalpa"); - cc_reg_NI.Add("13", "Nueva Segovia"); - cc_reg_NI.Add("14", "Rio San Juan"); - cc_reg_NI.Add("15", "Rivas"); - cc_reg_NI.Add("16", "Zelaya"); - cc_reg_NI.Add("17", "Autonoma Atlantico Norte"); - cc_reg_NI.Add("18", "Region Autonoma Atlantico Sur"); - GEOIP_REGION_NAME.Add("NI", cc_reg_NI ); - Hashtable cc_reg_NL = new Hashtable(); - cc_reg_NL.Add("01", "Drenthe"); - cc_reg_NL.Add("02", "Friesland"); - cc_reg_NL.Add("03", "Gelderland"); - cc_reg_NL.Add("04", "Groningen"); - cc_reg_NL.Add("05", "Limburg"); - cc_reg_NL.Add("06", "Noord-Brabant"); - cc_reg_NL.Add("07", "Noord-Holland"); - cc_reg_NL.Add("09", "Utrecht"); - cc_reg_NL.Add("10", "Zeeland"); - cc_reg_NL.Add("11", "Zuid-Holland"); - cc_reg_NL.Add("15", "Overijssel"); - cc_reg_NL.Add("16", "Flevoland"); - GEOIP_REGION_NAME.Add("NL", cc_reg_NL ); - Hashtable cc_reg_NO = new Hashtable(); - cc_reg_NO.Add("01", "Akershus"); - cc_reg_NO.Add("02", "Aust-Agder"); - cc_reg_NO.Add("04", "Buskerud"); - cc_reg_NO.Add("05", "Finnmark"); - cc_reg_NO.Add("06", "Hedmark"); - cc_reg_NO.Add("07", "Hordaland"); - cc_reg_NO.Add("08", "More og Romsdal"); - cc_reg_NO.Add("09", "Nordland"); - cc_reg_NO.Add("10", "Nord-Trondelag"); - cc_reg_NO.Add("11", "Oppland"); - cc_reg_NO.Add("12", "Oslo"); - cc_reg_NO.Add("13", "Ostfold"); - cc_reg_NO.Add("14", "Rogaland"); - cc_reg_NO.Add("15", "Sogn og Fjordane"); - cc_reg_NO.Add("16", "Sor-Trondelag"); - cc_reg_NO.Add("17", "Telemark"); - cc_reg_NO.Add("18", "Troms"); - cc_reg_NO.Add("19", "Vest-Agder"); - cc_reg_NO.Add("20", "Vestfold"); - GEOIP_REGION_NAME.Add("NO", cc_reg_NO ); - Hashtable cc_reg_NP = new Hashtable(); - cc_reg_NP.Add("01", "Bagmati"); - cc_reg_NP.Add("02", "Bheri"); - cc_reg_NP.Add("03", "Dhawalagiri"); - cc_reg_NP.Add("04", "Gandaki"); - cc_reg_NP.Add("05", "Janakpur"); - cc_reg_NP.Add("06", "Karnali"); - cc_reg_NP.Add("07", "Kosi"); - cc_reg_NP.Add("08", "Lumbini"); - cc_reg_NP.Add("09", "Mahakali"); - cc_reg_NP.Add("10", "Mechi"); - cc_reg_NP.Add("11", "Narayani"); - cc_reg_NP.Add("12", "Rapti"); - cc_reg_NP.Add("13", "Sagarmatha"); - cc_reg_NP.Add("14", "Seti"); - GEOIP_REGION_NAME.Add("NP", cc_reg_NP ); - Hashtable cc_reg_NR = new Hashtable(); - cc_reg_NR.Add("01", "Aiwo"); - cc_reg_NR.Add("02", "Anabar"); - cc_reg_NR.Add("03", "Anetan"); - cc_reg_NR.Add("04", "Anibare"); - cc_reg_NR.Add("05", "Baiti"); - cc_reg_NR.Add("06", "Boe"); - cc_reg_NR.Add("07", "Buada"); - cc_reg_NR.Add("08", "Denigomodu"); - cc_reg_NR.Add("09", "Ewa"); - cc_reg_NR.Add("10", "Ijuw"); - cc_reg_NR.Add("11", "Meneng"); - cc_reg_NR.Add("12", "Nibok"); - cc_reg_NR.Add("13", "Uaboe"); - cc_reg_NR.Add("14", "Yaren"); - GEOIP_REGION_NAME.Add("NR", cc_reg_NR ); - Hashtable cc_reg_NZ = new Hashtable(); - cc_reg_NZ.Add("10", "Chatham Islands"); - cc_reg_NZ.Add("E7", "Auckland"); - cc_reg_NZ.Add("E8", "Bay of Plenty"); - cc_reg_NZ.Add("E9", "Canterbury"); - cc_reg_NZ.Add("F1", "Gisborne"); - cc_reg_NZ.Add("F2", "Hawke's Bay"); - cc_reg_NZ.Add("F3", "Manawatu-Wanganui"); - cc_reg_NZ.Add("F4", "Marlborough"); - cc_reg_NZ.Add("F5", "Nelson"); - cc_reg_NZ.Add("F6", "Northland"); - cc_reg_NZ.Add("F7", "Otago"); - cc_reg_NZ.Add("F8", "Southland"); - cc_reg_NZ.Add("F9", "Taranaki"); - cc_reg_NZ.Add("G1", "Waikato"); - cc_reg_NZ.Add("G2", "Wellington"); - cc_reg_NZ.Add("G3", "West Coast"); - GEOIP_REGION_NAME.Add("NZ", cc_reg_NZ ); - Hashtable cc_reg_OM = new Hashtable(); - cc_reg_OM.Add("01", "Ad Dakhiliyah"); - cc_reg_OM.Add("02", "Al Batinah"); - cc_reg_OM.Add("03", "Al Wusta"); - cc_reg_OM.Add("04", "Ash Sharqiyah"); - cc_reg_OM.Add("05", "Az Zahirah"); - cc_reg_OM.Add("06", "Masqat"); - cc_reg_OM.Add("07", "Musandam"); - cc_reg_OM.Add("08", "Zufar"); - GEOIP_REGION_NAME.Add("OM", cc_reg_OM ); - Hashtable cc_reg_PA = new Hashtable(); - cc_reg_PA.Add("01", "Bocas del Toro"); - cc_reg_PA.Add("02", "Chiriqui"); - cc_reg_PA.Add("03", "Cocle"); - cc_reg_PA.Add("04", "Colon"); - cc_reg_PA.Add("05", "Darien"); - cc_reg_PA.Add("06", "Herrera"); - cc_reg_PA.Add("07", "Los Santos"); - cc_reg_PA.Add("08", "Panama"); - cc_reg_PA.Add("09", "San Blas"); - cc_reg_PA.Add("10", "Veraguas"); - GEOIP_REGION_NAME.Add("PA", cc_reg_PA ); - Hashtable cc_reg_PE = new Hashtable(); - cc_reg_PE.Add("01", "Amazonas"); - cc_reg_PE.Add("02", "Ancash"); - cc_reg_PE.Add("03", "Apurimac"); - cc_reg_PE.Add("04", "Arequipa"); - cc_reg_PE.Add("05", "Ayacucho"); - cc_reg_PE.Add("06", "Cajamarca"); - cc_reg_PE.Add("07", "Callao"); - cc_reg_PE.Add("08", "Cusco"); - cc_reg_PE.Add("09", "Huancavelica"); - cc_reg_PE.Add("10", "Huanuco"); - cc_reg_PE.Add("11", "Ica"); - cc_reg_PE.Add("12", "Junin"); - cc_reg_PE.Add("13", "La Libertad"); - cc_reg_PE.Add("14", "Lambayeque"); - cc_reg_PE.Add("15", "Lima"); - cc_reg_PE.Add("16", "Loreto"); - cc_reg_PE.Add("17", "Madre de Dios"); - cc_reg_PE.Add("18", "Moquegua"); - cc_reg_PE.Add("19", "Pasco"); - cc_reg_PE.Add("20", "Piura"); - cc_reg_PE.Add("21", "Puno"); - cc_reg_PE.Add("22", "San Martin"); - cc_reg_PE.Add("23", "Tacna"); - cc_reg_PE.Add("24", "Tumbes"); - cc_reg_PE.Add("25", "Ucayali"); - GEOIP_REGION_NAME.Add("PE", cc_reg_PE ); - Hashtable cc_reg_PG = new Hashtable(); - cc_reg_PG.Add("01", "Central"); - cc_reg_PG.Add("02", "Gulf"); - cc_reg_PG.Add("03", "Milne Bay"); - cc_reg_PG.Add("04", "Northern"); - cc_reg_PG.Add("05", "Southern Highlands"); - cc_reg_PG.Add("06", "Western"); - cc_reg_PG.Add("07", "North Solomons"); - cc_reg_PG.Add("08", "Chimbu"); - cc_reg_PG.Add("09", "Eastern Highlands"); - cc_reg_PG.Add("10", "East New Britain"); - cc_reg_PG.Add("11", "East Sepik"); - cc_reg_PG.Add("12", "Madang"); - cc_reg_PG.Add("13", "Manus"); - cc_reg_PG.Add("14", "Morobe"); - cc_reg_PG.Add("15", "New Ireland"); - cc_reg_PG.Add("16", "Western Highlands"); - cc_reg_PG.Add("17", "West New Britain"); - cc_reg_PG.Add("18", "Sandaun"); - cc_reg_PG.Add("19", "Enga"); - cc_reg_PG.Add("20", "National Capital"); - GEOIP_REGION_NAME.Add("PG", cc_reg_PG ); - Hashtable cc_reg_PH = new Hashtable(); - cc_reg_PH.Add("01", "Abra"); - cc_reg_PH.Add("02", "Agusan del Norte"); - cc_reg_PH.Add("03", "Agusan del Sur"); - cc_reg_PH.Add("04", "Aklan"); - cc_reg_PH.Add("05", "Albay"); - cc_reg_PH.Add("06", "Antique"); - cc_reg_PH.Add("07", "Bataan"); - cc_reg_PH.Add("08", "Batanes"); - cc_reg_PH.Add("09", "Batangas"); - cc_reg_PH.Add("10", "Benguet"); - cc_reg_PH.Add("11", "Bohol"); - cc_reg_PH.Add("12", "Bukidnon"); - cc_reg_PH.Add("13", "Bulacan"); - cc_reg_PH.Add("14", "Cagayan"); - cc_reg_PH.Add("15", "Camarines Norte"); - cc_reg_PH.Add("16", "Camarines Sur"); - cc_reg_PH.Add("17", "Camiguin"); - cc_reg_PH.Add("18", "Capiz"); - cc_reg_PH.Add("19", "Catanduanes"); - cc_reg_PH.Add("20", "Cavite"); - cc_reg_PH.Add("21", "Cebu"); - cc_reg_PH.Add("22", "Basilan"); - cc_reg_PH.Add("23", "Eastern Samar"); - cc_reg_PH.Add("24", "Davao"); - cc_reg_PH.Add("25", "Davao del Sur"); - cc_reg_PH.Add("26", "Davao Oriental"); - cc_reg_PH.Add("27", "Ifugao"); - cc_reg_PH.Add("28", "Ilocos Norte"); - cc_reg_PH.Add("29", "Ilocos Sur"); - cc_reg_PH.Add("30", "Iloilo"); - cc_reg_PH.Add("31", "Isabela"); - cc_reg_PH.Add("32", "Kalinga-Apayao"); - cc_reg_PH.Add("33", "Laguna"); - cc_reg_PH.Add("34", "Lanao del Norte"); - cc_reg_PH.Add("35", "Lanao del Sur"); - cc_reg_PH.Add("36", "La Union"); - cc_reg_PH.Add("37", "Leyte"); - cc_reg_PH.Add("38", "Marinduque"); - cc_reg_PH.Add("39", "Masbate"); - cc_reg_PH.Add("40", "Mindoro Occidental"); - cc_reg_PH.Add("41", "Mindoro Oriental"); - cc_reg_PH.Add("42", "Misamis Occidental"); - cc_reg_PH.Add("43", "Misamis Oriental"); - cc_reg_PH.Add("44", "Mountain"); - cc_reg_PH.Add("45", "Negros Occidental"); - cc_reg_PH.Add("46", "Negros Oriental"); - cc_reg_PH.Add("47", "Nueva Ecija"); - cc_reg_PH.Add("48", "Nueva Vizcaya"); - cc_reg_PH.Add("49", "Palawan"); - cc_reg_PH.Add("50", "Pampanga"); - cc_reg_PH.Add("51", "Pangasinan"); - cc_reg_PH.Add("53", "Rizal"); - cc_reg_PH.Add("54", "Romblon"); - cc_reg_PH.Add("55", "Samar"); - cc_reg_PH.Add("56", "Maguindanao"); - cc_reg_PH.Add("57", "North Cotabato"); - cc_reg_PH.Add("58", "Sorsogon"); - cc_reg_PH.Add("59", "Southern Leyte"); - cc_reg_PH.Add("60", "Sulu"); - cc_reg_PH.Add("61", "Surigao del Norte"); - cc_reg_PH.Add("62", "Surigao del Sur"); - cc_reg_PH.Add("63", "Tarlac"); - cc_reg_PH.Add("64", "Zambales"); - cc_reg_PH.Add("65", "Zamboanga del Norte"); - cc_reg_PH.Add("66", "Zamboanga del Sur"); - cc_reg_PH.Add("67", "Northern Samar"); - cc_reg_PH.Add("68", "Quirino"); - cc_reg_PH.Add("69", "Siquijor"); - cc_reg_PH.Add("70", "South Cotabato"); - cc_reg_PH.Add("71", "Sultan Kudarat"); - cc_reg_PH.Add("72", "Tawitawi"); - cc_reg_PH.Add("A1", "Angeles"); - cc_reg_PH.Add("A2", "Bacolod"); - cc_reg_PH.Add("A3", "Bago"); - cc_reg_PH.Add("A4", "Baguio"); - cc_reg_PH.Add("A5", "Bais"); - cc_reg_PH.Add("A6", "Basilan City"); - cc_reg_PH.Add("A7", "Batangas City"); - cc_reg_PH.Add("A8", "Butuan"); - cc_reg_PH.Add("A9", "Cabanatuan"); - cc_reg_PH.Add("B1", "Cadiz"); - cc_reg_PH.Add("B2", "Cagayan de Oro"); - cc_reg_PH.Add("B3", "Calbayog"); - cc_reg_PH.Add("B4", "Caloocan"); - cc_reg_PH.Add("B5", "Canlaon"); - cc_reg_PH.Add("B6", "Cavite City"); - cc_reg_PH.Add("B7", "Cebu City"); - cc_reg_PH.Add("B8", "Cotabato"); - cc_reg_PH.Add("B9", "Dagupan"); - cc_reg_PH.Add("C1", "Danao"); - cc_reg_PH.Add("C2", "Dapitan"); - cc_reg_PH.Add("C3", "Davao City"); - cc_reg_PH.Add("C4", "Dipolog"); - cc_reg_PH.Add("C5", "Dumaguete"); - cc_reg_PH.Add("C6", "General Santos"); - cc_reg_PH.Add("C7", "Gingoog"); - cc_reg_PH.Add("C8", "Iligan"); - cc_reg_PH.Add("C9", "Iloilo City"); - cc_reg_PH.Add("D1", "Iriga"); - cc_reg_PH.Add("D2", "La Carlota"); - cc_reg_PH.Add("D3", "Laoag"); - cc_reg_PH.Add("D4", "Lapu-Lapu"); - cc_reg_PH.Add("D5", "Legaspi"); - cc_reg_PH.Add("D6", "Lipa"); - cc_reg_PH.Add("D7", "Lucena"); - cc_reg_PH.Add("D8", "Mandaue"); - cc_reg_PH.Add("D9", "Manila"); - cc_reg_PH.Add("E1", "Marawi"); - cc_reg_PH.Add("E2", "Naga"); - cc_reg_PH.Add("E3", "Olongapo"); - cc_reg_PH.Add("E4", "Ormoc"); - cc_reg_PH.Add("E5", "Oroquieta"); - cc_reg_PH.Add("E6", "Ozamis"); - cc_reg_PH.Add("E7", "Pagadian"); - cc_reg_PH.Add("E8", "Palayan"); - cc_reg_PH.Add("E9", "Pasay"); - cc_reg_PH.Add("F1", "Puerto Princesa"); - cc_reg_PH.Add("F2", "Quezon City"); - cc_reg_PH.Add("F3", "Roxas"); - cc_reg_PH.Add("F4", "San Carlos"); - cc_reg_PH.Add("F5", "San Carlos"); - cc_reg_PH.Add("F6", "San Jose"); - cc_reg_PH.Add("F7", "San Pablo"); - cc_reg_PH.Add("F8", "Silay"); - cc_reg_PH.Add("F9", "Surigao"); - cc_reg_PH.Add("G1", "Tacloban"); - cc_reg_PH.Add("G2", "Tagaytay"); - cc_reg_PH.Add("G3", "Tagbilaran"); - cc_reg_PH.Add("G4", "Tangub"); - cc_reg_PH.Add("G5", "Toledo"); - cc_reg_PH.Add("G6", "Trece Martires"); - cc_reg_PH.Add("G7", "Zamboanga"); - cc_reg_PH.Add("G8", "Aurora"); - cc_reg_PH.Add("H2", "Quezon"); - cc_reg_PH.Add("H3", "Negros Occidental"); - cc_reg_PH.Add("I6", "Compostela Valley"); - cc_reg_PH.Add("I7", "Davao del Norte"); - cc_reg_PH.Add("J7", "Kalinga"); - cc_reg_PH.Add("K6", "Malaybalay"); - cc_reg_PH.Add("M5", "San Jose del Monte"); - cc_reg_PH.Add("M6", "San Juan"); - cc_reg_PH.Add("M8", "Santiago"); - cc_reg_PH.Add("M9", "Sarangani"); - cc_reg_PH.Add("N1", "Sipalay"); - cc_reg_PH.Add("N3", "Surigao del Norte"); - cc_reg_PH.Add("P1", "Zambales"); - cc_reg_PH.Add("P2", "Zamboanga"); - GEOIP_REGION_NAME.Add("PH", cc_reg_PH ); - Hashtable cc_reg_PK = new Hashtable(); - cc_reg_PK.Add("01", "Federally Administered Tribal Areas"); - cc_reg_PK.Add("02", "Balochistan"); - cc_reg_PK.Add("03", "North-West Frontier"); - cc_reg_PK.Add("04", "Punjab"); - cc_reg_PK.Add("05", "Sindh"); - cc_reg_PK.Add("06", "Azad Kashmir"); - cc_reg_PK.Add("07", "Northern Areas"); - cc_reg_PK.Add("08", "Islamabad"); - GEOIP_REGION_NAME.Add("PK", cc_reg_PK ); - Hashtable cc_reg_PL = new Hashtable(); - cc_reg_PL.Add("72", "Dolnoslaskie"); - cc_reg_PL.Add("73", "Kujawsko-Pomorskie"); - cc_reg_PL.Add("74", "Lodzkie"); - cc_reg_PL.Add("75", "Lubelskie"); - cc_reg_PL.Add("76", "Lubuskie"); - cc_reg_PL.Add("77", "Malopolskie"); - cc_reg_PL.Add("78", "Mazowieckie"); - cc_reg_PL.Add("79", "Opolskie"); - cc_reg_PL.Add("80", "Podkarpackie"); - cc_reg_PL.Add("81", "Podlaskie"); - cc_reg_PL.Add("82", "Pomorskie"); - cc_reg_PL.Add("83", "Slaskie"); - cc_reg_PL.Add("84", "Swietokrzyskie"); - cc_reg_PL.Add("85", "Warminsko-Mazurskie"); - cc_reg_PL.Add("86", "Wielkopolskie"); - cc_reg_PL.Add("87", "Zachodniopomorskie"); - GEOIP_REGION_NAME.Add("PL", cc_reg_PL ); - Hashtable cc_reg_PS = new Hashtable(); - cc_reg_PS.Add("GZ", "Gaza"); - cc_reg_PS.Add("WE", "West Bank"); - GEOIP_REGION_NAME.Add("PS", cc_reg_PS ); - Hashtable cc_reg_PT = new Hashtable(); - cc_reg_PT.Add("02", "Aveiro"); - cc_reg_PT.Add("03", "Beja"); - cc_reg_PT.Add("04", "Braga"); - cc_reg_PT.Add("05", "Braganca"); - cc_reg_PT.Add("06", "Castelo Branco"); - cc_reg_PT.Add("07", "Coimbra"); - cc_reg_PT.Add("08", "Evora"); - cc_reg_PT.Add("09", "Faro"); - cc_reg_PT.Add("10", "Madeira"); - cc_reg_PT.Add("11", "Guarda"); - cc_reg_PT.Add("13", "Leiria"); - cc_reg_PT.Add("14", "Lisboa"); - cc_reg_PT.Add("16", "Portalegre"); - cc_reg_PT.Add("17", "Porto"); - cc_reg_PT.Add("18", "Santarem"); - cc_reg_PT.Add("19", "Setubal"); - cc_reg_PT.Add("20", "Viana do Castelo"); - cc_reg_PT.Add("21", "Vila Real"); - cc_reg_PT.Add("22", "Viseu"); - cc_reg_PT.Add("23", "Azores"); - GEOIP_REGION_NAME.Add("PT", cc_reg_PT ); - Hashtable cc_reg_PY = new Hashtable(); - cc_reg_PY.Add("01", "Alto Parana"); - cc_reg_PY.Add("02", "Amambay"); - cc_reg_PY.Add("03", "Boqueron"); - cc_reg_PY.Add("04", "Caaguazu"); - cc_reg_PY.Add("05", "Caazapa"); - cc_reg_PY.Add("06", "Central"); - cc_reg_PY.Add("07", "Concepcion"); - cc_reg_PY.Add("08", "Cordillera"); - cc_reg_PY.Add("10", "Guaira"); - cc_reg_PY.Add("11", "Itapua"); - cc_reg_PY.Add("12", "Misiones"); - cc_reg_PY.Add("13", "Neembucu"); - cc_reg_PY.Add("15", "Paraguari"); - cc_reg_PY.Add("16", "Presidente Hayes"); - cc_reg_PY.Add("17", "San Pedro"); - cc_reg_PY.Add("19", "Canindeyu"); - cc_reg_PY.Add("20", "Chaco"); - cc_reg_PY.Add("21", "Nueva Asuncion"); - cc_reg_PY.Add("23", "Alto Paraguay"); - GEOIP_REGION_NAME.Add("PY", cc_reg_PY ); - Hashtable cc_reg_QA = new Hashtable(); - cc_reg_QA.Add("01", "Ad Dawhah"); - cc_reg_QA.Add("02", "Al Ghuwariyah"); - cc_reg_QA.Add("03", "Al Jumaliyah"); - cc_reg_QA.Add("04", "Al Khawr"); - cc_reg_QA.Add("05", "Al Wakrah Municipality"); - cc_reg_QA.Add("06", "Ar Rayyan"); - cc_reg_QA.Add("08", "Madinat ach Shamal"); - cc_reg_QA.Add("09", "Umm Salal"); - cc_reg_QA.Add("10", "Al Wakrah"); - cc_reg_QA.Add("11", "Jariyan al Batnah"); - cc_reg_QA.Add("12", "Umm Sa'id"); - GEOIP_REGION_NAME.Add("QA", cc_reg_QA ); - Hashtable cc_reg_RO = new Hashtable(); - cc_reg_RO.Add("01", "Alba"); - cc_reg_RO.Add("02", "Arad"); - cc_reg_RO.Add("03", "Arges"); - cc_reg_RO.Add("04", "Bacau"); - cc_reg_RO.Add("05", "Bihor"); - cc_reg_RO.Add("06", "Bistrita-Nasaud"); - cc_reg_RO.Add("07", "Botosani"); - cc_reg_RO.Add("08", "Braila"); - cc_reg_RO.Add("09", "Brasov"); - cc_reg_RO.Add("10", "Bucuresti"); - cc_reg_RO.Add("11", "Buzau"); - cc_reg_RO.Add("12", "Caras-Severin"); - cc_reg_RO.Add("13", "Cluj"); - cc_reg_RO.Add("14", "Constanta"); - cc_reg_RO.Add("15", "Covasna"); - cc_reg_RO.Add("16", "Dambovita"); - cc_reg_RO.Add("17", "Dolj"); - cc_reg_RO.Add("18", "Galati"); - cc_reg_RO.Add("19", "Gorj"); - cc_reg_RO.Add("20", "Harghita"); - cc_reg_RO.Add("21", "Hunedoara"); - cc_reg_RO.Add("22", "Ialomita"); - cc_reg_RO.Add("23", "Iasi"); - cc_reg_RO.Add("25", "Maramures"); - cc_reg_RO.Add("26", "Mehedinti"); - cc_reg_RO.Add("27", "Mures"); - cc_reg_RO.Add("28", "Neamt"); - cc_reg_RO.Add("29", "Olt"); - cc_reg_RO.Add("30", "Prahova"); - cc_reg_RO.Add("31", "Salaj"); - cc_reg_RO.Add("32", "Satu Mare"); - cc_reg_RO.Add("33", "Sibiu"); - cc_reg_RO.Add("34", "Suceava"); - cc_reg_RO.Add("35", "Teleorman"); - cc_reg_RO.Add("36", "Timis"); - cc_reg_RO.Add("37", "Tulcea"); - cc_reg_RO.Add("38", "Vaslui"); - cc_reg_RO.Add("39", "Valcea"); - cc_reg_RO.Add("40", "Vrancea"); - cc_reg_RO.Add("41", "Calarasi"); - cc_reg_RO.Add("42", "Giurgiu"); - cc_reg_RO.Add("43", "Ilfov"); - GEOIP_REGION_NAME.Add("RO", cc_reg_RO ); - Hashtable cc_reg_RS = new Hashtable(); - cc_reg_RS.Add("01", "Kosovo"); - cc_reg_RS.Add("02", "Vojvodina"); - GEOIP_REGION_NAME.Add("RS", cc_reg_RS ); - Hashtable cc_reg_RU = new Hashtable(); - cc_reg_RU.Add("01", "Adygeya, Republic of"); - cc_reg_RU.Add("02", "Aginsky Buryatsky AO"); - cc_reg_RU.Add("03", "Gorno-Altay"); - cc_reg_RU.Add("04", "Altaisky krai"); - cc_reg_RU.Add("05", "Amur"); - cc_reg_RU.Add("06", "Arkhangel'sk"); - cc_reg_RU.Add("07", "Astrakhan'"); - cc_reg_RU.Add("08", "Bashkortostan"); - cc_reg_RU.Add("09", "Belgorod"); - cc_reg_RU.Add("10", "Bryansk"); - cc_reg_RU.Add("11", "Buryat"); - cc_reg_RU.Add("12", "Chechnya"); - cc_reg_RU.Add("13", "Chelyabinsk"); - cc_reg_RU.Add("14", "Chita"); - cc_reg_RU.Add("15", "Chukot"); - cc_reg_RU.Add("16", "Chuvashia"); - cc_reg_RU.Add("17", "Dagestan"); - cc_reg_RU.Add("18", "Evenk"); - cc_reg_RU.Add("19", "Ingush"); - cc_reg_RU.Add("20", "Irkutsk"); - cc_reg_RU.Add("21", "Ivanovo"); - cc_reg_RU.Add("22", "Kabardin-Balkar"); - cc_reg_RU.Add("23", "Kaliningrad"); - cc_reg_RU.Add("24", "Kalmyk"); - cc_reg_RU.Add("25", "Kaluga"); - cc_reg_RU.Add("26", "Kamchatka"); - cc_reg_RU.Add("27", "Karachay-Cherkess"); - cc_reg_RU.Add("28", "Karelia"); - cc_reg_RU.Add("29", "Kemerovo"); - cc_reg_RU.Add("30", "Khabarovsk"); - cc_reg_RU.Add("31", "Khakass"); - cc_reg_RU.Add("32", "Khanty-Mansiy"); - cc_reg_RU.Add("33", "Kirov"); - cc_reg_RU.Add("34", "Komi"); - cc_reg_RU.Add("35", "Komi-Permyak"); - cc_reg_RU.Add("36", "Koryak"); - cc_reg_RU.Add("37", "Kostroma"); - cc_reg_RU.Add("38", "Krasnodar"); - cc_reg_RU.Add("39", "Krasnoyarsk"); - cc_reg_RU.Add("40", "Kurgan"); - cc_reg_RU.Add("41", "Kursk"); - cc_reg_RU.Add("42", "Leningrad"); - cc_reg_RU.Add("43", "Lipetsk"); - cc_reg_RU.Add("44", "Magadan"); - cc_reg_RU.Add("45", "Mariy-El"); - cc_reg_RU.Add("46", "Mordovia"); - cc_reg_RU.Add("47", "Moskva"); - cc_reg_RU.Add("48", "Moscow City"); - cc_reg_RU.Add("49", "Murmansk"); - cc_reg_RU.Add("50", "Nenets"); - cc_reg_RU.Add("51", "Nizhegorod"); - cc_reg_RU.Add("52", "Novgorod"); - cc_reg_RU.Add("53", "Novosibirsk"); - cc_reg_RU.Add("54", "Omsk"); - cc_reg_RU.Add("55", "Orenburg"); - cc_reg_RU.Add("56", "Orel"); - cc_reg_RU.Add("57", "Penza"); - cc_reg_RU.Add("58", "Perm'"); - cc_reg_RU.Add("59", "Primor'ye"); - cc_reg_RU.Add("60", "Pskov"); - cc_reg_RU.Add("61", "Rostov"); - cc_reg_RU.Add("62", "Ryazan'"); - cc_reg_RU.Add("63", "Sakha"); - cc_reg_RU.Add("64", "Sakhalin"); - cc_reg_RU.Add("65", "Samara"); - cc_reg_RU.Add("66", "Saint Petersburg City"); - cc_reg_RU.Add("67", "Saratov"); - cc_reg_RU.Add("68", "North Ossetia"); - cc_reg_RU.Add("69", "Smolensk"); - cc_reg_RU.Add("70", "Stavropol'"); - cc_reg_RU.Add("71", "Sverdlovsk"); - cc_reg_RU.Add("72", "Tambovskaya oblast"); - cc_reg_RU.Add("73", "Tatarstan"); - cc_reg_RU.Add("74", "Taymyr"); - cc_reg_RU.Add("75", "Tomsk"); - cc_reg_RU.Add("76", "Tula"); - cc_reg_RU.Add("77", "Tver'"); - cc_reg_RU.Add("78", "Tyumen'"); - cc_reg_RU.Add("79", "Tuva"); - cc_reg_RU.Add("80", "Udmurt"); - cc_reg_RU.Add("81", "Ul'yanovsk"); - cc_reg_RU.Add("82", "Ust-Orda Buryat"); - cc_reg_RU.Add("83", "Vladimir"); - cc_reg_RU.Add("84", "Volgograd"); - cc_reg_RU.Add("85", "Vologda"); - cc_reg_RU.Add("86", "Voronezh"); - cc_reg_RU.Add("87", "Yamal-Nenets"); - cc_reg_RU.Add("88", "Yaroslavl'"); - cc_reg_RU.Add("89", "Yevrey"); - cc_reg_RU.Add("90", "Permskiy Kray"); - cc_reg_RU.Add("91", "Krasnoyarskiy Kray"); - cc_reg_RU.Add("92", "Kamchatskiy Kray"); - cc_reg_RU.Add("93", "Zabaykal'skiy Kray"); - GEOIP_REGION_NAME.Add("RU", cc_reg_RU ); - Hashtable cc_reg_RW = new Hashtable(); - cc_reg_RW.Add("01", "Butare"); - cc_reg_RW.Add("06", "Gitarama"); - cc_reg_RW.Add("07", "Kibungo"); - cc_reg_RW.Add("09", "Kigali"); - cc_reg_RW.Add("11", "Est"); - cc_reg_RW.Add("12", "Kigali"); - cc_reg_RW.Add("13", "Nord"); - cc_reg_RW.Add("14", "Ouest"); - cc_reg_RW.Add("15", "Sud"); - GEOIP_REGION_NAME.Add("RW", cc_reg_RW ); - Hashtable cc_reg_SA = new Hashtable(); - cc_reg_SA.Add("02", "Al Bahah"); - cc_reg_SA.Add("05", "Al Madinah"); - cc_reg_SA.Add("06", "Ash Sharqiyah"); - cc_reg_SA.Add("08", "Al Qasim"); - cc_reg_SA.Add("10", "Ar Riyad"); - cc_reg_SA.Add("11", "Asir Province"); - cc_reg_SA.Add("13", "Ha'il"); - cc_reg_SA.Add("14", "Makkah"); - cc_reg_SA.Add("15", "Al Hudud ash Shamaliyah"); - cc_reg_SA.Add("16", "Najran"); - cc_reg_SA.Add("17", "Jizan"); - cc_reg_SA.Add("19", "Tabuk"); - cc_reg_SA.Add("20", "Al Jawf"); - GEOIP_REGION_NAME.Add("SA", cc_reg_SA ); - Hashtable cc_reg_SB = new Hashtable(); - cc_reg_SB.Add("03", "Malaita"); - cc_reg_SB.Add("06", "Guadalcanal"); - cc_reg_SB.Add("07", "Isabel"); - cc_reg_SB.Add("08", "Makira"); - cc_reg_SB.Add("09", "Temotu"); - cc_reg_SB.Add("10", "Central"); - cc_reg_SB.Add("11", "Western"); - cc_reg_SB.Add("12", "Choiseul"); - cc_reg_SB.Add("13", "Rennell and Bellona"); - GEOIP_REGION_NAME.Add("SB", cc_reg_SB ); - Hashtable cc_reg_SC = new Hashtable(); - cc_reg_SC.Add("01", "Anse aux Pins"); - cc_reg_SC.Add("02", "Anse Boileau"); - cc_reg_SC.Add("03", "Anse Etoile"); - cc_reg_SC.Add("04", "Anse Louis"); - cc_reg_SC.Add("05", "Anse Royale"); - cc_reg_SC.Add("06", "Baie Lazare"); - cc_reg_SC.Add("07", "Baie Sainte Anne"); - cc_reg_SC.Add("08", "Beau Vallon"); - cc_reg_SC.Add("09", "Bel Air"); - cc_reg_SC.Add("10", "Bel Ombre"); - cc_reg_SC.Add("11", "Cascade"); - cc_reg_SC.Add("12", "Glacis"); - cc_reg_SC.Add("13", "Grand' Anse"); - cc_reg_SC.Add("14", "Grand' Anse"); - cc_reg_SC.Add("15", "La Digue"); - cc_reg_SC.Add("16", "La Riviere Anglaise"); - cc_reg_SC.Add("17", "Mont Buxton"); - cc_reg_SC.Add("18", "Mont Fleuri"); - cc_reg_SC.Add("19", "Plaisance"); - cc_reg_SC.Add("20", "Pointe La Rue"); - cc_reg_SC.Add("21", "Port Glaud"); - cc_reg_SC.Add("22", "Saint Louis"); - cc_reg_SC.Add("23", "Takamaka"); - GEOIP_REGION_NAME.Add("SC", cc_reg_SC ); - Hashtable cc_reg_SD = new Hashtable(); - cc_reg_SD.Add("27", "Al Wusta"); - cc_reg_SD.Add("28", "Al Istiwa'iyah"); - cc_reg_SD.Add("29", "Al Khartum"); - cc_reg_SD.Add("30", "Ash Shamaliyah"); - cc_reg_SD.Add("31", "Ash Sharqiyah"); - cc_reg_SD.Add("32", "Bahr al Ghazal"); - cc_reg_SD.Add("33", "Darfur"); - cc_reg_SD.Add("34", "Kurdufan"); - cc_reg_SD.Add("35", "Upper Nile"); - cc_reg_SD.Add("40", "Al Wahadah State"); - cc_reg_SD.Add("44", "Central Equatoria State"); - GEOIP_REGION_NAME.Add("SD", cc_reg_SD ); - Hashtable cc_reg_SE = new Hashtable(); - cc_reg_SE.Add("02", "Blekinge Lan"); - cc_reg_SE.Add("03", "Gavleborgs Lan"); - cc_reg_SE.Add("05", "Gotlands Lan"); - cc_reg_SE.Add("06", "Hallands Lan"); - cc_reg_SE.Add("07", "Jamtlands Lan"); - cc_reg_SE.Add("08", "Jonkopings Lan"); - cc_reg_SE.Add("09", "Kalmar Lan"); - cc_reg_SE.Add("10", "Dalarnas Lan"); - cc_reg_SE.Add("12", "Kronobergs Lan"); - cc_reg_SE.Add("14", "Norrbottens Lan"); - cc_reg_SE.Add("15", "Orebro Lan"); - cc_reg_SE.Add("16", "Ostergotlands Lan"); - cc_reg_SE.Add("18", "Sodermanlands Lan"); - cc_reg_SE.Add("21", "Uppsala Lan"); - cc_reg_SE.Add("22", "Varmlands Lan"); - cc_reg_SE.Add("23", "Vasterbottens Lan"); - cc_reg_SE.Add("24", "Vasternorrlands Lan"); - cc_reg_SE.Add("25", "Vastmanlands Lan"); - cc_reg_SE.Add("26", "Stockholms Lan"); - cc_reg_SE.Add("27", "Skane Lan"); - cc_reg_SE.Add("28", "Vastra Gotaland"); - GEOIP_REGION_NAME.Add("SE", cc_reg_SE ); - Hashtable cc_reg_SH = new Hashtable(); - cc_reg_SH.Add("01", "Ascension"); - cc_reg_SH.Add("02", "Saint Helena"); - cc_reg_SH.Add("03", "Tristan da Cunha"); - GEOIP_REGION_NAME.Add("SH", cc_reg_SH ); - Hashtable cc_reg_SI = new Hashtable(); - cc_reg_SI.Add("01", "Ajdovscina Commune"); - cc_reg_SI.Add("02", "Beltinci Commune"); - cc_reg_SI.Add("03", "Bled Commune"); - cc_reg_SI.Add("04", "Bohinj Commune"); - cc_reg_SI.Add("05", "Borovnica Commune"); - cc_reg_SI.Add("06", "Bovec Commune"); - cc_reg_SI.Add("07", "Brda Commune"); - cc_reg_SI.Add("08", "Brezice Commune"); - cc_reg_SI.Add("09", "Brezovica Commune"); - cc_reg_SI.Add("11", "Celje Commune"); - cc_reg_SI.Add("12", "Cerklje na Gorenjskem Commune"); - cc_reg_SI.Add("13", "Cerknica Commune"); - cc_reg_SI.Add("14", "Cerkno Commune"); - cc_reg_SI.Add("15", "Crensovci Commune"); - cc_reg_SI.Add("16", "Crna na Koroskem Commune"); - cc_reg_SI.Add("17", "Crnomelj Commune"); - cc_reg_SI.Add("19", "Divaca Commune"); - cc_reg_SI.Add("20", "Dobrepolje Commune"); - cc_reg_SI.Add("22", "Dol pri Ljubljani Commune"); - cc_reg_SI.Add("24", "Dornava Commune"); - cc_reg_SI.Add("25", "Dravograd Commune"); - cc_reg_SI.Add("26", "Duplek Commune"); - cc_reg_SI.Add("27", "Gorenja vas-Poljane Commune"); - cc_reg_SI.Add("28", "Gorisnica Commune"); - cc_reg_SI.Add("29", "Gornja Radgona Commune"); - cc_reg_SI.Add("30", "Gornji Grad Commune"); - cc_reg_SI.Add("31", "Gornji Petrovci Commune"); - cc_reg_SI.Add("32", "Grosuplje Commune"); - cc_reg_SI.Add("34", "Hrastnik Commune"); - cc_reg_SI.Add("35", "Hrpelje-Kozina Commune"); - cc_reg_SI.Add("36", "Idrija Commune"); - cc_reg_SI.Add("37", "Ig Commune"); - cc_reg_SI.Add("38", "Ilirska Bistrica Commune"); - cc_reg_SI.Add("39", "Ivancna Gorica Commune"); - cc_reg_SI.Add("40", "Izola-Isola Commune"); - cc_reg_SI.Add("42", "Jursinci Commune"); - cc_reg_SI.Add("44", "Kanal Commune"); - cc_reg_SI.Add("45", "Kidricevo Commune"); - cc_reg_SI.Add("46", "Kobarid Commune"); - cc_reg_SI.Add("47", "Kobilje Commune"); - cc_reg_SI.Add("49", "Komen Commune"); - cc_reg_SI.Add("50", "Koper-Capodistria Urban Commune"); - cc_reg_SI.Add("51", "Kozje Commune"); - cc_reg_SI.Add("52", "Kranj Commune"); - cc_reg_SI.Add("53", "Kranjska Gora Commune"); - cc_reg_SI.Add("54", "Krsko Commune"); - cc_reg_SI.Add("55", "Kungota Commune"); - cc_reg_SI.Add("57", "Lasko Commune"); - cc_reg_SI.Add("61", "Ljubljana Urban Commune"); - cc_reg_SI.Add("62", "Ljubno Commune"); - cc_reg_SI.Add("64", "Logatec Commune"); - cc_reg_SI.Add("66", "Loski Potok Commune"); - cc_reg_SI.Add("68", "Lukovica Commune"); - cc_reg_SI.Add("71", "Medvode Commune"); - cc_reg_SI.Add("72", "Menges Commune"); - cc_reg_SI.Add("73", "Metlika Commune"); - cc_reg_SI.Add("74", "Mezica Commune"); - cc_reg_SI.Add("76", "Mislinja Commune"); - cc_reg_SI.Add("77", "Moravce Commune"); - cc_reg_SI.Add("78", "Moravske Toplice Commune"); - cc_reg_SI.Add("79", "Mozirje Commune"); - cc_reg_SI.Add("80", "Murska Sobota Urban Commune"); - cc_reg_SI.Add("81", "Muta Commune"); - cc_reg_SI.Add("82", "Naklo Commune"); - cc_reg_SI.Add("83", "Nazarje Commune"); - cc_reg_SI.Add("84", "Nova Gorica Urban Commune"); - cc_reg_SI.Add("86", "Odranci Commune"); - cc_reg_SI.Add("87", "Ormoz Commune"); - cc_reg_SI.Add("88", "Osilnica Commune"); - cc_reg_SI.Add("89", "Pesnica Commune"); - cc_reg_SI.Add("91", "Pivka Commune"); - cc_reg_SI.Add("92", "Podcetrtek Commune"); - cc_reg_SI.Add("94", "Postojna Commune"); - cc_reg_SI.Add("97", "Puconci Commune"); - cc_reg_SI.Add("98", "Race-Fram Commune"); - cc_reg_SI.Add("99", "Radece Commune"); - cc_reg_SI.Add("A1", "Radenci Commune"); - cc_reg_SI.Add("A2", "Radlje ob Dravi Commune"); - cc_reg_SI.Add("A3", "Radovljica Commune"); - cc_reg_SI.Add("A6", "Rogasovci Commune"); - cc_reg_SI.Add("A7", "Rogaska Slatina Commune"); - cc_reg_SI.Add("A8", "Rogatec Commune"); - cc_reg_SI.Add("B1", "Semic Commune"); - cc_reg_SI.Add("B2", "Sencur Commune"); - cc_reg_SI.Add("B3", "Sentilj Commune"); - cc_reg_SI.Add("B4", "Sentjernej Commune"); - cc_reg_SI.Add("B6", "Sevnica Commune"); - cc_reg_SI.Add("B7", "Sezana Commune"); - cc_reg_SI.Add("B8", "Skocjan Commune"); - cc_reg_SI.Add("B9", "Skofja Loka Commune"); - cc_reg_SI.Add("C1", "Skofljica Commune"); - cc_reg_SI.Add("C2", "Slovenj Gradec Urban Commune"); - cc_reg_SI.Add("C4", "Slovenske Konjice Commune"); - cc_reg_SI.Add("C5", "Smarje pri Jelsah Commune"); - cc_reg_SI.Add("C6", "Smartno ob Paki Commune"); - cc_reg_SI.Add("C7", "Sostanj Commune"); - cc_reg_SI.Add("C8", "Starse Commune"); - cc_reg_SI.Add("C9", "Store Commune"); - cc_reg_SI.Add("D1", "Sveti Jurij Commune"); - cc_reg_SI.Add("D2", "Tolmin Commune"); - cc_reg_SI.Add("D3", "Trbovlje Commune"); - cc_reg_SI.Add("D4", "Trebnje Commune"); - cc_reg_SI.Add("D5", "Trzic Commune"); - cc_reg_SI.Add("D6", "Turnisce Commune"); - cc_reg_SI.Add("D7", "Velenje Urban Commune"); - cc_reg_SI.Add("D8", "Velike Lasce Commune"); - cc_reg_SI.Add("E1", "Vipava Commune"); - cc_reg_SI.Add("E2", "Vitanje Commune"); - cc_reg_SI.Add("E3", "Vodice Commune"); - cc_reg_SI.Add("E5", "Vrhnika Commune"); - cc_reg_SI.Add("E6", "Vuzenica Commune"); - cc_reg_SI.Add("E7", "Zagorje ob Savi Commune"); - cc_reg_SI.Add("E9", "Zavrc Commune"); - cc_reg_SI.Add("F1", "Zelezniki Commune"); - cc_reg_SI.Add("F2", "Ziri Commune"); - cc_reg_SI.Add("F3", "Zrece Commune"); - cc_reg_SI.Add("F4", "Benedikt Commune"); - cc_reg_SI.Add("F5", "Bistrica ob Sotli Commune"); - cc_reg_SI.Add("F6", "Bloke Commune"); - cc_reg_SI.Add("F7", "Braslovce Commune"); - cc_reg_SI.Add("F8", "Cankova Commune"); - cc_reg_SI.Add("F9", "Cerkvenjak Commune"); - cc_reg_SI.Add("G1", "Destrnik Commune"); - cc_reg_SI.Add("G2", "Dobje Commune"); - cc_reg_SI.Add("G3", "Dobrna Commune"); - cc_reg_SI.Add("G4", "Dobrova-Horjul-Polhov Gradec Commune"); - cc_reg_SI.Add("G5", "Dobrovnik-Dobronak Commune"); - cc_reg_SI.Add("G6", "Dolenjske Toplice Commune"); - cc_reg_SI.Add("G7", "Domzale Commune"); - cc_reg_SI.Add("G8", "Grad Commune"); - cc_reg_SI.Add("G9", "Hajdina Commune"); - cc_reg_SI.Add("H1", "Hoce-Slivnica Commune"); - cc_reg_SI.Add("H2", "Hodos-Hodos Commune"); - cc_reg_SI.Add("H3", "Horjul Commune"); - cc_reg_SI.Add("H4", "Jesenice Commune"); - cc_reg_SI.Add("H5", "Jezersko Commune"); - cc_reg_SI.Add("H6", "Kamnik Commune"); - cc_reg_SI.Add("H7", "Kocevje Commune"); - cc_reg_SI.Add("H8", "Komenda Commune"); - cc_reg_SI.Add("H9", "Kostel Commune"); - cc_reg_SI.Add("I1", "Krizevci Commune"); - cc_reg_SI.Add("I2", "Kuzma Commune"); - cc_reg_SI.Add("I3", "Lenart Commune"); - cc_reg_SI.Add("I4", "Lendava-Lendva Commune"); - cc_reg_SI.Add("I5", "Litija Commune"); - cc_reg_SI.Add("I6", "Ljutomer Commune"); - cc_reg_SI.Add("I7", "Loska Dolina Commune"); - cc_reg_SI.Add("I8", "Lovrenc na Pohorju Commune"); - cc_reg_SI.Add("I9", "Luce Commune"); - cc_reg_SI.Add("J1", "Majsperk Commune"); - cc_reg_SI.Add("J2", "Maribor Commune"); - cc_reg_SI.Add("J3", "Markovci Commune"); - cc_reg_SI.Add("J4", "Miklavz na Dravskem polju Commune"); - cc_reg_SI.Add("J5", "Miren-Kostanjevica Commune"); - cc_reg_SI.Add("J6", "Mirna Pec Commune"); - cc_reg_SI.Add("J7", "Novo mesto Urban Commune"); - cc_reg_SI.Add("J8", "Oplotnica Commune"); - cc_reg_SI.Add("J9", "Piran-Pirano Commune"); - cc_reg_SI.Add("K1", "Podlehnik Commune"); - cc_reg_SI.Add("K2", "Podvelka Commune"); - cc_reg_SI.Add("K3", "Polzela Commune"); - cc_reg_SI.Add("K4", "Prebold Commune"); - cc_reg_SI.Add("K5", "Preddvor Commune"); - cc_reg_SI.Add("K6", "Prevalje Commune"); - cc_reg_SI.Add("K7", "Ptuj Urban Commune"); - cc_reg_SI.Add("K8", "Ravne na Koroskem Commune"); - cc_reg_SI.Add("K9", "Razkrizje Commune"); - cc_reg_SI.Add("L1", "Ribnica Commune"); - cc_reg_SI.Add("L2", "Ribnica na Pohorju Commune"); - cc_reg_SI.Add("L3", "Ruse Commune"); - cc_reg_SI.Add("L4", "Salovci Commune"); - cc_reg_SI.Add("L5", "Selnica ob Dravi Commune"); - cc_reg_SI.Add("L6", "Sempeter-Vrtojba Commune"); - cc_reg_SI.Add("L7", "Sentjur pri Celju Commune"); - cc_reg_SI.Add("L8", "Slovenska Bistrica Commune"); - cc_reg_SI.Add("L9", "Smartno pri Litiji Commune"); - cc_reg_SI.Add("M1", "Sodrazica Commune"); - cc_reg_SI.Add("M2", "Solcava Commune"); - cc_reg_SI.Add("M3", "Sveta Ana Commune"); - cc_reg_SI.Add("M4", "Sveti Andraz v Slovenskih goricah Commune"); - cc_reg_SI.Add("M5", "Tabor Commune"); - cc_reg_SI.Add("M6", "Tisina Commune"); - cc_reg_SI.Add("M7", "Trnovska vas Commune"); - cc_reg_SI.Add("M8", "Trzin Commune"); - cc_reg_SI.Add("M9", "Velika Polana Commune"); - cc_reg_SI.Add("N1", "Verzej Commune"); - cc_reg_SI.Add("N2", "Videm Commune"); - cc_reg_SI.Add("N3", "Vojnik Commune"); - cc_reg_SI.Add("N4", "Vransko Commune"); - cc_reg_SI.Add("N5", "Zalec Commune"); - cc_reg_SI.Add("N6", "Zetale Commune"); - cc_reg_SI.Add("N7", "Zirovnica Commune"); - cc_reg_SI.Add("N8", "Zuzemberk Commune"); - cc_reg_SI.Add("N9", "Apace Commune"); - cc_reg_SI.Add("O1", "Cirkulane Commune"); - GEOIP_REGION_NAME.Add("SI", cc_reg_SI ); - Hashtable cc_reg_SK = new Hashtable(); - cc_reg_SK.Add("01", "Banska Bystrica"); - cc_reg_SK.Add("02", "Bratislava"); - cc_reg_SK.Add("03", "Kosice"); - cc_reg_SK.Add("04", "Nitra"); - cc_reg_SK.Add("05", "Presov"); - cc_reg_SK.Add("06", "Trencin"); - cc_reg_SK.Add("07", "Trnava"); - cc_reg_SK.Add("08", "Zilina"); - GEOIP_REGION_NAME.Add("SK", cc_reg_SK ); - Hashtable cc_reg_SL = new Hashtable(); - cc_reg_SL.Add("01", "Eastern"); - cc_reg_SL.Add("02", "Northern"); - cc_reg_SL.Add("03", "Southern"); - cc_reg_SL.Add("04", "Western Area"); - GEOIP_REGION_NAME.Add("SL", cc_reg_SL ); - Hashtable cc_reg_SM = new Hashtable(); - cc_reg_SM.Add("01", "Acquaviva"); - cc_reg_SM.Add("02", "Chiesanuova"); - cc_reg_SM.Add("03", "Domagnano"); - cc_reg_SM.Add("04", "Faetano"); - cc_reg_SM.Add("05", "Fiorentino"); - cc_reg_SM.Add("06", "Borgo Maggiore"); - cc_reg_SM.Add("07", "San Marino"); - cc_reg_SM.Add("08", "Monte Giardino"); - cc_reg_SM.Add("09", "Serravalle"); - GEOIP_REGION_NAME.Add("SM", cc_reg_SM ); - Hashtable cc_reg_SN = new Hashtable(); - cc_reg_SN.Add("01", "Dakar"); - cc_reg_SN.Add("03", "Diourbel"); - cc_reg_SN.Add("05", "Tambacounda"); - cc_reg_SN.Add("07", "Thies"); - cc_reg_SN.Add("09", "Fatick"); - cc_reg_SN.Add("10", "Kaolack"); - cc_reg_SN.Add("11", "Kolda"); - cc_reg_SN.Add("12", "Ziguinchor"); - cc_reg_SN.Add("13", "Louga"); - cc_reg_SN.Add("14", "Saint-Louis"); - cc_reg_SN.Add("15", "Matam"); - GEOIP_REGION_NAME.Add("SN", cc_reg_SN ); - Hashtable cc_reg_SO = new Hashtable(); - cc_reg_SO.Add("01", "Bakool"); - cc_reg_SO.Add("02", "Banaadir"); - cc_reg_SO.Add("03", "Bari"); - cc_reg_SO.Add("04", "Bay"); - cc_reg_SO.Add("05", "Galguduud"); - cc_reg_SO.Add("06", "Gedo"); - cc_reg_SO.Add("07", "Hiiraan"); - cc_reg_SO.Add("08", "Jubbada Dhexe"); - cc_reg_SO.Add("09", "Jubbada Hoose"); - cc_reg_SO.Add("10", "Mudug"); - cc_reg_SO.Add("11", "Nugaal"); - cc_reg_SO.Add("12", "Sanaag"); - cc_reg_SO.Add("13", "Shabeellaha Dhexe"); - cc_reg_SO.Add("14", "Shabeellaha Hoose"); - cc_reg_SO.Add("16", "Woqooyi Galbeed"); - cc_reg_SO.Add("18", "Nugaal"); - cc_reg_SO.Add("19", "Togdheer"); - cc_reg_SO.Add("20", "Woqooyi Galbeed"); - cc_reg_SO.Add("21", "Awdal"); - cc_reg_SO.Add("22", "Sool"); - GEOIP_REGION_NAME.Add("SO", cc_reg_SO ); - Hashtable cc_reg_SR = new Hashtable(); - cc_reg_SR.Add("10", "Brokopondo"); - cc_reg_SR.Add("11", "Commewijne"); - cc_reg_SR.Add("12", "Coronie"); - cc_reg_SR.Add("13", "Marowijne"); - cc_reg_SR.Add("14", "Nickerie"); - cc_reg_SR.Add("15", "Para"); - cc_reg_SR.Add("16", "Paramaribo"); - cc_reg_SR.Add("17", "Saramacca"); - cc_reg_SR.Add("18", "Sipaliwini"); - cc_reg_SR.Add("19", "Wanica"); - GEOIP_REGION_NAME.Add("SR", cc_reg_SR ); - Hashtable cc_reg_SS = new Hashtable(); - cc_reg_SS.Add("01", "Central Equatoria"); - cc_reg_SS.Add("02", "Eastern Equatoria"); - cc_reg_SS.Add("03", "Jonglei"); - cc_reg_SS.Add("04", "Lakes"); - cc_reg_SS.Add("05", "Northern Bahr el Ghazal"); - cc_reg_SS.Add("06", "Unity"); - cc_reg_SS.Add("07", "Upper Nile"); - cc_reg_SS.Add("08", "Warrap"); - cc_reg_SS.Add("09", "Western Bahr el Ghazal"); - cc_reg_SS.Add("10", "Western Equatoria"); - GEOIP_REGION_NAME.Add("SS", cc_reg_SS ); - Hashtable cc_reg_ST = new Hashtable(); - cc_reg_ST.Add("01", "Principe"); - cc_reg_ST.Add("02", "Sao Tome"); - GEOIP_REGION_NAME.Add("ST", cc_reg_ST ); - Hashtable cc_reg_SV = new Hashtable(); - cc_reg_SV.Add("01", "Ahuachapan"); - cc_reg_SV.Add("02", "Cabanas"); - cc_reg_SV.Add("03", "Chalatenango"); - cc_reg_SV.Add("04", "Cuscatlan"); - cc_reg_SV.Add("05", "La Libertad"); - cc_reg_SV.Add("06", "La Paz"); - cc_reg_SV.Add("07", "La Union"); - cc_reg_SV.Add("08", "Morazan"); - cc_reg_SV.Add("09", "San Miguel"); - cc_reg_SV.Add("10", "San Salvador"); - cc_reg_SV.Add("11", "Santa Ana"); - cc_reg_SV.Add("12", "San Vicente"); - cc_reg_SV.Add("13", "Sonsonate"); - cc_reg_SV.Add("14", "Usulutan"); - GEOIP_REGION_NAME.Add("SV", cc_reg_SV ); - Hashtable cc_reg_SY = new Hashtable(); - cc_reg_SY.Add("01", "Al Hasakah"); - cc_reg_SY.Add("02", "Al Ladhiqiyah"); - cc_reg_SY.Add("03", "Al Qunaytirah"); - cc_reg_SY.Add("04", "Ar Raqqah"); - cc_reg_SY.Add("05", "As Suwayda'"); - cc_reg_SY.Add("06", "Dar"); - cc_reg_SY.Add("07", "Dayr az Zawr"); - cc_reg_SY.Add("08", "Rif Dimashq"); - cc_reg_SY.Add("09", "Halab"); - cc_reg_SY.Add("10", "Hamah"); - cc_reg_SY.Add("11", "Hims"); - cc_reg_SY.Add("12", "Idlib"); - cc_reg_SY.Add("13", "Dimashq"); - cc_reg_SY.Add("14", "Tartus"); - GEOIP_REGION_NAME.Add("SY", cc_reg_SY ); - Hashtable cc_reg_SZ = new Hashtable(); - cc_reg_SZ.Add("01", "Hhohho"); - cc_reg_SZ.Add("02", "Lubombo"); - cc_reg_SZ.Add("03", "Manzini"); - cc_reg_SZ.Add("04", "Shiselweni"); - cc_reg_SZ.Add("05", "Praslin"); - GEOIP_REGION_NAME.Add("SZ", cc_reg_SZ ); - Hashtable cc_reg_TD = new Hashtable(); - cc_reg_TD.Add("01", "Batha"); - cc_reg_TD.Add("02", "Biltine"); - cc_reg_TD.Add("03", "Borkou-Ennedi-Tibesti"); - cc_reg_TD.Add("04", "Chari-Baguirmi"); - cc_reg_TD.Add("05", "Guera"); - cc_reg_TD.Add("06", "Kanem"); - cc_reg_TD.Add("07", "Lac"); - cc_reg_TD.Add("08", "Logone Occidental"); - cc_reg_TD.Add("09", "Logone Oriental"); - cc_reg_TD.Add("10", "Mayo-Kebbi"); - cc_reg_TD.Add("11", "Moyen-Chari"); - cc_reg_TD.Add("12", "Ouaddai"); - cc_reg_TD.Add("13", "Salamat"); - cc_reg_TD.Add("14", "Tandjile"); - GEOIP_REGION_NAME.Add("TD", cc_reg_TD ); - Hashtable cc_reg_TG = new Hashtable(); - cc_reg_TG.Add("22", "Centrale"); - cc_reg_TG.Add("23", "Kara"); - cc_reg_TG.Add("24", "Maritime"); - cc_reg_TG.Add("25", "Plateaux"); - cc_reg_TG.Add("26", "Savanes"); - GEOIP_REGION_NAME.Add("TG", cc_reg_TG ); - Hashtable cc_reg_TH = new Hashtable(); - cc_reg_TH.Add("01", "Mae Hong Son"); - cc_reg_TH.Add("02", "Chiang Mai"); - cc_reg_TH.Add("03", "Chiang Rai"); - cc_reg_TH.Add("04", "Nan"); - cc_reg_TH.Add("05", "Lamphun"); - cc_reg_TH.Add("06", "Lampang"); - cc_reg_TH.Add("07", "Phrae"); - cc_reg_TH.Add("08", "Tak"); - cc_reg_TH.Add("09", "Sukhothai"); - cc_reg_TH.Add("10", "Uttaradit"); - cc_reg_TH.Add("11", "Kamphaeng Phet"); - cc_reg_TH.Add("12", "Phitsanulok"); - cc_reg_TH.Add("13", "Phichit"); - cc_reg_TH.Add("14", "Phetchabun"); - cc_reg_TH.Add("15", "Uthai Thani"); - cc_reg_TH.Add("16", "Nakhon Sawan"); - cc_reg_TH.Add("17", "Nong Khai"); - cc_reg_TH.Add("18", "Loei"); - cc_reg_TH.Add("20", "Sakon Nakhon"); - cc_reg_TH.Add("21", "Nakhon Phanom"); - cc_reg_TH.Add("22", "Khon Kaen"); - cc_reg_TH.Add("23", "Kalasin"); - cc_reg_TH.Add("24", "Maha Sarakham"); - cc_reg_TH.Add("25", "Roi Et"); - cc_reg_TH.Add("26", "Chaiyaphum"); - cc_reg_TH.Add("27", "Nakhon Ratchasima"); - cc_reg_TH.Add("28", "Buriram"); - cc_reg_TH.Add("29", "Surin"); - cc_reg_TH.Add("30", "Sisaket"); - cc_reg_TH.Add("31", "Narathiwat"); - cc_reg_TH.Add("32", "Chai Nat"); - cc_reg_TH.Add("33", "Sing Buri"); - cc_reg_TH.Add("34", "Lop Buri"); - cc_reg_TH.Add("35", "Ang Thong"); - cc_reg_TH.Add("36", "Phra Nakhon Si Ayutthaya"); - cc_reg_TH.Add("37", "Saraburi"); - cc_reg_TH.Add("38", "Nonthaburi"); - cc_reg_TH.Add("39", "Pathum Thani"); - cc_reg_TH.Add("40", "Krung Thep"); - cc_reg_TH.Add("41", "Phayao"); - cc_reg_TH.Add("42", "Samut Prakan"); - cc_reg_TH.Add("43", "Nakhon Nayok"); - cc_reg_TH.Add("44", "Chachoengsao"); - cc_reg_TH.Add("45", "Prachin Buri"); - cc_reg_TH.Add("46", "Chon Buri"); - cc_reg_TH.Add("47", "Rayong"); - cc_reg_TH.Add("48", "Chanthaburi"); - cc_reg_TH.Add("49", "Trat"); - cc_reg_TH.Add("50", "Kanchanaburi"); - cc_reg_TH.Add("51", "Suphan Buri"); - cc_reg_TH.Add("52", "Ratchaburi"); - cc_reg_TH.Add("53", "Nakhon Pathom"); - cc_reg_TH.Add("54", "Samut Songkhram"); - cc_reg_TH.Add("55", "Samut Sakhon"); - cc_reg_TH.Add("56", "Phetchaburi"); - cc_reg_TH.Add("57", "Prachuap Khiri Khan"); - cc_reg_TH.Add("58", "Chumphon"); - cc_reg_TH.Add("59", "Ranong"); - cc_reg_TH.Add("60", "Surat Thani"); - cc_reg_TH.Add("61", "Phangnga"); - cc_reg_TH.Add("62", "Phuket"); - cc_reg_TH.Add("63", "Krabi"); - cc_reg_TH.Add("64", "Nakhon Si Thammarat"); - cc_reg_TH.Add("65", "Trang"); - cc_reg_TH.Add("66", "Phatthalung"); - cc_reg_TH.Add("67", "Satun"); - cc_reg_TH.Add("68", "Songkhla"); - cc_reg_TH.Add("69", "Pattani"); - cc_reg_TH.Add("70", "Yala"); - cc_reg_TH.Add("71", "Ubon Ratchathani"); - cc_reg_TH.Add("72", "Yasothon"); - cc_reg_TH.Add("73", "Nakhon Phanom"); - cc_reg_TH.Add("74", "Prachin Buri"); - cc_reg_TH.Add("75", "Ubon Ratchathani"); - cc_reg_TH.Add("76", "Udon Thani"); - cc_reg_TH.Add("77", "Amnat Charoen"); - cc_reg_TH.Add("78", "Mukdahan"); - cc_reg_TH.Add("79", "Nong Bua Lamphu"); - cc_reg_TH.Add("80", "Sa Kaeo"); - GEOIP_REGION_NAME.Add("TH", cc_reg_TH ); - Hashtable cc_reg_TJ = new Hashtable(); - cc_reg_TJ.Add("01", "Kuhistoni Badakhshon"); - cc_reg_TJ.Add("02", "Khatlon"); - cc_reg_TJ.Add("03", "Sughd"); - GEOIP_REGION_NAME.Add("TJ", cc_reg_TJ ); - Hashtable cc_reg_TM = new Hashtable(); - cc_reg_TM.Add("01", "Ahal"); - cc_reg_TM.Add("02", "Balkan"); - cc_reg_TM.Add("03", "Dashoguz"); - cc_reg_TM.Add("04", "Lebap"); - cc_reg_TM.Add("05", "Mary"); - GEOIP_REGION_NAME.Add("TM", cc_reg_TM ); - Hashtable cc_reg_TN = new Hashtable(); - cc_reg_TN.Add("02", "Kasserine"); - cc_reg_TN.Add("03", "Kairouan"); - cc_reg_TN.Add("06", "Jendouba"); - cc_reg_TN.Add("10", "Qafsah"); - cc_reg_TN.Add("14", "El Kef"); - cc_reg_TN.Add("15", "Al Mahdia"); - cc_reg_TN.Add("16", "Al Munastir"); - cc_reg_TN.Add("17", "Bajah"); - cc_reg_TN.Add("18", "Bizerte"); - cc_reg_TN.Add("19", "Nabeul"); - cc_reg_TN.Add("22", "Siliana"); - cc_reg_TN.Add("23", "Sousse"); - cc_reg_TN.Add("27", "Ben Arous"); - cc_reg_TN.Add("28", "Madanin"); - cc_reg_TN.Add("29", "Gabes"); - cc_reg_TN.Add("31", "Kebili"); - cc_reg_TN.Add("32", "Sfax"); - cc_reg_TN.Add("33", "Sidi Bou Zid"); - cc_reg_TN.Add("34", "Tataouine"); - cc_reg_TN.Add("35", "Tozeur"); - cc_reg_TN.Add("36", "Tunis"); - cc_reg_TN.Add("37", "Zaghouan"); - cc_reg_TN.Add("38", "Aiana"); - cc_reg_TN.Add("39", "Manouba"); - GEOIP_REGION_NAME.Add("TN", cc_reg_TN ); - Hashtable cc_reg_TO = new Hashtable(); - cc_reg_TO.Add("01", "Ha"); - cc_reg_TO.Add("02", "Tongatapu"); - cc_reg_TO.Add("03", "Vava"); - GEOIP_REGION_NAME.Add("TO", cc_reg_TO ); - Hashtable cc_reg_TR = new Hashtable(); - cc_reg_TR.Add("02", "Adiyaman"); - cc_reg_TR.Add("03", "Afyonkarahisar"); - cc_reg_TR.Add("04", "Agri"); - cc_reg_TR.Add("05", "Amasya"); - cc_reg_TR.Add("07", "Antalya"); - cc_reg_TR.Add("08", "Artvin"); - cc_reg_TR.Add("09", "Aydin"); - cc_reg_TR.Add("10", "Balikesir"); - cc_reg_TR.Add("11", "Bilecik"); - cc_reg_TR.Add("12", "Bingol"); - cc_reg_TR.Add("13", "Bitlis"); - cc_reg_TR.Add("14", "Bolu"); - cc_reg_TR.Add("15", "Burdur"); - cc_reg_TR.Add("16", "Bursa"); - cc_reg_TR.Add("17", "Canakkale"); - cc_reg_TR.Add("19", "Corum"); - cc_reg_TR.Add("20", "Denizli"); - cc_reg_TR.Add("21", "Diyarbakir"); - cc_reg_TR.Add("22", "Edirne"); - cc_reg_TR.Add("23", "Elazig"); - cc_reg_TR.Add("24", "Erzincan"); - cc_reg_TR.Add("25", "Erzurum"); - cc_reg_TR.Add("26", "Eskisehir"); - cc_reg_TR.Add("28", "Giresun"); - cc_reg_TR.Add("31", "Hatay"); - cc_reg_TR.Add("32", "Mersin"); - cc_reg_TR.Add("33", "Isparta"); - cc_reg_TR.Add("34", "Istanbul"); - cc_reg_TR.Add("35", "Izmir"); - cc_reg_TR.Add("37", "Kastamonu"); - cc_reg_TR.Add("38", "Kayseri"); - cc_reg_TR.Add("39", "Kirklareli"); - cc_reg_TR.Add("40", "Kirsehir"); - cc_reg_TR.Add("41", "Kocaeli"); - cc_reg_TR.Add("43", "Kutahya"); - cc_reg_TR.Add("44", "Malatya"); - cc_reg_TR.Add("45", "Manisa"); - cc_reg_TR.Add("46", "Kahramanmaras"); - cc_reg_TR.Add("48", "Mugla"); - cc_reg_TR.Add("49", "Mus"); - cc_reg_TR.Add("50", "Nevsehir"); - cc_reg_TR.Add("52", "Ordu"); - cc_reg_TR.Add("53", "Rize"); - cc_reg_TR.Add("54", "Sakarya"); - cc_reg_TR.Add("55", "Samsun"); - cc_reg_TR.Add("57", "Sinop"); - cc_reg_TR.Add("58", "Sivas"); - cc_reg_TR.Add("59", "Tekirdag"); - cc_reg_TR.Add("60", "Tokat"); - cc_reg_TR.Add("61", "Trabzon"); - cc_reg_TR.Add("62", "Tunceli"); - cc_reg_TR.Add("63", "Sanliurfa"); - cc_reg_TR.Add("64", "Usak"); - cc_reg_TR.Add("65", "Van"); - cc_reg_TR.Add("66", "Yozgat"); - cc_reg_TR.Add("68", "Ankara"); - cc_reg_TR.Add("69", "Gumushane"); - cc_reg_TR.Add("70", "Hakkari"); - cc_reg_TR.Add("71", "Konya"); - cc_reg_TR.Add("72", "Mardin"); - cc_reg_TR.Add("73", "Nigde"); - cc_reg_TR.Add("74", "Siirt"); - cc_reg_TR.Add("75", "Aksaray"); - cc_reg_TR.Add("76", "Batman"); - cc_reg_TR.Add("77", "Bayburt"); - cc_reg_TR.Add("78", "Karaman"); - cc_reg_TR.Add("79", "Kirikkale"); - cc_reg_TR.Add("80", "Sirnak"); - cc_reg_TR.Add("81", "Adana"); - cc_reg_TR.Add("82", "Cankiri"); - cc_reg_TR.Add("83", "Gaziantep"); - cc_reg_TR.Add("84", "Kars"); - cc_reg_TR.Add("85", "Zonguldak"); - cc_reg_TR.Add("86", "Ardahan"); - cc_reg_TR.Add("87", "Bartin"); - cc_reg_TR.Add("88", "Igdir"); - cc_reg_TR.Add("89", "Karabuk"); - cc_reg_TR.Add("90", "Kilis"); - cc_reg_TR.Add("91", "Osmaniye"); - cc_reg_TR.Add("92", "Yalova"); - cc_reg_TR.Add("93", "Duzce"); - GEOIP_REGION_NAME.Add("TR", cc_reg_TR ); - Hashtable cc_reg_TT = new Hashtable(); - cc_reg_TT.Add("01", "Arima"); - cc_reg_TT.Add("02", "Caroni"); - cc_reg_TT.Add("03", "Mayaro"); - cc_reg_TT.Add("04", "Nariva"); - cc_reg_TT.Add("05", "Port-of-Spain"); - cc_reg_TT.Add("06", "Saint Andrew"); - cc_reg_TT.Add("07", "Saint David"); - cc_reg_TT.Add("08", "Saint George"); - cc_reg_TT.Add("09", "Saint Patrick"); - cc_reg_TT.Add("10", "San Fernando"); - cc_reg_TT.Add("11", "Tobago"); - cc_reg_TT.Add("12", "Victoria"); - GEOIP_REGION_NAME.Add("TT", cc_reg_TT ); - Hashtable cc_reg_TW = new Hashtable(); - cc_reg_TW.Add("01", "Fu-chien"); - cc_reg_TW.Add("02", "Kao-hsiung"); - cc_reg_TW.Add("03", "T'ai-pei"); - cc_reg_TW.Add("04", "T'ai-wan"); - GEOIP_REGION_NAME.Add("TW", cc_reg_TW ); - Hashtable cc_reg_TZ = new Hashtable(); - cc_reg_TZ.Add("02", "Pwani"); - cc_reg_TZ.Add("03", "Dodoma"); - cc_reg_TZ.Add("04", "Iringa"); - cc_reg_TZ.Add("05", "Kigoma"); - cc_reg_TZ.Add("06", "Kilimanjaro"); - cc_reg_TZ.Add("07", "Lindi"); - cc_reg_TZ.Add("08", "Mara"); - cc_reg_TZ.Add("09", "Mbeya"); - cc_reg_TZ.Add("10", "Morogoro"); - cc_reg_TZ.Add("11", "Mtwara"); - cc_reg_TZ.Add("12", "Mwanza"); - cc_reg_TZ.Add("13", "Pemba North"); - cc_reg_TZ.Add("14", "Ruvuma"); - cc_reg_TZ.Add("15", "Shinyanga"); - cc_reg_TZ.Add("16", "Singida"); - cc_reg_TZ.Add("17", "Tabora"); - cc_reg_TZ.Add("18", "Tanga"); - cc_reg_TZ.Add("19", "Kagera"); - cc_reg_TZ.Add("20", "Pemba South"); - cc_reg_TZ.Add("21", "Zanzibar Central"); - cc_reg_TZ.Add("22", "Zanzibar North"); - cc_reg_TZ.Add("23", "Dar es Salaam"); - cc_reg_TZ.Add("24", "Rukwa"); - cc_reg_TZ.Add("25", "Zanzibar Urban"); - cc_reg_TZ.Add("26", "Arusha"); - cc_reg_TZ.Add("27", "Manyara"); - GEOIP_REGION_NAME.Add("TZ", cc_reg_TZ ); - Hashtable cc_reg_UA = new Hashtable(); - cc_reg_UA.Add("01", "Cherkas'ka Oblast'"); - cc_reg_UA.Add("02", "Chernihivs'ka Oblast'"); - cc_reg_UA.Add("03", "Chernivets'ka Oblast'"); - cc_reg_UA.Add("04", "Dnipropetrovs'ka Oblast'"); - cc_reg_UA.Add("05", "Donets'ka Oblast'"); - cc_reg_UA.Add("06", "Ivano-Frankivs'ka Oblast'"); - cc_reg_UA.Add("07", "Kharkivs'ka Oblast'"); - cc_reg_UA.Add("08", "Khersons'ka Oblast'"); - cc_reg_UA.Add("09", "Khmel'nyts'ka Oblast'"); - cc_reg_UA.Add("10", "Kirovohrads'ka Oblast'"); - cc_reg_UA.Add("11", "Krym"); - cc_reg_UA.Add("12", "Kyyiv"); - cc_reg_UA.Add("13", "Kyyivs'ka Oblast'"); - cc_reg_UA.Add("14", "Luhans'ka Oblast'"); - cc_reg_UA.Add("15", "L'vivs'ka Oblast'"); - cc_reg_UA.Add("16", "Mykolayivs'ka Oblast'"); - cc_reg_UA.Add("17", "Odes'ka Oblast'"); - cc_reg_UA.Add("18", "Poltavs'ka Oblast'"); - cc_reg_UA.Add("19", "Rivnens'ka Oblast'"); - cc_reg_UA.Add("20", "Sevastopol'"); - cc_reg_UA.Add("21", "Sums'ka Oblast'"); - cc_reg_UA.Add("22", "Ternopil's'ka Oblast'"); - cc_reg_UA.Add("23", "Vinnyts'ka Oblast'"); - cc_reg_UA.Add("24", "Volyns'ka Oblast'"); - cc_reg_UA.Add("25", "Zakarpats'ka Oblast'"); - cc_reg_UA.Add("26", "Zaporiz'ka Oblast'"); - cc_reg_UA.Add("27", "Zhytomyrs'ka Oblast'"); - GEOIP_REGION_NAME.Add("UA", cc_reg_UA ); - Hashtable cc_reg_UG = new Hashtable(); - cc_reg_UG.Add("26", "Apac"); - cc_reg_UG.Add("28", "Bundibugyo"); - cc_reg_UG.Add("29", "Bushenyi"); - cc_reg_UG.Add("30", "Gulu"); - cc_reg_UG.Add("31", "Hoima"); - cc_reg_UG.Add("33", "Jinja"); - cc_reg_UG.Add("36", "Kalangala"); - cc_reg_UG.Add("37", "Kampala"); - cc_reg_UG.Add("38", "Kamuli"); - cc_reg_UG.Add("39", "Kapchorwa"); - cc_reg_UG.Add("40", "Kasese"); - cc_reg_UG.Add("41", "Kibale"); - cc_reg_UG.Add("42", "Kiboga"); - cc_reg_UG.Add("43", "Kisoro"); - cc_reg_UG.Add("45", "Kotido"); - cc_reg_UG.Add("46", "Kumi"); - cc_reg_UG.Add("47", "Lira"); - cc_reg_UG.Add("50", "Masindi"); - cc_reg_UG.Add("52", "Mbarara"); - cc_reg_UG.Add("56", "Mubende"); - cc_reg_UG.Add("58", "Nebbi"); - cc_reg_UG.Add("59", "Ntungamo"); - cc_reg_UG.Add("60", "Pallisa"); - cc_reg_UG.Add("61", "Rakai"); - cc_reg_UG.Add("65", "Adjumani"); - cc_reg_UG.Add("66", "Bugiri"); - cc_reg_UG.Add("67", "Busia"); - cc_reg_UG.Add("69", "Katakwi"); - cc_reg_UG.Add("70", "Luwero"); - cc_reg_UG.Add("71", "Masaka"); - cc_reg_UG.Add("72", "Moyo"); - cc_reg_UG.Add("73", "Nakasongola"); - cc_reg_UG.Add("74", "Sembabule"); - cc_reg_UG.Add("76", "Tororo"); - cc_reg_UG.Add("77", "Arua"); - cc_reg_UG.Add("78", "Iganga"); - cc_reg_UG.Add("79", "Kabarole"); - cc_reg_UG.Add("80", "Kaberamaido"); - cc_reg_UG.Add("81", "Kamwenge"); - cc_reg_UG.Add("82", "Kanungu"); - cc_reg_UG.Add("83", "Kayunga"); - cc_reg_UG.Add("84", "Kitgum"); - cc_reg_UG.Add("85", "Kyenjojo"); - cc_reg_UG.Add("86", "Mayuge"); - cc_reg_UG.Add("87", "Mbale"); - cc_reg_UG.Add("88", "Moroto"); - cc_reg_UG.Add("89", "Mpigi"); - cc_reg_UG.Add("90", "Mukono"); - cc_reg_UG.Add("91", "Nakapiripirit"); - cc_reg_UG.Add("92", "Pader"); - cc_reg_UG.Add("93", "Rukungiri"); - cc_reg_UG.Add("94", "Sironko"); - cc_reg_UG.Add("95", "Soroti"); - cc_reg_UG.Add("96", "Wakiso"); - cc_reg_UG.Add("97", "Yumbe"); - GEOIP_REGION_NAME.Add("UG", cc_reg_UG ); - Hashtable cc_reg_US = new Hashtable(); - cc_reg_US.Add("AA", "Armed Forces Americas"); - cc_reg_US.Add("AE", "Armed Forces Europe, Middle East, & Canada"); - cc_reg_US.Add("AK", "Alaska"); - cc_reg_US.Add("AL", "Alabama"); - cc_reg_US.Add("AP", "Armed Forces Pacific"); - cc_reg_US.Add("AR", "Arkansas"); - cc_reg_US.Add("AS", "American Samoa"); - cc_reg_US.Add("AZ", "Arizona"); - cc_reg_US.Add("CA", "California"); - cc_reg_US.Add("CO", "Colorado"); - cc_reg_US.Add("CT", "Connecticut"); - cc_reg_US.Add("DC", "District of Columbia"); - cc_reg_US.Add("DE", "Delaware"); - cc_reg_US.Add("FL", "Florida"); - cc_reg_US.Add("FM", "Federated States of Micronesia"); - cc_reg_US.Add("GA", "Georgia"); - cc_reg_US.Add("GU", "Guam"); - cc_reg_US.Add("HI", "Hawaii"); - cc_reg_US.Add("IA", "Iowa"); - cc_reg_US.Add("ID", "Idaho"); - cc_reg_US.Add("IL", "Illinois"); - cc_reg_US.Add("IN", "Indiana"); - cc_reg_US.Add("KS", "Kansas"); - cc_reg_US.Add("KY", "Kentucky"); - cc_reg_US.Add("LA", "Louisiana"); - cc_reg_US.Add("MA", "Massachusetts"); - cc_reg_US.Add("MD", "Maryland"); - cc_reg_US.Add("ME", "Maine"); - cc_reg_US.Add("MH", "Marshall Islands"); - cc_reg_US.Add("MI", "Michigan"); - cc_reg_US.Add("MN", "Minnesota"); - cc_reg_US.Add("MO", "Missouri"); - cc_reg_US.Add("MP", "Northern Mariana Islands"); - cc_reg_US.Add("MS", "Mississippi"); - cc_reg_US.Add("MT", "Montana"); - cc_reg_US.Add("NC", "North Carolina"); - cc_reg_US.Add("ND", "North Dakota"); - cc_reg_US.Add("NE", "Nebraska"); - cc_reg_US.Add("NH", "New Hampshire"); - cc_reg_US.Add("NJ", "New Jersey"); - cc_reg_US.Add("NM", "New Mexico"); - cc_reg_US.Add("NV", "Nevada"); - cc_reg_US.Add("NY", "New York"); - cc_reg_US.Add("OH", "Ohio"); - cc_reg_US.Add("OK", "Oklahoma"); - cc_reg_US.Add("OR", "Oregon"); - cc_reg_US.Add("PA", "Pennsylvania"); - cc_reg_US.Add("PR", "Puerto Rico"); - cc_reg_US.Add("PW", "Palau"); - cc_reg_US.Add("RI", "Rhode Island"); - cc_reg_US.Add("SC", "South Carolina"); - cc_reg_US.Add("SD", "South Dakota"); - cc_reg_US.Add("TN", "Tennessee"); - cc_reg_US.Add("TX", "Texas"); - cc_reg_US.Add("UT", "Utah"); - cc_reg_US.Add("VA", "Virginia"); - cc_reg_US.Add("VI", "Virgin Islands"); - cc_reg_US.Add("VT", "Vermont"); - cc_reg_US.Add("WA", "Washington"); - cc_reg_US.Add("WI", "Wisconsin"); - cc_reg_US.Add("WV", "West Virginia"); - cc_reg_US.Add("WY", "Wyoming"); - GEOIP_REGION_NAME.Add("US", cc_reg_US ); - Hashtable cc_reg_UY = new Hashtable(); - cc_reg_UY.Add("01", "Artigas"); - cc_reg_UY.Add("02", "Canelones"); - cc_reg_UY.Add("03", "Cerro Largo"); - cc_reg_UY.Add("04", "Colonia"); - cc_reg_UY.Add("05", "Durazno"); - cc_reg_UY.Add("06", "Flores"); - cc_reg_UY.Add("07", "Florida"); - cc_reg_UY.Add("08", "Lavalleja"); - cc_reg_UY.Add("09", "Maldonado"); - cc_reg_UY.Add("10", "Montevideo"); - cc_reg_UY.Add("11", "Paysandu"); - cc_reg_UY.Add("12", "Rio Negro"); - cc_reg_UY.Add("13", "Rivera"); - cc_reg_UY.Add("14", "Rocha"); - cc_reg_UY.Add("15", "Salto"); - cc_reg_UY.Add("16", "San Jose"); - cc_reg_UY.Add("17", "Soriano"); - cc_reg_UY.Add("18", "Tacuarembo"); - cc_reg_UY.Add("19", "Treinta y Tres"); - GEOIP_REGION_NAME.Add("UY", cc_reg_UY ); - Hashtable cc_reg_UZ = new Hashtable(); - cc_reg_UZ.Add("01", "Andijon"); - cc_reg_UZ.Add("02", "Bukhoro"); - cc_reg_UZ.Add("03", "Farghona"); - cc_reg_UZ.Add("04", "Jizzakh"); - cc_reg_UZ.Add("05", "Khorazm"); - cc_reg_UZ.Add("06", "Namangan"); - cc_reg_UZ.Add("07", "Nawoiy"); - cc_reg_UZ.Add("08", "Qashqadaryo"); - cc_reg_UZ.Add("09", "Qoraqalpoghiston"); - cc_reg_UZ.Add("10", "Samarqand"); - cc_reg_UZ.Add("11", "Sirdaryo"); - cc_reg_UZ.Add("12", "Surkhondaryo"); - cc_reg_UZ.Add("13", "Toshkent"); - cc_reg_UZ.Add("14", "Toshkent"); - GEOIP_REGION_NAME.Add("UZ", cc_reg_UZ ); - Hashtable cc_reg_VC = new Hashtable(); - cc_reg_VC.Add("01", "Charlotte"); - cc_reg_VC.Add("02", "Saint Andrew"); - cc_reg_VC.Add("03", "Saint David"); - cc_reg_VC.Add("04", "Saint George"); - cc_reg_VC.Add("05", "Saint Patrick"); - cc_reg_VC.Add("06", "Grenadines"); - GEOIP_REGION_NAME.Add("VC", cc_reg_VC ); - Hashtable cc_reg_VE = new Hashtable(); - cc_reg_VE.Add("01", "Amazonas"); - cc_reg_VE.Add("02", "Anzoategui"); - cc_reg_VE.Add("03", "Apure"); - cc_reg_VE.Add("04", "Aragua"); - cc_reg_VE.Add("05", "Barinas"); - cc_reg_VE.Add("06", "Bolivar"); - cc_reg_VE.Add("07", "Carabobo"); - cc_reg_VE.Add("08", "Cojedes"); - cc_reg_VE.Add("09", "Delta Amacuro"); - cc_reg_VE.Add("11", "Falcon"); - cc_reg_VE.Add("12", "Guarico"); - cc_reg_VE.Add("13", "Lara"); - cc_reg_VE.Add("14", "Merida"); - cc_reg_VE.Add("15", "Miranda"); - cc_reg_VE.Add("16", "Monagas"); - cc_reg_VE.Add("17", "Nueva Esparta"); - cc_reg_VE.Add("18", "Portuguesa"); - cc_reg_VE.Add("19", "Sucre"); - cc_reg_VE.Add("20", "Tachira"); - cc_reg_VE.Add("21", "Trujillo"); - cc_reg_VE.Add("22", "Yaracuy"); - cc_reg_VE.Add("23", "Zulia"); - cc_reg_VE.Add("24", "Dependencias Federales"); - cc_reg_VE.Add("25", "Distrito Federal"); - cc_reg_VE.Add("26", "Vargas"); - GEOIP_REGION_NAME.Add("VE", cc_reg_VE ); - Hashtable cc_reg_VN = new Hashtable(); - cc_reg_VN.Add("01", "An Giang"); - cc_reg_VN.Add("03", "Ben Tre"); - cc_reg_VN.Add("05", "Cao Bang"); - cc_reg_VN.Add("09", "Dong Thap"); - cc_reg_VN.Add("13", "Hai Phong"); - cc_reg_VN.Add("20", "Ho Chi Minh"); - cc_reg_VN.Add("21", "Kien Giang"); - cc_reg_VN.Add("23", "Lam Dong"); - cc_reg_VN.Add("24", "Long An"); - cc_reg_VN.Add("30", "Quang Ninh"); - cc_reg_VN.Add("32", "Son La"); - cc_reg_VN.Add("33", "Tay Ninh"); - cc_reg_VN.Add("34", "Thanh Hoa"); - cc_reg_VN.Add("35", "Thai Binh"); - cc_reg_VN.Add("37", "Tien Giang"); - cc_reg_VN.Add("39", "Lang Son"); - cc_reg_VN.Add("43", "Dong Nai"); - cc_reg_VN.Add("44", "Ha Noi"); - cc_reg_VN.Add("45", "Ba Ria-Vung Tau"); - cc_reg_VN.Add("46", "Binh Dinh"); - cc_reg_VN.Add("47", "Binh Thuan"); - cc_reg_VN.Add("49", "Gia Lai"); - cc_reg_VN.Add("50", "Ha Giang"); - cc_reg_VN.Add("52", "Ha Tinh"); - cc_reg_VN.Add("53", "Hoa Binh"); - cc_reg_VN.Add("54", "Khanh Hoa"); - cc_reg_VN.Add("55", "Kon Tum"); - cc_reg_VN.Add("58", "Nghe An"); - cc_reg_VN.Add("59", "Ninh Binh"); - cc_reg_VN.Add("60", "Ninh Thuan"); - cc_reg_VN.Add("61", "Phu Yen"); - cc_reg_VN.Add("62", "Quang Binh"); - cc_reg_VN.Add("63", "Quang Ngai"); - cc_reg_VN.Add("64", "Quang Tri"); - cc_reg_VN.Add("65", "Soc Trang"); - cc_reg_VN.Add("66", "Thua Thien-Hue"); - cc_reg_VN.Add("67", "Tra Vinh"); - cc_reg_VN.Add("68", "Tuyen Quang"); - cc_reg_VN.Add("69", "Vinh Long"); - cc_reg_VN.Add("70", "Yen Bai"); - cc_reg_VN.Add("71", "Bac Giang"); - cc_reg_VN.Add("72", "Bac Kan"); - cc_reg_VN.Add("73", "Bac Lieu"); - cc_reg_VN.Add("74", "Bac Ninh"); - cc_reg_VN.Add("75", "Binh Duong"); - cc_reg_VN.Add("76", "Binh Phuoc"); - cc_reg_VN.Add("77", "Ca Mau"); - cc_reg_VN.Add("78", "Da Nang"); - cc_reg_VN.Add("79", "Hai Duong"); - cc_reg_VN.Add("80", "Ha Nam"); - cc_reg_VN.Add("81", "Hung Yen"); - cc_reg_VN.Add("82", "Nam Dinh"); - cc_reg_VN.Add("83", "Phu Tho"); - cc_reg_VN.Add("84", "Quang Nam"); - cc_reg_VN.Add("85", "Thai Nguyen"); - cc_reg_VN.Add("86", "Vinh Phuc"); - cc_reg_VN.Add("87", "Can Tho"); - cc_reg_VN.Add("88", "Dac Lak"); - cc_reg_VN.Add("89", "Lai Chau"); - cc_reg_VN.Add("90", "Lao Cai"); - cc_reg_VN.Add("91", "Dak Nong"); - cc_reg_VN.Add("92", "Dien Bien"); - cc_reg_VN.Add("93", "Hau Giang"); - GEOIP_REGION_NAME.Add("VN", cc_reg_VN ); - Hashtable cc_reg_VU = new Hashtable(); - cc_reg_VU.Add("05", "Ambrym"); - cc_reg_VU.Add("06", "Aoba"); - cc_reg_VU.Add("07", "Torba"); - cc_reg_VU.Add("08", "Efate"); - cc_reg_VU.Add("09", "Epi"); - cc_reg_VU.Add("10", "Malakula"); - cc_reg_VU.Add("11", "Paama"); - cc_reg_VU.Add("12", "Pentecote"); - cc_reg_VU.Add("13", "Sanma"); - cc_reg_VU.Add("14", "Shepherd"); - cc_reg_VU.Add("15", "Tafea"); - cc_reg_VU.Add("16", "Malampa"); - cc_reg_VU.Add("17", "Penama"); - cc_reg_VU.Add("18", "Shefa"); - GEOIP_REGION_NAME.Add("VU", cc_reg_VU ); - Hashtable cc_reg_WS = new Hashtable(); - cc_reg_WS.Add("02", "Aiga-i-le-Tai"); - cc_reg_WS.Add("03", "Atua"); - cc_reg_WS.Add("04", "Fa"); - cc_reg_WS.Add("05", "Gaga"); - cc_reg_WS.Add("06", "Va"); - cc_reg_WS.Add("07", "Gagaifomauga"); - cc_reg_WS.Add("08", "Palauli"); - cc_reg_WS.Add("09", "Satupa"); - cc_reg_WS.Add("10", "Tuamasaga"); - cc_reg_WS.Add("11", "Vaisigano"); - GEOIP_REGION_NAME.Add("WS", cc_reg_WS ); - Hashtable cc_reg_YE = new Hashtable(); - cc_reg_YE.Add("01", "Abyan"); - cc_reg_YE.Add("02", "Adan"); - cc_reg_YE.Add("03", "Al Mahrah"); - cc_reg_YE.Add("04", "Hadramawt"); - cc_reg_YE.Add("05", "Shabwah"); - cc_reg_YE.Add("06", "Lahij"); - cc_reg_YE.Add("07", "Al Bayda'"); - cc_reg_YE.Add("08", "Al Hudaydah"); - cc_reg_YE.Add("09", "Al Jawf"); - cc_reg_YE.Add("10", "Al Mahwit"); - cc_reg_YE.Add("11", "Dhamar"); - cc_reg_YE.Add("12", "Hajjah"); - cc_reg_YE.Add("13", "Ibb"); - cc_reg_YE.Add("14", "Ma'rib"); - cc_reg_YE.Add("15", "Sa'dah"); - cc_reg_YE.Add("16", "San'a'"); - cc_reg_YE.Add("17", "Taizz"); - cc_reg_YE.Add("18", "Ad Dali"); - cc_reg_YE.Add("19", "Amran"); - cc_reg_YE.Add("20", "Al Bayda'"); - cc_reg_YE.Add("21", "Al Jawf"); - cc_reg_YE.Add("22", "Hajjah"); - cc_reg_YE.Add("23", "Ibb"); - cc_reg_YE.Add("24", "Lahij"); - cc_reg_YE.Add("25", "Taizz"); - GEOIP_REGION_NAME.Add("YE", cc_reg_YE ); - Hashtable cc_reg_ZA = new Hashtable(); - cc_reg_ZA.Add("01", "North-Western Province"); - cc_reg_ZA.Add("02", "KwaZulu-Natal"); - cc_reg_ZA.Add("03", "Free State"); - cc_reg_ZA.Add("05", "Eastern Cape"); - cc_reg_ZA.Add("06", "Gauteng"); - cc_reg_ZA.Add("07", "Mpumalanga"); - cc_reg_ZA.Add("08", "Northern Cape"); - cc_reg_ZA.Add("09", "Limpopo"); - cc_reg_ZA.Add("10", "North-West"); - cc_reg_ZA.Add("11", "Western Cape"); - GEOIP_REGION_NAME.Add("ZA", cc_reg_ZA ); - Hashtable cc_reg_ZM = new Hashtable(); - cc_reg_ZM.Add("01", "Western"); - cc_reg_ZM.Add("02", "Central"); - cc_reg_ZM.Add("03", "Eastern"); - cc_reg_ZM.Add("04", "Luapula"); - cc_reg_ZM.Add("05", "Northern"); - cc_reg_ZM.Add("06", "North-Western"); - cc_reg_ZM.Add("07", "Southern"); - cc_reg_ZM.Add("08", "Copperbelt"); - cc_reg_ZM.Add("09", "Lusaka"); - GEOIP_REGION_NAME.Add("ZM", cc_reg_ZM ); - Hashtable cc_reg_ZW = new Hashtable(); - cc_reg_ZW.Add("01", "Manicaland"); - cc_reg_ZW.Add("02", "Midlands"); - cc_reg_ZW.Add("03", "Mashonaland Central"); - cc_reg_ZW.Add("04", "Mashonaland East"); - cc_reg_ZW.Add("05", "Mashonaland West"); - cc_reg_ZW.Add("06", "Matabeleland North"); - cc_reg_ZW.Add("07", "Matabeleland South"); - cc_reg_ZW.Add("08", "Masvingo"); - cc_reg_ZW.Add("09", "Bulawayo"); - cc_reg_ZW.Add("10", "Harare"); - GEOIP_REGION_NAME.Add("ZW", cc_reg_ZW ); - } -} \ No newline at end of file diff --git a/GeoLite2-Country.mmdb b/GeoLite2-Country.mmdb new file mode 100644 index 0000000000..1a25eb545e Binary files /dev/null and b/GeoLite2-Country.mmdb differ diff --git a/Makefile b/Makefile index 1f4c558d1a..ccaf6efdc4 100644 --- a/Makefile +++ b/Makefile @@ -37,7 +37,7 @@ CSC = dmcs CSFLAGS = -nologo -warn:4 -debug:full -optimize- -codepage:utf8 -unsafe -warnaserror DEFINE = DEBUG;TRACE -COMMON_LIBS = System.dll System.Core.dll System.Drawing.dll System.Xml.dll thirdparty/ICSharpCode.SharpZipLib.dll thirdparty/FuzzyLogicLibrary.dll thirdparty/Mono.Nat.dll +COMMON_LIBS = System.dll System.Core.dll System.Drawing.dll System.Xml.dll thirdparty/ICSharpCode.SharpZipLib.dll thirdparty/FuzzyLogicLibrary.dll thirdparty/Mono.Nat.dll thirdparty/MaxMind.Db.dll thirdparty/MaxMind.GeoIP2.dll @@ -65,7 +65,7 @@ INSTALL_PROGRAM = $(INSTALL) -m755 INSTALL_DATA = $(INSTALL) -m644 # program targets -CORE = rcg rgl rsdl rsdl2 rnull game utility geoip irc +CORE = rcg rgl rsdl rsdl2 rnull game utility irc TOOLS = editor tsbuild ralint VERSION = $(shell git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null || echo git-`git rev-parse --short HEAD`) @@ -76,13 +76,6 @@ VERSION = $(shell git name-rev --name-only --tags --no-undefined HEAD 2>/dev # # Core binaries -geoip_SRCS := $(shell find GeoIP/ -iname '*.cs') -geoip_TARGET = GeoIP.dll -geoip_KIND = library -geoip_LIBS = $(COMMON_LIBS) -PROGRAMS += geoip -geoip: $(geoip_TARGET) - game_SRCS := $(shell find OpenRA.Game/ -iname '*.cs') game_TARGET = OpenRA.Game.exe game_KIND = winexe @@ -142,8 +135,8 @@ STD_MOD_DEPS = $(STD_MOD_LIBS) $(ralint_TARGET) mod_ra_SRCS := $(shell find OpenRA.Mods.RA/ -iname '*.cs') mod_ra_TARGET = mods/ra/OpenRA.Mods.RA.dll mod_ra_KIND = library -mod_ra_DEPS = $(STD_MOD_DEPS) $(geoip_TARGET) $(irc_TARGET) -mod_ra_LIBS = $(COMMON_LIBS) $(STD_MOD_LIBS) $(geoip_TARGET) $(irc_TARGET) +mod_ra_DEPS = $(STD_MOD_DEPS) $(irc_TARGET) +mod_ra_LIBS = $(COMMON_LIBS) $(STD_MOD_LIBS) $(irc_TARGET) PROGRAMS += mod_ra mod_ra: $(mod_ra_TARGET) @@ -318,7 +311,7 @@ install-core: default @$(CP_R) mods/modchooser "$(DATA_INSTALL_DIR)/mods/" @$(INSTALL_DATA) "global mix database.dat" "$(DATA_INSTALL_DIR)/global mix database.dat" - @$(INSTALL_DATA) "GeoIP.dat" "$(DATA_INSTALL_DIR)/GeoIP.dat" + @$(INSTALL_DATA) "GeoLite2-Country.mmdb" "$(DATA_INSTALL_DIR)/GeoLite2-Country.mmdb" @$(INSTALL_DATA) AUTHORS "$(DATA_INSTALL_DIR)/AUTHORS" @$(INSTALL_DATA) CHANGELOG "$(DATA_INSTALL_DIR)/CHANGELOG" @$(INSTALL_DATA) COPYING "$(DATA_INSTALL_DIR)/COPYING" diff --git a/OpenRA.Game/Game.cs b/OpenRA.Game/Game.cs index 868d8b2d14..7f491a36bd 100644 --- a/OpenRA.Game/Game.cs +++ b/OpenRA.Game/Game.cs @@ -15,6 +15,7 @@ using System.IO; using System.Linq; using System.Net; using OpenRA.FileSystem; +using MaxMind.GeoIP2; using OpenRA.GameRules; using OpenRA.Graphics; using OpenRA.Network; @@ -42,6 +43,8 @@ namespace OpenRA public static Renderer Renderer; public static bool HasInputFocus = false; + public static DatabaseReader GeoIpDatabase; + public static void JoinServer(string host, int port, string password) { JoinInner(new OrderManager(host, port, password, @@ -291,6 +294,7 @@ namespace OpenRA Log.AddChannel("server", "server.log"); Log.AddChannel("sound", "sound.log"); Log.AddChannel("graphics", "graphics.log"); + Log.AddChannel("geoip", "geoip.log"); if (Settings.Server.DiscoverNatDevices) UPnP.TryNatDiscovery(); @@ -300,6 +304,15 @@ namespace OpenRA Settings.Server.AllowPortForward = false; } + try + { + GeoIpDatabase = new DatabaseReader("GeoLite2-Country.mmdb"); + } + catch (Exception e) + { + Log.Write("geoip", "DatabaseReader failed: {0}", e); + } + GlobalFileSystem.Mount("."); // Needed to access shaders var renderers = new[] { Settings.Graphics.Renderer, "Sdl2", "Gl", "Cg", null }; foreach (var r in renderers) diff --git a/OpenRA.Game/OpenRA.Game.csproj b/OpenRA.Game/OpenRA.Game.csproj index b7ad81f823..caaad04514 100644 --- a/OpenRA.Game/OpenRA.Game.csproj +++ b/OpenRA.Game/OpenRA.Game.csproj @@ -80,6 +80,11 @@ ..\thirdparty\ICSharpCode.SharpZipLib.dll + + ..\thirdparty\MaxMind.GeoIP2.dll + + + ..\thirdparty\MaxMind.Db.dll diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj index 319eba615d..7d2da154f7 100644 --- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj +++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj @@ -502,10 +502,6 @@ {85B48234-8B31-4BE6-AF9C-665CC6866841} OpenRA.Irc - - {021DDD6A-A608-424C-9A9A-252D8A9989E0} - GeoIP - diff --git a/OpenRA.Mods.RA/Widgets/Logic/LobbyUtils.cs b/OpenRA.Mods.RA/Widgets/Logic/LobbyUtils.cs index 10d2b084e1..d16c28686e 100644 --- a/OpenRA.Mods.RA/Widgets/Logic/LobbyUtils.cs +++ b/OpenRA.Mods.RA/Widgets/Logic/LobbyUtils.cs @@ -12,6 +12,7 @@ using System; using System.Collections.Generic; using System.Drawing; using System.Linq; +using MaxMind.GeoIP2; using OpenRA.Graphics; using OpenRA.Network; using OpenRA.Primitives; @@ -197,9 +198,15 @@ namespace OpenRA.Mods.RA.Widgets.Logic public static string LookupCountry(string ip) { - var ip2geo = new GeoIP.LookupService("GeoIP.dat", GeoIP.LookupService.GEOIP_MEMORY_CACHE); - var country = ip2geo.getCountry(ip); - return country.getName(); + try + { + return Game.GeoIpDatabase.Omni(ip).Country.Name; + } + catch (Exception e) + { + Log.Write("geoip", "LookupCountry failed: {0}", e); + return "Unknown Location"; + } } public static void SetupClientWidget(Widget parent, Session.Slot s, Session.Client c, OrderManager orderManager, bool visible) diff --git a/OpenRA.sln b/OpenRA.sln index f4f6901d49..5ca7fa6bae 100644 --- a/OpenRA.sln +++ b/OpenRA.sln @@ -4,14 +4,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Game", "OpenRA.Game\OpenRA.Game.csproj", "{0DFB103F-2962-400F-8C6D-E2C28CCBA633}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Mods.RA", "OpenRA.Mods.RA\OpenRA.Mods.RA.csproj", "{4A8A43B5-A9EF-4ED0-99DD-4BAB10A0DB6E}" - ProjectSection(ProjectDependencies) = postProject - {F9FA4D9F-2302-470A-8A07-6E37F488C124} = {F9FA4D9F-2302-470A-8A07-6E37F488C124} - EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Mods.Cnc", "OpenRA.Mods.Cnc\OpenRA.Mods.Cnc.csproj", "{2881135D-4D62-493E-8F83-5EEE92CCC6BE}" - ProjectSection(ProjectDependencies) = postProject - {F9FA4D9F-2302-470A-8A07-6E37F488C124} = {F9FA4D9F-2302-470A-8A07-6E37F488C124} - EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Renderer.Cg", "OpenRA.Renderer.Cg\OpenRA.Renderer.Cg.csproj", "{67CF1A10-C5F6-48FA-B1A7-FE83BE4CE2CC}" EndProject @@ -33,8 +27,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Mods.D2k", "OpenRA.M EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Mods.TS", "OpenRA.Mods.TS\OpenRA.Mods.TS.csproj", "{5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GeoIP", "GeoIP\GeoIP.csproj", "{021DDD6A-A608-424C-9A9A-252D8A9989E0}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Irc", "OpenRA.Irc\OpenRA.Irc.csproj", "{85B48234-8B31-4BE6-AF9C-665CC6866841}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Renderer.Sdl2", "OpenRA.Renderer.Sdl2\OpenRA.Renderer.Sdl2.csproj", "{33D03738-C154-4028-8EA8-63A3C488A651}" diff --git a/packaging/package-all.sh b/packaging/package-all.sh index cc229cc58a..0946bf268a 100755 --- a/packaging/package-all.sh +++ b/packaging/package-all.sh @@ -32,7 +32,7 @@ FILES=('OpenRA.Game.exe' 'OpenRA.Editor.exe' 'OpenRA.Utility.exe' \ 'cg' 'glsl' 'mods/common' 'mods/ra' 'mods/cnc' 'mods/d2k' 'mods/modchooser' \ 'AUTHORS' 'CHANGELOG' 'COPYING' \ 'README.html' 'CONTRIBUTING.html' 'DOCUMENTATION.html' \ -'global mix database.dat' 'GeoIP.dll' 'GeoIP.dat') +'global mix database.dat' 'GeoLite2-Country.mmdb') echo "Copying files..." for i in "${FILES[@]}"; do @@ -61,6 +61,12 @@ cp thirdparty/Mono.Nat.dll packaging/built cp thirdparty/KopiLua.dll packaging/built cp thirdparty/NLua.dll packaging/built +# GeoIP database access +cp thirdparty/MaxMind.Db.dll packaging/built +cp thirdparty/MaxMind.GeoIP2.dll packaging/built +cp thirdparty/Newtonsoft.Json.dll packaging/built +cp thirdparty/RestSharp.dll packaging/built + # Copy game icon for windows package cp OpenRA.Game/OpenRA.ico packaging/built diff --git a/packaging/windows/OpenRA.nsi b/packaging/windows/OpenRA.nsi index da955a8f49..f5a7c297e0 100644 --- a/packaging/windows/OpenRA.nsi +++ b/packaging/windows/OpenRA.nsi @@ -85,8 +85,11 @@ Section "Game" GAME File "${SRCDIR}\Tao.*.dll" File "${SRCDIR}\SharpFont.dll" File "${SRCDIR}\global mix database.dat" - File "${SRCDIR}\GeoIP.dll" - File "${SRCDIR}\GeoIP.dat" + File "${SRCDIR}\MaxMind.Db.dll" + File "${SRCDIR}\MaxMind.GeoIP2.dll" + File "${SRCDIR}\Newtonsoft.Json.dll" + File "${SRCDIR}\RestSharp.dll" + File "${SRCDIR}\GeoLite2-Country.mmdb" File "${SRCDIR}\KopiLua.dll" File "${SRCDIR}\NLua.dll" File OpenAL32.dll @@ -202,8 +205,11 @@ Function ${UN}Clean Delete $INSTDIR\OpenRA.ico Delete $INSTDIR\*.ttf Delete "$INSTDIR\global mix database.dat" - Delete $INSTDIR\GeoIP.dat - Delete $INSTDIR\GeoIP.dll + Delete $INSTDIR\MaxMind.Db.dll + Delete $INSTDIR\MaxMind.GeoIP2.dll + Delete $INSTDIR\Newtonsoft.Json.dll + Delete $INSTDIR\RestSharp.dll + Delete $INSTDIR\GeoLite2-Country.mmdb Delete $INSTDIR\KopiLua.dll Delete $INSTDIR\NLua.dll Delete $INSTDIR\OpenAL32.dll diff --git a/thirdparty/MaxMind.Db.dll b/thirdparty/MaxMind.Db.dll new file mode 100644 index 0000000000..bcb45d9c38 Binary files /dev/null and b/thirdparty/MaxMind.Db.dll differ diff --git a/thirdparty/MaxMind.GeoIP2.dll b/thirdparty/MaxMind.GeoIP2.dll new file mode 100644 index 0000000000..c2018ad949 Binary files /dev/null and b/thirdparty/MaxMind.GeoIP2.dll differ diff --git a/thirdparty/Newtonsoft.Json.dll b/thirdparty/Newtonsoft.Json.dll new file mode 100644 index 0000000000..0a159151ba Binary files /dev/null and b/thirdparty/Newtonsoft.Json.dll differ diff --git a/thirdparty/RestSharp.dll b/thirdparty/RestSharp.dll new file mode 100644 index 0000000000..c3e73d0fe6 Binary files /dev/null and b/thirdparty/RestSharp.dll differ