File Coverage

blib/lib/Tk/Airports.pm
Criterion Covered Total %
statement 12 81 14.8
branch 0 16 0.0
condition 0 10 0.0
subroutine 4 11 36.3
pod n/a
total 16 118 13.5


line stmt bran cond sub pod time code
1             package Tk::Airports;
2            
3             #
4             # Copyright (c) 2005 Renee Baecker (module@renee-baecker.de)
5             #
6            
7 1     1   18877 use 5.006001;
  1         4  
  1         38  
8 1     1   5 use strict;
  1         2  
  1         33  
9 1     1   5 use warnings;
  1         1  
  1         28  
10 1     1   4 use Carp;
  1         2  
  1         3872  
11            
12             require Tk;
13             require Tk::Toplevel;
14             require Tk::HList;
15            
16             our @ISA = qw(Tk::Derived Tk::Toplevel);
17             our $VERSION = '0.062';
18            
19             Construct Tk::Widget 'Airports';
20            
21             ########
22             # ToDo:
23             #
24             # *) translation of cities into national names
25             # *) allow other fonts
26             # *) option for specifying the return values (code,city,all)
27             # *) option for specifying the delimiter
28            
29             sub Show{
30 0     0     my ($cw) = @_;
31 0           $cw->Popup();
32 0           $cw->waitVariable(\$cw->{Selected});
33 0           $cw->withdraw;
34 0 0         $cw->{Selected} = [""] unless(defined $cw->{Selected});
35 0 0         return wantarray ? @{$cw->{Selected}} : join("; ",@{$cw->{Selected}});
  0            
  0            
36             }# Show
37            
38             sub Accept{
39 0     0     my ($cw) = @_;
40 0           my $airport = [map{substr($_,0,3)}$cw->Subwidget('airports')->Getselected()];
  0            
41 0 0         $airport = [""] unless($airport);
42 0           $cw->{Selected} = $airport;
43             }# Accept
44            
45             sub Cancel{
46 0     0     my ($cw) = @_;
47 0           $cw->{Selected} = undef;
48 0           $cw->withdraw;
49             }#Cancel
50            
51             sub Populate{
52 0     0     my ($cw,$args) = @_;
53            
54 0           $cw->SUPER::Populate($args);
55 0           $cw->ConfigSpecs(
56             -selectmode => ['PASSIVE', 'selectmode', 'Selectmode', 'single' ],
57             -order => ['PASSIVE', 'order' , 'Order' , 'code' ],
58             -font => ['PASSIVE', 'font' , 'Font' , 'Courier 8'],
59             -filename => ['PASSIVE', 'filename' , 'Filename' , '' ],
60             );
61 0           $cw->protocol('WM_DELETE_WINDOW' => ['Cancel', $cw]);
62            
63             # Label
64 0           $cw->Label(-text => 'Airports worldwide')->pack();
65            
66             # Search Frame
67 0           my $entry_var = '';
68 0           my $frm = $cw->Component('Frame' => 'search_frame')->pack();
69 0           $frm->Label(-text => 'Search')->pack(-anchor => 'w',
70             -side => 'left',);
71 0           my $se = $frm->Component('Entry' => 'search_entry',
72             -textvariable => \$entry_var,
73             )->pack(-anchor => 'w',
74             -side => 'left',);
75 0           $frm->Button(-text => 'search',
76             -command => ['Search',$cw],
77             )->pack(-anchor => 'w',);
78 0           $se->bind('' => [$cw => 'Search']);
79            
80             # Airport list
81 0           my @allowed_selectmodes = qw(single multiple extended);
82 0   0       my $tmp_selectmode = $args->{-selectmode} || 'single';
83 0           my ($selectmode) = grep{/$tmp_selectmode/i}@allowed_selectmodes;
  0            
84 0   0       $selectmode ||= 'single';
85 0           my $hl = $cw->Component('ScrlListbox' => 'airports',
86             -width => 40,
87             -scrollbars => 'ose',
88             -selectmode => $selectmode,
89             -exportselection => 0,
90             -font => 'Courier 8',
91             );
92             # insert airports
93 0           my @list = ();
94 0           my $error = 0;
95 0 0         if(exists $args->{-filename}){
96 0 0         unless(open(my $fh,"<",$args->{-filename})){
97 0           $error = 1;
98             }
99             else{
100 0           my @lines = <$fh>;
101 0 0         if($lines[0] =~ /^[A-Z]{3} - .*$/){
102 0           @list = @lines;
103             }
104             else{
105 0           $error = 1;
106             }
107 0           close $fh;
108             }
109             }
110 0 0 0       if(!exists $args->{-filename} || $error){
111 0           _getAirports();
112             }
113            
114 0 0 0       if(exists $args->{-order} && $args->{-order} eq 'city'){
115 0           @list = sort{substr($a,6) cmp substr($b,6)}@list;
  0            
116             }
117            
118 0           for(0..(scalar(@list)-1)){
119 0           $hl->insert('end',$list[$_]);
120             }
121            
122 0           $hl->pack();
123 0           $hl->bind('' => [$cw => 'Accept']);
124 0     0     $hl->bind('' => sub{$hl->focus()});
  0            
125 0           $hl->bind('' => [$cw => 'Accept']);
126            
127             # ok-Button
128 0           $cw->Button(-text => 'ok', -command => ['Accept',$cw])->pack();
129            
130 0           return $cw;
131             }# Populate
132            
133             sub Search{
134 0     0     my ($cw) = @_;
135 0           $cw->Subwidget('airports')->delete(0.0,'end');
136 0           my $pattern = $cw->Subwidget('search_frame')->Subwidget('search_entry')->get();
137 0           $pattern =~ s/ö/oe/g;
138 0           $pattern =~ s/ä/ae/g;
139 0           $pattern =~ s/ü/ue/g;
140 0           my @list = grep{/$pattern/i}_getAirports();
  0            
141 0           for(0..(scalar(@list)-1)){
142 0           $cw->Subwidget('airports')->insert('end',$list[$_]);
143             }
144             }# Search
145            
146             sub _getAirports{
147 0     0     my @airports = (
148             'AAL - Aalborg DK',
149             'AAM - Mala Mala ZA',
150             'AAN - Al Ain AE',
151             'AAQ - Anapa RU',
152             'AAR - Aarhus DK',
153             'ABC - Albacete ES',
154             'ABE - Allentown PA US',
155             'ABI - Abilene TX US',
156             'ABJ - Abidjan CI',
157             'ABQ - Albuquerque NM US',
158             'ABR - Aberdeen SD US',
159             'ABT - Al-Baha Al-Aqiq SA',
160             'ABV - Abuja NG',
161             'ABX - Albury NS AU',
162             'ABY - Albany GA US',
163             'ABZ - Aberdeen GB',
164             'ACA - Acapulco MX',
165             'ACC - Accra GH',
166             'ACE - Lanzarote ES',
167             'ACH - Altenrhein CH',
168             'ACK - Nantucket MA US',
169             'ACT - Waco TX US',
170             'ACV - Arcata CA US',
171             'ACY - Atlantic City NJ US',
172             'ADA - Adana TR',
173             'ADB - Izmir TR',
174             'ADD - Addis Ababa ET',
175             'ADE - Aden Int\'l YE',
176             'ADK - Adak Is. AK US',
177             'ADL - Adelaide SA AU',
178             'ADQ - Kodiak AK US',
179             'ADZ - San Andres Is. CO',
180             'AED - Aleneva AK US',
181             'AEP - Buenos Aires-Newbery BA AR',
182             'AER - Adler/Sochi RU',
183             'AES - Aalesund NO',
184             'AEX - Alexandria LA US',
185             'AEY - Akureyri IS',
186             'AFA - San Rafael MD AR',
187             'AFT - Afutara SB',
188             'AGA - Agadir MA',
189             'AGH - Angelholm/Helsingborg SE',
190             'AGP - Malaga ES',
191             'AGS - Augusta GA US',
192             'AGT - Ciudad del Este PY',
193             'AGU - Aguascalientes MX',
194             'AHB - Abha SA',
195             'AHN - Athens GA US',
196             'AHO - Alghero IT',
197             'AIA - Alliance NE US',
198             'AIC - Airok MH',
199             'AIM - Ailuk Is. MH',
200             'AJA - Ajaccio FR',
201             'AJF - Jouf SA',
202             'AJI - Agri TR',
203             'AJR - Arvidsjaur SE',
204             'AJU - Aracaju SE BR',
205             'AKB - Atka AK US',
206             'AKJ - Asahikawa JP',
207             'AKL - Auckland NZ',
208             'AKN - King Salmon AK US',
209             'AKS - Auki Gwaunaru\'u SB',
210             'ALA - Almaty KZ',
211             'ALB - Albany NY US',
212             'ALC - Alicante ES',
213             'ALF - Alta NO',
214             'ALG - Algiers DZ',
215             'ALO - Waterloo IA US',
216             'ALP - Aleppo SY',
217             'ALS - Alamosa CO US',
218             'ALW - Walla Walla WA US',
219             'ALY - Alexandria EG',
220             'AMA - Amarillo TX US',
221             'AMD - Ahmedabad IN',
222             'AMM - Amman JO',
223             'AMS - Amsterdam-Schiphol NL',
224             'ANC - Anchorage AK US',
225             'ANF - Antofagasta CL',
226             'ANI - Aniak AK US',
227             'ANU - Antigua V.C. AG',
228             'ANX - Andenes NO',
229             'AOC - Altenburg DE',
230             'AOI - Ancona IT',
231             'AOJ - Aomori JP',
232             'AOK - Karpathos GR',
233             'AOO - Altoona PA US',
234             'AOR - Alor MY',
235             'APF - Naples FL US',
236             'APN - Alpena MI US',
237             'APW - Apia WS',
238             'AQI - Qaisumah SA',
239             'AQP - Arequipa PE',
240             'ARH - Arkhangelsk RU',
241             'ARI - Arica CL',
242             'ARM - Armidale NS AU',
243             'ARN - Stockholm-Arlanda SE',
244             'ART - Watertown NY US',
245             'ASB - Ashgabat TM',
246             'ASD - Andros Town BS',
247             'ASE - Aspen CO US',
248             'ASF - Astrakhan RU',
249             'ASJ - Amami JP',
250             'ASM - Asmara ER',
251             'ASP - Alice Spgs NT AU',
252             'ASR - Kayseri TR',
253             'ASU - Asuncion PY',
254             'ATC - Arthur\'s Town BS',
255             'ATD - Atoifi SB',
256             'ATH - Athens GR',
257             'ATL - Atlanta GA US',
258             'ATQ - Amritsar Raja Sansi IN',
259             'ATW - Appleton WI US',
260             'ATY - Watertown SD US',
261             'ATZ - Assiut EG',
262             'AUA - Aruba AW',
263             'AUG - Augusta ME US',
264             'AUH - Abu Dhabi AE',
265             'AUL - Aur Is. MH',
266             'AUS - Austin TX US',
267             'AVL - Asheville NC US',
268             'AVN - Avignon FR',
269             'AVP - Scranton PA US',
270             'AVV - Avalon VI AU',
271             'AXA - Anguilla AI',
272             'AXD - Alexandroupolis GR',
273             'AXM - Armenia CO',
274             'AXP - Spring Pt Springpoint BS',
275             'AXT - Akita JP',
276             'AYQ - Ayers Rock NT AU',
277             'AYT - Antalya TR',
278             'AZO - Kalamazoo MI US',
279             'BAH - Bahrain BH',
280             'BAL - Batman TR',
281             'BAQ - Barranquilla CO',
282             'BAS - Balalae SB',
283             'BAV - Baotou CN',
284             'BAX - Barnaul RU',
285             'BAY - Baia Mare RO',
286             'BBA - Balmaceda CL',
287             'BBU - Bucharest-Baneasa RO',
288             'BCI - Barcaldine QL AU',
289             'BCL - Barra Colorado CR',
290             'BCM - Bacau RO',
291             'BCN - Barcelona ES',
292             'BDA - Bermuda BM',
293             'BDB - Bundaberg QL AU',
294             'BDL - Hartford CT US',
295             'BDS - Brindisi IT',
296             'BDU - Bardufoss NO',
297             'BEB - Benbecula GB',
298             'BEG - Belgrade CS',
299             'BEL - Belem PA BR',
300             'BEN - Benghazi LY',
301             'BES - Brest FR',
302             'BET - Bethel AK US',
303             'BEU - Bedourie QL AU',
304             'BEW - Beira MZ',
305             'BEY - Beirut LB',
306             'BFD - Bradford PA US',
307             'BFF - Scottsbluff NE US',
308             'BFI - Seattle Boeing Fld Int\'l WA US',
309             'BFL - Bakersfield CA US',
310             'BFN - Bloemfontein ZA',
311             'BFS - Belfast GB',
312             'BGA - Bucaramanga CO',
313             'BGF - Bangui CF',
314             'BGI - Bridgetown BB',
315             'BGM - Binghamton NY US',
316             'BGO - Bergen NO',
317             'BGR - Bangor ME US',
318             'BGY - Milan-Orio Al Serio IT',
319             'BHB - Bar Harbour ME US',
320             'BHD - Belfast City GB',
321             'BHE - Blenheim NZ',
322             'BHH - Bisha SA',
323             'BHI - Bahia Blanca BA AR',
324             'BHM - Birmingham AL US',
325             'BHX - Birmingham GB',
326             'BIA - Bastia FR',
327             'BII - Bikini Atoll MH',
328             'BIL - Billings MT US',
329             'BIO - Bilbao ES',
330             'BIQ - Biarritz FR',
331             'BIS - Bismarck ND US',
332             'BJF - Batsfjord NO',
333             'BJI - Bemidji MN US',
334             'BJL - Banjul GM',
335             'BJM - Bujumbura BI',
336             'BJV - Bodrum Milas TR',
337             'BJX - Leon/Guanajuato MX',
338             'BJZ - Badajoz ES',
339             'BKI - Kota Kinabalu MY',
340             'BKK - Bangkok TH',
341             'BKO - Bamako ML',
342             'BKQ - Blackall QL AU',
343             'BKW - Beckley WV US',
344             'BLE - Borlange/Falun SE',
345             'BLF - Bluefield WV US',
346             'BLI - Bellingham WA US',
347             'BLK - Blackpool GB',
348             'BLL - Billund DK',
349             'BLQ - Bologna IT',
350             'BLR - Bangalore IN',
351             'BLT - Blackwater QL AU',
352             'BLZ - Blantyre MW',
353             'BMA - Stockholm-Bromma SE',
354             'BME - Broome WA AU',
355             'BMI - Bloomington IL US',
356             'BMP - Brampton Is. QL AU',
357             'BNA - Nashville TN US',
358             'BNE - Brisbane QL AU',
359             'BNJ - Bonn Rail DE',
360             'BNK - Ballina NS AU',
361             'BNN - Bronnoysund NO',
362             'BNY - Bellona SB',
363             'BOD - Bordeaux FR',
364             'BOG - Bogota CO',
365             'BOH - Bournemouth GB',
366             'BOI - Boise ID US',
367             'BOJ - Bourgas BG',
368             'BOM - Mumbai IN',
369             'BON - Bonaire AN',
370             'BOO - Bodo NO',
371             'BOS - Boston MA US',
372             'BPS - Porto Seguro BA BR',
373             'BPT - Beaumont TX US',
374             'BPX - Bangda CN',
375             'BQK - Brunswick GA US',
376             'BQL - Boulia QL AU',
377             'BQN - Aguadilla PR',
378             'BQS - Blagoveschensk RU',
379             'BRC - San Carlos RN AR',
380             'BRD - Brainerd MN US',
381             'BRE - Bremen DE',
382             'BRI - Bari IT',
383             'BRK - Bourke NS AU',
384             'BRL - Burlington IA US',
385             'BRN - Berne CH',
386             'BRO - Brownsville TX US',
387             'BRQ - Brno Turany CZ',
388             'BRR - Barra N Bay GB',
389             'BRS - Bristol GB',
390             'BRU - Brussels BE',
391             'BRW - Barrow AK US',
392             'BSB - Brasilia DF BR',
393             'BSL - Basel/Mulhouse CH',
394             'BTK - Bratsk RU',
395             'BTM - Butte MT US',
396             'BTR - Baton Rouge LA US',
397             'BTS - Bratislava SK',
398             'BTU - Bintulu MY',
399             'BTV - Burlington VT US',
400             'BUA - Buka PG',
401             'BUC - Burketown QL AU',
402             'BUD - Budapest HU',
403             'BUF - Buffalo NY US',
404             'BUQ - Bulawayo ZW',
405             'BUR - Burbank CA US',
406             'BVA - Paris Beauvais-Tille FR',
407             'BVB - Boa Vista RR BR',
408             'BVG - Berlevag NO',
409             'BVI - Birdsville QL AU',
410             'BWI - Baltimore MD US',
411             'BWK - Bol HR',
412             'BWN - Bandar Seri Begawan BN',
413             'BWT - Burnie TS AU',
414             'BZE - Belize City BZ',
415             'BZG - Bydgoszcz PL',
416             'BZN - Bozeman MT US',
417             'BZO - Bolzano IT',
418             'BZV - Brazzaville CG',
419             'CAE - Columbia SC US',
420             'CAG - Cagliari IT',
421             'CAI - Cairo EG',
422             'CAK - Akron/Canton OH US',
423             'CAL - Campbeltown GB',
424             'CAN - Guangzhou CN',
425             'CAY - Cayenne GF',
426             'CAZ - Cobar NS AU',
427             'CBR - Canberra AC AU',
428             'CCC - Cayo CU',
429             'CCF - Carcassonne FR',
430             'CCJ - Kozhikode IN',
431             'CCK - Cocos Islands CC',
432             'CCP - Concepcion CL',
433             'CCS - Caracas VE',
434             'CCU - Kolkata IN',
435             'CDB - Cold Bay AK US',
436             'CDC - Cedar City UT US',
437             'CDG - Paris-Ch. De Gaulle FR',
438             'CDR - Chadron NE US',
439             'CDV - Cordova AK US',
440             'CEB - Cebu PH',
441             'CEC - Crescent City CA US',
442             'CEI - Chiang Rai TH',
443             'CEK - Chelyabinsk RU',
444             'CEN - Ciudad Obregon MX',
445             'CEZ - Cortez CO US',
446             'CFE - Clermont-Ferrand FR',
447             'CFR - Caen FR',
448             'CFS - Coffs Harbour NS AU',
449             'CFU - Kerkyra I. GR',
450             'CGB - Cuiaba MT BR',
451             'CGH - Sao Paulo-Congonhas SP BR',
452             'CGI - Cape Girardeau MO US',
453             'CGK - Jakarta ID',
454             'CGN - Cologne/Bonn DE',
455             'CGO - Zhengzhou CN',
456             'CGP - Chittagong BD',
457             'CGQ - Changchun CN',
458             'CGR - Campo Grande MS BR',
459             'CHA - Chattanooga TN US',
460             'CHC - Christchurch NZ',
461             'CHO - Charlottesville VA US',
462             'CHQ - Chania GR',
463             'CHS - Charleston SC US',
464             'CHY - Choiseul Bay SB',
465             'CIA - Rome-Ciampino IT',
466             'CIC - Chico CA US',
467             'CID - Cedar Rapids IA US',
468             'CIU - Sault Ste Marie MI US',
469             'CIW - Canouan Is. VC',
470             'CIX - Chiclayo PE',
471             'CJC - Calama CL',
472             'CJJ - Cheongju KR',
473             'CJS - Ciudad Juarez MX',
474             'CJU - Jeju KR',
475             'CKB - Clarksburg WV US',
476             'CKG - Chongqing CN',
477             'CKY - Conakry GN',
478             'CLD - San Diego-Carlsbad CA US',
479             'CLE - Cleveland OH US',
480             'CLJ - Cluj Napoca RO',
481             'CLL - College Stn TX US',
482             'CLO - Cali CO',
483             'CLQ - Colima MX',
484             'CLT - Charlotte NC US',
485             'CLY - Calvi FR',
486             'CMA - Cunnamulla QL AU',
487             'CMB - Colombo-Bandaranayake LK',
488             'CME - Ciudad Del Carmen MX',
489             'CMH - Columbus OH US',
490             'CMI - Champaign IL US',
491             'CMN - Casablanca MA',
492             'CMU - Kundiawa PG',
493             'CMX - Hancock MI US',
494             'CNB - Coonamble NS AU',
495             'CND - Constanta RO',
496             'CNF - Belo Horizonte-Tancredo Neves MG BR',
497             'CNJ - Cloncurry QL AU',
498             'CNP - Neerlerit Inaat GL',
499             'CNQ - Corrientes CR AR',
500             'CNS - Cairns QL AU',
501             'CNX - Chiang Mai TH',
502             'COD - Cody WY US',
503             'COK - Kochi IN',
504             'COO - Cotonou BJ',
505             'COR - Cordoba CD AR',
506             'COS - Colorado Spgs CO US',
507             'COU - Columbia MO US',
508             'CPC - San Martin DeLos Andes NE AR',
509             'CPE - Campeche MX',
510             'CPH - Copenhagen DK',
511             'CPO - Copiapo CL',
512             'CPQ - Campinas SP BR',
513             'CPR - Casper WY US',
514             'CPT - Cape Town ZA',
515             'CRD - Comodoro Rivadavia CB AR',
516             'CRI - Crooked Is. BS',
517             'CRK - Luzon Is. PH',
518             'CRL - Brussels-Charleroi BE',
519             'CRP - Corpus Christi TX US',
520             'CRV - Crotone IT',
521             'CRW - Charleston WV US',
522             'CSG - Columbus GA US',
523             'CSX - Changsha CN',
524             'CSY - Cheboksary RU',
525             'CTA - Catania IT',
526             'CTC - Catamarca CA AR',
527             'CTG - Cartagena CO',
528             'CTL - Charleville QL AU',
529             'CTM - Chetumal MX',
530             'CTS - Sapporo-Chitose JP',
531             'CTU - Chengdu CN',
532             'CUC - Cucuta CO',
533             'CUL - Culiacan MX',
534             'CUN - Cancun MX',
535             'CUR - Curacao AN',
536             'CUU - Chihuahua MX',
537             'CUZ - Cuzco PE',
538             'CVG - Cincinnati OH US',
539             'CVJ - Cuernavaca MX',
540             'CVM - Ciudad Victoria MX',
541             'CVN - Clovis Muni NM US',
542             'CVT - Coventry Baginton GB',
543             'CWA - Wausau WI US',
544             'CWB - Curitiba PR BR',
545             'CWL - Cardiff GB',
546             'CXJ - Caxias Do Sul RS BR',
547             'CYO - Cayo Largo CU',
548             'CYS - Cheyenne WY US',
549             'CZM - Cozumel MX',
550             'CZS - Cruzeiro Do Sul AC BR',
551             'CZX - Changzhou CN',
552             'DAB - Daytona Beach FL US',
553             'DAC - Dhaka Zia BD',
554             'DAD - Da Nang VN',
555             'DAL - Dallas-Love TX US',
556             'DAM - Damascus SY',
557             'DAR - Dar Es Salaam TZ',
558             'DAY - Dayton-Cox OH US',
559             'DBO - Dubbo NS AU',
560             'DBQ - Dubuque IA US',
561             'DBV - Dubrovnik HR',
562             'DCA - Washington-Reagan DC US',
563             'DCF - Dominica Cane DM',
564             'DDC - Dodge City KS US',
565             'DEC - Decatur IL US',
566             'DEL - Delhi IN',
567             'DEN - Denver CO US',
568             'DFW - Dallas/Ft Worth TX US',
569             'DGE - Mudgee NS AU',
570             'DGO - Durango MX',
571             'DHN - Dothan AL US',
572             'DIK - Dickinson ND US',
573             'DIL - Dili Comoro ID',
574             'DIY - Diyarbakir TR',
575             'DJE - Djerba TN',
576             'DKI - Dunk Is. QL AU',
577             'DKR - Dakar SN',
578             'DLA - Douala CM',
579             'DLC - Dalian CN',
580             'DLG - Dillingham AK US',
581             'DLH - Duluth MN US',
582             'DLM - Dalaman TR',
583             'DMD - Doomadgee QL AU',
584             'DME - Moscow-Domodedovo RU',
585             'DMM - Dammam SA',
586             'DNA - Okinawa-Kadena JP',
587             'DNH - Dunhuang CN',
588             'DNK - Dnepropetrovsk UA',
589             'DNR - Dinard FR',
590             'DNZ - Denizli TR',
591             'DOH - Doha QA',
592             'DOK - Donetsk UA',
593             'DOM - Dominica DM',
594             'DPO - Devonport TS AU',
595             'DPS - Denpasar ID',
596             'DRO - Durango CO US',
597             'DRS - Dresden DE',
598             'DRT - Del Rio Int\'l TX US',
599             'DRW - Darwin NT AU',
600             'DSA - Doncaster Sheffield GB',
601             'DSM - Des Moines IA US',
602             'DTM - Dortmund DE',
603             'DTW - Detroit MI US',
604             'DUB - Dublin IE',
605             'DUD - Dunedin NZ',
606             'DUJ - Dubois PA US',
607             'DUR - Durban ZA',
608             'DUS - Dusseldorf DE',
609             'DUT - Dutch Harbor AK US',
610             'DVL - Devils Lake ND US',
611             'DWD - Dawadmi SA',
612             'DXB - Dubai AE',
613             'DYG - Dayong CN',
614             'DYR - Anadyr RU',
615             'DYU - Dushanbe TJ',
616             'DZA - Dzaoudzi YT',
617             'EAL - El Arish EG',
618             'EAM - Nejran SA',
619             'EAR - Kearney NE US',
620             'EAS - San Sebastian ES',
621             'EAT - Wenatchee WA US',
622             'EAU - Eau Claire WI US',
623             'EBB - Entebbe UG',
624             'EBJ - Esbjerg DK',
625             'EBO - Ebon MH',
626             'EBU - St Etienne FR',
627             'ECN - Ercan CY',
628             'EDI - Edinburgh GB',
629             'EDR - Edward Rvr QL AU',
630             'EFL - Kefallinia GR',
631             'EGC - Bergerac FR',
632             'EGE - Vail/Eagle CO US',
633             'EGM - Sege SB',
634             'EGO - Belgorod RU',
635             'EGS - Egilsstadir IS',
636             'EIN - Eindhoven NL',
637             'EIS - Beef Is. VG',
638             'EJA - Barrancabermeja CO',
639             'EJH - Wedjh SA',
640             'EJT - Mili Atoll Enijet MH',
641             'EKO - Elko NV US',
642             'ELH - N Eleuthera BS',
643             'ELM - Corning NY US',
644             'ELP - El Paso TX US',
645             'ELQ - Gassim SA',
646             'ELS - E London ZA',
647             'EMA - Nottingham/E. Midlands GB',
648             'EMD - Emerald QL AU',
649             'ENA - Kenai AK US',
650             'ENF - Enontekio FI',
651             'ENS - Enschede Twente NL',
652             'ENT - Enewetak Is. MH',
653             'EQS - Esquel CB AR',
654             'ERC - Erzincan TR',
655             'ERF - Erfurt DE',
656             'ERI - Erie PA US',
657             'ERZ - Erzurum TR',
658             'ESB - Ankara-Esenboga TR',
659             'ESC - Escanaba MI US',
660             'ESR - El Salvador CL',
661             'ESS - Essen DE',
662             'ETH - Elat IL',
663             'ETZ - Metz/Nancy FR',
664             'EUG - Eugene OR US',
665             'EUN - Laayoune Hassan Isl. MA',
666             'EUX - St. Eustatius AN',
667             'EVE - Harstad/Narvik NO',
668             'EVN - Yerevan AM',
669             'EVV - Evansville IN US',
670             'EWN - New Bern NC US',
671             'EWR - Newark NJ US',
672             'EXT - Exeter GB',
673             'EYW - Key W FL US',
674             'EZE - Buenos Aires-Pistarini BA AR',
675             'EZS - Elazig TR',
676             'FAE - Faroe Islands FO',
677             'FAI - Fairbanks AK US',
678             'FAO - Faro PT',
679             'FAR - Fargo ND US',
680             'FAT - Fresno CA US',
681             'FAY - Fayetteville NC US',
682             'FBM - Lubumbashi CD',
683             'FCA - Kalispell MT US',
684             'FCO - Rome-Fiumicino IT',
685             'FDE - Forde Bringeland NO',
686             'FDF - Ft De France MQ',
687             'FDH - Friedrichshafen DE',
688             'FEN - Fernando De Noronha FN BR',
689             'FEZ - Fez Sais MA',
690             'FHU - Ft Huachuca Libby AAF AZ US',
691             'FIH - Kinshasa CD',
692             'FKB - Karlsruhe/Baden DE',
693             'FKI - Kisangani CD',
694             'FKL - Franklin PA US',
695             'FKS - Fukushima JP',
696             'FLG - Grand Canyon AZ US',
697             'FLL - Ft. Lauderdale FL US',
698             'FLN - Florianopolis SC BR',
699             'FLO - Florence SC US',
700             'FLR - Florence-Peretola IT',
701             'FMA - Formosa FO AR',
702             'FMN - Farmington NM US',
703             'FMO - Muenster DE',
704             'FNA - Freetown SL',
705             'FNC - Funchal PT',
706             'FNI - Nimes FR',
707             'FNJ - Pyongyang Sunan KP',
708             'FNT - Flint MI US',
709             'FOC - Fuzhou CN',
710             'FOD - Ft. Dodge IA US',
711             'FOR - Fortaleza CE BR',
712             'FPO - Freeport Grand Bahama BS',
713             'FRA - Frankfurt DE',
714             'FRE - Fera Is. SB',
715             'FRL - Forli IT',
716             'FRO - Floro NO',
717             'FRS - Flores GT',
718             'FRU - Bishkek KG',
719             'FSC - Figari FR',
720             'FSD - Sioux Falls SD US',
721             'FSM - Ft. Smith AR US',
722             'FTE - El Calafate AR',
723             'FUE - Puerto del Rosario Fuerteventura ES',
724             'FUJ - Fukue JP',
725             'FUK - Fukuoka JP',
726             'FUN - Funafuti Atol TV',
727             'FWA - Ft. Wayne IN US',
728             'GAJ - Yamagata JP',
729             'GBD - Great Bend KS US',
730             'GBE - Gaborone BW',
731             'GCC - Gillette WY US',
732             'GCI - Guernsey GB',
733             'GCK - Garden City KS US',
734             'GCM - Grand Cayman Is. KY',
735             'GDL - Guadalajara MX',
736             'GDN - Gdansk PL',
737             'GDV - Glendive MT US',
738             'GDX - Magadan RU',
739             'GEG - Spokane WA US',
740             'GEO - Georgetown GY',
741             'GEV - Gallivare SE',
742             'GFK - Grand Forks ND US',
743             'GGG - Gladewater TX US',
744             'GGT - George Town BS',
745             'GGW - Glasgow MT US',
746             'GHB - Governors Harbour BS',
747             'GIB - Gibraltar GI',
748             'GIG - Rio De Janeiro-Intl RJ BR',
749             'GIS - Gisborne NZ',
750             'GIZ - Gizan SA',
751             'GJA - Guanaja HN',
752             'GJT - Grand Junction CO US',
753             'GKA - Goroka PG',
754             'GLA - Glasgow GB',
755             'GLF - Golfito CR',
756             'GLH - Greenville MS US',
757             'GLT - Gladstone QL AU',
758             'GMA - Gemena CD',
759             'GMP - Seoul-Gimpo KR',
760             'GNB - Lyon-St. Geoirs FR',
761             'GND - Grenada GD',
762             'GNV - Gainesville FL US',
763             'GOA - Genoa IT',
764             'GOH - Nuuk GL',
765             'GOI - Goa IN',
766             'GOJ - Nizhniy RU',
767             'GOM - Goma CD',
768             'GOQ - Golmud CN',
769             'GOT - Gothenburg-Landvetter SE',
770             'GOV - Gove NT AU',
771             'GPA - Patras GR',
772             'GPT - Gulfport MS US',
773             'GRB - Green Bay WI US',
774             'GRI - Grand Is. NE US',
775             'GRJ - George ZA',
776             'GRK - Killeen-Gray TX US',
777             'GRO - Gerona ES',
778             'GRQ - Groningen NL',
779             'GRR - Grand Rapids MI US',
780             'GRU - Sao Paulo-Guarulhos SP BR',
781             'GRX - Granada ES',
782             'GRY - Grimsey IS',
783             'GRZ - Graz AT',
784             'GSE - Gothenburg-Saeve SE',
785             'GSO - Greensboro/Winston-Salem NC US',
786             'GSP - Greenville-Spartanburg SC US',
787             'GST - Gustavus AK US',
788             'GTE - Groote NT AU',
789             'GTF - Great Falls MT US',
790             'GTR - Columbus MS US',
791             'GUA - Guatemala City GT',
792             'GUB - Guerrero MX',
793             'GUC - Gunnison CO US',
794             'GUM - Guam GU',
795             'GUR - Alotau PG',
796             'GVA - Geneva CH',
797             'GWT - Westerland DE',
798             'GWY - Galway IE',
799             'GYD - Baku AZ',
800             'GYE - Guayaquil EC',
801             'GYM - Guaymas MX',
802             'GYN - Goiania GO BR',
803             'GZO - Gizo SB',
804             'GZT - Gaziantep TR',
805             'HAA - Hasvik NO',
806             'HAC - Hachijo Jima JP',
807             'HAD - Halmstad SE',
808             'HAH - Moroni KM',
809             'HAJ - Hanover DE',
810             'HAK - Haikou CN',
811             'HAM - Hamburg DE',
812             'HAN - Hanoi VN',
813             'HAS - Hail SA',
814             'HAU - Haugesund NO',
815             'HAV - Havana CU',
816             'HBA - Hobart TS AU',
817             'HBE - Alexandria EG',
818             'HDB - Heidelberg DE',
819             'HDF - Heringsdorf DE',
820             'HDN - Hayden CO US',
821             'HDS - Hoedspruit ZA',
822             'HDY - Hat Yai TH',
823             'HEK - Heihe CN',
824             'HEL - Helsinki FI',
825             'HER - Heraklion GR',
826             'HET - Hohhot CN',
827             'HFE - Hefei CN',
828             'HFT - Hammerfest NO',
829             'HGD - Hughenden QL AU',
830             'HGH - Hangzhou CN',
831             'HGN - Mae Hong Son TH',
832             'HGR - Hagerstown MD US',
833             'HGU - Mount Hagen PG',
834             'HHH - Hilton Head SC US',
835             'HHN - Frankfurt-Hahn DE',
836             'HIB - Chisholm MN US',
837             'HID - Horn Is. QL AU',
838             'HII - Lake Havasu City AZ US',
839             'HIJ - Hiroshima JP',
840             'HIN - Jinju KR',
841             'HIR - Honiara SB',
842             'HIS - Hayman Is. QL AU',
843             'HKD - Hakodate JP',
844             'HKG - Hong Kong HK',
845             'HKK - Hokitika NZ',
846             'HKN - Hoskins PG',
847             'HKT - Phuket TH',
848             'HKY - Hickory NC US',
849             'HLA - Lanseria ZA',
850             'HLD - Hailar CN',
851             'HLF - Hultsfred SE',
852             'HLN - Helena MT US',
853             'HLZ - Hamilton NZ',
854             'HMA - Khanty Mansiysk RU',
855             'HME - Hassi Messaoud DZ',
856             'HMO - Hermosillo MX',
857             'HMV - Hemavan SE',
858             'HNA - Morioka JP',
859             'HND - Tokyo-Haneda JP',
860             'HNL - Honolulu HI US',
861             'HOF - Hofuf SA',
862             'HOG - Holguin CU',
863             'HOM - Homer AK US',
864             'HOQ - Hof DE',
865             'HOR - Horta PT',
866             'HOU - Houston-Hobby TX US',
867             'HOV - Orsta-Volda NO',
868             'HPN - Westchester County NY US',
869             'HRB - Harbin CN',
870             'HRE - Harare ZW',
871             'HRG - Hurghada EG',
872             'HRK - Kharkov UA',
873             'HRL - Harlingen TX US',
874             'HSG - Saga JP',
875             'HSV - Huntsville AL US',
876             'HTA - Chita RU',
877             'HTI - Hamilton Is. QL AU',
878             'HTS - Ashland KY US',
879             'HUX - Huatulco MX',
880             'HUY - Humberside GB',
881             'HVB - Hervey Bay QL AU',
882             'HVG - Honningsvag Valan NO',
883             'HVN - New Haven CT US',
884             'HVR - Havre MT US',
885             'HYA - Hyannis MA US',
886             'HYD - Hyderabad IN',
887             'HYS - Hays KS US',
888             'IAD - Washington-Dulles DC US',
889             'IAH - Houston-Bush TX US',
890             'IAS - Iasi RO',
891             'IBZ - Ibiza ES',
892             'ICI - Cicia FJ',
893             'ICN - Seoul-Incheon KR',
894             'ICT - Wichita KS US',
895             'IDA - Idaho Falls ID US',
896             'IFJ - Isafjordur IS',
897             'IGA - Inagua BS',
898             'IGM - Kingman AZ US',
899             'IGR - Iguazu MI AR',
900             'IGU - Iguassu Falls PR BR',
901             'IKA - Imam Khomeini IR',
902             'IKT - Irkutsk RU',
903             'ILI - Iliamna AK US',
904             'ILM - Wilmington NC US',
905             'ILY - Islay GB',
906             'ILZ - Zilina SK',
907             'IMT - Iron Mtn. MI US',
908             'INC - Yinchuan CN',
909             'IND - Indianapolis IN US',
910             'INI - Nis CS',
911             'INL - Falls Falls MN US',
912             'INN - Innsbruck AT',
913             'INV - Inverness GB',
914             'IOA - Ioannina GR',
915             'IOM - Isle Of Man GB',
916             'IPC - Easter Is. CL',
917             'IPH - Ipoh MY',
918             'IPL - El Centro CA US',
919             'IPT - Williamsport PA US',
920             'IQQ - Iquique CL',
921             'IQT - Iquitos PE',
922             'IRA - Kirakira SB',
923             'IRJ - La Rioja LR AR',
924             'IRK - Kirksville MO US',
925             'ISA - Mount Isa QL AU',
926             'ISB - Islamabad PK',
927             'ISG - Ishigaki JP',
928             'ISN - Williston ND US',
929             'ISO - Kinston Stallings NC US',
930             'ISP - Islip NY US',
931             'IST - Istanbul TR',
932             'ITH - Ithaca NY US',
933             'ITM - Osaka-Itami JP',
934             'ITO - Hilo HI US',
935             'IUE - Niue Is. NU',
936             'IVC - Invercargill NZ',
937             'IVL - Ivalo FI',
938             'IWD - Ironwood MI US',
939             'IWJ - Iwami JP',
940             'IYK - Inyokern CA US',
941             'IZO - Izumo JP',
942             'JAC - Jackson Hole WY US',
943             'JAL - Jalapa MX',
944             'JAN - Jackson MS US',
945             'JAT - Jabot MH',
946             'JAV - Ilulissat GL',
947             'JAX - Jacksonville FL US',
948             'JCK - Julia Creek QL AU',
949             'JED - Jeddah SA',
950             'JEG - Aasiaat GL',
951             'JEJ - Jeh MH',
952             'JER - Jersey States GB',
953             'JFK - New York-JFK NY US',
954             'JFR - Paamiut GL',
955             'JGN - Jiayuguan CN',
956             'JGR - Groennedal GL',
957             'JGS - Ji an/Jing Gang Shan CN',
958             'JHB - Johor Bahru MY',
959             'JHG - Jinghong CN',
960             'JHM - Kapalua HI US',
961             'JHS - Sisimiut GL',
962             'JHW - Jamestown NY US',
963             'JIB - Djibouti DJ',
964             'JIK - Ikaria Is. GR',
965             'JJU - Qaqortoq GL',
966             'JKG - Jonkoping SE',
967             'JKH - Chios GR',
968             'JLN - Joplin MO US',
969             'JMK - Mikonos GR',
970             'JMS - Jamestown ND US',
971             'JNB - Johannesburg ZA',
972             'JNN - Nanortalik GL',
973             'JNS - Narsaq GL',
974             'JNU - Juneau AK US',
975             'JNX - Naxos GR',
976             'JOE - Joensuu FI',
977             'JOI - Joinville SC BR',
978             'JPA - Joao Pessoa PB BR',
979             'JQA - Qaarsut GL',
980             'JRO - Kilimanjaro TZ',
981             'JSH - Sitia GR',
982             'JSI - Skiathos GR',
983             'JST - Johnstown PA US',
984             'JSU - Maniitsoq GL',
985             'JSY - Syros Is. GR',
986             'JTR - Thira GR',
987             'JTY - Astypalaia Is. GR',
988             'JUJ - Jujuy PJ AR',
989             'JUL - Juliaca PE',
990             'JUV - Upernavik GL',
991             'JYV - Jyvaskyla FI',
992             'JZH - Song Pan CN',
993             'KAJ - Kajaani FI',
994             'KAN - Kano NG',
995             'KAO - Kuusamo FI',
996             'KAT - Kaitaia NZ',
997             'KBP - Kiev-Borispol UA',
998             'KBR - Kota Bharu MY',
999             'KBT - Kaben MH',
1000             'KBV - Krabi TH',
1001             'KCH - Kuching MY',
1002             'KCZ - Kochi JP',
1003             'KDV - Kandavu FJ',
1004             'KEF - Reykjavik-Keflavik IS',
1005             'KEJ - Kemerovo RU',
1006             'KEL - Kiel DE',
1007             'KEM - Kemi FI',
1008             'KGA - Kananga CD',
1009             'KGD - Kaliningrad RU',
1010             'KGE - Kagau SB',
1011             'KGF - Karaganda KZ',
1012             'KGI - Kalgoorlie WA AU',
1013             'KGL - Kigali RW',
1014             'KGP - Kogalym RU',
1015             'KGS - Kos GR',
1016             'KHH - Kaohsiung TW',
1017             'KHI - Karachi PK',
1018             'KHN - Nanchang CN',
1019             'KHV - Khabarovsk RU',
1020             'KID - Kristianstad SE',
1021             'KIJ - Niigata JP',
1022             'KIM - Kimberley ZA',
1023             'KIN - Kingston- Manley JM',
1024             'KIO - Kili Is. MH',
1025             'KIR - Kerry IE',
1026             'KIS - Kisumu KE',
1027             'KIT - Kithira GR',
1028             'KIV - Chisinau MD',
1029             'KIX - Osaka-Kansai JP',
1030             'KJA - Krasnojarsk RU',
1031             'KKC - Khon Kaen TH',
1032             'KKE - Kerikeri NZ',
1033             'KKJ - Kita Kyushu JP',
1034             'KKN - Kirkenes NO',
1035             'KLR - Kalmar SE',
1036             'KLU - Klagenfurt AT',
1037             'KLV - Karlovy Vary CZ',
1038             'KLX - Kalamata GR',
1039             'KMC - King Khalid Mil. City SA',
1040             'KMG - Kunming CN',
1041             'KMI - Miyazaki JP',
1042             'KMJ - Kumamoto JP',
1043             'KMQ - Komatsu JP',
1044             'KNX - Kununurra WA AU',
1045             'KOA - Kona HI US',
1046             'KOI - Kirkwall GB',
1047             'KOJ - Kagoshima JP',
1048             'KOK - Kokkola/Pietarsaari FI',
1049             'KPO - Pohang KR',
1050             'KRF - Kramfors SE',
1051             'KRK - Krakow PL',
1052             'KRN - Kiruna SE',
1053             'KRO - Kurgan RU',
1054             'KRP - Karup DK',
1055             'KRR - Krasnodar RU',
1056             'KRS - Kristiansand Kjevik NO',
1057             'KRT - Khartoum SD',
1058             'KSA - Kosrae FM',
1059             'KSC - Kosice Barca SK',
1060             'KSD - Karlstad SE',
1061             'KSF - Kassel DE',
1062             'KSJ - Kasos Is. GR',
1063             'KSN - Kostanay KZ',
1064             'KSO - Kastoria GR',
1065             'KSU - Kristiansund NO',
1066             'KSY - Kars TR',
1067             'KTA - Karratha WA AU',
1068             'KTM - Kathmandu NP',
1069             'KTN - Ketchikan AK US',
1070             'KTP - Kingston-Tinson JM',
1071             'KTT - Kittila FI',
1072             'KTW - Katowice PL',
1073             'KUA - Kuantan MY',
1074             'KUF - Samara RU',
1075             'KUH - Kushiro JP',
1076             'KUL - Kuala Lumpur MY',
1077             'KUN - Kaunas LT',
1078             'KUO - Kuopio FI',
1079             'KUS - Kulusuk GL',
1080             'KUT - Kutaisi GE',
1081             'KUV - Gunsan KR',
1082             'KVA - Kavala GR',
1083             'KVD - Gyandzha AZ',
1084             'KVG - Kavieng PG',
1085             'KWA - Kwajalein MH',
1086             'KWE - Guiyang CN',
1087             'KWI - Kuwait KW',
1088             'KWJ - Gwangju KR',
1089             'KWL - Guilin CN',
1090             'KWM - Kowanyama QL AU',
1091             'KWZ - Kolwezi CD',
1092             'KXF - Koro Is. FJ',
1093             'KXK - Komsomolsk Na Amure RU',
1094             'KYA - Konya TR',
1095             'KZI - Kozani GR',
1096             'KZN - Kazan RU',
1097             'KZS - Kastelorizo GR',
1098             'LAD - Luanda AO',
1099             'LAE - Lae Nadzab PG',
1100             'LAI - Lannion FR',
1101             'LAN - Lansing MI US',
1102             'LAP - La Paz Leon MX',
1103             'LAR - Laramie WY US',
1104             'LAS - Las Vegas NV US',
1105             'LAU - Lamu KE',
1106             'LAW - Lawton OK US',
1107             'LAX - Los Angeles CA US',
1108             'LBA - Leeds/Bradford GB',
1109             'LBB - Lubbock TX US',
1110             'LBC - Hamburg-Luebeck DE',
1111             'LBD - Khudzhand TJ',
1112             'LBE - Latrobe PA US',
1113             'LBF - N Platte NE US',
1114             'LBL - Liberal KS US',
1115             'LBS - Labasa FJ',
1116             'LBU - Labuan MY',
1117             'LBV - Libreville GA',
1118             'LCA - Larnaca CY',
1119             'LCE - La Ceiba HN',
1120             'LCG - La Coruna ES',
1121             'LCH - Lake Charles LA US',
1122             'LCJ - Lodz PL',
1123             'LCY - London City GB',
1124             'LDB - Londrina PR BR',
1125             'LDE - Lourdes/Tarbes FR',
1126             'LDH - Lord Howe Is. NS AU',
1127             'LDU - Lahad Datu MY',
1128             'LDY - Londonderry GB',
1129             'LEA - Learmonth WA AU',
1130             'LEB - Hanover NH US',
1131             'LED - St. Petersburg RU',
1132             'LEH - Le Havre FR',
1133             'LEI - Almeria ES',
1134             'LEJ - Leipzig DE',
1135             'LEN - Leon ES',
1136             'LEV - Bureta FJ',
1137             'LEX - Lexington KY US',
1138             'LFT - Lafayette LA US',
1139             'LFW - Lome TG',
1140             'LGA - New York-La Guardia NY US',
1141             'LGB - Long Beach CA US',
1142             'LGI - Deadmans Cay BS',
1143             'LGK - Langkawi MY',
1144             'LGS - Malargue MD AR',
1145             'LGW - London-Gatwick GB',
1146             'LHE - Lahore PK',
1147             'LHG - Lightning Ridge NS AU',
1148             'LHR - London-Heathrow GB',
1149             'LHW - Lanzhou CN',
1150             'LIG - Limoges FR',
1151             'LIH - Kauai Is. HI US',
1152             'LIK - Likiep Is. MH',
1153             'LIL - Lille FR',
1154             'LIM - Lima PE',
1155             'LIN - Milan-Linate IT',
1156             'LIR - Liberia CR',
1157             'LIS - Lisbon PT',
1158             'LIT - Little Rock AR US',
1159             'LJG - Lijiang City CN',
1160             'LJU - Ljubljana SI',
1161             'LKB - Lakeba FJ',
1162             'LKL - Lakselv NO',
1163             'LKN - Leknes NO',
1164             'LLA - Lulea SE',
1165             'LLU - Alluitsup Paa GL',
1166             'LLW - Lilongwe MW',
1167             'LML - Lae Is. MH',
1168             'LMM - Los Mochis MX',
1169             'LMN - Limbang MY',
1170             'LMP - Lampedusa IT',
1171             'LMT - Klamath Falls OR US',
1172             'LNK - Lincoln NE US',
1173             'LNS - Lancaster PA US',
1174             'LNV - Lihir Is. PG',
1175             'LNY - Lanai City HI US',
1176             'LNZ - Linz AT',
1177             'LOS - Lagos NG',
1178             'LOV - Monclova MX',
1179             'LPA - Las Palmas ES',
1180             'LPB - La Paz BO',
1181             'LPI - Linkoping SE',
1182             'LPL - Liverpool GB',
1183             'LPP - Lappeenranta FI',
1184             'LPQ - Luang Prabang LA',
1185             'LRD - Laredo TX US',
1186             'LRE - Longreach QL AU',
1187             'LRH - La Rochelle FR',
1188             'LRM - La Romana DO',
1189             'LRS - Leros GR',
1190             'LRT - Lorient FR',
1191             'LSC - La Serena CL',
1192             'LSE - La Crosse WI US',
1193             'LSI - Shetland Islands GB',
1194             'LST - Launceston TS AU',
1195             'LTN - London-Luton GB',
1196             'LTO - Loreto MX',
1197             'LUG - Lugano CH',
1198             'LUM - Luxi CN',
1199             'LUN - Lusaka ZM',
1200             'LUQ - San Luis SL AR',
1201             'LUX - Luxembourg LU',
1202             'LVI - Livingstone ZM',
1203             'LWB - Lewisburg WV US',
1204             'LWN - Gyoumri AM',
1205             'LWO - Lvov Snilow UA',
1206             'LWS - Lewiston ID US',
1207             'LWT - Lewistown MT US',
1208             'LXA - Lhasa CN',
1209             'LXR - Luxor EG',
1210             'LXS - Limnos GR',
1211             'LYC - Lycksele SE',
1212             'LYG - Lianyungang CN',
1213             'LYH - Lynchburg VA US',
1214             'LYI - Linyi CN',
1215             'LYR - Longyearbyen SJ',
1216             'LYS - Lyon-Satolas FR',
1217             'LZC - Lazaro MX',
1218             'LZH - Liuzhou CN',
1219             'LZR - Lizard Is. QL AU',
1220             'MAA - Chennai IN',
1221             'MAD - Madrid ES',
1222             'MAF - Midland TX US',
1223             'MAG - Madang PG',
1224             'MAH - Menorca ES',
1225             'MAJ - Majuro MH',
1226             'MAM - Matamoros MX',
1227             'MAN - Manchester GB',
1228             'MAO - Manaus AM BR',
1229             'MAR - Maracaibo VE',
1230             'MAS - Manus Is. PG',
1231             'MAV - Maloelap Is. MH',
1232             'MAY - Mangrove Cay BS',
1233             'MAZ - Mayaguez PR',
1234             'MBA - Mombasa KE',
1235             'MBD - Mmabatho ZA',
1236             'MBE - Monbetsu JP',
1237             'MBH - Maryborough QL AU',
1238             'MBJ - Montego Bay JM',
1239             'MBL - Manistee MI US',
1240             'MBS - Bay City MI US',
1241             'MBX - Maribor SI',
1242             'MCG - Mcgrath AK US',
1243             'MCI - Kansas City MO US',
1244             'MCK - Mccook NE US',
1245             'MCN - Macon GA US',
1246             'MCO - Orlando FL US',
1247             'MCP - Macapa AP BR',
1248             'MCT - Muscat OM',
1249             'MCV - Mcarthur Rvr NT AU',
1250             'MCW - Mason City IA US',
1251             'MCX - Makhachkala RU',
1252             'MCY - Sunshine Coast QL AU',
1253             'MCZ - Maceio AL BR',
1254             'MDC - Manado ID',
1255             'MDE - Medellin CO',
1256             'MDG - Mudanjiang CN',
1257             'MDK - Mbandaka CD',
1258             'MDQ - Mar Del Plata BA AR',
1259             'MDT - Harrisburg PA US',
1260             'MDU - Mendi PG',
1261             'MDW - Chicago-Midway IL US',
1262             'MDZ - Mendoza MD AR',
1263             'MED - Madinah SA',
1264             'MEH - Mehamn NO',
1265             'MEI - Meridian Key MS US',
1266             'MEL - Melbourne AU',
1267             'MEM - Memphis TN US',
1268             'MES - Medan ID',
1269             'MEX - Mexico City MX',
1270             'MFE - Mcallen TX US',
1271             'MFJ - Moala FJ',
1272             'MFM - Macau MO',
1273             'MFR - Medford OR US',
1274             'MGA - Managua NI',
1275             'MGB - Mount Gambier SA AU',
1276             'MGF - Maringa PR BR',
1277             'MGH - Margate ZA',
1278             'MGM - Montgomery AL US',
1279             'MGW - Morgantown WV US',
1280             'MHD - Mashad IR',
1281             'MHG - Mannheim DE',
1282             'MHH - Marsh Harbour BS',
1283             'MHK - Manhattan KS US',
1284             'MHP - Minsk 1 BY',
1285             'MHQ - Mariehamn FI',
1286             'MHT - Manchester NH US',
1287             'MHU - Mount Hotham VI AU',
1288             'MIA - Miami FL US',
1289             'MID - Merida MX',
1290             'MIG - Mian Yang CN',
1291             'MIJ - Mili Is. MH',
1292             'MIK - Mikkeli FI',
1293             'MIR - Monastir TN',
1294             'MJB - Mejit Is. MH',
1295             'MJE - Majkin MH',
1296             'MJF - Mosjoen NO',
1297             'MJM - Mbuji Mayi CD',
1298             'MJN - Majunga MG',
1299             'MJT - Mytilene GR',
1300             'MJV - Murcia ES',
1301             'MKE - Milwaukee WI US',
1302             'MKG - Muskegon MI US',
1303             'MKK - Hoolehua HI US',
1304             'MKL - Jackson TN US',
1305             'MKY - Mackay QL AU',
1306             'MLA - Malta MT',
1307             'MLB - Melbourne FL US',
1308             'MLE - Male MV',
1309             'MLH - Basel/Mulhouse FR CH',
1310             'MLI - Moline IL US',
1311             'MLM - Morelia MX',
1312             'MLN - Melilla ES',
1313             'MLO - Milos GR',
1314             'MLS - Miles City MT US',
1315             'MLU - Monroe LA US',
1316             'MLX - Malatya TR',
1317             'MMB - Memanbetsu JP',
1318             'MME - Durham/Tees Valley GB',
1319             'MMJ - Matsumoto JP',
1320             'MMK - Murmansk RU',
1321             'MMX - Malmo Sturup SE',
1322             'MMY - Miyako Jima JP',
1323             'MNG - Maningrida NT AU',
1324             'MNI - Montserrat Bramble MS',
1325             'MNL - Manila PH',
1326             'MNY - Mono SB',
1327             'MOB - Mobile AL US',
1328             'MOD - Modesto CA US',
1329             'MOL - Molde Aro NO',
1330             'MOT - Minot ND US',
1331             'MOV - Moranbah QL AU',
1332             'MPK - Mokpo KR',
1333             'MPL - Montpellier FR',
1334             'MPM - Maputo MZ',
1335             'MPN - Mount Pleasant FK',
1336             'MPW - Mariupol UA',
1337             'MQF - Magnitogorsk RU',
1338             'MQL - Mildura VI AU',
1339             'MQM - Mardin TR',
1340             'MQN - Mo I Rana NO',
1341             'MQP - Nelspruit ZA',
1342             'MQT - Marquette MI US',
1343             'MRS - Marseille FR',
1344             'MRU - Mauritius MU',
1345             'MRV - Mineralnye RU',
1346             'MRY - Carmel CA US',
1347             'MRZ - Moree NS AU',
1348             'MSJ - Misawa JP',
1349             'MSL - Florence AL US',
1350             'MSN - Madison Dane WI US',
1351             'MSO - Missoula MT US',
1352             'MSP - Minneapolis/St Paul MN US',
1353             'MSQ - Minsk 2 BY',
1354             'MSR - Mus TR',
1355             'MSS - Massena NY US',
1356             'MST - Maastricht/Aachen NL',
1357             'MSU - Maseru Moshoeshoe LS',
1358             'MSY - New Orleans LA US',
1359             'MTJ - Montrose CO US',
1360             'MTR - Monteria CO',
1361             'MTS - Manzini SZ',
1362             'MTT - Minatitlan MX',
1363             'MTY - Monterrey MX',
1364             'MUA - Munda SB',
1365             'MUC - Munich DE',
1366             'MVD - Montevideo UY',
1367             'MVY - Martha\'s Vineyard MA US',
1368             'MWA - Marion IL US',
1369             'MWH - Moses Lake WA US',
1370             'MXH - Moro PG',
1371             'MXL - Mexicali MX',
1372             'MXP - Milan-Malpensa IT',
1373             'MXS - Maota WS',
1374             'MXX - Mora SE',
1375             'MYD - Malindi KE',
1376             'MYE - Miyake Jima JP',
1377             'MYG - Mayaguana BS',
1378             'MYJ - Matsuyama JP',
1379             'MYR - Myrtle Beach SC US',
1380             'MYY - Miri MY',
1381             'MZL - Manizales CO',
1382             'MZT - Mazatlan MX',
1383             'MZV - Mulu MY',
1384             'NAA - Narrabri NS AU',
1385             'NAJ - Nakhichevan AZ',
1386             'NAN - Nadi FJ',
1387             'NAP - Naples IT',
1388             'NAQ - Qaanaaq GL',
1389             'NAS - Nassau BS',
1390             'NAT - Natal RN BR',
1391             'NBO - Nairobi-Jomo Kenyatta KE',
1392             'NCE - Nice FR',
1393             'NCL - Newcastle GB',
1394             'NCY - Annecy Meythe FR',
1395             'NDJ - Ndjamena TD',
1396             'NDK - Namdrik Is. MH',
1397             'NER - Neryungri RU',
1398             'NEV - Nevis KN',
1399             'NGB - Ningbo CN',
1400             'NGI - Ngau Is. FJ',
1401             'NGO - Nagoya JP',
1402             'NGS - Nagasaki JP',
1403             'NIM - Niamey NE',
1404             'NJC - Nizhnevartovsk RU',
1405             'NKC - Nouakchott MR',
1406             'NKG - Nanking CN',
1407             'NKM - Nagoya Komaki AFB JP',
1408             'NLA - Ndola ZM',
1409             'NLD - Nuevo Laredo MX',
1410             'NLK - Norfolk Is. NF',
1411             'NMA - Namangan UZ',
1412             'NNB - Santa Ana SB',
1413             'NNG - Nanning CN',
1414             'NNM - Naryan Mar RU',
1415             'NOB - Nosara Beach CR',
1416             'NOC - Knock IE',
1417             'NOJ - Nojabrxsk RU',
1418             'NOS - Nossi be Fascene MG',
1419             'NOU - Noumea NC',
1420             'NOZ - Novokuznetsk RU',
1421             'NPE - Napier Hastings NZ',
1422             'NPL - New Plymouth NZ',
1423             'NQN - Neuquen NE AR',
1424             'NQY - Newquay GB',
1425             'NRK - Norrkoping SE',
1426             'NRN - Dusseldorf Niederrhein DE',
1427             'NRT - Tokyo-Narita JP',
1428             'NSI - Yaounde-Nsimalen CM',
1429             'NSK - Noril\'sk RU',
1430             'NSN - Nelson NZ',
1431             'NST - Nakhon Si Thammarat TH',
1432             'NTE - Nantes FR',
1433             'NTG - Nantong CN',
1434             'NTL - Newcastle-Williamtown NS AU',
1435             'NTN - Normanton QL AU',
1436             'NTQ - Wajima JP',
1437             'NTY - Sun City ZA',
1438             'NUE - Nuremberg, DE',
1439             'NUX - Novy Urengoy RU',
1440             'NVK - Narvik NO',
1441             'NVT - Navegantes SC BR',
1442             'NWI - Norwich GB',
1443             'NYM - Nadym RU',
1444             'NYO - Stockholm-Skavsta SE',
1445             'OAJ - Jacksonville NC US',
1446             'OAK - Oakland CA US',
1447             'OAX - Oaxaca MX',
1448             'OBO - Obihiro JP',
1449             'OCJ - Ocho Rios JM',
1450             'ODS - Odessa UA',
1451             'OER - Ornskoldsvik SE',
1452             'OGG - Kahului HI US',
1453             'OGS - Ogdensburg NY US',
1454             'OGZ - Vladikavkaz RU',
1455             'OHD - Ohrid MK',
1456             'OIM - Oshima JP',
1457             'OIT - Oita JP',
1458             'OKA - Okinawa-Naha JP',
1459             'OKC - Oklahoma City OK US',
1460             'OKD - Sapporo-Okadama JP',
1461             'OKJ - Okayama JP',
1462             'OKO - Tokyo Yokota AFB JP',
1463             'OKY - Oakey QL AU',
1464             'OLB - Olbia IT',
1465             'OLF - Wolf Pt MT US',
1466             'OMA - Omaha NE US',
1467             'OME - Nome AK US',
1468             'OMR - Oradea RO',
1469             'OMS - Omsk RU',
1470             'ONG - Mornington QL AU',
1471             'ONJ - Odate JP',
1472             'ONT - Ontario CA US',
1473             'OOL - Gold Coast QL AU',
1474             'OPO - Porto PT',
1475             'ORB - Orebro SE',
1476             'ORD - Chicago-O\'Hare IL US',
1477             'ORF - Norfolk VA US',
1478             'ORK - Cork IE',
1479             'ORY - Paris-Orly FR',
1480             'OSD - Ostersund SE',
1481             'OSI - Osijek HR',
1482             'OSK - Oskarshamn SE',
1483             'OSL - Oslo NO',
1484             'OSR - Ostrava CZ',
1485             'OSY - Namsos NO',
1486             'OSZ - Koszalin PL',
1487             'OTH - N Bend OR US',
1488             'OTP - Bucharest-Otopeni RO',
1489             'OTR - Coto CR',
1490             'OTZ - Kotzebue AK US',
1491             'OUA - Ouagadougou BF',
1492             'OUD - Oujda MA',
1493             'OUL - Oulu FI',
1494             'OVB - Novosibirsk RU',
1495             'OVD - Asturias ES',
1496             'OWB - Owensboro KY US',
1497             'OXB - Bissau GW',
1498             'OXR - Oxnard CA US',
1499             'OZZ - Ouarzazate MA',
1500             'PAD - Paderborn DE',
1501             'PAH - Paducah KY US',
1502             'PAP - Port Au Prince HT',
1503             'PAS - Paros GR',
1504             'PAZ - Poza Rica MX',
1505             'PBC - Puebla Huejotsingo MX',
1506             'PBI - W Palm Beach FL US',
1507             'PBM - Paramaribo SR',
1508             'PBO - Paraburdoo WA AU',
1509             'PBP - Punta Islita CR',
1510             'PDG - Padang Tabing ID',
1511             'PDL - Ponta Delgada Nordela PT',
1512             'PDP - Punta Del Este UY',
1513             'PDS - Piedras Negras MX',
1514             'PDT - Pendleton OR US',
1515             'PDX - Portland OR US',
1516             'PEE - Perm RU',
1517             'PEG - Perugia IT',
1518             'PEI - Pereira CO',
1519             'PEK - Beijing CN',
1520             'PEM - Puerto Maldonado PE',
1521             'PEN - Penang MY',
1522             'PER - Perth WA AU',
1523             'PEW - Peshawar PK',
1524             'PEZ - Penza RU',
1525             'PFB - Passo Fundo RS BR',
1526             'PFN - Panama City FL US',
1527             'PFO - Paphos CY',
1528             'PGA - Page AZ US',
1529             'PGF - Perpignan FR',
1530             'PGV - Greenville NC US',
1531             'PHC - Port Harcourt NG',
1532             'PHE - Port Hedland WA AU',
1533             'PHF - Newport News VA US',
1534             'PHL - Philadelphia PA US',
1535             'PHS - Phitsanulok TH',
1536             'PHW - Phalaborwa ZA',
1537             'PHX - Phoenix AZ US',
1538             'PIA - Peoria IL US',
1539             'PIB - Laurel MS US',
1540             'PIH - Pocatello ID US',
1541             'PIK - Glasgow-Prestwick GB',
1542             'PIR - Pierre SD US',
1543             'PIS - Poitiers FR',
1544             'PIT - Pittsburgh PA US',
1545             'PIU - Piura PE',
1546             'PIX - Pico Is. PT',
1547             'PJM - Puerto Jimenez CR',
1548             'PKB - Marietta OH US',
1549             'PKC - Petropavlovsk Kamchats RU',
1550             'PLB - Plattsburgh NY US',
1551             'PLD - Playa Samara CR',
1552             'PLN - Pellston MI US',
1553             'PLO - Port Lincoln SA AU',
1554             'PLQ - Palanga LT',
1555             'PLS - Providenciales TC',
1556             'PLU - Belo Horizonte-Pampulha MG BR',
1557             'PLZ - Port Elizabeth ZA',
1558             'PMC - Puerto Montt CL',
1559             'PMF - Milan Parma IT',
1560             'PMI - Palma Mallorca ES',
1561             'PMO - Palermo IT',
1562             'PMR - Palmerston NZ',
1563             'PMV - Porlamar VE',
1564             'PMZ - Palmar Sur CR',
1565             'PNA - Pamplona ES',
1566             'PNC - Ponca City OK US',
1567             'PNH - Phnom Penh KH',
1568             'PNI - Pohnpei FM',
1569             'PNK - Pontianak ID',
1570             'PNL - Pantelleria IT',
1571             'PNP - Popondetta PG',
1572             'PNR - Pointe Noire CG',
1573             'PNS - Pensacola FL US',
1574             'PNZ - Petrolina PE BR',
1575             'POA - Porto Alegre RS BR',
1576             'POM - Port Moresby PG',
1577             'POP - Puerto Plata DO',
1578             'POR - Pori FI',
1579             'POS - Port Of Spain TT',
1580             'POZ - Poznan PL',
1581             'PPG - Pago Pago AS',
1582             'PPP - Proserpine QL AU',
1583             'PPT - Papeete PF',
1584             'PQI - Presque Isle ME US',
1585             'PQQ - Port Macquarie NS AU',
1586             'PRC - Prescott AZ US',
1587             'PRG - Prague CZ',
1588             'PRI - Praslin Is. SC',
1589             'PRN - Pristina CS',
1590             'PSA - Florence-Gal Galilei IT',
1591             'PSC - Pasco WA US',
1592             'PSE - Ponce PR',
1593             'PSG - Petersburg AK US',
1594             'PSO - Pasto CO',
1595             'PSP - Palm Springs CA US',
1596             'PSR - Pescara IT',
1597             'PSS - Posadas MI AR',
1598             'PTG - Pietersburg ZA',
1599             'PTP - Pointe a Pitre GP',
1600             'PTY - Panama City PA',
1601             'PUF - Pau FR',
1602             'PUG - Port Augusta SA AU',
1603             'PUJ - Punta Cana DO',
1604             'PUQ - Punta Arenas CL',
1605             'PUS - Busan KR',
1606             'PUW - Pullman WA US',
1607             'PUY - Pula HR',
1608             'PVD - Providence RI US',
1609             'PVG - Shanghai-Pu Dong CN',
1610             'PVH - Porto Velho RO BR',
1611             'PVK - Preveza GR',
1612             'PVR - Puerto Vallarta MX',
1613             'PWM - Portland ME US',
1614             'PWQ - Pavlodar KZ',
1615             'PXM - Puerto Escondido MX',
1616             'PXO - Porto Santo PT',
1617             'PZB - Pietermaritzburg ZA',
1618             'PZI - Pan Zhi Hua CN',
1619             'QDU - Dusseldorf Stn DE',
1620             'QEF - Egelsbach Stn. DE',
1621             'QFB - Freiburg Stn. DE',
1622             'QFZ - Saarbruecken Rail DE',
1623             'QJY - Kolobrzeg Bus PL',
1624             'QJZ - Nantes Rail FR',
1625             'QKL - Cologne Stn. DE',
1626             'QLJ - Lucerne Stn. CH',
1627             'QLS - Lausanne Stn. CH',
1628             'QRO - Queretaro MX',
1629             'QWU - Wuerzburg Stn. DE',
1630             'QXB - Aix en Provence Stn. FR',
1631             'QXG - Angers Rail FR',
1632             'QZX - Fictitious Pt Gmt ZZ',
1633             'RAB - Rabaul PG',
1634             'RAE - Arar SA',
1635             'RAH - Rafha SA',
1636             'RAK - Marrakech MA',
1637             'RAP - Rapid City SD US',
1638             'RAR - Rarotonga CK',
1639             'RBA - Rabat MA',
1640             'RBR - Rio Branco AC BR',
1641             'RBV - Ramata SB',
1642             'RCB - Richards Bay ZA',
1643             'RCH - Riohacha CO',
1644             'RCM - Richmond QL AU',
1645             'RDD - Redding CA US',
1646             'RDM - Bend OR US',
1647             'RDU - Durham NC US',
1648             'RDZ - Rodez FR',
1649             'REC - Recife PE BR',
1650             'REG - Reggio Calabria IT',
1651             'REL - Trelew CB AR',
1652             'REN - Orenburg RU',
1653             'REP - Siem Reap KH',
1654             'RES - Resistencia CH AR',
1655             'RET - Rost Stolport NO',
1656             'REU - Reus ES',
1657             'REX - Reynosa MX',
1658             'RFD - Rockford Gtr Rockford IL US',
1659             'RGA - Rio Grande TF AR',
1660             'RGL - Rio Gallegos SC AR',
1661             'RGN - Yangon MM',
1662             'RHI - Rhinelander WI US',
1663             'RHO - Rhodes GR',
1664             'RIC - Richmond VA US',
1665             'RIS - Rishiri JP',
1666             'RIW - Riverton WY US',
1667             'RIX - Riga LV',
1668             'RJK - Rijeka HR',
1669             'RJL - Logrono ES',
1670             'RKD - Rockland ME US',
1671             'RKS - Rock Springs WY US',
1672             'RKT - Ras Al Khaimah AE',
1673             'RKV - Reykjavik-Domestic IS',
1674             'RLG - Rostock DE',
1675             'RMA - Roma QL AU',
1676             'RMF - Marsa EG',
1677             'RMI - Rimini IT',
1678             'RNA - Arona SB',
1679             'RNB - Ronneby SE',
1680             'RNL - Rennell SB',
1681             'RNN - Bornholm DK',
1682             'RNO - Reno/Tahoe NV US',
1683             'RNP - Rongelap Is. MH',
1684             'RNS - Rennes FR',
1685             'ROA - Roanoke VA US',
1686             'ROB - Monrovia LR',
1687             'ROC - Rochester NY US',
1688             'ROK - Rockhampton QL AU',
1689             'ROP - Rota MP',
1690             'ROR - Koror PW',
1691             'ROS - Rosario SF AR',
1692             'ROT - Rotorua NZ',
1693             'ROV - Rostov RU',
1694             'RRS - Roros NO',
1695             'RSA - Santa Rosa LP AR',
1696             'RSD - Rock Sound S Eleuthera BS',
1697             'RST - Rochester MN US',
1698             'RSU - Yeosu KR',
1699             'RSW - Ft Myers FL US',
1700             'RTA - Rotuma Is. FJ',
1701             'RTB - Roatan HN',
1702             'RTM - Rotterdam NL',
1703             'RTW - Saratov RU',
1704             'RUH - Riyadh SA',
1705             'RUN - St Denis de la Reunion RE',
1706             'RUT - Rutland VT US',
1707             'RVK - Roervik NO',
1708             'RVN - Rovaniemi FI',
1709             'RVT - Ravensthorpe WA AU',
1710             'RZE - Rzeszow PL',
1711             'SAB - Saba Is. AN',
1712             'SAF - Santa Fe NM US',
1713             'SAH - Sana\'a YE',
1714             'SAL - San Salvador SV',
1715             'SAN - San Diego-Lindberg CA US',
1716             'SAP - San Pedro Sula HN',
1717             'SAQ - San Andros BS',
1718             'SAT - San Antonio TX US',
1719             'SAV - Savannah GA US',
1720             'SAW - Sabiha Gokcen/Istanbul TR',
1721             'SBA - Santa Barbara CA US',
1722             'SBH - St Barthelemy GP',
1723             'SBN - South Bend IN US',
1724             'SBP - San Luis Obispo CA US',
1725             'SBW - Sibu MY',
1726             'SBY - Salisbury/Ocean City MD US',
1727             'SBZ - Sibiu RO',
1728             'SCC - Prudhoe Bay/Deadhorse AK US',
1729             'SCE - State College PA US',
1730             'SCL - Santiago CL',
1731             'SCN - Saarbruecken DE',
1732             'SCQ - Santiago De Compostela ES',
1733             'SCV - Suceava RO',
1734             'SCW - Syktyvkar RU',
1735             'SCX - Salina Cruz MX',
1736             'SCZ - Santa Cruz Is SB',
1737             'SDE - Santiago Del Estero SE AR',
1738             'SDF - Louisville KY US',
1739             'SDJ - Sendai JP',
1740             'SDK - Sandakan MY',
1741             'SDL - Sundsvall SE',
1742             'SDN - Sandane NO',
1743             'SDP - Sand Pt AK US',
1744             'SDQ - Santo Domingo DO',
1745             'SDR - Santander ES',
1746             'SDU - Rio De Janeiro-Santos Dumont RJ BR',
1747             'SDV - Tel Aviv Yafo-Sde Dov IL',
1748             'SDY - Sidney MT US',
1749             'SEA - Seattle/Tacoma WA US',
1750             'SEN - Southend Muni GB',
1751             'SEZ - Mahe Is. Seychelles SC',
1752             'SFJ - Kangerlussuaq GL',
1753             'SFN - Santa Fe SF AR',
1754             'SFO - San Francisco CA US',
1755             'SFQ - Sanliurfa TR',
1756             'SFT - Skelleftea SE',
1757             'SGC - Surgut RU',
1758             'SGD - Sonderborg DK',
1759             'SGE - Siegen Siegerland DE',
1760             'SGF - Springfield MO US',
1761             'SGN - Ho Chi Minh City VN',
1762             'SGO - St George QL AU',
1763             'SGU - St George UT US',
1764             'SHA - Shanghai-Hongqiao CN',
1765             'SHB - Nakashibetsu JP',
1766             'SHD - Staunton VA US',
1767             'SHE - Shenyang CN',
1768             'SHJ - Sharjah AE',
1769             'SHM - Shirahama JP',
1770             'SHR - Sheridan WY US',
1771             'SHV - Shreveport LA US',
1772             'SHW - Sharurah SA',
1773             'SID - Sal CV',
1774             'SIN - Singapore SG',
1775             'SIP - Simferopol UA',
1776             'SIR - Sion CH',
1777             'SIT - Sitka AK US',
1778             'SJC - San Jose CA US',
1779             'SJD - Los Cabos MX',
1780             'SJJ - Sarajevo BA',
1781             'SJO - San Jose CR',
1782             'SJT - San Angelo TX US',
1783             'SJU - San Juan PR',
1784             'SJY - Seinajoki FI',
1785             'SKB - St Kitts KN',
1786             'SKD - Samarkand UZ',
1787             'SKE - Skien NO',
1788             'SKG - Thessaloniki GR',
1789             'SKN - Stokmarknes NO',
1790             'SKP - Skopje MK',
1791             'SKU - Skiros GR',
1792             'SKX - Saransk RU',
1793             'SLA - Salta SA AR',
1794             'SLC - Salt Lake City UT US',
1795             'SLD - Sliac SK',
1796             'SLK - Saranac NY US',
1797             'SLL - Salalah OM',
1798             'SLN - Salina KS US',
1799             'SLP - San Luis Potosi MX',
1800             'SLU - St Lucia-Vigie LC',
1801             'SLW - Saltillo MX',
1802             'SLY - Salehard RU',
1803             'SLZ - Sao Luiz MA BR',
1804             'SMA - Santa Maria Vila Do Porto PT',
1805             'SMF - Sacramento CA US',
1806             'SMI - Samos GR',
1807             'SML - Stella Maris Estate BS',
1808             'SMR - Santa Marta CO',
1809             'SMX - Santa Maria CA US',
1810             'SNA - Orange County CA US',
1811             'SNN - Shannon IE',
1812             'SNP - St Paul Is. AK US',
1813             'SOB - Saarmelleek/Balaton HU',
1814             'SOF - Sofia BG',
1815             'SOG - Sogndal NO',
1816             'SOJ - Sorkjosen NO',
1817             'SOU - Southampton GB',
1818             'SOW - Show Low AZ US',
1819             'SPC - Santa Cruz De La Palma ES',
1820             'SPI - Springfield IL US',
1821             'SPN - Saipan MP',
1822             'SPS - Wichita Falls TX US',
1823             'SPU - Split HR',
1824             'SQO - Storuman SE',
1825             'SRP - Stord NO',
1826             'SRQ - Bradenton FL US',
1827             'SSA - Salvador BA BR',
1828             'SSG - Malabo GQ',
1829             'SSH - Sharm El Sheikh EG',
1830             'SSJ - Sandnessjoen NO',
1831             'STC - St Cloud MN US',
1832             'STG - St George Is. AK US',
1833             'STI - Santiago DO',
1834             'STL - St Louis MO US',
1835             'STN - London-Stansted GB',
1836             'STR - Stuttgart DE',
1837             'STT - St Thomas Is. VI',
1838             'STX - St Croix Is. VI',
1839             'SUB - Surabaya ID',
1840             'SUF - Lamezia Terme IT',
1841             'SUJ - Satu Mare RO',
1842             'SUN - Sun Valley ID US',
1843             'SUV - Suva FJ',
1844             'SUX - Sioux City IA US',
1845             'SVC - Silver City Grant Cty NM US',
1846             'SVD - St Vincent VC',
1847             'SVG - Stavanger NO',
1848             'SVJ - Svolvaer NO',
1849             'SVL - Savonlinna FI',
1850             'SVO - Moscow-Sheremetyevo RU',
1851             'SVQ - Sevilla ES',
1852             'SVU - Savusavu FJ',
1853             'SVX - Ekaterinburg RU',
1854             'SWA - Shantou CN',
1855             'SWF - Newburgh NY US',
1856             'SXB - Strasbourg FR',
1857             'SXF - Berlin-Schoenefeld DE',
1858             'SXM - St Maarten AN',
1859             'SYD - Sydney NS AU',
1860             'SYM - Simao CN',
1861             'SYO - Shonai JP',
1862             'SYR - Syracuse NY US',
1863             'SYX - Sanya CN',
1864             'SYY - Stornoway GB',
1865             'SYZ - Shiraz IR',
1866             'SZF - Samsun TR',
1867             'SZG - Salzburg AT',
1868             'SZX - Shenzhen CN',
1869             'SZZ - Szczecin PL',
1870             'TAB - Tobago TT',
1871             'TAE - Daegu KR',
1872             'TAK - Takamatsu JP',
1873             'TAM - Tampico MX',
1874             'TAO - Qingdao CN',
1875             'TAP - Tapachula MX',
1876             'TAS - Tashkent UZ',
1877             'TAT - Poprad SK',
1878             'TBI - The Bight BS',
1879             'TBN - Ft. Leonard Wood MO US',
1880             'TBS - Tbilisi GE',
1881             'TBU - Nuku\'Alofa TO',
1882             'TCB - Treasure Cay BS',
1883             'TCO - Tumaco CO',
1884             'TCP - Taba Int\'l EG',
1885             'TCQ - Tacna PE',
1886             'TER - Terceira Is. PT',
1887             'TEX - Telluride CO US',
1888             'TFN - Tenerife Norte ES',
1889             'TFS - Tenerife Sur ES',
1890             'TGD - Podgorica CS',
1891             'TGG - Kuala Terengganu MY',
1892             'TGM - Tirgu Mures RO',
1893             'TGU - Tegucigalpa HN',
1894             'TGZ - Tuxtla Gutierrez MX',
1895             'THE - Teresina PI BR',
1896             'THF - Berlin-Tempelhof DE',
1897             'THN - Trollhattan SE',
1898             'THO - Thorshofn IS',
1899             'THR - Tehran IR',
1900             'THU - Pituffik GL',
1901             'TIA - Tirana Rinas AL',
1902             'TIC - Tinak Is. MH',
1903             'TIF - Taif SA',
1904             'TIJ - Tijuana MX',
1905             'TIP - Tripoli LY',
1906             'TIU - Timaru NZ',
1907             'TIV - Tivat CS',
1908             'TIZ - Tari PG',
1909             'TJM - Tyumen RU',
1910             'TKK - Truk FM',
1911             'TKN - Tokunoshima JP',
1912             'TKS - Tokushima JP',
1913             'TKU - Turku FI',
1914             'TLC - Toluca MX',
1915             'TLH - Tallahassee FL US',
1916             'TLL - Tallinn EE',
1917             'TLN - Toulon FR',
1918             'TLS - Toulouse FR',
1919             'TLV - Tel Aviv Yafo-Ben Gurion IL',
1920             'TMM - Tamatave MG',
1921             'TMP - Tampere FI',
1922             'TMS - Sao Tome ST',
1923             'TMU - Tambor CR',
1924             'TMW - Tamworth NS AU',
1925             'TNA - Jinan CN',
1926             'TNG - Tangier MA',
1927             'TNO - Tamarindo CR',
1928             'TNR - Antananarivo MG',
1929             'TOF - Tomsk RU',
1930             'TOL - Toledo OH US',
1931             'TOS - Tromso NO',
1932             'TOY - Toyama JP',
1933             'TPA - Tampa FL US',
1934             'TPE - Taipei TW',
1935             'TPP - Tarapoto PE',
1936             'TPQ - Tepic MX',
1937             'TPR - Tom Price WA AU',
1938             'TRC - Torreon MX',
1939             'TRD - Trondheim NO',
1940             'TRE - Tiree GB',
1941             'TRF - Oslo-Sandefjord NO',
1942             'TRG - Tauranga NZ',
1943             'TRI - Tri-Cities VA US',
1944             'TRN - Turin IT',
1945             'TRS - Trieste IT',
1946             'TRU - Trujillo PE',
1947             'TRV - Thiruvananthapuram IN',
1948             'TRW - Tarawa KI',
1949             'TRZ - Tiruchirapally IN',
1950             'TSE - Astana KZ',
1951             'TSF - Venice-Treviso IT',
1952             'TSJ - Tsushima JP',
1953             'TSN - Tianjin CN',
1954             'TSR - Timisoara RO',
1955             'TST - Trang TH',
1956             'TSV - Townsville QL AU',
1957             'TTB - Tortoli Arbatax IT',
1958             'TTJ - Tottori JP',
1959             'TTQ - Tortuquero CR',
1960             'TUC - Tucuman TU AR',
1961             'TUF - Tours FR',
1962             'TUI - Turaif SA',
1963             'TUL - Tulsa OK US',
1964             'TUN - Tunis TN',
1965             'TUO - Taupo NZ',
1966             'TUP - Tupelo MS US',
1967             'TUS - Tucson AZ US',
1968             'TUU - Tabuk SA',
1969             'TVC - Traverse City MI US',
1970             'TVF - Thief River Falls MN US',
1971             'TVU - Taveuni FJ',
1972             'TWB - Toowoomba QL AU',
1973             'TWF - Twin Falls ID US',
1974             'TWU - Tawau MY',
1975             'TXK - Texarkana AR US',
1976             'TXL - Berlin-Tegel DE',
1977             'TXN - Tunxi CN',
1978             'TYN - Taiyuan CN',
1979             'TYR - Tyler Pounds TX US',
1980             'TYS - Knoxville TN US',
1981             'TZN - S Andros BS',
1982             'TZX - Trabzon TR',
1983             'UAK - Narsarsuaq GL',
1984             'UAQ - San Juan SJ AR',
1985             'UBJ - Ube JP',
1986             'UBP - Ubon Ratchathani TH',
1987             'UCT - Ukhta RU',
1988             'UFA - Ufa RU',
1989             'UIN - Quincy IL US',
1990             'UIO - Quito EC',
1991             'UIP - Quimper FR',
1992             'UIT - Jaluit Is. MH',
1993             'UJE - Ujae Is. MH',
1994             'UKK - Ust Kamenogorsk KZ',
1995             'ULN - Ulaanbaatar MN',
1996             'ULP - Quilpie QL AU',
1997             'ULY - Ulyanovsk RU',
1998             'UMD - Uummannaq GL',
1999             'UME - Umea SE',
2000             'UNK - Unalakleet AK US',
2001             'UPN - Uruapan MX',
2002             'URC - Urumqi CN',
2003             'URE - Kuressaare EE',
2004             'URJ - Uraj RU',
2005             'URO - Rouen FR',
2006             'URS - Kursk RU',
2007             'URT - Surat Thani TH',
2008             'URY - Gurayat SA',
2009             'USH - Ushuaia TF AR',
2010             'USK - Usinsk RU',
2011             'USN - Ulsan KR',
2012             'UTH - Udon Thani TH',
2013             'UTK - Utirik Is. MH',
2014             'UTN - Upington ZA',
2015             'UTT - Umtata ZA',
2016             'UUA - Bugulma RU',
2017             'UUD - Ulan-Ude RU',
2018             'UUS - Yuzhno RU',
2019             'UVF - St Lucia- Hewanorra LC',
2020             'VAA - Vaasa FI',
2021             'VAI - Vanimo PG',
2022             'VAN - Van TR',
2023             'VAR - Varna BG',
2024             'VAS - Sivas TR',
2025             'VAV - Vava\'u Lupepau\'u TO',
2026             'VAW - Vardoe NO',
2027             'VBS - Verona-Montichiari IT',
2028             'VBV - Vanuabalavu FJ',
2029             'VBY - Visby SE',
2030             'VCE - Venice-Marco Polo IT',
2031             'VCT - Victoria TX US',
2032             'VDA - Ovda IL',
2033             'VDB - Fagernes NO',
2034             'VDM - Viedma RN AR',
2035             'VDS - Vadso NO',
2036             'VDZ - Valdez AK US',
2037             'VER - Veracruz MX',
2038             'VFA - Victoria Falls ZW',
2039             'VGO - Vigo ES',
2040             'VHM - Vilhelmina SE',
2041             'VIE - Vienna AT',
2042             'VIS - Visalia CA US',
2043             'VIT - Vitoria. ES',
2044             'VIX - Vitoria ES BR',
2045             'VKO - Moscow-Vnukovo RU',
2046             'VLC - Valencia ES',
2047             'VLD - Valdosta GA US',
2048             'VLI - Port Vila VU',
2049             'VLL - Valladolid ES',
2050             'VNO - Vilnius LT',
2051             'VOG - Volgograd RU',
2052             'VPN - Vopnafjordur IS',
2053             'VPS - Ft. Walton Beach FL US',
2054             'VQS - Vieques PR',
2055             'VRA - Varadero CU',
2056             'VRK - Varkaus FI',
2057             'VRN - Verona IT',
2058             'VSA - Villahermosa MX',
2059             'VST - Stockholm-Vasteras SE',
2060             'VTE - Vientiane LA',
2061             'VUP - Valledupar CO',
2062             'VVI - Santa Cruz BO',
2063             'VVO - Vladivostok RU',
2064             'VXO - Vaxjo SE',
2065             'WAE - Wadi Ad Dawasir SA',
2066             'WAG - Wanganui NZ',
2067             'WAW - Warsaw PL',
2068             'WBM - Wapenamanda PG',
2069             'WDG - Enid Woodring Mun. OK US',
2070             'WDH - Windhoek NA',
2071             'WEH - Weihai CN',
2072             'WEI - Weipa QL AU',
2073             'WGA - Wagga Wagga NS AU',
2074             'WGE - Walgett NS AU',
2075             'WHK - Whakatane NZ',
2076             'WIC - Wick GB',
2077             'WIN - Winton QL AU',
2078             'WJA - Woja MH',
2079             'WJU - WonJu KR',
2080             'WKA - Wanaka NZ',
2081             'WKJ - Wakkanai JP',
2082             'WLG - Wellington NZ',
2083             'WNR - Windorah QL AU',
2084             'WNZ - Wenzhou CN',
2085             'WOL - Wollongong NS AU',
2086             'WRE - Whangarei NZ',
2087             'WRG - Wrangell SPB AK US',
2088             'WRL - Worland WY US',
2089             'WRO - Wroclaw PL',
2090             'WSZ - Westport NZ',
2091             'WTE - Wotje Is. MH',
2092             'WTO - Wotho Is. MH',
2093             'WUH - Wuhan CN',
2094             'WUS - Wuyishan CN',
2095             'WVB - Walvis Bay NA',
2096             'WWK - Wewak Boram PG',
2097             'WXN - Wanxian CN',
2098             'WYA - Whyalla SA AU',
2099             'WYS - W Yellowstone MT US',
2100             'XAP - Chapeco SC BR',
2101             'XCH - Christmas Is. CX',
2102             'XDB - Lille Rail FR',
2103             'XDS - Ottawa Rail ON CA',
2104             'XER - Strasbourg Bus FR',
2105             'XFN - Xiangfan CN',
2106             'XHG - Ottawa Bus ON CA',
2107             'XHK - Valence Rail FR',
2108             'XIC - Xichang CN',
2109             'XIL - Xilinhot CN',
2110             'XIY - Xi An CN',
2111             'XMN - Xiamen CN',
2112             'XNA - Fayetteville AR US',
2113             'XNN - Xining CN',
2114             'XOP - Poitiers Rail FR',
2115             'XPG - Paris-Gare du Nord Rail FR',
2116             'XPJ - Montpellier Rail FR',
2117             'XQP - Quepos CR',
2118             'XRF - Marseille Rail FR',
2119             'XRY - Jerez De La Frontera ES',
2120             'XSH - Tours Rail FR',
2121             'XTG - Thargomindah QL AU',
2122             'XYA - Yandina SB',
2123             'XYD - Lyon Rail FR',
2124             'XZN - Avignon Rail FR',
2125             'YAI - Chillan CL',
2126             'YAK - Yakutat AK US',
2127             'YAM - Sault Ste Marie ON CA',
2128             'YAO - Yaounde CM',
2129             'YAP - Yap FM',
2130             'YBC - Baie Comeau QC CA',
2131             'YBG - Bagotville QC CA',
2132             'YBL - Campbell River BC CA',
2133             'YBP - Yibin CN',
2134             'YCD - Nanaimo BC CA',
2135             'YCG - Castlegar BC CA',
2136             'YCU - Yun Cheng CN',
2137             'YDF - Deer Lake NF CA',
2138             'YEG - Edmonton AB CA',
2139             'YEI - Bursa Yenisehir TR',
2140             'YFC - Fredericton NB CA',
2141             'YGJ - Yonago JP',
2142             'YGK - Kingston ON CA',
2143             'YGP - Gaspe QC CA',
2144             'YGR - Iles De La Madeleine QC CA',
2145             'YHM - Hamilton ON CA',
2146             'YHZ - Halifax NS CA',
2147             'YKA - Kamloops BC CA',
2148             'YKF - Kitchener ON CA',
2149             'YKM - Yakima WA US',
2150             'YKS - Yakutsk RU',
2151             'YLW - Kelowna BC CA',
2152             'YMM - Ft. Mcmurray AB CA',
2153             'YMT - Chibougamau QC CA',
2154             'YNB - Yanbu SA',
2155             'YNJ - Yanji CN',
2156             'YNT - Yantai CN',
2157             'YNY - Yangyang KR',
2158             'YOW - Ottawa ON CA',
2159             'YPR - Prince Rupert BC CA',
2160             'YQB - Quebec QC CA',
2161             'YQG - Windsor ON CA',
2162             'YQL - Lethbridge AB CA',
2163             'YQM - Moncton NB CA',
2164             'YQQ - Comox BC CA',
2165             'YQR - Regina SK CA',
2166             'YQT - Thunder Bay ON CA',
2167             'YQU - Grande Prairie AB CA',
2168             'YQX - Gander NF CA',
2169             'YQY - Sydney NS CA',
2170             'YQZ - Quesnel BC CA',
2171             'YRJ - Roberval QC CA',
2172             'YSB - Sudbury ON CA',
2173             'YSJ - St John NB CA',
2174             'YTS - Timmins ON CA',
2175             'YTZ - Toronto-Island ON CA',
2176             'YUL - Montreal-Trudeau QC CA',
2177             'YUM - Yuma AZ US',
2178             'YUY - Rouyn QC CA',
2179             'YVO - Val D\'Or QC CA',
2180             'YVR - Vancouver BC CA',
2181             'YWG - Winnipeg MB CA',
2182             'YWK - Wabush NF CA',
2183             'YWL - Williams Lake BC CA',
2184             'YXC - Cranbrook BC CA',
2185             'YXE - Saskatoon SK CA',
2186             'YXH - Medicine Hat AB CA',
2187             'YXJ - Ft. St John BC CA',
2188             'YXS - Prince George BC CA',
2189             'YXT - Terrace BC CA',
2190             'YXU - London City ON, CA',
2191             'YXX - Abbotsford BC CA',
2192             'YXY - Whitehorse YT CA',
2193             'YYB - North Bay ON CA',
2194             'YYC - Calgary AB CA',
2195             'YYD - Smithers BC CA',
2196             'YYF - Penticton BC CA',
2197             'YYG - Charlottetown PE CA',
2198             'YYJ - Victoria BC CA',
2199             'YYR - Goose Bay NF CA',
2200             'YYT - St John\'s NF CA',
2201             'YYY - Mont Joli QC CA',
2202             'YYZ - Toronto-Pearson ON CA',
2203             'YZP - Sandspit BC CA',
2204             'YZR - Sarnia ON CA',
2205             'YZV - Sept Iles QC CA',
2206             'ZAD - Zadar HR',
2207             'ZAG - Zagreb HR',
2208             'ZAL - Valdivia CL',
2209             'ZAQ - Nuremberg Rail DE',
2210             'ZAZ - Zaragoza ES',
2211             'ZBF - Bathurst NB CA',
2212             'ZBL - Biloela QL AU',
2213             'ZCD - Bamberg Off-line Pt DE',
2214             'ZCL - Zacatecas MX',
2215             'ZCO - Temuco CL',
2216             'ZDH - Basel/Mulhouse Rail CH',
2217             'ZDJ - Berne Rail CH',
2218             'ZDN - Brno Bus CZ',
2219             'ZEU - Goettingen Stn DE',
2220             'ZFJ - Rennes Rail FR',
2221             'ZFQ - Bordeaux Rail FR',
2222             'ZFV - Philadelphia Rail PA US',
2223             'ZFX - Szczecin Bus PL',
2224             'ZID - Aarhus Bus DK',
2225             'ZIH - Ixtapa MX',
2226             'ZIL - Horsens Bus Svc DK',
2227             'ZIM - Odense Bus DK',
2228             'ZLN - Le Mans Rail FR',
2229             'ZLO - Manzanillo MX',
2230             'ZMB - Hamburg Rail DE',
2231             'ZMU - Munich HBF Rail DE',
2232             'ZNE - Newman WA AU',
2233             'ZNZ - Zanzibar TZ',
2234             'ZOS - Osorno CL',
2235             'ZQN - Queenstown NZ',
2236             'ZRH - Zurich CH',
2237             'ZSA - San Salvador BS',
2238             'ZSE - St Pierre dela Reunion RE',
2239             'ZTC - Turin Bus IT',
2240             'ZTF - Westchester Rail NY US',
2241             'ZTH - Zakinthos Is GR',
2242             'ZVE - New Haven Rail CT US',
2243             'ZVR - Hanover Rail DE',
2244             'ZWI - Wilmington Rail DE US',
2245             'ZWS - Stuttgart Rail DE',
2246             'ZYL - Sylhet Civil BD',
2247             'ZYN - Nimes Rail FR',
2248             'ZYR - Brussels Midi Rail BE',
2249             'ZYZ - Antwerp Berchem Rail BE',
2250             );
2251 0           return @airports;
2252             }# _getAirports
2253            
2254             1;
2255            
2256             =pod
2257            
2258             =head1 NAME
2259            
2260             Tk::Airports - A widget to select airports
2261            
2262             =for category Tk Widget Classes
2263            
2264             =head1 SYNOPSIS
2265            
2266             use Tk;
2267             use Tk::Airports;
2268            
2269             my $mw = MainWindow->new();
2270             $airport = $mw->Airports(-title => 'AirportsWoldWide');
2271             my @return_values = $airport->Show();
2272             # or as one string
2273             my $return_value = $airport->Show();
2274            
2275             =head1 WIDGET-SPECIFIC OPTIONS
2276            
2277             =over 4
2278            
2279             =item Name: B
2280            
2281             =item Class: B
2282            
2283             =item Switch: B<-selectmode>
2284            
2285             Specifies one of several styles for manipulating the selection.
2286             The value of the option may be arbitrary, but the default bindings
2287             expect it to be either B, B or B;
2288             the default value is B.
2289            
2290             =item Name: B
2291            
2292             =item Class: B
2293            
2294             =item Switch: B<-font>
2295            
2296             Specifies the font for the list of Airports. The default font
2297             is "Courier 8"
2298            
2299             =item Name: B </td> </tr> <tr> <td class="h" > <a name="2300">2300</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2301">2301</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =item Class: B<Title> </td> </tr> <tr> <td class="h" > <a name="2302">2302</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2303">2303</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =item Switch: B<-title> </td> </tr> <tr> <td class="h" > <a name="2304">2304</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2305">2305</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> Specifies the title of the widget. </td> </tr> <tr> <td class="h" > <a name="2306">2306</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2307">2307</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =item Name: B<order> </td> </tr> <tr> <td class="h" > <a name="2308">2308</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2309">2309</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =item Class: B<Order> </td> </tr> <tr> <td class="h" > <a name="2310">2310</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2311">2311</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =item Switch: B<-order> </td> </tr> <tr> <td class="h" > <a name="2312">2312</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2313">2313</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> It is possible to change the order. The list can be ordered by </td> </tr> <tr> <td class="h" > <a name="2314">2314</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> Airport-Code (B<code>) or by City-Name (B<city>). The default </td> </tr> <tr> <td class="h" > <a name="2315">2315</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> value is B<code>. </td> </tr> <tr> <td class="h" > <a name="2316">2316</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2317">2317</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =item Name: B<filename> </td> </tr> <tr> <td class="h" > <a name="2318">2318</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2319">2319</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =item Class: B<Filename> </td> </tr> <tr> <td class="h" > <a name="2320">2320</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2321">2321</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =item Switch: B<-filename> </td> </tr> <tr> <td class="h" > <a name="2322">2322</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2323">2323</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> Specifies a file that contains a user specific set of Airports </td> </tr> <tr> <td class="h" > <a name="2324">2324</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2325">2325</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =back </td> </tr> <tr> <td class="h" > <a name="2326">2326</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2327">2327</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =head1 DESCRIPTION </td> </tr> <tr> <td class="h" > <a name="2328">2328</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2329">2329</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> The B<Airports> method creates a new window and shows a list of nearly </td> </tr> <tr> <td class="h" > <a name="2330">2330</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> all airports. The widget provides several functions: </td> </tr> <tr> <td class="h" > <a name="2331">2331</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2332">2332</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> Search for an airport with the entry at the top of the widget. </td> </tr> <tr> <td class="h" > <a name="2333">2333</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2334">2334</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> The return values are the codes for the airports. In list context a list </td> </tr> <tr> <td class="h" > <a name="2335">2335</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> with one code per element is returned, in scalar context a string is returned </td> </tr> <tr> <td class="h" > <a name="2336">2336</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> with "; " as delimiter. </td> </tr> <tr> <td class="h" > <a name="2337">2337</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2338">2338</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2339">2339</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =head1 WIDGET METHODS </td> </tr> <tr> <td class="h" > <a name="2340">2340</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2341">2341</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> The B<Airports> method creates a widget object. </td> </tr> <tr> <td class="h" > <a name="2342">2342</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> This object supports the B<configure> and B<cget> methods </td> </tr> <tr> <td class="h" > <a name="2343">2343</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> described in L<Tk::options> which can be used to enquire and </td> </tr> <tr> <td class="h" > <a name="2344">2344</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> modify the options described above. </td> </tr> <tr> <td class="h" > <a name="2345">2345</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> The widget also inherits all the methods provided by the generic </td> </tr> <tr> <td class="h" > <a name="2346">2346</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> L<Tk::Widget|Tk::Widget> class. </td> </tr> <tr> <td class="h" > <a name="2347">2347</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2348">2348</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =head1 DEFAULT BINDINGS </td> </tr> <tr> <td class="h" > <a name="2349">2349</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2350">2350</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> The following additional behavior is defined by the default bindings: </td> </tr> <tr> <td class="h" > <a name="2351">2351</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2352">2352</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =over 4 </td> </tr> <tr> <td class="h" > <a name="2353">2353</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2354">2354</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =item [1] </td> </tr> <tr> <td class="h" > <a name="2355">2355</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2356">2356</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> Start the search via E<lt>Return> in the Entry at the top of the </td> </tr> <tr> <td class="h" > <a name="2357">2357</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> widget. </td> </tr> <tr> <td class="h" > <a name="2358">2358</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2359">2359</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =item [2] </td> </tr> <tr> <td class="h" > <a name="2360">2360</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2361">2361</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> Return the selected values via E<lt>Return> in the listbox. </td> </tr> <tr> <td class="h" > <a name="2362">2362</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2363">2363</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =item [3] </td> </tr> <tr> <td class="h" > <a name="2364">2364</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2365">2365</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> Return one selected value via double-clicking the entry in the </td> </tr> <tr> <td class="h" > <a name="2366">2366</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> listbox. </td> </tr> <tr> <td class="h" > <a name="2367">2367</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2368">2368</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =back </td> </tr> <tr> <td class="h" > <a name="2369">2369</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2370">2370</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =head1 BUGS </td> </tr> <tr> <td class="h" > <a name="2371">2371</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2372">2372</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> Please contact me when you have found a bug. </td> </tr> <tr> <td class="h" > <a name="2373">2373</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2374">2374</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =head1 ToDo </td> </tr> <tr> <td class="h" > <a name="2375">2375</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2376">2376</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> *) translation of cities into national names </td> </tr> <tr> <td class="h" > <a name="2377">2377</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> *) allow other fonts </td> </tr> <tr> <td class="h" > <a name="2378">2378</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> *) option for specifying the return values (code,city,all) </td> </tr> <tr> <td class="h" > <a name="2379">2379</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> *) option for specifying the delimiter </td> </tr> <tr> <td class="h" > <a name="2380">2380</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2381">2381</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> document these methods: </td> </tr> <tr> <td class="h" > <a name="2382">2382</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2383">2383</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =over 4 </td> </tr> <tr> <td class="h" > <a name="2384">2384</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2385">2385</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =item Accept </td> </tr> <tr> <td class="h" > <a name="2386">2386</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2387">2387</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =item Cancel </td> </tr> <tr> <td class="h" > <a name="2388">2388</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2389">2389</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =item Populate </td> </tr> <tr> <td class="h" > <a name="2390">2390</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2391">2391</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =item Search </td> </tr> <tr> <td class="h" > <a name="2392">2392</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2393">2393</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =item Show </td> </tr> <tr> <td class="h" > <a name="2394">2394</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2395">2395</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =back </td> </tr> <tr> <td class="h" > <a name="2396">2396</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2397">2397</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =head1 AUTHOR </td> </tr> <tr> <td class="h" > <a name="2398">2398</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2399">2399</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> Renee Baecker, E<lt>module@renee-baecker.deE<gt> </td> </tr> <tr> <td class="h" > <a name="2400">2400</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2401">2401</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =head1 COPYRIGHT AND LICENSE </td> </tr> <tr> <td class="h" > <a name="2402">2402</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2403">2403</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> Copyright (C) 2006 - 2009 by Renee Baecker </td> </tr> <tr> <td class="h" > <a name="2404">2404</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2405">2405</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> This library is free software; you can redistribute it and/or modify </td> </tr> <tr> <td class="h" > <a name="2406">2406</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> it under the terms of Artistic License 2.0 </td> </tr> <tr> <td class="h" > <a name="2407">2407</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> </td> </tr> <tr> <td class="h" > <a name="2408">2408</a> </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td >   </td> <td class="s"> =cut </td> </tr> </table> </body> </html>