code:
<?php
// ***** BEGIN LICENSE BLOCK *****
// Version: MPL 1.1/GPL 2.0/LGPL 2.1
//
// The contents of this file are subject to the Mozilla Public License Version
// 1.1 (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
// http://www.mozilla.org/MPL/
//
// Software distributed under the License is distributed on an "AS IS" basis,
// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
// for the specific language governing rights and limitations under the
// License.
//
// The Original Code is the Public Suffix List.
//
// The Initial Developer of the Original Code is
// Jo Hermans <jo.hermans@gmail.com>.
// Portions created by the Initial Developer are Copyright (C) 2007
// the Initial Developer. All Rights Reserved.
//
// Contributor(s):
//   Ruben Arakelyan <ruben@rubenarakelyan.com>
//   Gervase Markham <gerv@gerv.net>
//   Pamela Greene <pamg.bugs@gmail.com>
//   David Triendl <david@triendl.name>
//   Jothan Frakes <jothan@gmail.com>
//   The kind representatives of many TLD registries
//
// Alternatively, the contents of this file may be used under the terms of
// either the GNU General Public License Version 2 or later (the "GPL"), or
// the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
// in which case the provisions of the GPL or the LGPL are applicable instead
// of those above. If you wish to allow use of your version of this file only
// under the terms of either the GPL or the LGPL, and not to allow others to
// use your version of this file under the terms of the MPL, indicate your
// decision by deleting the provisions above and replace them with the notice
// and other provisions required by the GPL or the LGPL. If you do not delete
// the provisions above, a recipient may use your version of this file under
// the terms of any one of the MPL, the GPL or the LGPL.
//
// ***** END LICENSE BLOCK *****

return array(
 'ac' => array(
  'com' => true,
  'edu' => true,
  'gov' => true,
  'net' => true,
  'mil' => true,
  'org' => true
 ),
 'ad' => array(
  'nom' => true
 ),
 'ae' => array(
  'co' => true,
  'net' => true,
  'org' => true,
  'sch' => true,
  'ac' => true,
  'gov' => true,
  'mil' => true
 ),
 'aero' => array(
  'accident-investigation' => true,
  'accident-prevention' => true,
  'aerobatic' => true,
  'aeroclub' => true,
  'aerodrome' => true,
  'agents' => true,
  'aircraft' => true,
  'airline' => true,
  'airport' => true,
  'air-surveillance' => true,
  'airtraffic' => true,
  'air-traffic-control' => true,
  'ambulance' => true,
  'amusement' => true,
  'association' => true,
  'author' => true,
  'ballooning' => true,
  'broker' => true,
  'caa' => true,
  'cargo' => true,
  'catering' => true,
  'certification' => true,
  'championship' => true,
  'charter' => true,
  'civilaviation' => true,
  'club' => true,
  'conference' => true,
  'consultant' => true,
  'consulting' => true,
  'control' => true,
  'council' => true,
  'crew' => true,
  'design' => true,
  'dgca' => true,
  'educator' => true,
  'emergency' => true,
  'engine' => true,
  'engineer' => true,
  'entertainment' => true,
  'equipment' => true,
  'exchange' => true,
  'express' => true,
  'federation' => true,
  'flight' => true,
  'freight' => true,
  'fuel' => true,
  'gliding' => true,
  'government' => true,
  'groundhandling' => true,
  'group' => true,
  'hanggliding' => true,
  'homebuilt' => true,
  'insurance' => true,
  'journal' => true,
  'journalist' => true,
  'leasing' => true,
  'logistics' => true,
  'magazine' => true,
  'maintenance' => true,
  'marketplace' => true,
  'media' => true,
  'microlight' => true,
  'modelling' => true,
  'navigation' => true,
  'parachuting' => true,
  'paragliding' => true,
  'passenger-association' => true,
  'pilot' => true,
  'press' => true,
  'production' => true,
  'recreation' => true,
  'repbody' => true,
  'res' => true,
  'research' => true,
  'rotorcraft' => true,
  'safety' => true,
  'scientist' => true,
  'services' => true,
  'show' => true,
  'skydiving' => true,
  'software' => true,
  'student' => true,
  'taxi' => true,
  'trader' => true,
  'trading' => true,
  'trainer' => true,
  'union' => true,
  'workinggroup' => true,
  'works' => true
 ),
 'af' => array(
  'gov' => true,
  'com' => true,
  'org' => true,
  'net' => true,
  'edu' => true
 ),
 'ag' => array(
  'com' => true,
  'org' => true,
  'net' => true,
  'co' => true,
  'nom' => true
 ),
 'ai' => array(
  'off' => true,
  'com' => true,
  'net' => true,
  'org' => true
 ),
 'al' => array(
  'com' => true,
  'edu' => true,
  'gov' => true,
  'mil' => true,
  'net' => true,
  'org' => true
 ),
 'am' => true,
 'an' => array(
  'com' => true,
  'net' => true,
  'org' => true,
  'edu' => true
 ),
 'ao' => array(
  'ed' => true,
  'gv' => true,
  'og' => true,
  'co' => true,
  'pb' => true,
  'it' => true
 ),
 'aq' => true,
 'ar' => array(
  '*' => true,
  '!congresodelalengua3' => true,
  '!educ' => true,
  '!gobiernoelectronico' => true,
  '!mecon' => true,
  '!nacion' => true,
  '!nic' => true,
  '!promocion' => true,
  '!retina' => true,
  '!uba' => true
 ),
 'arpa' => array(
  'e164' => true,
  'in-addr' => true,
  'ip6' => true,
  'iris' => true,
  'uri' => true,
  'urn' => true
 ),
 'as' => array(
  'gov' => true
 ),
 'asia' => true,
 'at' => array(
  'ac' => true,
  'co' => true,
  'gv' => true,
  'or' => true,
  'biz' => true,
  'info' => true,
  'priv' => true
 ),
 'au' => array(
  'com' => true,
  'net' => true,
  'org' => true,
  'edu' => array(
   'act' => true,
   'nsw' => true,
   'nt' => true,
   'qld' => true,
   'sa' => true,
   'tas' => true,
   'vic' => true,
   'wa' => true
  ),
  'gov' => array(
   'act' => true,
   'nt' => true,
   'qld' => true,
   'sa' => true,
   'tas' => true,
   'vic' => true,
   'wa' => true
  ),
  'csiro' => true,
  'asn' => true,
  'id' => true,
  'info' => true,
  'conf' => true,
  'oz' => true,
  'act' => true,
  'nsw' => true,
  'nt' => true,
  'qld' => true,
  'sa' => true,
  'tas' => true,
  'vic' => true,
  'wa' => true
 ),
 'aw' => array(
  'com' => true
 ),
 'ax' => true,
 'az' => array(
  'com' => true,
  'net' => true,
  'int' => true,
  'gov' => true,
  'org' => true,
  'edu' => true,
  'info' => true,
  'pp' => true,
  'mil' => true,
  'name' => true,
  'pro' => true,
  'biz' => true
 ),
 'ba' => array(
  'org' => true,
  'net' => true,
  'edu' => true,
  'gov' => true,
  'mil' => true,
  'unsa' => true,
  'unbi' => true,
  'co' => true,
  'com' => true,
  'rs' => true
 ),
 'bb' => array(
  'biz' => true,
  'com' => true,
  'edu' => true,
  'gov' => true,
  'info' => true,
  'net' => true,
  'org' => true,
  'store' => true
 ),
 'bd' => array(
  '*' => true
 ),
 'be' => array(
  'ac' => true
 ),
 'bf' => array(
  'gov' => true
 ),
 'bg' => array(
  'a' => true,
  'b' => true,
  'c' => true,
  'd' => true,
  'e' => true,
  'f' => true,
  'g' => true,
  'h' => true,
  'i' => true,
  'j' => true,
  'k' => true,
  'l' => true,
  'm' => true,
  'n' => true,
  'o' => true,
  'p' => true,
  'q' => true,
  'r' => true,
  's' => true,
  't' => true,
  'u' => true,
  'v' => true,
  'w' => true,
  'x' => true,
  'y' => true,
  'z' => true,
  '0' => true,
  '1' => true,
  '2' => true,
  '3' => true,
  '4' => true,
  '5' => true,
  '6' => true,
  '7' => true,
  '8' => true,
  '9' => true
 ),
 'bh' => array(
  'com' => true,
  'edu' => true,
  'net' => true,
  'org' => true,
  'gov' => true
 ),
 'bi' => array(
  'co' => true,
  'com' => true,
  'edu' => true,
  'or' => true,
  'org' => true
 ),
 'biz' => array(
  'dyndns' => true,
  'for-better' => true,
  'for-more' => true,
  'for-some' => true,
  'for-the' => true,
  'selfip' => true,
  'webhop' => true
 ),
 'bj' => array(
  'asso' => true,
  'barreau' => true,
  'gouv' => true
 ),
 'bm' => array(
  'com' => true,
  'edu' => true,
  'gov' => true,
  'net' => true,
  'org' => true
 ),
 'bn' => array(
  '*' => true
 ),
 'bo' => array(
  'com' => true,
  'edu' => true,
  'gov' => true,
  'gob' => true,
  'int' => true,
  'org' => true,
  'net' => true,
  'mil' => true,
  'tv' => true
 ),
 'br' => array(
  'adm' => true,
  'adv' => true,
  'agr' => true,
  'am' => true,
  'arq' => true,
  'art' => true,
  'ato' => true,
  'b' => true,
  'bio' => true,
  'blog' => true,
  'bmd' => true,
  'can' => true,
  'cim' => true,
  'cng' => true,
  'cnt' => true,
  'com' => true,
  'coop' => true,
  'ecn' => true,
  'edu' => true,
  'emp' => true,
  'eng' => true,
  'esp' => true,
  'etc' => true,
  'eti' => true,
  'far' => true,
  'flog' => true,
  'fm' => true,
  'fnd' => true,
  'fot' => true,
  'fst' => true,
  'g12' => true,
  'ggf' => true,
  'gov' => true,
  'imb' => true,
  'ind' => true,
  'inf' => true,
  'jor' => true,
  'jus' => true,
  'lel' => true,
  'mat' => true,
  'med' => true,
  'mil' => true,
  'mus' => true,
  'net' => true,
  'nom' => true,
  'not' => true,
  'ntr' => true,
  'odo' => true,
  'org' => true,
  'ppg' => true,
  'pro' => true,
  'psc' => true,
  'psi' => true,
  'qsl' => true,
  'radio' => true,
  'rec' => true,
  'slg' => true,
  'srv' => true,
  'taxi' => true,
  'teo' => true,
  'tmp' => true,
  'trd' => true,
  'tur' => true,
  'tv' => true,
  'vet' => true,
  'vlog' => true,
  'wiki' => true,
  'zlg' => true
 ),
 'bs' => array(
  'com' => true,
  'net' => true,
  'org' => true,
  'edu' => true,
  'gov' => true
 ),
 'bt' => array(
  'com' => true,
  'edu' => true,
  'gov' => true,
  'net' => true,
  'org' => true
 ),
 'bw' => array(
  'co' => true,
  'org' => true
 ),
 'by' => array(
  'gov' => true,
  'mil' => true,
  'com' => true,
  'of' => true
 ),
 'bz' => array(
  'com' => true,
  'net' => true,
  'org' => true,
  'edu' => true,
  'gov' => true
 ),
 'ca' => array(
  'ab' => true,
  'bc' => true,
  'mb' => true,
  'nb' => true,
  'nf' => true,
  'nl' => true,
  'ns' => true,
  'nt' => true,
  'nu' => true,
  'on' => true,
  'pe' => true,
  'qc' => true,
  'sk' => true,
  'yk' => true,
  'gc' => true,
  'co' => true
 ),
 'cat' => true,
 'cc' => array(
  'ftpaccess' => true,
  'game-server' => true,
  'myphotos' => true,
  'scrapping' => true
 ),
 'cd' => array(
  'gov' => true
 ),
 'cf' => true,
 'cg' => true,
 'ch' => true,
 'ci' => array(
  'org' => true,
  'or' => true,
  'com' => true,
  'co' => true,
  'edu' => true,
  'ed' => true,
  'ac' => true,
  'net' => true,
  'go' => true,
  'asso' => true,
  'aéroport' => true,
  'int' => true,
  'presse' => true,
  'md' => true,
  'gouv' => true
 ),
 'ck' => array(
  '*' => true,
  '!www' => true
 ),
 'cl' => array(
  'gov' => true,
  'gob' => true,
  'co' => true,
  'mil' => true
 ),
 'cm' => array(
  'gov' => true
 ),
 'cn' => array(
  'ac' => true,
  'com' => true,
  'edu' => true,
  'gov' => true,
  'net' => true,
  'org' => true,
  'mil' => true,
  '公司' => true,
  '网络' => true,
  '網絡' => true,
  'ah' => true,
  'bj' => true,
  'cq' => true,
  'fj' => true,
  'gd' => true,
  'gs' => true,
  'gz' => true,
  'gx' => true,
  'ha' => true,
  'hb' => true,
  'he' => true,
  'hi' => true,
  'hl' => true,
  'hn' => true,
  'jl' => true,
  'js' => true,
  'jx' => true,
  'ln' => true,
  'nm' => true,
  'nx' => true,
  'qh' => true,
  'sc' => true,
  'sd' => true,
  'sh' => true,
  'sn' => true,
  'sx' => true,
  'tj' => true,
  'xj' => true,
  'xz' => true,
  'yn' => true,
  'zj' => true,
  'hk' => true,
  'mo' => true,
  'tw' => true
 ),
 'co' => array(
  'arts' => true,
  'com' => true,
  'edu' => true,
  'firm' => true,
  'gov' => true,
  'info' => true,
  'int' => true,
  'mil' => true,
  'net' => true,
  'nom' => true,
  'org' => true,
  'rec' => true,
  'web' => true
 ),
 'com' => array(
  'ar' => true,
  'br' => true,
  'cn' => true,
  'de' => true,
  'eu' => true,
  'gb' => true,
  'gr' => true,
  'hu' => true,
  'jpn' => true,
  'kr' => true,
  'no' => true,
  'qc' => true,
  'ru' => true,
  'sa' => true,
  'se' => true,
  'uk' => true,
  'us' => true,
  'uy' => true,
  'za' => true,
  'operaunite' => true,
  'appspot' => true,
  'dyndns-at-home' => true,
  'dyndns-at-work' => true,
  'dyndns-blog' => true,
  'dyndns-free' => true,
  'dyndns-home' => true,
  'dyndns-ip' => true,
  'dyndns-mail' => true,
  'dyndns-office' => true,
  'dyndns-pics' => true,
  'dyndns-remote' => true,
  'dyndns-server' => true,
  'dyndns-web' => true,
  'dyndns-wiki' => true,
  'dyndns-work' => true,
  'blogdns' => true,
  'cechire' => true,
  'dnsalias' => true,
  'dnsdojo' => true,
  'doesntexist' => true,
  'dontexist' => true,
  'doomdns' => true,
  'dyn-o-saur' => true,
  'dynalias' => true,
  'est-a-la-maison' => true,
  'est-a-la-masion' => true,
  'est-le-patron' => true,
  'est-mon-blogueur' => true,
  'from-ak' => true,
  'from-al' => true,
  'from-ar' => true,
  'from-ca' => true,
  'from-ct' => true,
  'from-dc' => true,
  'from-de' => true,
  'from-fl' => true,
  'from-ga' => true,
  'from-hi' => true,
  'from-ia' => true,
  'from-id' => true,
  'from-il' => true,
  'from-in' => true,
  'from-ks' => true,
  'from-ky' => true,
  'from-ma' => true,
  'from-md' => true,
  'from-mi' => true,
  'from-mn' => true,
  'from-mo' => true,
  'from-ms' => true,
  'from-mt' => true,
  'from-nc' => true,
  'from-nd' => true,
  'from-ne' => true,
  'from-nh' => true,
  'from-nj' => true,
  'from-nm' => true,
  'from-nv' => true,
  'from-oh' => true,
  'from-ok' => true,
  'from-or' => true,
  'from-pa' => true,
  'from-pr' => true,
  'from-ri' => true,
  'from-sc' => true,
  'from-sd' => true,
  'from-tn' => true,
  'from-tx' => true,
  'from-ut' => true,
  'from-va' => true,
  'from-vt' => true,
  'from-wa' => true,
  'from-wi' => true,
  'from-wv' => true,
  'from-wy' => true,
  'getmyip' => true,
  'gotdns' => true,
  'hobby-site' => true,
  'homelinux' => true,
  'homeunix' => true,
  'iamallama' => true,
  'is-a-anarchist' => true,
  'is-a-blogger' => true,
  'is-a-bookkeeper' => true,
  'is-a-bulls-fan' => true,
  'is-a-caterer' => true,
  'is-a-chef' => true,
  'is-a-conservative' => true,
  'is-a-cpa' => true,
  'is-a-cubicle-slave' => true,
  'is-a-democrat' => true,
  'is-a-designer' => true,
  'is-a-doctor' => true,
  'is-a-financialadvisor' => true,
  'is-a-geek' => true,
  'is-a-green' => true,
  'is-a-guru' => true,
  'is-a-hard-worker' => true,
  'is-a-hunter' => true,
  'is-a-landscaper' => true,
  'is-a-lawyer' => true,
  'is-a-liberal' => true,
  'is-a-libertarian' => true,
  'is-a-llama' => true,
  'is-a-musician' => true,
  'is-a-nascarfan' => true,
  'is-a-nurse' => true,
  'is-a-painter' => true,
  'is-a-personaltrainer' => true,
  'is-a-photographer' => true,
  'is-a-player' => true,
  'is-a-republican' => true,
  'is-a-rockstar' => true,
  'is-a-socialist' => true,
  'is-a-student' => true,
  'is-a-teacher' => true,
  'is-a-techie' => true,
  'is-a-therapist' => true,
  'is-an-accountant' => true,
  'is-an-actor' => true,
  'is-an-actress' => true,
  'is-an-anarchist' => true,
  'is-an-artist' => true,
  'is-an-engineer' => true,
  'is-an-entertainer' => true,
  'is-certified' => true,
  'is-gone' => true,
  'is-into-anime' => true,
  'is-into-cars' => true,
  'is-into-cartoons' => true,
  'is-into-games' => true,
  'is-leet' => true,
  'is-not-certified' => true,
  'is-slick' => true,
  'is-uberleet' => true,
  'is-with-theband' => true,
  'isa-geek' => true,
  'isa-hockeynut' => true,
  'issmarterthanyou' => true,
  'likes-pie' => true,
  'likescandy' => true,
  'neat-url' => true,
  'saves-the-whales' => true,
  'selfip' => true,
  'sells-for-less' => true,
  'sells-for-u' => true,
  'servebbs' => true,
  'simple-url' => true,
  'space-to-rent' => true,
  'teaches-yoga' => true,
  'writesthisblog' => true
 ),
 'coop' => true,
 'cr' => array(
  'ac' => true,
  'co' => true,
  'ed' => true,
  'fi' => true,
  'go' => true,
  'or' => true,
  'sa' => true
 ),
 'cu' => array(
  'com' => true,
  'edu' => true,
  'org' => true,
  'net' => true,
  'gov' => true,
  'inf' => true
 ),
 'cv' => true,
 'cx' => array(
  'gov' => true,
  'ath' => true
 ),
 'cy' => array(
  '*' => true
 ),
 'cz' => true,
 'de' => array(
  'com' => true,
  'fuettertdasnetz' => true,
  'isteingeek' => true,
  'istmein' => true,
  'lebtimnetz' => true,
  'leitungsen' => true,
  'traeumtgerade' => true
 ),
 'dj' => true,
 'dk' => true,
 'dm' => array(
  'com' => true,
  'net' => true,
  'org' => true,
  'edu' => true,
  'gov' => true
 ),
 'do' => array(
  'art' => true,
  'com' => true,
  'edu' => true,
  'gob' => true,
  'gov' => true,
  'mil' => true,
  'net' => true,
  'org' => true,
  'sld' => true,
  'web' => true
 ),
 'dz' => array(
  'com' => true,
  'org' => true,
  'net' => true,
  'gov' => true,
  'edu' => true,
  'asso' => true,
  'pol' => true,
  'art' => true
 ),
 'ec' => array(
  'com' => true,
  'info' => true,
  'net' => true,
  'fin' => true,
  'k12' => true,
  'med' => true,
  'pro' => true,
  'org' => true,
  'edu' => true,
  'gov' => true,
  'gob' => true,
  'mil' => true
 ),
 'edu' => true,
 'ee' => array(
  'edu' => true,
  'gov' => true,
  'riik' => true,
  'lib' => true,
  'med' => true,
  'com' => true,
  'pri' => true,
  'aip' => true,
  'org' => true,
  'fie' => true
 ),
 'eg' => array(
  'com' => true,
  'edu' => true,
  'eun' => true,
  'gov' => true,
  'mil' => true,
  'name' => true,
  'net' => true,
  'org' => true,
  'sci' => true
 ),
 'er' => array(
  '*' => true
 ),
 'es' => array(
  'com' => true,
  'nom' => true,
  'org' => true,
  'gob' => true,
  'edu' => true
 ),
 'et' => array(
  '*' => true
 ),
 'eu' => true,
 'fi' => array(
  'aland' => true,
  'iki' => true
 ),
 'fj' => array(
  '*' => true
 ),
 'fk' => array(
  '*' => true
 ),
 'fm' => true,
 'fo' => true,
 'fr' => array(
  'com' => true,
  'asso' => true,
  'nom' => true,
  'prd' => true,
  'presse' => true,
  'tm' => true,
  'aeroport' => true,
  'assedic' => true,
  'avocat' => true,
  'avoues' => true,
  'cci' => true,
  'chambagri' => true,
  'chirurgiens-dentistes' => true,
  'experts-comptables' => true,
  'geometre-expert' => true,
  'gouv' => true,
  'greta' => true,
  'huissier-justice' => true,
  'medecin' => true,
  'notaires' => true,
  'pharmacien' => true,
  'port' => true,
  'veterinaire' => true
 ),
 'ga' => true,
 'gd' => true,
 'ge' => array(
  'com' => true,
  'edu' => true,
  'gov' => true,
  'org' => true,
  'mil' => true,
  'net' => true,
  'pvt' => true
 ),
 'gf' => true,
 'gg' => array(
  'co' => true,
  'org' => true,
  'net' => true,
  'sch' => true,
  'gov' => true
 ),
 'gh' => array(
  'com' => true,
  'edu' => true,
  'gov' => true,
  'org' => true,
  'mil' => true
 ),
 'gi' => array(
  'com' => true,
  'ltd' => true,
  'gov' => true,
  'mod' => true,
  'edu' => true,
  'org' => true
 ),
 'gl' => true,
 'gm' => true,
 'gn' => array(
  'ac' => true,
  'com' => true,
  'edu' => true,
  'gov' => true,
  'org' => true,
  'net' => true
 ),
 'gov' => true,
 'gp' => array(
  'com' => true,
  'net' => true,
  'mobi' => true,
  'edu' => true,
  'org' => true,
  'asso' => true
 ),
 'gq' => true,
 'gr' => array(
  'com' => true,
  'edu' => true,
  'net' => true,
  'org' => true,
  'gov' => true
 ),
 'gs' => true,
 'gt' => array(
  '*' => true,
  '!www' => true
 ),
 'gu' => array(
  '*' => true
 ),
 'gw' => true,
 'gy' => array(
  'co' => true,
  'com' => true,
  'net' => true
 ),
 'hk' => array(
  'com' => true,
  'edu' => true,
  'gov' => true,
  'idv' => true,
  'net' => true,
  'org' => true,
  '公司' => true,
  '教育' => true,
  '敎育' => true,
  '政府' => true,
  '個人' => true,
  '个人' => true,
  '箇人' => true,
  '網络' => true,
  '网络' => true,
  '组織' => true,
  '網絡' => true,
  '网絡' => true,
  '组织' => true,
  '組織' => true,
  '組织' => true
 ),
 'hm' => true,
 'hn' => array(
  'com' => true,
  'edu' => true,
  'org' => true,
  'net' => true,
  'mil' => true,
  'gob' => true
 ),
 'hr' => array(
  'iz' => true,
  'from' => true,
  'name' => true,
  'com' => true
 ),
 'ht' => array(
  'com' => true,
  'shop' => true,
  'firm' => true,
  'info' => true,
  'adult' => true,
  'net' => true,
  'pro' => true,
  'org' => true,
  'med' => true,
  'art' => true,
  'coop' => true,
  'pol' => true,
  'asso' => true,
  'edu' => true,
  'rel' => true,
  'gouv' => true,
  'perso' => true
 ),
 'hu' => array(
  'co' => true,
  'info' => true,
  'org' => true,
  'priv' => true,
  'sport' => true,
  'tm' => true,
  '2000' => true,
  'agrar' => true,
  'bolt' => true,
  'casino' => true,
  'city' => true,
  'erotica' => true,
  'erotika' => true,
  'film' => true,
  'forum' => true,
  'games' => true,
  'hotel' => true,
  'ingatlan' => true,
  'jogasz' => true,
  'konyvelo' => true,
  'lakas' => true,
  'media' => true,
  'news' => true,
  'reklam' => true,
  'sex' => true,
  'shop' => true,
  'suli' => true,
  'szex' => true,
  'tozsde' => true,
  'utazas' => true,
  'video' => true
 ),
 'id' => array(
  'ac' => true,
  'co' => true,
  'go' => true,
  'mil' => true,
  'net' => true,
  'or' => true,
  'sch' => true,
  'web' => true
 ),
 'ie' => array(
  'gov' => true
 ),
 'il' => array(
  '*' => true
 ),
 'im' => array(
  'co' => array(
   'ltd' => true,
   'plc' => true
  ),
  'net' => true,
  'gov' => true,
  'org' => true,
  'nic' => true,
  'ac' => true
 ),
 'in' => array(
  'co' => true,
  'firm' => true,
  'net' => true,
  'org' => true,
  'gen' => true,
  'ind' => true,
  'nic' => true,
  'ac' => true,
  'edu' => true,
  'res' => true,
  'gov' => true,
  'mil' => true
 ),
 'info' => array(
  'dyndns' => true,
  'barrel-of-knowledge' => true,
  'barrell-of-knowledge' => true,
  'for-our' => true,
  'groks-the' => true,
  'groks-this' => true,
  'here-for-more' => true,
  'knowsitall' => true,
  'selfip' => true,
  'webhop' => true
 ),
 'int' => array(
  'eu' => true
 ),
 'io' => array(
  'com' => true
 ),
 'iq' => array(
  'gov' => true,
  'edu' => true,
  'mil' => true,
  'com' => true,
  'org' => true,
  'net' => true
 ),
 'ir' => array(
  'ac' => true,
  'co' => true,
  'gov' => true,
  'id' => true,
  'net' => true,
  'org' => true,
  'sch' => true,
  'ایران' => true,
  'ايران' => true
 ),
 'is' => array(
  'net' => true,
  'com' => true,
  'edu' => true,
  'gov' => true,
  'org' => true,
  'int' => true
 ),
 'it' => array(
  'gov' => true,
  'edu' => true,
  'agrigento' => true,
  'ag' => true,
  'alessandria' => true,
  'al' => true,
  'ancona' => true,
  'an' => true,
  'aosta' => true,
  'aoste' => true,
  'ao' => true,
  'arezzo' => true,
  'ar' => true,
  'ascoli-piceno' => true,
  'ascolipiceno' => true,
  'ap' => true,
  'asti' => true,
  'at' => true,
  'avellino' => true,
  'av' => true,
  'bari' => true,
  'ba' => true,
  'andria-barletta-trani' => true,
  'andriabarlettatrani' => true,
  'trani-barletta-andria' => true,
  'tranibarlettaandria' => true,
  'barletta-trani-andria' => true,
  'barlettatraniandria' => true,
  'andria-trani-barletta' => true,
  'andriatranibarletta' => true,
  'trani-andria-barletta' => true,
  'traniandriabarletta' => true,
  'bt' => true,
  'belluno' => true,
  'bl' => true,
  'benevento' => true,
  'bn' => true,
  'bergamo' => true,
  'bg' => true,
  'biella' => true,
  'bi' => true,
  'bologna' => true,
  'bo' => true,
  'bolzano' => true,
  'bozen' => true,
  'balsan' => true,
  'alto-adige' => true,
  'altoadige' => true,
  'suedtirol' => true,
  'bz' => true,
  'brescia' => true,
  'bs' => true,
  'brindisi' => true,
  'br' => true,
  'cagliari' => true,
  'ca' => true,
  'caltanissetta' => true,
  'cl' => true,
  'campobasso' => true,
  'cb' => true,
  'carboniaiglesias' => true,
  'carbonia-iglesias' => true,
  'iglesias-carbonia' => true,
  'iglesiascarbonia' => true,
  'ci' => true,
  'caserta' => true,
  'ce' => true,
  'catania' => true,
  'ct' => true,
  'catanzaro' => true,
  'cz' => true,
  'chieti' => true,
  'ch' => true,
  'como' => true,
  'co' => true,
  'cosenza' => true,
  'cs' => true,
  'cremona' => true,
  'cr' => true,
  'crotone' => true,
  'kr' => true,
  'cuneo' => true,
  'cn' => true,
  'dell-ogliastra' => true,
  'dellogliastra' => true,
  'ogliastra' => true,
  'og' => true,
  'enna' => true,
  'en' => true,
  'ferrara' => true,
  'fe' => true,
  'fermo' => true,
  'fm' => true,
  'firenze' => true,
  'florence' => true,
  'fi' => true,
  'foggia' => true,
  'fg' => true,
  'forli-cesena' => true,
  'forlicesena' => true,
  'cesena-forli' => true,
  'cesenaforli' => true,
  'fc' => true,
  'frosinone' => true,
  'fr' => true,
  'genova' => true,
  'genoa' => true,
  'ge' => true,
  'gorizia' => true,
  'go' => true,
  'grosseto' => true,
  'gr' => true,
  'imperia' => true,
  'im' => true,
  'isernia' => true,
  'is' => true,
  'laquila' => true,
  'aquila' => true,
  'aq' => true,
  'la-spezia' => true,
  'laspezia' => true,
  'sp' => true,
  'latina' => true,
  'lt' => true,
  'lecce' => true,
  'le' => true,
  'lecco' => true,
  'lc' => true,
  'livorno' => true,
  'li' => true,
  'lodi' => true,
  'lo' => true,
  'lucca' => true,
  'lu' => true,
  'macerata' => true,
  'mc' => true,
  'mantova' => true,
  'mn' => true,
  'massa-carrara' => true,
  'massacarrara' => true,
  'carrara-massa' => true,
  'carraramassa' => true,
  'ms' => true,
  'matera' => true,
  'mt' => true,
  'medio-campidano' => true,
  'mediocampidano' => true,
  'campidano-medio' => true,
  'campidanomedio' => true,
  'vs' => true,
  'messina' => true,
  'me' => true,
  'milano' => true,
  'milan' => true,
  'mi' => true,
  'modena' => true,
  'mo' => true,
  'monza' => true,
  'monza-brianza' => true,
  'monzabrianza' => true,
  'monzaebrianza' => true,
  'monzaedellabrianza' => true,
  'monza-e-della-brianza' => true,
  'mb' => true,
  'napoli' => true,
  'naples' => true,
  'na' => true,
  'novara' => true,
  'no' => true,
  'nuoro' => true,
  'nu' => true,
  'oristano' => true,
  'or' => true,
  'padova' => true,
  'padua' => true,
  'pd' => true,
  'palermo' => true,
  'pa' => true,
  'parma' => true,
  'pr' => true,
  'pavia' => true,
  'pv' => true,
  'perugia' => true,
  'pg' => true,
  'pescara' => true,
  'pe' => true,
  'pesaro-urbino' => true,
  'pesarourbino' => true,
  'urbino-pesaro' => true,
  'urbinopesaro' => true,
  'pu' => true,
  'piacenza' => true,
  'pc' => true,
  'pisa' => true,
  'pi' => true,
  'pistoia' => true,
  'pt' => true,
  'pordenone' => true,
  'pn' => true,
  'potenza' => true,
  'pz' => true,
  'prato' => true,
  'po' => true,
  'ragusa' => true,
  'rg' => true,
  'ravenna' => true,
  'ra' => true,
  'reggio-calabria' => true,
  'reggiocalabria' => true,
  'rc' => true,
  'reggio-emilia' => true,
  'reggioemilia' => true,
  're' => true,
  'rieti' => true,
  'ri' => true,
  'rimini' => true,
  'rn' => true,
  'roma' => true,
  'rome' => true,
  'rm' => true,
  'rovigo' => true,
  'ro' => true,
  'salerno' => true,
  'sa' => true,
  'sassari' => true,
  'ss' => true,
  'savona' => true,
  'sv' => true,
  'siena' => true,
  'si' => true,
  'siracusa' => true,
  'sr' => true,
  'sondrio' => true,
  'so' => true,
  'taranto' => true,
  'ta' => true,
  'tempio-olbia' => true,
  'tempioolbia' => true,
  'olbia-tempio' => true,
  'olbiatempio' => true,
  'ot' => true,
  'teramo' => true,
  'te' => true,
  'terni' => true,
  'tr' => true,
  'torino' => true,
  'turin' => true,
  'to' => true,
  'trapani' => true,
  'tp' => true,
  'trento' => true,
  'trentino' => true,
  'tn' => true,
  'treviso' => true,
  'tv' => true,
  'trieste' => true,
  'ts' => true,
  'udine' => true,
  'ud' => true,
  'varese' => true,
  'va' => true,
  'venezia' => true,
  'venice' => true,
  've' => true,
  'verbania' => true,
  'vb' => true,
  'vercelli' => true,
  'vc' => true,
  'verona' => true,
  'vr' => true,
  'vibo-valentia' => true,
  'vibovalentia' => true,
  'vv' => true,
  'vicenza' => true,
  'vi' => true,
  'viterbo' => true,
  'vt' => true
 ),
 'je' => array(
  'co' => true,
  'org' => true,
  'net' => true,
  'sch' => true,
  'gov' => true
 ),
 'jm' => array(
  '*' => true
 ),
 'jo' => array(
  'com' => true,
  'org' => true,
  'net' => true,
  'edu' => true,
  'sch' => true,
  'gov' => true,
  'mil' => true,
  'name' => true
 ),
 'jobs' => true,
 'jp' => array(
  'ac' => true,
  'ad' => true,
  'co' => true,
  'ed' => true,
  'go' => true,
  'gr' => true,
  'lg' => true,
  'ne' => true,
  'or' => true,
  'aichi' => array(
   '*' => true,
   '!pref' => true
  ),
  'akita' => array(
   '*' => true,
   '!pref' => true
  ),
  'aomori' => array(
   '*' => true,
   '!pref' => true
  ),
  'chiba' => array(
   '*' => true,
   '!pref' => true,
   '!city' => true
  ),
  'ehime' => array(
   '*' => true,
   '!pref' => true
  ),
  'fukui' => array(
   '*' => true,
   '!pref' => true
  ),
  'fukuoka' => array(
   '*' => true,
   '!pref' => true,
   '!city' => true
  ),
  'fukushima' => array(
   '*' => true,
   '!pref' => true
  ),
  'gifu' => array(
   '*' => true,
   '!pref' => true
  ),
  'gunma' => array(
   '*' => true,
   '!pref' => true
  ),
  'hiroshima' => array(
   '*' => true,
   '!pref' => true,
   '!city' => true
  ),
  'hokkaido' => array(
   '*' => true,
   '!pref' => true
  ),
  'hyogo' => array(
   '*' => true,
   '!pref' => true
  ),
  'ibaraki' => array(
   '*' => true,
   '!pref' => true
  ),
  'ishikawa' => array(
   '*' => true,
   '!pref' => true
  ),
  'iwate' => array(
   '*' => true,
   '!pref' => true
  ),
  'kagawa' => array(
   '*' => true,
   '!pref' => true
  ),
  'kagoshima' => array(
   '*' => true,
   '!pref' => true
  ),
  'kanagawa' => array(
   '*' => true,
   '!pref' => true
  ),
  'kawasaki' => array(
   '*' => true,
   '!city' => true
  ),
  'kitakyushu' => array(
   '*' => true,
   '!city' => true
  ),
  'kobe' => array(
   '*' => true,
   '!city' => true
  ),
  'kochi' => array(
   '*' => true,
   '!pref' => true
  ),
  'kumamoto' => array(
   '*' => true,
   '!pref' => true
  ),
  'kyoto' => array(
   '*' => true,
   '!pref' => true,
   '!city' => true
  ),
  'mie' => array(
   '*' => true,
   '!pref' => true
  ),
  'miyagi' => array(
   '*' => true,
   '!pref' => true
  ),
  'miyazaki' => array(
   '*' => true,
   '!pref' => true
  ),
  'nagano' => array(
   '*' => true,
   '!pref' => true
  ),
  'nagasaki' => array(
   '*' => true,
   '!pref' => true
  ),
  'nagoya' => array(
   '*' => true,
   '!city' => true
  ),
  'nara' => array(
   '*' => true,
   '!pref' => true
  ),
  'niigata' => array(
   '*' => true,
   '!pref' => true,
   '!city' => true
  ),
  'oita' => array(
   '*' => true,
   '!pref' => true
  ),
  'okayama' => array(
   '*' => true,
   '!pref' => true,
   '!city' => true
  ),
  'okinawa' => array(
   '*' => true,
   '!pref' => true
  ),
  'osaka' => array(
   '*' => true,
   '!pref' => true,
   '!city' => true
  ),
  'saga' => array(
   '*' => true,
   '!pref' => true
  ),
  'saitama' => array(
   '*' => true,
   '!pref' => true,
   '!city' => true
  ),
  'sapporo' => array(
   '*' => true,
   '!city' => true
  ),
  'sendai' => array(
   '*' => true,
   '!city' => true
  ),
  'shiga' => array(
   '*' => true,
   '!pref' => true
  ),
  'shimane' => array(
   '*' => true,
   '!pref' => true
  ),
  'shizuoka' => array(
   '*' => true,
   '!pref' => true,
   '!city' => true
  ),
  'tochigi' => array(
   '*' => true,
   '!pref' => true
  ),
  'tokushima' => array(
   '*' => true,
   '!pref' => true
  ),
  'tokyo' => array(
   '*' => true,
   '!metro' => true
  ),
  'tottori' => array(
   '*' => true,
   '!pref' => true
  ),
  'toyama' => array(
   '*' => true,
   '!pref' => true
  ),
  'wakayama' => array(
   '*' => true,
   '!pref' => true
  ),
  'yamagata' => array(
   '*' => true,
   '!pref' => true
  ),
  'yamaguchi' => array(
   '*' => true,
   '!pref' => true
  ),
  'yamanashi' => array(
   '*' => true,
   '!pref' => true
  ),
  'yokohama' => array(
   '*' => true,
   '!city' => true
  )
 ),
 'ke' => array(
  '*' => true
 ),
 'kg' => array(
  'org' => true,
  'net' => true,
  'com' => true,
  'edu' => true,
  'gov' => true,
  'mil' => true
 ),
 'kh' => array(
  '*' => true
 ),
 'ki' => array(
  'edu' => true,
  'biz' => true,
  'net' => true,
  'org' => true,
  'gov' => true,
  'info' => true,
  'com' => true
 ),
 'km' => array(
  'org' => true,
  'nom' => true,
  'gov' => true,
  'prd' => true,
  'tm' => true,
  'edu' => true,
  'mil' => true,
  'ass' => true,
  'com' => true,
  'coop' => true,
  'asso' => true,
  'presse' => true,
  'medecin' => true,
  'notaires' => true,
  'pharmaciens' => true,
  'veterinaire' => true,
  'gouv' => true
 ),
 'kn' => array(
  'net' => true,
  'org' => true,
  'edu' => true,
  'gov' => true
 ),
 'kp' => array(
  'com' => true,
  'edu' => true,
  'gov' => true,
  'org' => true,
  'rep' => true,
  'tra' => true
 ),
 'kr' => array(
  'ac' => true,
  'co' => true,
  'es' => true,
  'go' => true,
  'hs' => true,
  'kg' => true,
  'mil' => true,
  'ms' => true,
  'ne' => true,
  'or' => true,
  'pe' => true,
  're' => true,
  'sc' => true,
  'busan' => true,
  'chungbuk' => true,
  'chungnam' => true,
  'daegu' => true,
  'daejeon' => true,
  'gangwon' => true,
  'gwangju' => true,
  'gyeongbuk' => true,
  'gyeonggi' => true,
  'gyeongnam' => true,
  'incheon' => true,
  'jeju' => true,
  'jeonbuk' => true,
  'jeonnam' => true,
  'seoul' => true,
  'ulsan' => true
 ),
 'kw' => array(
  '*' => true
 ),
 'ky' => array(
  'edu' => true,
  'gov' => true,
  'com' => true,
  'org' => true,
  'net' => true
 ),
 'kz' => array(
  'org' => true,
  'edu' => true,
  'net' => true,
  'gov' => true,
  'mil' => true,
  'com' => true
 ),
 'la' => array(
  'int' => true,
  'net' => true,
  'info' => true,
  'edu' => true,
  'gov' => true,
  'per' => true,
  'com' => true,
  'org' => true,
  'c' => true
 ),
 'lb' => array(
  'com' => true,
  'edu' => true,
  'gov' => true,
  'net' => true,
  'org' => true
 ),
 'lc' => array(
  'com' => true,
  'net' => true,
  'co' => true,
  'org' => true,
  'edu' => true,
  'gov' => true
 ),
 'li' => true,
 'lk' => array(
  'gov' => true,
  'sch' => true,
  'net' => true,
  'int' => true,
  'com' => true,
  'org' => true,
  'edu' => true,
  'ngo' => true,
  'soc' => true,
  'web' => true,
  'ltd' => true,
  'assn' => true,
  'grp' => true,
  'hotel' => true
 ),
 'lr' => array(
  'com' => true,
  'edu' => true,
  'gov' => true,
  'org' => true,
  'net' => true
 ),
 'ls' => array(
  'co' => true,
  'org' => true
 ),
 'lt' => array(
  'gov' => true
 ),
 'lu' => true,
 'lv' => array(
  'com' => true,
  'edu' => true,
  'gov' => true,
  'org' => true,
  'mil' => true,
  'id' => true,
  'net' => true,
  'asn' => true,
  'conf' => true
 ),
 'ly' => array(
  'com' => true,
  'net' => true,
  'gov' => true,
  'plc' => true,
  'edu' => true,
  'sch' => true,
  'med' => true,
  'org' => true,
  'id' => true
 ),
 'ma' => array(
  'co' => true,
  'net' => true,
  'gov' => true,
  'org' => true,
  'ac' => true,
  'press' => true
 ),
 'mc' => array(
  'tm' => true,
  'asso' => true
 ),
 'md' => true,
 'me' => array(
  'co' => true,
  'net' => true,
  'org' => true,
  'edu' => true,
  'ac' => true,
  'gov' => true,
  'its' => true,
  'priv' => true
 ),
 'mg' => array(
  'org' => true,
  'nom' => true,
  'gov' => true,
  'prd' => true,
  'tm' => true,
  'edu' => true,
  'mil' => true,
  'com' => true
 ),
 'mh' => true,
 'mil' => true,
 'mk' => array(
  'com' => true,
  'org' => true,
  'net' => true,
  'edu' => true,
  'gov' => true,
  'inf' => true,
  'name' => true
 ),
 'ml' => array(
  'com' => true,
  'edu' => true,
  'gouv' => true,
  'gov' => true,
  'net' => true,
  'org' => true,
  'presse' => true
 ),
 'mm' => array(
  '*' => true
 ),
 'mn' => array(
  'gov' => true,
  'edu' => true,
  'org' => true
 ),
 'mo' => array(
  'com' => true,
  'net' => true,
  'org' => true,
  'edu' => true,
  'gov' => true
 ),
 'mobi' => true,
 'mp' => true,
 'mq' => true,
 'mr' => array(
  'gov' => true
 ),
 'ms' => true,
 'mt' => array(
  '*' => true
 ),
 'mu' => array(
  'com' => true,
  'net' => true,
  'org' => true,
  'gov' => true,
  'ac' => true,
  'co' => true,
  'or' => true
 ),
 'museum' => array(
  'academy' => true,
  'agriculture' => true,
  'air' => true,
  'airguard' => true,
  'alabama' => true,
  'alaska' => true,
  'amber' => true,
  'ambulance' => true,
  'american' => true,
  'americana' => true,
  'americanantiques' => true,
  'americanart' => true,
  'amsterdam' => true,
  'and' => true,
  'annefrank' => true,
  'anthro' => true,
  'anthropology' => true,
  'antiques' => true,
  'aquarium' => true,
  'arboretum' => true,
  'archaeological' => true,
  'archaeology' => true,
  'architecture' => true,
  'art' => true,
  'artanddesign' => true,
  'artcenter' => true,
  'artdeco' => true,
  'arteducation' => true,
  'artgallery' => true,
  'arts' => true,
  'artsandcrafts' => true,
  'asmatart' => true,
  'assassination' => true,
  'assisi' => true,
  'association' => true,
  'astronomy' => true,
  'atlanta' => true,
  'austin' => true,
  'australia' => true,
  'automotive' => true,
  'aviation' => true,
  'axis' => true,
  'badajoz' => true,
  'baghdad' => true,
  'bahn' => true,
  'bale' => true,
  'baltimore' => true,
  'barcelona' => true,
  'baseball' => true,
  'basel' => true,
  'baths' => true,
  'bauern' => true,
  'beauxarts' => true,
  'beeldengeluid' => true,
  'bellevue' => true,
  'bergbau' => true,
  'berkeley' => true,
  'berlin' => true,
  'bern' => true,
  'bible' => true,
  'bilbao' => true,
  'bill' => true,
  'birdart' => true,
  'birthplace' => true,
  'bonn' => true,
  'boston' => true,
  'botanical' => true,
  'botanicalgarden' => true,
  'botanicgarden' => true,
  'botany' => true,
  'brandywinevalley' => true,
  'brasil' => true,
  'bristol' => true,
  'british' => true,
  'britishcolumbia' => true,
  'broadcast' => true,
  'brunel' => true,
  'brussel' => true,
  'brussels' => true,
  'bruxelles' => true,
  'building' => true,
  'burghof' => true,
  'bus' => true,
  'bushey' => true,
  'cadaques' => true,
  'california' => true,
  'cambridge' => true,
  'can' => true,
  'canada' => true,
  'capebreton' => true,
  'carrier' => true,
  'cartoonart' => true,
  'casadelamoneda' => true,
  'castle' => true,
  'castres' => true,
  'celtic' => true,
  'center' => true,
  'chattanooga' => true,
  'cheltenham' => true,
  'chesapeakebay' => true,
  'chicago' => true,
  'children' => true,
  'childrens' => true,
  'childrensgarden' => true,
  'chiropractic' => true,
  'chocolate' => true,
  'christiansburg' => true,
  'cincinnati' => true,
  'cinema' => true,
  'circus' => true,
  'civilisation' => true,
  'civilization' => true,
  'civilwar' => true,
  'clinton' => true,
  'clock' => true,
  'coal' => true,
  'coastaldefence' => true,
  'cody' => true,
  'coldwar' => true,
  'collection' => true,
  'colonialwilliamsburg' => true,
  'coloradoplateau' => true,
  'columbia' => true,
  'columbus' => true,
  'communication' => true,
  'communications' => true,
  'community' => true,
  'computer' => true,
  'computerhistory' => true,
  'comunicações' => true,
  'contemporary' => true,
  'contemporaryart' => true,
  'convent' => true,
  'copenhagen' => true,
  'corporation' => true,
  'correios-e-telecomunicações' => true,
  'corvette' => true,
  'costume' => true,
  'countryestate' => true,
  'county' => true,
  'crafts' => true,
  'cranbrook' => true,
  'creation' => true,
  'cultural' => true,
  'culturalcenter' => true,
  'culture' => true,
  'cyber' => true,
  'cymru' => true,
  'dali' => true,
  'dallas' => true,
  'database' => true,
  'ddr' => true,
  'decorativearts' => true,
  'delaware' => true,
  'delmenhorst' => true,
  'denmark' => true,
  'depot' => true,
  'design' => true,
  'detroit' => true,
  'dinosaur' => true,
  'discovery' => true,
  'dolls' => true,
  'donostia' => true,
  'durham' => true,
  'eastafrica' => true,
  'eastcoast' => true,
  'education' => true,
  'educational' => true,
  'egyptian' => true,
  'eisenbahn' => true,
  'elburg' => true,
  'elvendrell' => true,
  'embroidery' => true,
  'encyclopedic' => true,
  'england' => true,
  'entomology' => true,
  'environment' => true,
  'environmentalconservation' => true,
  'epilepsy' => true,
  'essex' => true,
  'estate' => true,
  'ethnology' => true,
  'exeter' => true,
  'exhibition' => true,
  'family' => true,
  'farm' => true,
  'farmequipment' => true,
  'farmers' => true,
  'farmstead' => true,
  'field' => true,
  'figueres' => true,
  'filatelia' => true,
  'film' => true,
  'fineart' => true,
  'finearts' => true,
  'finland' => true,
  'flanders' => true,
  'florida' => true,
  'force' => true,
  'fortmissoula' => true,
  'fortworth' => true,
  'foundation' => true,
  'francaise' => true,
  'frankfurt' => true,
  'franziskaner' => true,
  'freemasonry' => true,
  'freiburg' => true,
  'fribourg' => true,
  'frog' => true,
  'fundacio' => true,
  'furniture' => true,
  'gallery' => true,
  'garden' => true,
  'gateway' => true,
  'geelvinck' => true,
  'gemological' => true,
  'geology' => true,
  'georgia' => true,
  'giessen' => true,
  'glas' => true,
  'glass' => true,
  'gorge' => true,
  'grandrapids' => true,
  'graz' => true,
  'guernsey' => true,
  'halloffame' => true,
  'hamburg' => true,
  'handson' => true,
  'harvestcelebration' => true,
  'hawaii' => true,
  'health' => true,
  'heimatunduhren' => true,
  'hellas' => true,
  'helsinki' => true,
  'hembygdsforbund' => true,
  'heritage' => true,
  'histoire' => true,
  'historical' => true,
  'historicalsociety' => true,
  'historichouses' => true,
  'historisch' => true,
  'historisches' => true,
  'history' => true,
  'historyofscience' => true,
  'horology' => true,
  'house' => true,
  'humanities' => true,
  'illustration' => true,
  'imageandsound' => true,
  'indian' => true,
  'indiana' => true,
  'indianapolis' => true,
  'indianmarket' => true,
  'intelligence' => true,
  'interactive' => true,
  'iraq' => true,
  'iron' => true,
  'isleofman' => true,
  'jamison' => true,
  'jefferson' => true,
  'jerusalem' => true,
  'jewelry' => true,
  'jewish' => true,
  'jewishart' => true,
  'jfk' => true,
  'journalism' => true,
  'judaica' => true,
  'judygarland' => true,
  'juedisches' => true,
  'juif' => true,
  'karate' => true,
  'karikatur' => true,
  'kids' => true,
  'koebenhavn' => true,
  'koeln' => true,
  'kunst' => true,
  'kunstsammlung' => true,
  'kunstunddesign' => true,
  'labor' => true,
  'labour' => true,
  'lajolla' => true,
  'lancashire' => true,
  'landes' => true,
  'lans' => true,
  'läns' => true,
  'larsson' => true,
  'lewismiller' => true,
  'lincoln' => true,
  'linz' => true,
  'living' => true,
  'livinghistory' => true,
  'localhistory' => true,
  'london' => true,
  'losangeles' => true,
  'louvre' => true,
  'loyalist' => true,
  'lucerne' => true,
  'luxembourg' => true,
  'luzern' => true,
  'mad' => true,
  'madrid' => true,
  'mallorca' => true,
  'manchester' => true,
  'mansion' => true,
  'mansions' => true,
  'manx' => true,
  'marburg' => true,
  'maritime' => true,
  'maritimo' => true,
  'maryland' => true,
  'marylhurst' => true,
  'media' => true,
  'medical' => true,
  'medizinhistorisches' => true,
  'meeres' => true,
  'memorial' => true,
  'mesaverde' => true,
  'michigan' => true,
  'midatlantic' => true,
  'military' => true,
  'mill' => true,
  'miners' => true,
  'mining' => true,
  'minnesota' => true,
  'missile' => true,
  'missoula' => true,
  'modern' => true,
  'moma' => true,
  'money' => true,
  'monmouth' => true,
  'monticello' => true,
  'montreal' => true,
  'moscow' => true,
  'motorcycle' => true,
  'muenchen' => true,
  'muenster' => true,
  'mulhouse' => true,
  'muncie' => true,
  'museet' => true,
  'museumcenter' => true,
  'museumvereniging' => true,
  'music' => true,
  'national' => true,
  'nationalfirearms' => true,
  'nationalheritage' => true,
  'nativeamerican' => true,
  'naturalhistory' => true,
  'naturalhistorymuseum' => true,
  'naturalsciences' => true,
  'nature' => true,
  'naturhistorisches' => true,
  'natuurwetenschappen' => true,
  'naumburg' => true,
  'naval' => true,
  'nebraska' => true,
  'neues' => true,
  'newhampshire' => true,
  'newjersey' => true,
  'newmexico' => true,
  'newport' => true,
  'newspaper' => true,
  'newyork' => true,
  'niepce' => true,
  'norfolk' => true,
  'north' => true,
  'nrw' => true,
  'nuernberg' => true,
  'nuremberg' => true,
  'nyc' => true,
  'nyny' => true,
  'oceanographic' => true,
  'oceanographique' => true,
  'omaha' => true,
  'online' => true,
  'ontario' => true,
  'openair' => true,
  'oregon' => true,
  'oregontrail' => true,
  'otago' => true,
  'oxford' => true,
  'pacific' => true,
  'paderborn' => true,
  'palace' => true,
  'paleo' => true,
  'palmsprings' => true,
  'panama' => true,
  'paris' => true,
  'pasadena' => true,
  'pharmacy' => true,
  'philadelphia' => true,
  'philadelphiaarea' => true,
  'philately' => true,
  'phoenix' => true,
  'photography' => true,
  'pilots' => true,
  'pittsburgh' => true,
  'planetarium' => true,
  'plantation' => true,
  'plants' => true,
  'plaza' => true,
  'portal' => true,
  'portland' => true,
  'portlligat' => true,
  'posts-and-telecommunications' => true,
  'preservation' => true,
  'presidio' => true,
  'press' => true,
  'project' => true,
  'public' => true,
  'pubol' => true,
  'quebec' => true,
  'railroad' => true,
  'railway' => true,
  'research' => true,
  'resistance' => true,
  'riodejaneiro' => true,
  'rochester' => true,
  'rockart' => true,
  'roma' => true,
  'russia' => true,
  'saintlouis' => true,
  'salem' => true,
  'salvadordali' => true,
  'salzburg' => true,
  'sandiego' => true,
  'sanfrancisco' => true,
  'santabarbara' => true,
  'santacruz' => true,
  'santafe' => true,
  'saskatchewan' => true,
  'satx' => true,
  'savannahga' => true,
  'schlesisches' => true,
  'schoenbrunn' => true,
  'schokoladen' => true,
  'school' => true,
  'schweiz' => true,
  'science' => true,
  'scienceandhistory' => true,
  'scienceandindustry' => true,
  'sciencecenter' => true,
  'sciencecenters' => true,
  'science-fiction' => true,
  'sciencehistory' => true,
  'sciences' => true,
  'sciencesnaturelles' => true,
  'scotland' => true,
  'seaport' => true,
  'settlement' => true,
  'settlers' => true,
  'shell' => true,
  'sherbrooke' => true,
  'sibenik' => true,
  'silk' => true,
  'ski' => true,
  'skole' => true,
  'society' => true,
  'sologne' => true,
  'soundandvision' => true,
  'southcarolina' => true,
  'southwest' => true,
  'space' => true,
  'spy' => true,
  'square' => true,
  'stadt' => true,
  'stalbans' => true,
  'starnberg' => true,
  'state' => true,
  'stateofdelaware' => true,
  'station' => true,
  'steam' => true,
  'steiermark' => true,
  'stjohn' => true,
  'stockholm' => true,
  'stpetersburg' => true,
  'stuttgart' => true,
  'suisse' => true,
  'surgeonshall' => true,
  'surrey' => true,
  'svizzera' => true,
  'sweden' => true,
  'sydney' => true,
  'tank' => true,
  'tcm' => true,
  'technology' => true,
  'telekommunikation' => true,
  'television' => true,
  'texas' => true,
  'textile' => true,
  'theater' => true,
  'time' => true,
  'timekeeping' => true,
  'topology' => true,
  'torino' => true,
  'touch' => true,
  'town' => true,
  'transport' => true,
  'tree' => true,
  'trolley' => true,
  'trust' => true,
  'trustee' => true,
  'uhren' => true,
  'ulm' => true,
  'undersea' => true,
  'university' => true,
  'usa' => true,
  'usantiques' => true,
  'usarts' => true,
  'uscountryestate' => true,
  'usculture' => true,
  'usdecorativearts' => true,
  'usgarden' => true,
  'ushistory' => true,
  'ushuaia' => true,
  'uslivinghistory' => true,
  'utah' => true,
  'uvic' => true,
  'valley' => true,
  'vantaa' => true,
  'versailles' => true,
  'viking' => true,
  'village' => true,
  'virginia' => true,
  'virtual' => true,
  'virtuel' => true,
  'vlaanderen' => true,
  'volkenkunde' => true,
  'wales' => true,
  'wallonie' => true,
  'war' => true,
  'washingtondc' => true,
  'watchandclock' => true,
  'watch-and-clock' => true,
  'western' => true,
  'westfalen' => true,
  'whaling' => true,
  'wildlife' => true,
  'williamsburg' => true,
  'windmill' => true,
  'workshop' => true,
  'york' => true,
  'yorkshire' => true,
  'yosemite' => true,
  'youth' => true,
  'zoological' => true,
  'zoology' => true,
  'ירושלים' => true,
  'иком' => true
 ),
 'mv' => array(
  'aero' => true,
  'biz' => true,
  'com' => true,
  'coop' => true,
  'edu' => true,
  'gov' => true,
  'info' => true,
  'int' => true,
  'mil' => true,
  'museum' => true,
  'name' => true,
  'net' => true,
  'org' => true,
  'pro' => true
 ),
 'mw' => array(
  'ac' => true,
  'biz' => true,
  'co' => true,
  'com' => true,
  'coop' => true,
  'edu' => true,
  'gov' => true,
  'int' => true,
  'museum' => true,
  'net' => true,
  'org' => true
 ),
 'mx' => array(
  'com' => true,
  'org' => true,
  'gob' => true,
  'edu' => true,
  'net' => true
 ),
 'my' => array(
  'com' => true,
  'net' => true,
  'org' => true,
  'gov' => true,
  'edu' => true,
  'mil' => true,
  'name' => true
 ),
 'mz' => array(
  '*' => true
 ),
 'na' => array(
  'info' => true,
  'pro' => true,
  'name' => true,
  'school' => true,
  'or' => true,
  'dr' => true,
  'us' => true,
  'mx' => true,
  'ca' => true,
  'in' => true,
  'cc' => true,
  'tv' => true,
  'ws' => true,
  'mobi' => true,
  'co' => true,
  'com' => true,
  'org' => true
 ),
 'name' => array(
  'her' => array(
   'forgot' => true
  ),
  'his' => array(
   'forgot' => true
  )
 ),
 'nc' => array(
  'asso' => true
 ),
 'ne' => true,
 'net' => array(
  'gb' => true,
  'jp' => true,
  'se' => true,
  'uk' => true,
  'za' => true,
  'at-band-camp' => true,
  'blogdns' => true,
  'broke-it' => true,
  'buyshouses' => true,
  'dnsalias' => true,
  'dnsdojo' => true,
  'does-it' => true,
  'dontexist' => true,
  'dynalias' => true,
  'dynathome' => true,
  'endofinternet' => true,
  'from-az' => true,
  'from-co' => true,
  'from-la' => true,
  'from-ny' => true,
  'gets-it' => true,
  'ham-radio-op' => true,
  'homeftp' => true,
  'homeip' => true,
  'homelinux' => true,
  'homeunix' => true,
  'in-the-band' => true,
  'is-a-chef' => true,
  'is-a-geek' => true,
  'isa-geek' => true,
  'kicks-ass' => true,
  'office-on-the' => true,
  'podzone' => true,
  'scrapper-site' => true,
  'selfip' => true,
  'sells-it' => true,
  'servebbs' => true,
  'serveftp' => true,
  'thruhere' => true,
  'webhop' => true
 ),
 'nf' => array(
  'com' => true,
  'net' => true,
  'per' => true,
  'rec' => true,
  'web' => true,
  'arts' => true,
  'firm' => true,
  'info' => true,
  'other' => true,
  'store' => true
 ),
 'ng' => array(
  'ac' => true,
  'com' => true,
  'edu' => true,
  'gov' => true,
  'net' => true,
  'org' => true
 ),
 'ni' => array(
  '*' => true
 ),
 'nl' => array(
  'bv' => true,
  'co' => true
 ),
 'no' => array(
  'fhs' => true,
  'vgs' => true,
  'fylkesbibl' => true,
  'folkebibl' => true,
  'museum' => true,
  'idrett' => true,
  'priv' => true,
  'mil' => true,
  'stat' => true,
  'dep' => true,
  'kommune' => true,
  'herad' => true,
  'aa' => array(
   'gs' => true
  ),
  'ah' => array(
   'gs' => true
  ),
  'bu' => array(
   'gs' => true
  ),
  'fm' => array(
   'gs' => true
  ),
  'hl' => array(
   'gs' => true
  ),
  'hm' => array(
   'gs' => true
  ),
  'jan-mayen' => array(
   'gs' => true
  ),
  'mr' => array(
   'gs' => true
  ),
  'nl' => array(
   'gs' => true
  ),
  'nt' => array(
   'gs' => true
  ),
  'of' => array(
   'gs' => true
  ),
  'ol' => array(
   'gs' => true
  ),
  'oslo' => array(
   'gs' => true
  ),
  'rl' => array(
   'gs' => true
  ),
  'sf' => array(
   'gs' => true
  ),
  'st' => array(
   'gs' => true
  ),
  'svalbard' => array(
   'gs' => true
  ),
  'tm' => array(
   'gs' => true
  ),
  'tr' => array(
   'gs' => true
  ),
  'va' => array(
   'gs' => true
  ),
  'vf' => array(
   'gs' => true
  ),
  'akrehamn' => true,
  'åkrehamn' => true,
  'algard' => true,
  'ålgård' => true,
  'arna' => true,
  'brumunddal' => true,
  'bryne' => true,
  'bronnoysund' => true,
  'brønnøysund' => true,
  'drobak' => true,
  'drøbak' => true,
  'egersund' => true,
  'fetsund' => true,
  'floro' => true,
  'florø' => true,
  'fredrikstad' => true,
  'hokksund' => true,
  'honefoss' => true,
  'hønefoss' => true,
  'jessheim' => true,
  'jorpeland' => true,
  'jørpeland' => true,
  'kirkenes' => true,
  'kopervik' => true,
  'krokstadelva' => true,
  'langevag' => true,
  'langevåg' => true,
  'leirvik' => true,
  'mjondalen' => true,
  'mjøndalen' => true,
  'mo-i-rana' => true,
  'mosjoen' => true,
  'mosjøen' => true,
  'nesoddtangen' => true,
  'orkanger' => true,
  'osoyro' => true,
  'osøyro' => true,
  'raholt' => true,
  'råholt' => true,
  'sandnessjoen' => true,
  'sandnessjøen' => true,
  'skedsmokorset' => true,
  'slattum' => true,
  'spjelkavik' => true,
  'stathelle' => true,
  'stavern' => true,
  'stjordalshalsen' => true,
  'stjørdalshalsen' => true,
  'tananger' => true,
  'tranby' => true,
  'vossevangen' => true,
  'afjord' => true,
  'åfjord' => true,
  'agdenes' => true,
  'al' => true,
  'ål' => true,
  'alesund' => true,
  'ålesund' => true,
  'alstahaug' => true,
  'alta' => true,
  'áltá' => true,
  'alaheadju' => true,
  'álaheadju' => true,
  'alvdal' => true,
  'amli' => true,
  'åmli' => true,
  'amot' => true,
  'åmot' => true,
  'andebu' => true,
  'andoy' => true,
  'andøy' => true,
  'andasuolo' => true,
  'ardal' => true,
  'årdal' => true,
  'aremark' => true,
  'arendal' => true,
  'ås' => true,
  'aseral' => true,
  'åseral' => true,
  'asker' => true,
  'askim' => true,
  'askvoll' => true,
  'askoy' => true,
  'askøy' => true,
  'asnes' => true,
  'åsnes' => true,
  'audnedaln' => true,
  'aukra' => true,
  'aure' => true,
  'aurland' => true,
  'aurskog-holand' => true,
  'aurskog-høland' => true,
  'austevoll' => true,
  'austrheim' => true,
  'averoy' => true,
  'averøy' => true,
  'balestrand' => true,
  'ballangen' => true,
  'balat' => true,
  'bálát' => true,
  'balsfjord' => true,
  'bahccavuotna' => true,
  'báhccavuotna' => true,
  'bamble' => true,
  'bardu' => true,
  'beardu' => true,
  'beiarn' => true,
  'bajddar' => true,
  'bájddar' => true,
  'baidar' => true,
  'báidár' => true,
  'berg' => true,
  'bergen' => true,
  'berlevag' => true,
  'berlevåg' => true,
  'bearalvahki' => true,
  'bearalváhki' => true,
  'bindal' => true,
  'birkenes' => true,
  'bjarkoy' => true,
  'bjarkøy' => true,
  'bjerkreim' => true,
  'bjugn' => true,
  'bodo' => true,
  'bodø' => true,
  'badaddja' => true,
  'bådåddjå' => true,
  'budejju' => true,
  'bokn' => true,
  'bremanger' => true,
  'bronnoy' => true,
  'brønnøy' => true,
  'bygland' => true,
  'bykle' => true,
  'barum' => true,
  'bærum' => true,
  'telemark' => array(
   'bo' => true,
   'bø' => true
  ),
  'nordland' => array(
   'bo' => true,
   'bø' => true,
   'heroy' => true,
   'herøy' => true
  ),
  'bievat' => true,
  'bievát' => true,
  'bomlo' => true,
  'bømlo' => true,
  'batsfjord' => true,
  'båtsfjord' => true,
  'bahcavuotna' => true,
  'báhcavuotna' => true,
  'dovre' => true,
  'drammen' => true,
  'drangedal' => true,
  'dyroy' => true,
  'dyrøy' => true,
  'donna' => true,
  'dønna' => true,
  'eid' => true,
  'eidfjord' => true,
  'eidsberg' => true,
  'eidskog' => true,
  'eidsvoll' => true,
  'eigersund' => true,
  'elverum' => true,
  'enebakk' => true,
  'engerdal' => true,
  'etne' => true,
  'etnedal' => true,
  'evenes' => true,
  'evenassi' => true,
  'evenášši' => true,
  'evje-og-hornnes' => true,
  'farsund' => true,
  'fauske' => true,
  'fuossko' => true,
  'fuoisku' => true,
  'fedje' => true,
  'fet' => true,
  'finnoy' => true,
  'finnøy' => true,
  'fitjar' => true,
  'fjaler' => true,
  'fjell' => true,
  'flakstad' => true,
  'flatanger' => true,
  'flekkefjord' => true,
  'flesberg' => true,
  'flora' => true,
  'fla' => true,
  'flå' => true,
  'folldal' => true,
  'forsand' => true,
  'fosnes' => true,
  'frei' => true,
  'frogn' => true,
  'froland' => true,
  'frosta' => true,
  'frana' => true,
  'fræna' => true,
  'froya' => true,
  'frøya' => true,
  'fusa' => true,
  'fyresdal' => true,
  'forde' => true,
  'førde' => true,
  'gamvik' => true,
  'gangaviika' => true,
  'gáŋgaviika' => true,
  'gaular' => true,
  'gausdal' => true,
  'gildeskal' => true,
  'gildeskål' => true,
  'giske' => true,
  'gjemnes' => true,
  'gjerdrum' => true,
  'gjerstad' => true,
  'gjesdal' => true,
  'gjovik' => true,
  'gjøvik' => true,
  'gloppen' => true,
  'gol' => true,
  'gran' => true,
  'grane' => true,
  'granvin' => true,
  'gratangen' => true,
  'grimstad' => true,
  'grong' => true,
  'kraanghke' => true,
  'kråanghke' => true,
  'grue' => true,
  'gulen' => true,
  'hadsel' => true,
  'halden' => true,
  'halsa' => true,
  'hamar' => true,
  'hamaroy' => true,
  'habmer' => true,
  'hábmer' => true,
  'hapmir' => true,
  'hápmir' => true,
  'hammerfest' => true,
  'hammarfeasta' => true,
  'hámmárfeasta' => true,
  'haram' => true,
  'hareid' => true,
  'harstad' => true,
  'hasvik' => true,
  'aknoluokta' => true,
  'ákŋoluokta' => true,
  'hattfjelldal' => true,
  'aarborte' => true,
  'haugesund' => true,
  'hemne' => true,
  'hemnes' => true,
  'hemsedal' => true,
  'more-og-romsdal' => array(
   'heroy' => true,
   'sande' => true
  ),
  'møre-og-romsdal' => array(
   'herøy' => true,
   'sande' => true
  ),
  'hitra' => true,
  'hjartdal' => true,
  'hjelmeland' => true,
  'hobol' => true,
  'hobøl' => true,
  'hof' => true,
  'hol' => true,
  'hole' => true,
  'holmestrand' => true,
  'holtalen' => true,
  'holtålen' => true,
  'hornindal' => true,
  'horten' => true,
  'hurdal' => true,
  'hurum' => true,
  'hvaler' => true,
  'hyllestad' => true,
  'hagebostad' => true,
  'hægebostad' => true,
  'hoyanger' => true,
  'høyanger' => true,
  'hoylandet' => true,
  'høylandet' => true,
  'ha' => true,
  'hå' => true,
  'ibestad' => true,
  'inderoy' => true,
  'inderøy' => true,
  'iveland' => true,
  'jevnaker' => true,
  'jondal' => true,
  'jolster' => true,
  'jølster' => true,
  'karasjok' => true,
  'karasjohka' => true,
  'kárášjohka' => true,
  'karlsoy' => true,
  'galsa' => true,
  'gálsá' => true,
  'karmoy' => true,
  'karmøy' => true,
  'kautokeino' => true,
  'guovdageaidnu' => true,
  'klepp' => true,
  'klabu' => true,
  'klæbu' => true,
  'kongsberg' => true,
  'kongsvinger' => true,
  'kragero' => true,
  'kragerø' => true,
  'kristiansand' => true,
  'kristiansund' => true,
  'krodsherad' => true,
  'krødsherad' => true,
  'kvalsund' => true,
  'rahkkeravju' => true,
  'ráhkkerávju' => true,
  'kvam' => true,
  'kvinesdal' => true,
  'kvinnherad' => true,
  'kviteseid' => true,
  'kvitsoy' => true,
  'kvitsøy' => true,
  'kvafjord' => true,
  'kvæfjord' => true,
  'giehtavuoatna' => true,
  'kvanangen' => true,
  'kvænangen' => true,
  'navuotna' => true,
  'návuotna' => true,
  'kafjord' => true,
  'kåfjord' => true,
  'gaivuotna' => true,
  'gáivuotna' => true,
  'larvik' => true,
  'lavangen' => true,
  'lavagis' => true,
  'loabat' => true,
  'loabát' => true,
  'lebesby' => true,
  'davvesiida' => true,
  'leikanger' => true,
  'leirfjord' => true,
  'leka' => true,
  'leksvik' => true,
  'lenvik' => true,
  'leangaviika' => true,
  'leaŋgaviika' => true,
  'lesja' => true,
  'levanger' => true,
  'lier' => true,
  'lierne' => true,
  'lillehammer' => true,
  'lillesand' => true,
  'lindesnes' => true,
  'lindas' => true,
  'lindås' => true,
  'lom' => true,
  'loppa' => true,
  'lahppi' => true,
  'láhppi' => true,
  'lund' => true,
  'lunner' => true,
  'luroy' => true,
  'lurøy' => true,
  'luster' => true,
  'lyngdal' => true,
  'lyngen' => true,
  'ivgu' => true,
  'lardal' => true,
  'lerdal' => true,
  'lærdal' => true,
  'lodingen' => true,
  'lødingen' => true,
  'lorenskog' => true,
  'lørenskog' => true,
  'loten' => true,
  'løten' => true,
  'malvik' => true,
  'masoy' => true,
  'måsøy' => true,
  'muosat' => true,
  'muosát' => true,
  'mandal' => true,
  'marker' => true,
  'marnardal' => true,
  'masfjorden' => true,
  'meland' => true,
  'meldal' => true,
  'melhus' => true,
  'meloy' => true,
  'meløy' => true,
  'meraker' => true,
  'meråker' => true,
  'moareke' => true,
  'moåreke' => true,
  'midsund' => true,
  'midtre-gauldal' => true,
  'modalen' => true,
  'modum' => true,
  'molde' => true,
  'moskenes' => true,
  'moss' => true,
  'mosvik' => true,
  'malselv' => true,
  'målselv' => true,
  'malatvuopmi' => true,
  'málatvuopmi' => true,
  'namdalseid' => true,
  'aejrie' => true,
  'namsos' => true,
  'namsskogan' => true,
  'naamesjevuemie' => true,
  'nååmesjevuemie' => true,
  'laakesvuemie' => true,
  'nannestad' => true,
  'narvik' => true,
  'narviika' => true,
  'naustdal' => true,
  'nedre-eiker' => true,
  'akershus' => array(
   'nes' => true
  ),
  'buskerud' => array(
   'nes' => true
  ),
  'nesna' => true,
  'nesodden' => true,
  'nesseby' => true,
  'unjarga' => true,
  'unjárga' => true,
  'nesset' => true,
  'nissedal' => true,
  'nittedal' => true,
  'nord-aurdal' => true,
  'nord-fron' => true,
  'nord-odal' => true,
  'norddal' => true,
  'nordkapp' => true,
  'davvenjarga' => true,
  'davvenjárga' => true,
  'nordre-land' => true,
  'nordreisa' => true,
  'raisa' => true,
  'ráisa' => true,
  'nore-og-uvdal' => true,
  'notodden' => true,
  'naroy' => true,
  'nærøy' => true,
  'notteroy' => true,
  'nøtterøy' => true,
  'odda' => true,
  'oksnes' => true,
  'øksnes' => true,
  'oppdal' => true,
  'oppegard' => true,
  'oppegård' => true,
  'orkdal' => true,
  'orland' => true,
  'ørland' => true,
  'orskog' => true,
  'ørskog' => true,
  'orsta' => true,
  'ørsta' => true,
  'hedmark' => array(
   'os' => true,
   'valer' => true,
   'våler' => true
  ),
  'hordaland' => array(
   'os' => true
  ),
  'osen' => true,
  'osteroy' => true,
  'osterøy' => true,
  'ostre-toten' => true,
  'østre-toten' => true,
  'overhalla' => true,
  'ovre-eiker' => true,
  'øvre-eiker' => true,
  'oyer' => true,
  'øyer' => true,
  'oygarden' => true,
  'øygarden' => true,
  'oystre-slidre' => true,
  'øystre-slidre' => true,
  'porsanger' => true,
  'porsangu' => true,
  'porsáŋgu' => true,
  'porsgrunn' => true,
  'radoy' => true,
  'radøy' => true,
  'rakkestad' => true,
  'rana' => true,
  'ruovat' => true,
  'randaberg' => true,
  'rauma' => true,
  'rendalen' => true,
  'rennebu' => true,
  'rennesoy' => true,
  'rennesøy' => true,
  'rindal' => true,
  'ringebu' => true,
  'ringerike' => true,
  'ringsaker' => true,
  'rissa' => true,
  'risor' => true,
  'risør' => true,
  'roan' => true,
  'rollag' => true,
  'rygge' => true,
  'ralingen' => true,
  'rælingen' => true,
  'rodoy' => true,
  'rødøy' => true,
  'romskog' => true,
  'rømskog' => true,
  'roros' => true,
  'røros' => true,
  'rost' => true,
  'røst' => true,
  'royken' => true,
  'røyken' => true,
  'royrvik' => true,
  'røyrvik' => true,
  'rade' => true,
  'råde' => true,
  'salangen' => true,
  'siellak' => true,
  'saltdal' => true,
  'salat' => true,
  'sálát' => true,
  'sálat' => true,
  'samnanger' => true,
  'vestfold' => array(
   'sande' => true
  ),
  'sandefjord' => true,
  'sandnes' => true,
  'sandoy' => true,
  'sandøy' => true,
  'sarpsborg' => true,
  'sauda' => true,
  'sauherad' => true,
  'sel' => true,
  'selbu' => true,
  'selje' => true,
  'seljord' => true,
  'sigdal' => true,
  'siljan' => true,
  'sirdal' => true,
  'skaun' => true,
  'skedsmo' => true,
  'ski' => true,
  'skien' => true,
  'skiptvet' => true,
  'skjervoy' => true,
  'skjervøy' => true,
  'skierva' => true,
  'skiervá' => true,
  'skjak' => true,
  'skjåk' => true,
  'skodje' => true,
  'skanland' => true,
  'skånland' => true,
  'skanit' => true,
  'skánit' => true,
  'smola' => true,
  'smøla' => true,
  'snillfjord' => true,
  'snasa' => true,
  'snåsa' => true,
  'snoasa' => true,
  'snaase' => true,
  'snåase' => true,
  'sogndal' => true,
  'sokndal' => true,
  'sola' => true,
  'solund' => true,
  'songdalen' => true,
  'sortland' => true,
  'spydeberg' => true,
  'stange' => true,
  'stavanger' => true,
  'steigen' => true,
  'steinkjer' => true,
  'stjordal' => true,
  'stjørdal' => true,
  'stokke' => true,
  'stor-elvdal' => true,
  'stord' => true,
  'stordal' => true,
  'storfjord' => true,
  'omasvuotna' => true,
  'strand' => true,
  'stranda' => true,
  'stryn' => true,
  'sula' => true,
  'suldal' => true,
  'sund' => true,
  'sunndal' => true,
  'surnadal' => true,
  'sveio' => true,
  'svelvik' => true,
  'sykkylven' => true,
  'sogne' => true,
  'søgne' => true,
  'somna' => true,
  'sømna' => true,
  'sondre-land' => true,
  'søndre-land' => true,
  'sor-aurdal' => true,
  'sør-aurdal' => true,
  'sor-fron' => true,
  'sør-fron' => true,
  'sor-odal' => true,
  'sør-odal' => true,
  'sor-varanger' => true,
  'sør-varanger' => true,
  'matta-varjjat' => true,
  'mátta-várjjat' => true,
  'sorfold' => true,
  'sørfold' => true,
  'sorreisa' => true,
  'sørreisa' => true,
  'sorum' => true,
  'sørum' => true,
  'tana' => true,
  'deatnu' => true,
  'time' => true,
  'tingvoll' => true,
  'tinn' => true,
  'tjeldsund' => true,
  'dielddanuorri' => true,
  'tjome' => true,
  'tjøme' => true,
  'tokke' => true,
  'tolga' => true,
  'torsken' => true,
  'tranoy' => true,
  'tranøy' => true,
  'tromso' => true,
  'tromsø' => true,
  'tromsa' => true,
  'romsa' => true,
  'trondheim' => true,
  'troandin' => true,
  'trysil' => true,
  'trana' => true,
  'træna' => true,
  'trogstad' => true,
  'trøgstad' => true,
  'tvedestrand' => true,
  'tydal' => true,
  'tynset' => true,
  'tysfjord' => true,
  'divtasvuodna' => true,
  'divttasvuotna' => true,
  'tysnes' => true,
  'tysvar' => true,
  'tysvær' => true,
  'tonsberg' => true,
  'tønsberg' => true,
  'ullensaker' => true,
  'ullensvang' => true,
  'ulvik' => true,
  'utsira' => true,
  'vadso' => true,
  'vadsø' => true,
  'cahcesuolo' => true,
  'čáhcesuolo' => true,
  'vaksdal' => true,
  'valle' => true,
  'vang' => true,
  'vanylven' => true,
  'vardo' => true,
  'vardø' => true,
  'varggat' => true,
  'várggát' => true,
  'vefsn' => true,
  'vaapste' => true,
  'vega' => true,
  'vegarshei' => true,
  'vegårshei' => true,
  'vennesla' => true,
  'verdal' => true,
  'verran' => true,
  'vestby' => true,
  'vestnes' => true,
  'vestre-slidre' => true,
  'vestre-toten' => true,
  'vestvagoy' => true,
  'vestvågøy' => true,
  'vevelstad' => true,
  'vik' => true,
  'vikna' => true,
  'vindafjord' => true,
  'volda' => true,
  'voss' => true,
  'varoy' => true,
  'værøy' => true,
  'vagan' => true,
  'vågan' => true,
  'voagat' => true,
  'vagsoy' => true,
  'vågsøy' => true,
  'vaga' => true,
  'vågå' => true,
  'ostfold' => array(
   'valer' => true
  ),
  'østfold' => array(
   'våler' => true
  ),
  'co' => true
 ),
 'np' => array(
  '*' => true
 ),
 'nr' => array(
  'biz' => true,
  'info' => true,
  'gov' => true,
  'edu' => true,
  'org' => true,
  'net' => true,
  'com' => true
 ),
 'nu' => array(
  'merseine' => true,
  'mine' => true,
  'shacknet' => true
 ),
 'nz' => array(
  '*' => true
 ),
 'om' => array(
  '*' => true,
  '!mediaphone' => true,
  '!nawrastelecom' => true,
  '!nawras' => true,
  '!omanmobile' => true,
  '!omanpost' => true,
  '!omantel' => true,
  '!rakpetroleum' => true,
  '!siemens' => true,
  '!songfest' => true,
  '!statecouncil' => true
 ),
 'org' => array(
  'ae' => true,
  'us' => true,
  'za' => true,
  'dyndns' => array(
   'go' => true,
   'home' => true
  ),
  'blogdns' => true,
  'blogsite' => true,
  'boldlygoingnowhere' => true,
  'dnsalias' => true,
  'dnsdojo' => true,
  'doesntexist' => true,
  'dontexist' => true,
  'doomdns' => true,
  'dvrdns' => true,
  'dynalias' => true,
  'endofinternet' => true,
  'endoftheinternet' => true,
  'from-me' => true,
  'game-host' => true,
  'gotdns' => true,
  'hobby-site' => true,
  'homedns' => true,
  'homeftp' => true,
  'homelinux' => true,
  'homeunix' => true,
  'is-a-bruinsfan' => true,
  'is-a-candidate' => true,
  'is-a-celticsfan' => true,
  'is-a-chef' => true,
  'is-a-geek' => true,
  'is-a-knight' => true,
  'is-a-linux-user' => true,
  'is-a-patsfan' => true,
  'is-a-soxfan' => true,
  'is-found' => true,
  'is-lost' => true,
  'is-saved' => true,
  'is-very-bad' => true,
  'is-very-evil' => true,
  'is-very-good' => true,
  'is-very-nice' => true,
  'is-very-sweet' => true,
  'isa-geek' => true,
  'kicks-ass' => true,
  'misconfused' => true,
  'podzone' => true,
  'readmyblog' => true,
  'selfip' => true,
  'sellsyourhome' => true,
  'servebbs' => true,
  'serveftp' => true,
  'servegame' => true,
  'stuff-4-sale' => true,
  'webhop' => true
 ),
 'pa' => array(
  'ac' => true,
  'gob' => true,
  'com' => true,
  'org' => true,
  'sld' => true,
  'edu' => true,
  'net' => true,
  'ing' => true,
  'abo' => true,
  'med' => true,
  'nom' => true
 ),
 'pe' => array(
  'edu' => true,
  'gob' => true,
  'nom' => true,
  'mil' => true,
  'org' => true,
  'com' => true,
  'net' => true
 ),
 'pf' => array(
  'com' => true,
  'org' => true,
  'edu' => true
 ),
 'pg' => array(
  '*' => true
 ),
 'ph' => array(
  'com' => true,
  'net' => true,
  'org' => true,
  'gov' => true,
  'edu' => true,
  'ngo' => true,
  'mil' => true,
  'i' => true
 ),
 'pk' => array(
  'com' => true,
  'net' => true,
  'edu' => true,
  'org' => true,
  'fam' => true,
  'biz' => true,
  'web' => true,
  'gov' => true,
  'gob' => true,
  'gok' => true,
  'gon' => true,
  'gop' => true,
  'gos' => true,
  'info' => true
 ),
 'pl' => array(
  'aid' => true,
  'agro' => true,
  'atm' => true,
  'auto' => true,
  'biz' => true,
  'com' => true,
  'edu' => true,
  'gmina' => true,
  'gsm' => true,
  'info' => true,
  'mail' => true,
  'miasta' => true,
  'media' => true,
  'mil' => true,
  'net' => true,
  'nieruchomosci' => true,
  'nom' => true,
  'org' => true,
  'pc' => true,
  'powiat' => true,
  'priv' => true,
  'realestate' => true,
  'rel' => true,
  'sex' => true,
  'shop' => true,
  'sklep' => true,
  'sos' => true,
  'szkola' => true,
  'targi' => true,
  'tm' => true,
  'tourism' => true,
  'travel' => true,
  'turystyka' => true,
  '6bone' => true,
  'art' => true,
  'mbone' => true,
  'gov' => array(
   'uw' => true,
   'um' => true,
   'ug' => true,
   'upow' => true,
   'starostwo' => true,
   'so' => true,
   'sr' => true,
   'po' => true,
   'pa' => true
  ),
  'ngo' => true,
  'irc' => true,
  'usenet' => true,
  'augustow' => true,
  'babia-gora' => true,
  'bedzin' => true,
  'beskidy' => true,
  'bialowieza' => true,
  'bialystok' => true,
  'bielawa' => true,
  'bieszczady' => true,
  'boleslawiec' => true,
  'bydgoszcz' => true,
  'bytom' => true,
  'cieszyn' => true,
  'czeladz' => true,
  'czest' => true,
  'dlugoleka' => true,
  'elblag' => true,
  'elk' => true,
  'glogow' => true,
  'gniezno' => true,
  'gorlice' => true,
  'grajewo' => true,
  'ilawa' => true,
  'jaworzno' => true,
  'jelenia-gora' => true,
  'jgora' => true,
  'kalisz' => true,
  'kazimierz-dolny' => true,
  'karpacz' => true,
  'kartuzy' => true,
  'kaszuby' => true,
  'katowice' => true,
  'kepno' => true,
  'ketrzyn' => true,
  'klodzko' => true,
  'kobierzyce' => true,
  'kolobrzeg' => true,
  'konin' => true,
  'konskowola' => true,
  'kutno' => true,
  'lapy' => true,
  'lebork' => true,
  'legnica' => true,
  'lezajsk' => true,
  'limanowa' => true,
  'lomza' => true,
  'lowicz' => true,
  'lubin' => true,
  'lukow' => true,
  'malbork' => true,
  'malopolska' => true,
  'mazowsze' => true,
  'mazury' => true,
  'mielec' => true,
  'mielno' => true,
  'mragowo' => true,
  'naklo' => true,
  'nowaruda' => true,
  'nysa' => true,
  'olawa' => true,
  'olecko' => true,
  'olkusz' => true,
  'olsztyn' => true,
  'opoczno' => true,
  'opole' => true,
  'ostroda' => true,
  'ostroleka' => true,
  'ostrowiec' => true,
  'ostrowwlkp' => true,
  'pila' => true,
  'pisz' => true,
  'podhale' => true,
  'podlasie' => true,
  'polkowice' => true,
  'pomorze' => true,
  'pomorskie' => true,
  'prochowice' => true,
  'pruszkow' => true,
  'przeworsk' => true,
  'pulawy' => true,
  'radom' => true,
  'rawa-maz' => true,
  'rybnik' => true,
  'rzeszow' => true,
  'sanok' => true,
  'sejny' => true,
  'siedlce' => true,
  'slask' => true,
  'slupsk' => true,
  'sosnowiec' => true,
  'stalowa-wola' => true,
  'skoczow' => true,
  'starachowice' => true,
  'stargard' => true,
  'suwalki' => true,
  'swidnica' => true,
  'swiebodzin' => true,
  'swinoujscie' => true,
  'szczecin' => true,
  'szczytno' => true,
  'tarnobrzeg' => true,
  'tgory' => true,
  'turek' => true,
  'tychy' => true,
  'ustka' => true,
  'walbrzych' => true,
  'warmia' => true,
  'warszawa' => true,
  'waw' => true,
  'wegrow' => true,
  'wielun' => true,
  'wlocl' => true,
  'wloclawek' => true,
  'wodzislaw' => true,
  'wolomin' => true,
  'wroclaw' => true,
  'zachpomor' => true,
  'zagan' => true,
  'zarow' => true,
  'zgora' => true,
  'zgorzelec' => true,
  'gda' => true,
  'gdansk' => true,
  'gdynia' => true,
  'med' => true,
  'sopot' => true,
  'gliwice' => true,
  'krakow' => true,
  'poznan' => true,
  'wroc' => true,
  'zakopane' => true,
  'co' => true
 ),
 'pm' => true,
 'pn' => array(
  'gov' => true,
  'co' => true,
  'org' => true,
  'edu' => true,
  'net' => true
 ),
 'pr' => array(
  'com' => true,
  'net' => true,
  'org' => true,
  'gov' => true,
  'edu' => true,
  'isla' => true,
  'pro' => true,
  'biz' => true,
  'info' => true,
  'name' => true,
  'est' => true,
  'prof' => true,
  'ac' => true
 ),
 'pro' => array(
  'aca' => true,
  'bar' => true,
  'cpa' => true,
  'jur' => true,
  'law' => true,
  'med' => true,
  'eng' => true
 ),
 'ps' => array(
  'edu' => true,
  'gov' => true,
  'sec' => true,
  'plo' => true,
  'com' => true,
  'org' => true,
  'net' => true
 ),
 'pt' => array(
  'net' => true,
  'gov' => true,
  'org' => true,
  'edu' => true,
  'int' => true,
  'publ' => true,
  'com' => true,
  'nome' => true
 ),
 'pw' => array(
  'co' => true,
  'ne' => true,
  'or' => true,
  'ed' => true,
  'go' => true,
  'belau' => true
 ),
 'py' => array(
  '*' => true
 ),
 'qa' => array(
  'com' => true,
  'edu' => true,
  'gov' => true,
  'mil' => true,
  'name' => true,
  'net' => true,
  'org' => true,
  'sch' => true
 ),
 're' => array(
  'com' => true,
  'asso' => true,
  'nom' => true
 ),
 'ro' => array(
  'com' => true,
  'org' => true,
  'tm' => true,
  'nt' => true,
  'nom' => true,
  'info' => true,
  'rec' => true,
  'arts' => true,
  'firm' => true,
  'store' => true,
  'www' => true
 ),
 'rs' => array(
  'co' => true,
  'org' => true,
  'edu' => true,
  'ac' => true,
  'gov' => true,
  'in' => true
 ),
 'ru' => array(
  'ac' => true,
  'com' => true,
  'edu' => true,
  'int' => true,
  'net' => true,
  'org' => true,
  'pp' => true,
  'adygeya' => true,
  'altai' => true,
  'amur' => true,
  'arkhangelsk' => true,
  'astrakhan' => true,
  'bashkiria' => true,
  'belgorod' => true,
  'bir' => true,
  'bryansk' => true,
  'buryatia' => true,
  'cbg' => true,
  'chel' => true,
  'chelyabinsk' => true,
  'chita' => true,
  'chukotka' => true,
  'chuvashia' => true,
  'dagestan' => true,
  'dudinka' => true,
  'e-burg' => true,
  'grozny' => true,
  'irkutsk' => true,
  'ivanovo' => true,
  'izhevsk' => true,
  'jar' => true,
  'joshkar-ola' => true,
  'kalmykia' => true,
  'kaluga' => true,
  'kamchatka' => true,
  'karelia' => true,
  'kazan' => true,
  'kchr' => true,
  'kemerovo' => true,
  'khabarovsk' => true,
  'khakassia' => true,
  'khv' => true,
  'kirov' => true,
  'koenig' => true,
  'komi' => true,
  'kostroma' => true,
  'krasnoyarsk' => true,
  'kuban' => true,
  'kurgan' => true,
  'kursk' => true,
  'lipetsk' => true,
  'magadan' => true,
  'mari' => true,
  'mari-el' => true,
  'marine' => true,
  'mordovia' => true,
  'mosreg' => true,
  'msk' => true,
  'murmansk' => true,
  'nalchik' => true,
  'nnov' => true,
  'nov' => true,
  'novosibirsk' => true,
  'nsk' => true,
  'omsk' => true,
  'orenburg' => true,
  'oryol' => true,
  'palana' => true,
  'penza' => true,
  'perm' => true,
  'pskov' => true,
  'ptz' => true,
  'rnd' => true,
  'ryazan' => true,
  'sakhalin' => true,
  'samara' => true,
  'saratov' => true,
  'simbirsk' => true,
  'smolensk' => true,
  'spb' => true,
  'stavropol' => true,
  'stv' => true,
  'surgut' => true,
  'tambov' => true,
  'tatarstan' => true,
  'tom' => true,
  'tomsk' => true,
  'tsaritsyn' => true,
  'tsk' => true,
  'tula' => true,
  'tuva' => true,
  'tver' => true,
  'tyumen' => true,
  'udm' => true,
  'udmurtia' => true,
  'ulan-ude' => true,
  'vladikavkaz' => true,
  'vladimir' => true,
  'vladivostok' => true,
  'volgograd' => true,
  'vologda' => true,
  'voronezh' => true,
  'vrn' => true,
  'vyatka' => true,
  'yakutia' => true,
  'yamal' => true,
  'yaroslavl' => true,
  'yekaterinburg' => true,
  'yuzhno-sakhalinsk' => true,
  'amursk' => true,
  'baikal' => true,
  'cmw' => true,
  'fareast' => true,
  'jamal' => true,
  'kms' => true,
  'k-uralsk' => true,
  'kustanai' => true,
  'kuzbass' => true,
  'magnitka' => true,
  'mytis' => true,
  'nakhodka' => true,
  'nkz' => true,
  'norilsk' => true,
  'oskol' => true,
  'pyatigorsk' => true,
  'rubtsovsk' => true,
  'snz' => true,
  'syzran' => true,
  'vdonsk' => true,
  'zgrad' => true,
  'gov' => true,
  'mil' => true,
  'test' => true
 ),
 'rw' => array(
  'gov' => true,
  'net' => true,
  'edu' => true,
  'ac' => true,
  'com' => true,
  'co' => true,
  'int' => true,
  'mil' => true,
  'gouv' => true
 ),
 'sa' => array(
  'com' => true,
  'net' => true,
  'org' => true,
  'gov' => true,
  'med' => true,
  'pub' => true,
  'edu' => true,
  'sch' => true
 ),
 'sb' => array(
  'com' => true,
  'edu' => true,
  'gov' => true,
  'net' => true,
  'org' => true
 ),
 'sc' => array(
  'com' => true,
  'gov' => true,
  'net' => true,
  'org' => true,
  'edu' => true
 ),
 'sd' => array(
  'com' => true,
  'net' => true,
  'org' => true,
  'edu' => true,
  'med' => true,
  'gov' => true,
  'info' => true
 ),
 'se' => array(
  'a' => true,
  'ac' => true,
  'b' => true,
  'bd' => true,
  'brand' => true,
  'c' => true,
  'd' => true,
  'e' => true,
  'f' => true,
  'fh' => true,
  'fhsk' => true,
  'fhv' => true,
  'g' => true,
  'h' => true,
  'i' => true,
  'k' => true,
  'komforb' => true,
  'kommunalforbund' => true,
  'komvux' => true,
  'l' => true,
  'lanbib' => true,
  'm' => true,
  'n' => true,
  'naturbruksgymn' => true,
  'o' => true,
  'org' => true,
  'p' => true,
  'parti' => true,
  'pp' => true,
  'press' => true,
  'r' => true,
  's' => true,
  'sshn' => true,
  't' => true,
  'tm' => true,
  'u' => true,
  'w' => true,
  'x' => true,
  'y' => true,
  'z' => true
 ),
 'sg' => array(
  'com' => true,
  'net' => true,
  'org' => true,
  'gov' => true,
  'edu' => true,
  'per' => true
 ),
 'sh' => true,
 'si' => true,
 'sk' => true,
 'sl' => array(
  'com' => true,
  'net' => true,
  'edu' => true,
  'gov' => true,
  'org' => true
 ),
 'sm' => true,
 'sn' => array(
  'art' => true,
  'com' => true,
  'edu' => true,
  'gouv' => true,
  'org' => true,
  'perso' => true,
  'univ' => true
 ),
 'so' => array(
  'com' => true,
  'net' => true,
  'org' => true
 ),
 'sr' => true,
 'st' => array(
  'co' => true,
  'com' => true,
  'consulado' => true,
  'edu' => true,
  'embaixada' => true,
  'gov' => true,
  'mil' => true,
  'net' => true,
  'org' => true,
  'principe' => true,
  'saotome' => true,
  'store' => true
 ),
 'su' => true,
 'sv' => array(
  '*' => true
 ),
 'sy' => array(
  'edu' => true,
  'gov' => true,
  'net' => true,
  'mil' => true,
  'com' => true,
  'org' => true
 ),
 'sz' => array(
  'co' => true,
  'ac' => true,
  'org' => true
 ),
 'tc' => true,
 'td' => true,
 'tel' => true,
 'tf' => true,
 'tg' => true,
 'th' => array(
  'ac' => true,
  'co' => true,
  'go' => true,
  'in' => true,
  'mi' => true,
  'net' => true,
  'or' => true
 ),
 'tj' => array(
  'ac' => true,
  'biz' => true,
  'co' => true,
  'com' => true,
  'edu' => true,
  'go' => true,
  'gov' => true,
  'int' => true,
  'mil' => true,
  'name' => true,
  'net' => true,
  'nic' => true,
  'org' => true,
  'test' => true,
  'web' => true
 ),
 'tk' => true,
 'tl' => array(
  'gov' => true
 ),
 'tm' => true,
 'tn' => array(
  'com' => true,
  'ens' => true,
  'fin' => true,
  'gov' => true,
  'ind' => true,
  'intl' => true,
  'nat' => true,
  'net' => true,
  'org' => true,
  'info' => true,
  'perso' => true,
  'tourism' => true,
  'edunet' => true,
  'rnrt' => true,
  'rns' => true,
  'rnu' => true,
  'mincom' => true,
  'agrinet' => true,
  'defense' => true,
  'turen' => true
 ),
 'to' => array(
  'com' => true,
  'gov' => true,
  'net' => true,
  'org' => true,
  'edu' => true,
  'mil' => true
 ),
 'tr' => array(
  '*' => true,
  '!nic' => true,
  'nc' => array(
   'gov' => true
  )
 ),
 'travel' => true,
 'tt' => array(
  'co' => true,
  'com' => true,
  'org' => true,
  'net' => true,
  'biz' => true,
  'info' => true,
  'pro' => true,
  'int' => true,
  'coop' => true,
  'jobs' => true,
  'mobi' => true,
  'travel' => true,
  'museum' => true,
  'aero' => true,
  'name' => true,
  'gov' => true,
  'edu' => true
 ),
 'tv' => array(
  'dyndns' => true,
  'better-than' => true,
  'on-the-web' => true,
  'worse-than' => true
 ),
 'tw' => array(
  'edu' => true,
  'gov' => true,
  'mil' => true,
  'com' => true,
  'net' => true,
  'org' => true,
  'idv' => true,
  'game' => true,
  'ebiz' => true,
  'club' => true,
  '網路' => true,
  '組織' => true,
  '商業' => true
 ),
 'tz' => array(
  'ac' => true,
  'co' => true,
  'go' => true,
  'mil' => true,
  'ne' => true,
  'or' => true,
  'sc' => true
 ),
 'ua' => array(
  'com' => true,
  'edu' => true,
  'gov' => true,
  'in' => true,
  'net' => true,
  'org' => true,
  'cherkassy' => true,
  'chernigov' => true,
  'chernovtsy' => true,
  'ck' => true,
  'cn' => true,
  'crimea' => true,
  'cv' => true,
  'dn' => true,
  'dnepropetrovsk' => true,
  'donetsk' => true,
  'dp' => true,
  'if' => true,
  'ivano-frankivsk' => true,
  'kh' => true,
  'kharkov' => true,
  'kherson' => true,
  'khmelnitskiy' => true,
  'kiev' => true,
  'kirovograd' => true,
  'km' => true,
  'kr' => true,
  'ks' => true,
  'kv' => true,
  'lg' => true,
  'lugansk' => true,
  'lutsk' => true,
  'lviv' => true,
  'mk' => true,
  'nikolaev' => true,
  'od' => true,
  'odessa' => true,
  'pl' => true,
  'poltava' => true,
  'rovno' => true,
  'rv' => true,
  'sebastopol' => true,
  'sumy' => true,
  'te' => true,
  'ternopil' => true,
  'uzhgorod' => true,
  'vinnica' => true,
  'vn' => true,
  'zaporizhzhe' => true,
  'zp' => true,
  'zhitomir' => true,
  'zt' => true,
  'co' => true,
  'pp' => true
 ),
 'ug' => array(
  'co' => true,
  'ac' => true,
  'sc' => true,
  'go' => true,
  'ne' => true,
  'or' => true
 ),
 'uk' => array(
  '*' => true,
  'sch' => array(
   '*' => true
  ),
  '!bl' => true,
  '!british-library' => true,
  '!icnet' => true,
  '!jet' => true,
  '!mod' => true,
  '!nel' => true,
  '!nhs' => true,
  '!nic' => true,
  '!nls' => true,
  '!national-library-scotland' => true,
  '!parliament' => true,
  '!police' => true
 ),
 'us' => array(
  'dni' => true,
  'fed' => true,
  'isa' => true,
  'kids' => true,
  'nsn' => true,
  'ak' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'al' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'ar' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'as' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'az' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'ca' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'co' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'ct' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'dc' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'de' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'fl' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'ga' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'gu' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'hi' => array(
   'cc' => true,
   'lib' => true
  ),
  'ia' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'id' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'il' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'in' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'ks' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'ky' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'la' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'ma' => array(
   'k12' => array(
    'pvt' => true,
    'chtr' => true,
    'paroch' => true
   ),
   'cc' => true,
   'lib' => true
  ),
  'md' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'me' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'mi' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'mn' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'mo' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'ms' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'mt' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'nc' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'nd' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'ne' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'nh' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'nj' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'nm' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'nv' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'ny' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'oh' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'ok' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'or' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'pa' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'pr' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'ri' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'sc' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'sd' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'tn' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'tx' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'ut' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'vi' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'vt' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'va' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'wa' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'wi' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'wv' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'wy' => array(
   'k12' => true,
   'cc' => true,
   'lib' => true
  ),
  'is-by' => true,
  'land-4-sale' => true,
  'stuff-4-sale' => true
 ),
 'uy' => array(
  '*' => true
 ),
 'uz' => array(
  'com' => true,
  'co' => true
 ),
 'va' => true,
 'vc' => array(
  'com' => true,
  'net' => true,
  'org' => true,
  'gov' => true,
  'mil' => true,
  'edu' => true
 ),
 've' => array(
  '*' => true
 ),
 'vg' => true,
 'vi' => array(
  'co' => true,
  'com' => true,
  'k12' => true,
  'net' => true,
  'org' => true
 ),
 'vn' => array(
  'com' => true,
  'net' => true,
  'org' => true,
  'edu' => true,
  'gov' => true,
  'int' => true,
  'ac' => true,
  'biz' => true,
  'info' => true,
  'name' => true,
  'pro' => true,
  'health' => true
 ),
 'vu' => true,
 'wf' => true,
 'ws' => array(
  'com' => true,
  'net' => true,
  'org' => true,
  'gov' => true,
  'edu' => true,
  'dyndns' => true,
  'mypets' => true
 ),
 'yt' => true,
 'امارات' => true,
 'বাংলা' => true,
 '中国' => true,
 '中國' => true,
 'الجزائر' => true,
 'مصر' => true,
 'გე' => true,
 '香港' => true,
 'भारत' => true,
 'بھارت' => true,
 'భారత్' => true,
 'ભારત' => true,
 'ਭਾਰਤ' => true,
 'ভারত' => true,
 'இந்தியா' => true,
 'ایران' => true,
 'ايران' => true,
 'الاردن' => true,
 '한국' => true,
 'ලංකා' => true,
 'இலங்கை' => true,
 'المغرب' => true,
 'عمان' => true,
 'فلسطين' => true,
 'срб' => true,
 'рф' => true,
 'قطر' => true,
 'السعودية' => true,
 'السعودیة' => true,
 'السعودیۃ' => true,
 'السعوديه' => true,
 'سورية' => true,
 'سوريا' => true,
 '新加坡' => true,
 'சிங்கப்பூர்' => true,
 'ไทย' => true,
 'تونس' => true,
 '台灣' => true,
 '台湾' => true,
 '臺灣' => true,
 'укр' => true,
 'اليمن' => true,
 'xxx' => true,
 'ye' => array(
  '*' => true
 ),
 'za' => array(
  '*' => true
 ),
 'zm' => array(
  '*' => true
 ),
 'zw' => array(
  '*' => true
 )
);
?>


code:
Danilo Segan <danilo@kvota.net>
Nico Kaiser <nico@siriux.net> (contributed most changes between 1.0.2 and 1.0.3, bugfix for 1.0.5)
Steven Armstrong <sa@c-area.ch> (gettext.inc, leading to 1.0.6)

repo_name: ksuudilla/gnu

path: extlib/php-gettext/AUTHORS

license: mit


code:
PACKAGE = php-gettext-$(VERSION)
VERSION = 1.0.12

DIST_FILES = \
	gettext.php \
	gettext.inc \
	streams.php \
	AUTHORS     \
	README      \
	COPYING     \
	Makefile    \
	examples/index.php    \
	examples/pigs_dropin.php    \
	examples/pigs_fallback.php    \
	examples/locale/sr_CS/LC_MESSAGES/messages.po \
	examples/locale/sr_CS/LC_MESSAGES/messages.mo \
	examples/locale/de_CH/LC_MESSAGES/messages.po \
	examples/locale/de_CH/LC_MESSAGES/messages.mo \
	examples/update \
	tests/LocalesTest.php \
	tests/ParsingTest.php

check:
	phpunit --verbose tests

dist: check
	if [ -d $(PACKAGE) ]; then \
	    rm -rf $(PACKAGE); \
	fi; \
	mkdir $(PACKAGE); \
	if [ -d $(PACKAGE) ]; then \
	    cp -rp --parents $(DIST_FILES) $(PACKAGE); \
	    tar cvzf $(PACKAGE).tar.gz $(PACKAGE); \
	    rm -rf $(PACKAGE); \
	fi;

sign: dist
	gpg --armor --sign --detach-sig $(PACKAGE).tar.gz

clean:
	rm -f $(PACKAGE).tar.gz $(PACKAGE).tar.gz.asc

path: extlib/php-gettext/Makefile


code:
PHP-gettext 1.0.12 (https://launchpad.net/php-gettext)

Copyright 2003, 2006, 2009 -- Danilo "angry with PHP[1]" Segan
Licensed under GPLv2 (or any later version, see COPYING)

[1] PHP is actually cyrillic, and translates roughly to
    "works-doesn't-work" (UTF-8: Ради-Не-Ради)

Introduction

    How many times did you look for a good translation tool, and
    found out that gettext is best for the job? Many times.

    How many times did you try to use gettext in PHP, but failed
    miserably, because either your hosting provider didn't support
    it, or the server didn't have adequate locale? Many times.

    Well, this is a solution to your needs. It allows using gettext
    tools for managing translations, yet it doesn't require gettext
    library at all. It parses generated MO files directly, and thus
    might be a bit slower than the (maybe provided) gettext library.

    PHP-gettext is a simple reader for GNU gettext MO files. Those
    are binary containers for translations, produced by GNU msgfmt.

Why?

    I got used to having gettext work even without gettext
    library. It's there in my favourite language Python, so I was
    surprised that I couldn't find it in PHP. I even Googled for it,
    but to no avail.

    So, I said, what the heck, I'm going to write it for this
    disguisting language of PHP, because I'm often constrained to it.

Features

  o Support for simple translations
    Just define a simple alias for translate() function (suggested
    use of _() or gettext(); see provided example).

  o Support for ngettext calls (plural forms, see a note under bugs)
    You may also use plural forms. Translations in MO files need to
    provide this, and they must also provide "plural-forms" header.
    Please see 'info gettext' for more details.

  o Support for reading straight files, or strings (!!!)
    Since I can imagine many different backends for reading in the MO
    file data, I used imaginary abstract class StreamReader to do all
    the input (check streams.php). For your convenience, I've already
    provided two classes for reading files: FileReader and
    StringReader (CachedFileReader is a combination of the two: it
    loads entire file contents into a string, and then works on that).
    See example below for usage. You can for instance use StringReader
    when you read in data from a database, or you can create your own
    derivative of StreamReader for anything you like.

Bugs

    Report them on https://bugs.launchpad.net/php-gettext

Usage

    Put files streams.php and gettext.php somewhere you can load them
    from, and require 'em in where you want to use them.

    Then, create one 'stream reader' (a class that provides functions
    like read(), seekto(), currentpos() and length()) which will
    provide data for the 'gettext_reader', with eg.
      $streamer = new FileStream('data.mo');

    Then, use that as a parameter to gettext_reader constructor:
      $wohoo = new gettext_reader($streamer);

    If you want to disable pre-loading of entire message catalog in
    memory (if, for example, you have a multi-thousand message catalog
    which you'll use only occasionally), use "false" for second
    parameter to gettext_reader constructor:
      $wohoo = new gettext_reader($streamer, false);

    From now on, you have all the benefits of gettext data at your
    disposal, so may run:
      print $wohoo->translate("This is a test");
      print $wohoo->ngettext("%d bird", "%d birds", $birds);

    You might need to pass parameter "-k" to xgettext to make it
    extract all the strings. In above example, try with
      xgettext -ktranslate -kngettext:1,2 file.php
    what should create messages.po which contains two messages for
    translation.

    I suggest creating simple aliases for these functions (see
    example/pigs.php for how do I do it, which means it's probably a
    bad way).

Usage with gettext.inc (standard gettext interfaces emulation)

    Check example in examples/pig_dropin.php, basically you include
    gettext.inc and use all the standard gettext interfaces as
    documented on:

       http://www.php.net/gettext

    The only catch is that you can check return value of setlocale()
    to see if your locale is system supported or not.

Example

    See in examples/ subdirectory. There are a couple of files.
    pigs.php is an example, serbian.po is a translation to Serbian
    language, and serbian.mo is generated with
       msgfmt -o serbian.mo serbian.po
    There is also simple "update" script that can be used to generate
    POT file and to update the translation using msgmerge.

TODO:

  o Improve speed to be even more comparable to the native gettext
    implementation.

  o Try to use hash tables in MO files: with pre-loading, would it
    be useful at all?

Never-asked-questions:

  o Why did you mark this as version 1.0 when this is the first code
    release?

    Well, it's quite simple. I consider that the first released thing
    should be labeled "version 1" (first, right?). Zero is there to
    indicate that there's zero improvement and/or change compared to
    "version 1".

    I plan to use version numbers 1.0.* for small bugfixes, and to
    release 1.1 as "first stable release of version 1".

    This may trick someone that this is actually useful software, but
    as with any other free software, I take NO RESPONSIBILITY for
    creating such a masterpiece that will smoke crack, trash your
    hard disk, and make lasers in your CD device dance to the tune of
    Mozart's 40th Symphony (there is one like that, right?).

  o Can I...?

    Yes, you can. This is free software (as in freedom, free speech),
    and you might do whatever you wish with it, provided you do not
    limit freedom of others (GPL).

    I'm considering licensing this under LGPL, but I *do* want
    *every* PHP-gettext user to contribute and respect ideas of free
    software, so don't count on it happening anytime soon.

    I'm sorry that I'm taking away your freedom of taking others'
    freedom away, but I believe that's neglible as compared to what
    freedoms you could take away. ;-)

    Uhm, whatever.

path: extlib/php-gettext/README


code:
<title>PHP-gettext examples</title>

PHP-gettext

Introduction

PHP-gettext provides a simple gettext replacement that works independently from the system's gettext abilities.
It can read MO files and use them for translating strings.

This version has the ability to cache all strings and translations to speed up the string lookup.
While the cache is enabled by default, it can be switched off with the second parameter in the constructor (e.g. when using very large MO files
that you don't want to keep in memory)

Examples

PHP-gettext as a dropin replacement

PHP-gettext as a fallback solution

Copyright (c) 2003-2006 Danilo Segan

Copyright (c) 2005-2006 Steven Armstrong


code:
# Sample translation for PHP-gettext 1.0
# Copyright (c) 2003 Danilo Segan <danilo@kvota.net>
#
msgid ""
msgstr ""
"Project-Id-Version: pigs\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2003-10-23 04:50+0200\n"
"PO-Revision-Date: 2003-11-01 23:40+0100\n"
"Last-Translator: Danilo Segan <danilo@kvota.net>\n"
"Language-Team: Serbian (sr) <danilo@kvota.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#"Plural-Forms: nplurals=2; plural=n != 1;\n"

#: pigs.php:19
msgid ""
"This is how the story goes.\n"
"\n"
msgstr ""
"Und so geht die Geschichte.\n"
"\n"

#: pigs.php:21
#, php-format
msgid "%d pig went to the market\n"
msgid_plural "%d pigs went to the market\n"
msgstr[0] "%d Schwein ging zum Markt\n"
msgstr[1] "%d Schweine gingen zum Markt\n"


code:
# Sample translation for PHP-gettext 1.0
# Copyright (c) 2003,2006 Danilo Segan <danilo@kvota.net>
#
msgid ""
msgstr ""
"Project-Id-Version: pigs\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2003-10-23 04:50+0200\n"
"PO-Revision-Date: 2006-02-02 21:06+0100\n"
"Last-Translator: Danilo Segan <danilo@kvota.net>\n"
"Language-Team: Serbian (sr) <danilo@kvota.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"

#: pigs.php:19
msgid ""
"This is how the story goes.\n"
"\n"
msgstr "Овако иде прича.\n\n"

#: pigs.php:21
#, php-format
msgid "%d pig went to the market\n"
msgid_plural "%d pigs went to the market\n"
msgstr[0] "%d мало прасе је отишло на пијац\n"
msgstr[1] "%d мала прасета су отишла на пијац\n"
msgstr[2] "%d малих прасића је отишло на пијац\n"