diff --git a/aankoppel/aankoppel.pl b/aankoppel/aankoppel.pl new file mode 100755 index 0000000..905d134 --- /dev/null +++ b/aankoppel/aankoppel.pl @@ -0,0 +1,24 @@ +#!/usr/bin/perl -w + +use lib '../../lib'; + +#User management from multigate +use Multigate::Users; +use Multigate::Util; + +## Import available environment variables + +my $address = $ENV{'MULTI_USER'}; # address of invoking user +my $user = $ENV{'MULTI_REALUSER'}; # multigate username of invoking user +my $protocol = $ENV{'MULTI_FROM'}; # protocol this command was invoked from + +$address = stripnick($address); #make sure we do not have irc-channels in database + +Multigate::Users::init_users_module(); + +my $result = set_preferred_protocol( $user, $protocol ); +my $result2 = set_main_address( $user, $protocol, $address ); + +print "Setting followme to ($protocol, $address) for $user.\n"; + +Multigate::Users::cleanup_users_module(); diff --git a/aankoppel/command.cfg b/aankoppel/command.cfg new file mode 100644 index 0000000..b9ff63f --- /dev/null +++ b/aankoppel/command.cfg @@ -0,0 +1 @@ +level = 50 \ No newline at end of file diff --git a/aankoppel/help.txt b/aankoppel/help.txt new file mode 100644 index 0000000..7de33de --- /dev/null +++ b/aankoppel/help.txt @@ -0,0 +1 @@ +aankoppel: sets preferred protocol to from_protocol, and main_address to from-address \ No newline at end of file diff --git a/aex/aex.pl b/aex/aex.pl new file mode 100755 index 0000000..aee159c --- /dev/null +++ b/aex/aex.pl @@ -0,0 +1,106 @@ +#!/usr/bin/perl -w +# Casper Joost Eyckelhof (Titanhead) +# casper@joost.student.utwente.nl + +use LWP::UserAgent; +use HTTP::Cookies; +use strict; + +#### allerlei fijne definities en initialisaties ######## +my $ua = new LWP::UserAgent; +my @agents = ( + "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)", + "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)" +); +my $agent = @agents[ int( rand(@agents) ) ]; +$ua->agent($agent); + +my $baseurl = "http://www.aex.nl/scripts/pop/kb.asp?taal=nl&alf="; +my $commandline = $ARGV[0]; + +$commandline = "aex" unless ( defined $commandline and ( $commandline ne "" ) ); + +sub getFonds { + my $fonds = shift; + $agent = @agents[ int( rand(@agents) ) ]; + $ua->agent($agent); + my $request = new HTTP::Request( 'GET', $baseurl . $fonds ); + my $response = $ua->request($request); + my $html = $response->content; + + my @lines = split /\n/, $html; + my @values = (); + foreach my $line (@lines) { + if ( $line =~ /^(\d+\.\d{2})/ ) { + push @values, $1; + } + } + my ( $current, $hoog, $laag, $open, $vorigslot ) = ( $values[0], $values[3], $values[4], $values[5], $values[6] ); + my %thisfonds = ( + "naam" => $fonds, + "koers" => $current, + "hoog" => $hoog, + "laag" => $laag, + "vorigslot" => $vorigslot, + "open" => $open + ); + return %thisfonds; +} + +sub america { + my $fonds = shift; + + my $url = "http://www.fd.nl/TopMarkets.asp?Context=N%7C0&BgColor=%23E5E4D9"; + + my $request = new HTTP::Request( 'GET', $url ); + my $response = $ua->request($request); + my $html = $response->content; + my @lines = split /\n/, $html; + my %values = (); + foreach my $line (@lines) { + + ## print "--> $line\n"; + ## AEX281,09-2,67% + if ( $line =~ + m|(\w+)(\d+.*?,\d{2})(.*?)\%| + ) + { + my $key = lc($1); + my $val = $2; + my $perc = $3; + $val =~ s/\.//g; + $val =~ s/,/./g; + $values{$key} = $val; + + #print "HIT: $key - $val\n"; + + if ( lc($fonds) eq $key ) { + print "$fonds: $val ($perc%)\n"; + exit 0; + } + + } + } + print "Sorry, $fonds niet gevonden\n"; + exit 0; +} + +if ( ( $commandline =~ /^aex/i ) || ( $commandline =~ /^nasd/i ) || ( $commandline =~ /^dow/i ) ) { + my %values = america($commandline); + if ( defined $values{koers} ) { + print + "$commandline: $values{koers} open=$values{open} hoogste=$values{hoog} laagste=$values{laag} slot vorig=$values{vorigslot} verschil=" + . sprintf( "%.2f", ( $values{koers} - $values{vorigslot} ) ) . "\n"; + } else { + print "Bestaat $commandline wel? Kan het niet vinden.\n"; + } +} else { + my %values = getFonds($commandline); + if ( defined $values{koers} ) { + print + "$commandline: $values{koers} open=$values{open} hoogste=$values{hoog} laagste=$values{laag} slot vorig=$values{vorigslot} verschil=" + . sprintf( "%.2f", ( $values{koers} - $values{vorigslot} ) ) . "\n"; + } else { + print "Bestaat $commandline wel? Kan het even niet vinden.\n"; + } +} diff --git a/aex/aex2.pl b/aex/aex2.pl new file mode 100755 index 0000000..f91b0ed --- /dev/null +++ b/aex/aex2.pl @@ -0,0 +1,106 @@ +#!/usr/bin/perl -w +# Casper Joost Eyckelhof (Titanhead) +# casper@joost.student.utwente.nl + +use LWP::UserAgent; +use HTTP::Cookies; +use strict; + +#### allerlei fijne definities en initialisaties ######## +my $ua = new LWP::UserAgent; +my @agents = ( + "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)", + "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)" +); +my $agent = @agents[ int( rand(@agents) ) ]; +$ua->agent($agent); + +my $baseurl = "http://www.aex.nl/scripts/pop/kb.asp?taal=nl&alf="; +my $commandline = $ARGV[0]; + +$commandline = "aex" unless ( defined $commandline ); + +sub getFonds { + my $fonds = shift; + $agent = @agents[ int( rand(@agents) ) ]; + $ua->agent($agent); + my $request = new HTTP::Request( 'GET', $baseurl . $fonds ); + my $response = $ua->request($request); + my $html = $response->content; + + my @lines = split /\n/, $html; + my @values = (); + foreach my $line (@lines) { + if ( $line =~ /^(\d+\.\d{2})/ ) { + push @values, $1; + } + } + my ( $current, $hoog, $laag, $open, $vorigslot ) = ( $values[0], $values[3], $values[4], $values[5], $values[6] ); + my %thisfonds = ( + "naam" => $fonds, + "koers" => $current, + "hoog" => $hoog, + "laag" => $laag, + "vorigslot" => $vorigslot, + "open" => $open + ); + return %thisfonds; +} + +sub america { + my $fonds = shift; + + my $url = "http://www.fd.nl/TopMarkets.asp?Context=N%7C0&BgColor=%23E5E4D9"; + + my $request = new HTTP::Request( 'GET', $url ); + my $response = $ua->request($request); + my $html = $response->content; + my @lines = split /\n/, $html; + my %values = (); + foreach my $line (@lines) { + + ## print "--> $line\n"; + ## AEX281,09-2,67% + if ( $line =~ + m|(\w+)(\d+.*?,\d{2})(.*?)\%| + ) + { + my $key = lc($1); + my $val = $2; + my $perc = $3; + $val =~ s/\.//g; + $val =~ s/,/./g; + $values{$key} = $val; + + #print "HIT: $key - $val\n"; + + if ( lc($fonds) eq $key ) { + print "$fonds: $val ($perc)\n"; + exit 0; + } + + } + } + print "Sorry, $fonds niet gevonden\n"; + exit 0; +} + +if ( ( $commandline =~ /^aex/i ) || ( $commandline =~ /^nasd/i ) || ( $commandline =~ /^dow/i ) ) { + my %values = america($commandline); + if ( defined $values{koers} ) { + print + "$commandline: $values{koers} open=$values{open} hoogste=$values{hoog} laagste=$values{laag} slot vorig=$values{vorigslot} verschil=" + . sprintf( "%.2f", ( $values{koers} - $values{vorigslot} ) ) . "\n"; + } else { + print "Bestaat $commandline wel? Kan het niet vinden.\n"; + } +} else { + my %values = getFonds($commandline); + if ( defined $values{koers} ) { + print + "$commandline: $values{koers} open=$values{open} hoogste=$values{hoog} laagste=$values{laag} slot vorig=$values{vorigslot} verschil=" + . sprintf( "%.2f", ( $values{koers} - $values{vorigslot} ) ) . "\n"; + } else { + print "Bestaat $commandline wel? Kan het even niet vinden.\n"; + } +} diff --git a/aex/command.cfg b/aex/command.cfg new file mode 100644 index 0000000..cd96d43 --- /dev/null +++ b/aex/command.cfg @@ -0,0 +1,2 @@ +level = 100 +cache = 120 #2 minutes \ No newline at end of file diff --git a/aex/help.txt b/aex/help.txt new file mode 100644 index 0000000..3bb9cc8 --- /dev/null +++ b/aex/help.txt @@ -0,0 +1 @@ +Geeft de huidige AEX koers weer. \ No newline at end of file diff --git a/aex/level b/aex/level new file mode 100644 index 0000000..29d6383 --- /dev/null +++ b/aex/level @@ -0,0 +1 @@ +100 diff --git a/afkoppel/afkoppel.pl b/afkoppel/afkoppel.pl new file mode 100755 index 0000000..1145cca --- /dev/null +++ b/afkoppel/afkoppel.pl @@ -0,0 +1,46 @@ +#!/usr/bin/perl -w +## Import available environment variables + +use File::stat; +my $realuser = $ENV{'MULTI_REALUSER'}; # multigate username of invoking user +my $locked = 0; + +# Loek is raar +# Maar Titan kan ook rare regels in een script plakken! +exit 0 if ( lc($realuser) eq "loek" ); + +my $lockfile = "data/$realuser"; + +#check time-lock on this user +if ( -e $lockfile ) { + my $stat = stat $lockfile or die "Error opening lockcheckfile: $!\n"; + $locked = ( $stat->mtime > time() ); +} + +if ($locked) { + + #do we want to refresh our lock?? + #if so: move this statement after lockfilewriting + exit 0; +} + +#create new lockfile +open CACHE, "> $lockfile" or die "cannot write to file!"; +close CACHE; + +#modify time on lockfile +my $cachetime = time + 300; # 5 minutes into the future +utime $cachetime, $cachetime, $lockfile; + +#the thing this command is about: +if ( int( rand(100) ) < 30 ) { + open( MSG, "< afkoppel.txt" ); + my @opties = ; + close MSG; + + my $antwoord = $opties[ int( rand(@opties) ) ]; + $antwoord =~ s/XX/$realuser/; + print "$antwoord"; +} else { + exit 0; +} diff --git a/afkoppel/afkoppel.txt b/afkoppel/afkoppel.txt new file mode 100644 index 0000000..6b8d440 --- /dev/null +++ b/afkoppel/afkoppel.txt @@ -0,0 +1,45 @@ +Dag XX +Welterusten XX +Doei! +Nou dag hoor XX +Hasta la vista! XX! +Stand clear. Disengaging XX. +Tot zover deze live verbinding met XX. +We'll meet again, XX. +Afkoppel? Afkoppel? Rare XX! +Beaming up XX +Dag XX. +XX: Kom je snel weer terug? +Ciao +A bientot XX. +Auf Wiedersehen. +Selamat jalan. +Adios XX. +Hej då XX. +Tot de volgende keer maar weer. +Zijn we zo saai XX? +Tot frop! +Nu al? +Dat is vroeg, XX. +Slaap lekker XX. +Alweer? +Zeker weer naar de vb, XX? +Afkoppelen is voor watjes! +Wow XX, zonder typo's :) +Truste XX +En morgen gezond weer op. +An !afkoppel a day, keeps the sleep away +Peer weet je te vinden, XX. +Trossen los. +Niet meer gezellig hier? +See you later, Multigator... +Toedeledokie XX! +Dag Sinterklaasje^WXX +I do wish we could chat longer, but I'm having an old friend for dinner. Bye. +So this is what a chatroom looks like. +You say goodbye and I say hello +aangekoppel ingekoppel vasgekoppel losgekoppel afkoppel saamkoppel +We moeten rennen, springen, vliegen, duiken, vallen, opstaan en weer doorgaan... +We kunnen nu niet blijven, we kunnen nu niet langer blijven staan +Afkicken? go Go GOO XX!!! +*Setting a tracking cookie on XX* diff --git a/afkoppel/command.cfg b/afkoppel/command.cfg new file mode 100644 index 0000000..8f74efe --- /dev/null +++ b/afkoppel/command.cfg @@ -0,0 +1,2 @@ +level = 50 +user = 0 diff --git a/afkoppel/data/OH b/afkoppel/data/OH new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/angel_7th b/afkoppel/data/angel_7th new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/ascent b/afkoppel/data/ascent new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/bbart b/afkoppel/data/bbart new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/brie b/afkoppel/data/brie new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/ctlaltdel b/afkoppel/data/ctlaltdel new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/dabutcha b/afkoppel/data/dabutcha new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/diddlien b/afkoppel/data/diddlien new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/eppo b/afkoppel/data/eppo new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/evo b/afkoppel/data/evo new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/foxm b/afkoppel/data/foxm new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/fvdh b/afkoppel/data/fvdh new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/grit b/afkoppel/data/grit new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/gwen b/afkoppel/data/gwen new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/hasting b/afkoppel/data/hasting new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/iq-0 b/afkoppel/data/iq-0 new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/jacques b/afkoppel/data/jacques new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/loek b/afkoppel/data/loek new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/maniosus b/afkoppel/data/maniosus new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/mars b/afkoppel/data/mars new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/mjrider b/afkoppel/data/mjrider new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/mrjb b/afkoppel/data/mrjb new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/npar b/afkoppel/data/npar new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/oxo b/afkoppel/data/oxo new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/oxonium b/afkoppel/data/oxonium new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/pervy b/afkoppel/data/pervy new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/pip b/afkoppel/data/pip new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/poef b/afkoppel/data/poef new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/rien b/afkoppel/data/rien new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/schubi b/afkoppel/data/schubi new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/sim b/afkoppel/data/sim new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/sjois b/afkoppel/data/sjois new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/socrates b/afkoppel/data/socrates new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/speedy b/afkoppel/data/speedy new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/synq b/afkoppel/data/synq new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/titanhead b/afkoppel/data/titanhead new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/tonytee b/afkoppel/data/tonytee new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/tovenaar b/afkoppel/data/tovenaar new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/tsd b/afkoppel/data/tsd new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/wieger b/afkoppel/data/wieger new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/wiggy b/afkoppel/data/wiggy new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/yaxmir b/afkoppel/data/yaxmir new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/data/ylebre b/afkoppel/data/ylebre new file mode 100644 index 0000000..e69de29 diff --git a/afkoppel/help.txt b/afkoppel/help.txt new file mode 100644 index 0000000..11a8d42 --- /dev/null +++ b/afkoppel/help.txt @@ -0,0 +1 @@ +afkoppel geeft aan dat de gebruiker bij zijn terminal weggaat. \ No newline at end of file diff --git a/alex/alex.pl b/alex/alex.pl new file mode 100755 index 0000000..568f66e --- /dev/null +++ b/alex/alex.pl @@ -0,0 +1,2 @@ +#!/usr/bin/perl -w +print "Telefoonnummer Alex Bierservice: 053 - 4338460\n" diff --git a/alex/command.cfg b/alex/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/alex/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/alex/help.txt b/alex/help.txt new file mode 100644 index 0000000..4a8cc6d --- /dev/null +++ b/alex/help.txt @@ -0,0 +1 @@ +Geeft telefoonnummer van Alex Bierservice (053 - 4338460) \ No newline at end of file diff --git a/alex/level b/alex/level new file mode 100644 index 0000000..29d6383 --- /dev/null +++ b/alex/level @@ -0,0 +1 @@ +100 diff --git a/animo/animo.pl b/animo/animo.pl new file mode 100755 index 0000000..fbcf63e --- /dev/null +++ b/animo/animo.pl @@ -0,0 +1,66 @@ +#!/usr/bin/perl -w +use strict; + + +my $smiley = ''; + +my @middle = qw ( o O _ - = * W A ); +my %bouwstenen = ( + '.' => '.', + '_' => '_', + "'" => "'", + "`" => "'", + ':' => ':', + '-' => '-', + '=' => '=', + '+' => '+', + '~' => '~', + 'd' => 'b', + '<' => '>', + '(' => ')', + '[' => ']', + 'T' => 'T', + '{' => '}', + '#' => '#', + '/' => '\\', + '\\' => '/', + '*' => '*', + '8' => '8', + 'o' => 'o', + '0' => '0', + 'O' => 'O', + 'x' => 'x', + 'X' => 'X', + '^' => '^', + 'p' => 'q', + 'q' => 'p', + 'b' => 'd', +); + + + +my $commandline = defined $ARGV[0] ? $ARGV[0] : ''; + +my $length = 6; +if ($commandline =~ /^(\d+)$/) { + $length = $1; +} + +unless ($length > 0 and $length < 20) { + $length = 6; +} + +unless (($length % 2) == 0) { + #odd length + $smiley = $middle[int rand(@middle)]; +} + + +my $stenencount = scalar keys %bouwstenen; + +for my $i (1..$length/2) { + my $links = ( keys(%bouwstenen)) [int rand($stenencount)]; + $smiley = $links . $smiley . $bouwstenen{$links}; +} + +print $smiley, "\n"; \ No newline at end of file diff --git a/animo/command.cfg b/animo/command.cfg new file mode 100644 index 0000000..3bc5dd6 --- /dev/null +++ b/animo/command.cfg @@ -0,0 +1,2 @@ +level = 100 +cache = 0 diff --git a/animo/help.txt b/animo/help.txt new file mode 100644 index 0000000..f6d0c19 --- /dev/null +++ b/animo/help.txt @@ -0,0 +1 @@ +animo : geeft een animo-smiley van lengte n; default lengte 6; 0 < n < 20 \ No newline at end of file diff --git a/anticarp/anticarp.pl b/anticarp/anticarp.pl new file mode 100755 index 0000000..580c3ca --- /dev/null +++ b/anticarp/anticarp.pl @@ -0,0 +1,45 @@ +#!/usr/bin/perl -w +use strict; + +my @first = ( + "In het bijzonder kunnen wij stellen dat ", "Anderzijds zijn wij van mening dat ", + "Wij kunnen er echter van uitgaan dat ", "Hiermee rekening houdend is het juist dat ", + "Waardoor ", "De conclusie is gewettigd dat ", + "Ook is het uiterst waarschijnlijk dat ", "Met het oog op doelstellingen ten gevolge waarvan ", + "U zult toch moeilijk kunnen ontkennen dat ", "De moderne opvatting gaat ervan uit dat " +); +my @second = ( + "het overgrote deel van de input/output coördinatie ", "een voortdurende stroom van effectieve informatie ", + "de karakterisering van specifieke criteria ", "de initialisering van de ontwikkeling van het kritieke subsysteem ", + "het volledig geïntegreerde testprogramma ", "de basis van de productconfiguratie ", + "ieder geassocieerd dienstverlenend element ", "de incorporatie van additionele uitvoeringsvoorwaarden ", + "het onafhankelijk functioneel principe ", "de primaire interrelatie van technologieën " +); +my @third = ( + "gebruik moet maken van en functioneel verweven moet zijn met ", + "de waarschijnlijkheid optimaliseert van het succes tot ", + "de expliciete gebruikslimieten toevoegt aan ", + "het noodzakelijk maakt dat urgent beschouwing wordt toegepast op ", + "niet te onderschatten systeemonderzoek vergt om te komen tot ", + "verder geëlaboreerd wordt met beschouwingen ten aanzien van ", + "een uitermate interessante stimulans levert voor ", + "het belang erkent van andere systemen en de noodzaak voor ", + "invloed heeft op een buitengewoon interessante implementatie van ", + "allesoverheersende bedrijfsvoorwaarden toevoegt aan " +); +my @fourth = ( + "het moderne doch gecompliceerde technische resultaat", + "de verwachte vierde-generatieapparatuur", + "het testen van de bedrijfszekerheid van het subsysteem", + "het gestructureerde ontwerp dat gebaseerd is op de technologische concepten", + "de initiële grenzen van de classificatie-limiet", + "de ontwikkeling van het technische gedrag over een gegeven tijdsbestek", + "de heersende grondgedachte ten aanzien van systeemdwang en standaardisatie", + "het concept van de stijgende penetratiegraad", + "een willekeurige discontinue samenstellingmodus", + "een volledige systeembenadering" +); + +my $result = $first[ rand(@first) ] . $second[ rand(@second) ] . $third[ rand(@third) ] . $fourth[ rand(@fourth) ] . "."; + +print "$result\n"; diff --git a/anticarp/command.cfg b/anticarp/command.cfg new file mode 100644 index 0000000..3a2c67a --- /dev/null +++ b/anticarp/command.cfg @@ -0,0 +1 @@ +level = 50 diff --git a/anticarp/help.txt b/anticarp/help.txt new file mode 100644 index 0000000..b73fc36 --- /dev/null +++ b/anticarp/help.txt @@ -0,0 +1 @@ +anticarp: alles behalve een krachtige samenvatting ;) \ No newline at end of file diff --git a/anticarp/rapportvuller.txt b/anticarp/rapportvuller.txt new file mode 100644 index 0000000..e9916a7 --- /dev/null +++ b/anticarp/rapportvuller.txt @@ -0,0 +1,4 @@ +A = new Array("In het bijzonder kunnen wij stellen dat ","Anderzijds zijn wij van mening dat ","Wij kunnen er echter van uitgaan dat ","Hiermee rekening houdend is het juist dat ","Waardoor ","De conclusie is gewettigd dat ","Ook is het uiterst waarschijnlijk dat ","Met het oog op doelstellingen ten gevolge waarvan ","U zult toch moeilijk kunnen ontkennen dat ","De moderne opvatting gaat ervan uit dat "); +B = new Array("het overgrote deel van de input/output coördinatie ","een voortdurende stroom van effectieve informatie ","de karakterisering van specifieke criteria ","de initialisering van de ontwikkeling van het kritieke subsysteem ","het volledig geïntegreerde testprogramma ","de basis van de productconfiguratie ","ieder geassocieerd dienstverlenend element ","de incorporatie van additionele uitvoeringsvoorwaarden ","het onafhankelijk functioneel principe ","de primaire interrelatie van technologieën "); +C = new Array("gebruik moet maken van en functioneel verweven moet zijn met ","de waarschijnlijkheid optimaliseert van het succes tot ","de expliciete gebruikslimieten toevoegt aan ","het noodzakelijk maakt dat urgent beschouwing wordt toegepast op ","niet te onderschatten systeemonderzoek vergt om te komen tot ","verder geëlaboreerd wordt met beschouwingen ten aanzien van ","een uitermate interessante stimulans levert voor ","het belang erkent van andere systemen en de noodzaak voor ","invloed heeft op een buitengewoon interessante implementatie van ","allesoverheersende bedrijfsvoorwaarden toevoegt aan "); +D = new Array("het moderne doch gecompliceerde technische resultaat","de verwachte vierde-generatieapparatuur","het testen van de bedrijfszekerheid van het subsysteem","het gestructureerde ontwerp dat gebaseerd is op de technologische concepten","de initiële grenzen van de classificatie-limiet","de ontwikkeling van het technische gedrag over een gegeven tijdsbestek","de heersende grondgedachte ten aanzien van systeemdwang en standaardisatie","het concept van de stijgende penetratiegraad","een willekeurige discontinue samenstellingmodus","een volledige systeembenadering"); diff --git a/aol/aol.pl b/aol/aol.pl new file mode 100755 index 0000000..92ee85d --- /dev/null +++ b/aol/aol.pl @@ -0,0 +1,4 @@ +#!/usr/bin/perl -w +use strict; + +print "Me Too! Me Too!\n"; diff --git a/aol/command.cfg b/aol/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/aol/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/aol/help.txt b/aol/help.txt new file mode 100644 index 0000000..0229448 --- /dev/null +++ b/aol/help.txt @@ -0,0 +1 @@ +Me Too! Me Too! diff --git a/arrow/arrow.pl b/arrow/arrow.pl new file mode 100755 index 0000000..cfad468 --- /dev/null +++ b/arrow/arrow.pl @@ -0,0 +1,42 @@ +#!/usr/bin/perl -w +# Casper Joost Eyckelhof (Titanhead) +# casper@joost.student.utwente.nl + +use LWP::UserAgent; +use HTTP::Cookies; + +$ua = new LWP::UserAgent; + +#### allerlei fijne definities en initialisaties ######## + +@agents = ( + "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)", + "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)" +); + +$agent = @agents[ int( rand(@agents) ) ]; +$ua->agent($agent); + +$request = new HTTP::Request( 'GET', "http://www.arrow.nl/jazz/now_playing.php" ); +$request->referer("http://www.arrow.nl/jazz/indexjazz.php"); +$response = $ua->request($request); +$html = $response->content; +@lines = split /^/m, $html; + +my $resultline; +my $go = 0; +foreach $line (@lines) { + if ($go) { + $resultline = $line; + $go = 0; + } + if ( $line =~ m|.*?images/nowplaying2kl_05.jpg.*?| ) { + $go = 1; + } +} +#print STDERR $resultline , "\n"; +if ( $resultline =~ m/\s*(.*?)-(.*?)\s*$/) { + print lc("Now playing on arrow jazz: $2 (by $1)\n"); +} else { + print "Unable to find current song for arrow jazz\n"; +} \ No newline at end of file diff --git a/arrow/command.cfg b/arrow/command.cfg new file mode 100644 index 0000000..b9ff63f --- /dev/null +++ b/arrow/command.cfg @@ -0,0 +1 @@ +level = 50 \ No newline at end of file diff --git a/arrow/help.txt b/arrow/help.txt new file mode 100644 index 0000000..3de3d7f --- /dev/null +++ b/arrow/help.txt @@ -0,0 +1 @@ +arrow: currently playing on arrow jazz (90.7FM) diff --git a/ascii/ascii.pl b/ascii/ascii.pl new file mode 100755 index 0000000..058974c --- /dev/null +++ b/ascii/ascii.pl @@ -0,0 +1,23 @@ +#!/usr/bin/perl -w + +use strict; + +my $what = shift; + +if ( defined $what ) { + if ( $what =~ /^0\d+$/ ) { + $what = oct $what; + } elsif ( $what =~ /^0x[0-9a-f]+$/i ) { + $what = hex $what; + } elsif ( $what =~ /^.$/ ) { + print ord $what, "\n"; + exit; + } + if ( $what =~ /\d+/ ) { + if ( $what > 32 and $what < 127 ) { + print chr $what, "\n"; + } else { + print "$what out of range \n"; + } + } +} diff --git a/ascii/command.cfg b/ascii/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/ascii/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/ascii/help.txt b/ascii/help.txt new file mode 100644 index 0000000..51f539c --- /dev/null +++ b/ascii/help.txt @@ -0,0 +1 @@ +Geeft van een karakter de ascii waarde, of van een ascii waarde het bijbehoordene karakter. diff --git a/ascii/level b/ascii/level new file mode 100644 index 0000000..573541a --- /dev/null +++ b/ascii/level @@ -0,0 +1 @@ +0 diff --git a/at/command.cfg b/at/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/at/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/at/help.txt b/at/help.txt new file mode 100644 index 0000000..472c982 --- /dev/null +++ b/at/help.txt @@ -0,0 +1,3 @@ +at: scheduler for commands +absolute time: at hh:mm command +relative from now: at +[[days:]hours:]minutes command \ No newline at end of file diff --git a/babelfish/babelfish.elz b/babelfish/babelfish.elz new file mode 100644 index 0000000..b061211 --- /dev/null +++ b/babelfish/babelfish.elz @@ -0,0 +1,44 @@ +#translates text via babelfish +# (-t) text is text to translate +# (-l) lang is one of: +# en_fr +# en_de +# en_it +# en_pt +# en_es +# fr_en +# de_en +# it_en +# pt_en +# es_en +# de_fr +# fr_de +# ru_en + +var onerror = continue +var dumprequest = on +var dumpheaders = on +var dumpbody = on +#var shout = verbose +var shout = silent +var proxy = proxy.utwente.nl 3128 + +var text = %%cmdoptt%% +var lang = %%cmdoptl%% + +get url http://babelfish.altavista.com/ + +field %ALL% $ +field lp = %%lang%% +field urltext = %%text%% + +#subst thelink from text @ form number 1 +var ID c= sessionid + +#print %%ID%% +#post url /translate.dyn;$sessionid$%%ID%% +post url /tr +#print %%body%% +var result from text @ textarea name q +#var result between name="q" +print %%result%% diff --git a/babelfish/babelfish.pl b/babelfish/babelfish.pl new file mode 100755 index 0000000..d2b273b --- /dev/null +++ b/babelfish/babelfish.pl @@ -0,0 +1,5 @@ +#!/usr/bin/perl -w + +use strict; + +print "Babelfish is op dit moment in onderhoud, wordt aan gewerkt :)\n"; diff --git a/babelfish/babelfish.pl.metelza b/babelfish/babelfish.pl.metelza new file mode 100755 index 0000000..ac9b974 --- /dev/null +++ b/babelfish/babelfish.pl.metelza @@ -0,0 +1,65 @@ +#!/usr/bin/perl -w +#$elza = "/usr/local/bin/elza"; +$elza = "/usr/bin/elza"; +$script = "/home/multilink/multigate/commands/babelfish/babelfish.elz"; + +@languages = ( en_fr, en_de, en_it, en_pt, en_es, fr_en, de_en, it_en, pt_en, es_en, de_fr, fr_de, ru_en ); + +if (defined $ARGV[0]) { + @args = split / /, $ARGV[0]; +} else { + @args = (); +} + +sub safe_execute { + my $file = shift @_; + my @output; + my $line; + if ( my $pid = open( CHILD, "-|" ) ) { + while ( $line = ) { + if ( length($line) > 0 ) { push @output, $line } + } + close(CHILD); + } else { + die "cannot fork: $!" unless defined $pid; + exec( $file , @_ ) or die "can't exec: $!"; + } + return @output; +} + +if ( @args < 1 ) { print "Syntax: babelfish [from_to] [text to translate]\n" } +else { + + $text = join " ", @args; + ( $lang, $text ) = split /\s/, $text, 2; + $goed = 0; + foreach $taal (@languages) { + if ( $taal eq $lang ) { $goed++ } + } + if ( $goed == 0 ) { + print + + "This translation is not supported. Supported translations from_to + are: en_fr en_de en_it en_pt en_es fr_en de_en it_en pt_en es_en + de_fr fr_de ru_en \n"; + + } else { + + ## Argumenten lijken OK, dus nu babelfish.elz aanroepen: + #$text =~ tr/([a-zA-Z0-9\,\:\?\']/ /cs; + $text =~ tr/\|\`\<\>\;/ /s; + + #$uitvoer = `$elza -s $script -l $lang -t "$text"`; +# my @out = safe_execute( $elza, "-s $script", "-l$lang", "-t $text" ); + my @out = safe_execute( $elza, "$script", "-l$lang", "-t $text" ); + $uitvoer = join " ", @out; + $uitvoer =~ s/===//g; + $uitvoer =~ s/^\s+//g; + $uitvoer =~ s/\n//g; + if ( length($uitvoer) > 0 ) { + print $uitvoer . "\n"; + } else { + print "Sorry, translation did not succeed."; + } + } +} diff --git a/babelfish/command.cfg b/babelfish/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/babelfish/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/babelfish/imdb.pl b/babelfish/imdb.pl new file mode 100755 index 0000000..d4bb186 --- /dev/null +++ b/babelfish/imdb.pl @@ -0,0 +1,63 @@ +#!/usr/bin/perl -w +use strict; +use LWP::UserAgent; +use URI::Escape; +use HTTP::Cookies; +use HTML::Entities(); + +## Import available environment variables + +my $address = $ENV{'MULTI_USER'}; # address of invoking user +my $user = $ENV{'MULTI_REALUSER'}; # multigate username of invoking user +my $userlevel = $ENV{'MULTI_USERLEVEL'}; # userlevel of invoking user +my $from_protocol = $ENV{'MULTI_FROM'}; # protocol this command was invoked from +my $to_protocol = $ENV{'MULTI_TO'}; # protocol where output will be sent +my $command_level = $ENV{'MULTI_COMMANDLEVEL'}; # level needed for this command + +my $commandline = defined $ARGV[0] ? $ARGV[0] : ''; + +## Get a certain URL + +my $ua = new LWP::UserAgent; + +#Set agent name, we are not a script! :) +my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; +$ua->agent($agent); + +#my $request = new HTTP::Request( 'GET', $url ); +#my $content = $ua->request($request)->content; + +my $cookie_jar = HTTP::Cookies->new; + +my $request = new HTTP::Request( 'GET', "http://babelfish.altavista.com/" ); +my $response = $ua->request($request); +$cookie_jar->extract_cookies($response); + +my @languages = ( en_fr, en_de, en_it, en_pt, en_es, fr_en, de_en, it_en, pt_en, es_en, de_fr, fr_de, ru_en ); + +if ( @ARGV < 1 ) { + print "Syntax: babelfish [from_to] [text to translate]\n"; +} else { + my $text = join " ", @ARGV; + my $lang; + ( $lang, $text ) = split /\s/, $text, 2; + my $goed = 0; + foreach my $taal (@languages) { + if ( $taal eq $lang ) { $goed++ } + } + if ( $goed == 0 ) { + print + "This translation is not supported. Supported translations from_to are: en_fr en_de en_it en_pt en_es fr_en de_en it_en pt_en es_en de_fr fr_de ru_en \n"; + } else { + + ## Argumenten lijken OK, dus nu websitetje ophalen en invullen + #$text =~ tr/([a-zA-Z0-9\,\:\?\']/ /cs; + $text =~ tr/\|\`\<\>\;/ /s; + + my $request = new HTTP::Request( 'GET', "http://babelfish.altavista.com/" ); + my $response = $ua->request($request); + $cookie_jar->extract_cookies($response); + print $response; + } + +} diff --git a/babelfish/level b/babelfish/level new file mode 100644 index 0000000..105d7d9 --- /dev/null +++ b/babelfish/level @@ -0,0 +1 @@ +100 \ No newline at end of file diff --git a/barreboks/barreboks.pl b/barreboks/barreboks.pl new file mode 100755 index 0000000..0376f48 --- /dev/null +++ b/barreboks/barreboks.pl @@ -0,0 +1,2 @@ +#!/usr/bin/perl -w +print "Telefoonnummer van de Barreboks: 053 - 489 4158\n" diff --git a/barreboks/command.cfg b/barreboks/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/barreboks/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/barreboks/help.txt b/barreboks/help.txt new file mode 100644 index 0000000..9f33173 --- /dev/null +++ b/barreboks/help.txt @@ -0,0 +1 @@ +Geeft telefoonnummer de Barreboks (053 - 489 4158) \ No newline at end of file diff --git a/barreboks/level b/barreboks/level new file mode 100644 index 0000000..29d6383 --- /dev/null +++ b/barreboks/level @@ -0,0 +1 @@ +100 diff --git a/bash/bash.pl b/bash/bash.pl new file mode 100755 index 0000000..0529569 --- /dev/null +++ b/bash/bash.pl @@ -0,0 +1,41 @@ +#!/usr/bin/perl -w +use strict; +use LWP::UserAgent; +use HTML::Entities(); + +## Import available environment variables + +my $address = $ENV{'MULTI_USER'}; # address of invoking user +my $user = $ENV{'MULTI_REALUSER'}; # multigate username of invoking user +my $userlevel = $ENV{'MULTI_USERLEVEL'}; # userlevel of invoking user +my $from_protocol = $ENV{'MULTI_FROM'}; # protocol this command was invoked from +my $to_protocol = $ENV{'MULTI_TO'}; # protocol where output will be sent +my $command_level = $ENV{'MULTI_COMMANDLEVEL'}; # level needed for this command + +my $commandline = defined $ARGV[0] ? $ARGV[0] : ''; + +unless ( $commandline =~ /^\d+$/ ) { + print "Give quote ID\n"; + exit 0; +} + +## Get a certain URL +my $url = "http://bash.org/?quote=$commandline"; + +my $ua = new LWP::UserAgent; + +#Set agent name, we are not a script! :) +my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; +$ua->agent($agent); + +my $request = new HTTP::Request( 'GET', $url ); +my $content = $ua->request($request)->content; + +if ( $content =~ m|

(.*?)

|si ) { + my $quote = $1; + $quote =~ s|\cM||g; + $quote =~ s|
||gi; + $quote = HTML::Entities::decode($quote); + print "$quote\n(bash quote nr: $commandline)\n"; + +} diff --git a/bash/command.cfg b/bash/command.cfg new file mode 100644 index 0000000..3afba3e --- /dev/null +++ b/bash/command.cfg @@ -0,0 +1,2 @@ +level = 100 +cache = 3600 diff --git a/bash/frop.txt b/bash/frop.txt new file mode 100644 index 0000000..8eaffb9 --- /dev/null +++ b/bash/frop.txt @@ -0,0 +1,4 @@ + Concatenate? + its something sexual + Concatenate can be sexual, baby. + its something sexual to someone who hasn't taken a programming class diff --git a/bash/help.txt b/bash/help.txt new file mode 100644 index 0000000..9bf7711 --- /dev/null +++ b/bash/help.txt @@ -0,0 +1 @@ +bash : gives quote #ID from bash.org \ No newline at end of file diff --git a/beamer/beamer.pl b/beamer/beamer.pl new file mode 100755 index 0000000..dbe1c69 --- /dev/null +++ b/beamer/beamer.pl @@ -0,0 +1,5 @@ +#!/usr/bin/perl -w + +use strict; + +print "Ja, dat is zo\n"; diff --git a/beamer/command.cfg b/beamer/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/beamer/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/beller/beller.pl b/beller/beller.pl new file mode 100755 index 0000000..bce5aeb --- /dev/null +++ b/beller/beller.pl @@ -0,0 +1,2 @@ +#!/usr/bin/perl -w +print " een beller is sneller\n" diff --git a/beller/command.cfg b/beller/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/beller/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/beller/help.txt b/beller/help.txt new file mode 100644 index 0000000..5522f97 --- /dev/null +++ b/beller/help.txt @@ -0,0 +1 @@ +Geeft de legendarische quote van Loek diff --git a/beller/level b/beller/level new file mode 100644 index 0000000..573541a --- /dev/null +++ b/beller/level @@ -0,0 +1 @@ +0 diff --git a/bmi/bmi.pl b/bmi/bmi.pl new file mode 100755 index 0000000..dc20f02 --- /dev/null +++ b/bmi/bmi.pl @@ -0,0 +1,23 @@ +#!/usr/bin/perl -w +# Bepaalt Body Mass Index + +use strict; + +my ( $lengte, $gewicht, $stuff ) = split ' ', $ARGV[0], 3 + if ( defined $ARGV[0] ); + +unless ( ( defined $lengte ) && ( defined $gewicht ) && ( $lengte =~ /^\d+$/ ) && ( $gewicht =~ /^\d+$/ ) ) { + print "Geef lengte in hele cm en gewicht in kg\n"; + exit 0; +} + +$lengte /= 100; #in meters +my $bmi = $gewicht / ( $lengte * $lengte ); + +my $result = "Te mager"; + +$result = "Goed gewicht" if ( $bmi >= 20 ); +$result = "Te zwaar" if ( $bmi > 25 ); +$result = "Veel te zwaar" if ( $bmi > 30 ); + +printf( "BMI: %.1f ==> %s\n", $bmi, $result ); diff --git a/bmi/bmi.sh b/bmi/bmi.sh new file mode 100755 index 0000000..ce74961 --- /dev/null +++ b/bmi/bmi.sh @@ -0,0 +1,36 @@ +#! /bin/sh + +if test -z $1 +then + echo "Gebruik !bmi " + echo "Geeft aan of je te zwaar/te licht bent" + exit 0 +fi +if test -z $2 +then + echo "Gebruik !bmi " + echo "Geeft aan of je te zwaar/te licht bent" + exit 0 +fi + +index=$(($2 * 100000 / ($1 * $1))) +resultaat="Te mager" + +if test $index -ge 200 +then + resultaat="Goed gewicht" +fi + +if test $index -ge 250 +then + resultaat="Te zwaar" +fi + +if test $index -ge 300 +then + resultaat="Veel te zwaar" +fi + +index1=$((index/10)) +index2=$((index%10)) +echo BMI: $index1,$index2 \=\=\> $resultaat diff --git a/bmi/command.cfg b/bmi/command.cfg new file mode 100644 index 0000000..fdaf427 --- /dev/null +++ b/bmi/command.cfg @@ -0,0 +1,3 @@ +level = 0 +user = 0 +cache = 0 diff --git a/bmi/help.txt b/bmi/help.txt new file mode 100644 index 0000000..2b571f4 --- /dev/null +++ b/bmi/help.txt @@ -0,0 +1 @@ +bmi : berekent body-mass-index (vb: bmi 189 81) \ No newline at end of file diff --git a/box/box.pl b/box/box.pl new file mode 100755 index 0000000..62714b4 --- /dev/null +++ b/box/box.pl @@ -0,0 +1,119 @@ +#!/usr/bin/perl -w + +use lib '../../lib/'; + +#User management from multigate +use Multigate::Users; + +my $realuser = $ENV{'MULTI_REALUSER'}; +my $userlevel = $ENV{'MULTI_USERLEVEL'}; # userlevel of invoking user +my $commandline = defined $ARGV[0] ? $ARGV[0] : ''; + +my $adminlevel = 600; #from this level up, no admin rights needed + +#make a connection to the user-database +Multigate::Users::init_users_module(); + +my ( $command, $box, $user, $amount ) = split ' ', $commandline, 4; + +$user = Multigate::Users::aliastouser($user); + +# Options for command: add,delete,inc,dec,get,set + +unless ( ( defined $command ) and ( defined $box ) and ( defined $user ) ) { + print "Usage: box [amount]\n"; + exit 1; +} + +if ( ( $userlevel < $adminlevel ) and ( ( lc($command) ne 'get' ) or ( $user ne $realuser ) ) ) { + print "Not allowed\n"; + exit 0; +} + +if ( defined $amount ) { + unless ( $amount =~ /^\d+$/ ) { + print "Amount should be given in whole numbers\n"; + exit 1; + } +} + +if ( lc($command) eq "add" ) { + my $res = add_box( $box, $user ); + if ($res) { + print "Adding box '$box' for user '$user'.\n"; + } else { + print "A problem occured when adding box '$box' for user '$user'.\n"; + } +} elsif ( ( lc($command) eq "delete" ) or ( lc($command) eq "del" ) ) { + unless ( defined get_box( $box, $user ) ) { + print "No such box '$box' for '$user'\n"; + exit 1; + } + my $amount = get_box( $box, $user ); + my $res = remove_box( $box, $user ); + if ($res) { + print "Deleted box '$box' for user '$user'. (Units lost: $amount)\n"; + } else { + print "A problem occured when deleting box '$box' for user '$user'.\n"; + } +} elsif ( ( lc($command) eq "inc" ) ) { + unless ( defined get_box( $box, $user ) ) { + print "No such box '$box' for '$user'\n"; + exit 1; + } + if ( defined $amount ) { + my $old_amount = get_box( $box, $user ); + my $res = inc_box( $box, $user, $amount ); + if ($res) { + my $new_amount = get_box( $box, $user ); + print "Added $amount to '$box' for '$user'. (New balance: $new_amount)\n"; + } else { + print "A problem occured when adding $amount to '$box' for user '$user'.\n"; + } + } else { + print "Usage: box inc $box $user \n"; + } +} elsif ( lc($command) eq "dec" ) { + unless ( defined get_box( $box, $user ) ) { + print "No such box '$box' for '$user'\n"; + exit 1; + } + if ( defined $amount ) { + my $old_amount = get_box( $box, $user ); + my $res = dec_box( $box, $user, $amount ); + if ($res) { + my $new_amount = get_box( $box, $user ); + print "Deleted $amount from '$box' for '$user'. (New balance: $new_amount)\n"; + } else { + print "A problem occured when deleting $amount from '$box' for user '$user'.\n"; + } + } else { + print "Usage: box inc $box $user \n"; + } +} elsif ( lc($command) eq "set" ) { + if ( defined $amount ) { + + #my $old_amount = get_box($box, $user); + my $res = set_box( $box, $user, $amount ); + if ($res) { + my $new_amount = get_box( $box, $user ); + print "Set '$box' for '$user' to $new_amount\n"; + } else { + print "A problem occured when setting '$box' for user '$user' to $amount.\n"; + } + } else { + print "Usage: box set $box $user \n"; + } + +} elsif ( lc($command) eq "get" ) { + my $cur_amount = get_box( $box, $user ); + if ( defined $cur_amount ) { + print "Current balance of '$box' for '$user': $cur_amount\n"; + } else { + print "Problem getting balance of box '$box' for '$user'. Does it exist?\n"; + } +} else { + print "unknown option: $command\n"; +} + +Multigate::Users::cleanup_users_module(); diff --git a/box/command.cfg b/box/command.cfg new file mode 100644 index 0000000..b4c5289 --- /dev/null +++ b/box/command.cfg @@ -0,0 +1,2 @@ +level = 0 +cache = 0 diff --git a/box/help.txt b/box/help.txt new file mode 100644 index 0000000..2c04c46 --- /dev/null +++ b/box/help.txt @@ -0,0 +1,2 @@ +box [amount] ; command={add,delete,inc,dec,get,set} +Admin function for accounting \ No newline at end of file diff --git a/breezah/breezah.pl b/breezah/breezah.pl new file mode 100755 index 0000000..ea51a14 --- /dev/null +++ b/breezah/breezah.pl @@ -0,0 +1,35 @@ +#!/usr/bin/perl +# Apr 01 2003 Jorik Jonker +use strict; + +my $word; +my $output; +my @wordarr; +my $count; +my $c; + +foreach $word (@ARGV) { + $word =~ tr/A-Z/a-z/; + + $word =~ s/\bmijn\b/muh/g; + + $word =~ s/([^ieo])en([^ngaoe])/$1uh$2/g; + $word =~ s/([^ieo])e\b/$1uh/g; + + $word =~ s/(\w)je(s)?\b/$1juh$2/g; + $word =~ s/([^ioer])es\b/$1uz/g; + + $word =~ s/s/z/g; + $word =~ s/([^eo ])er\b/$1ah/g; + $word =~ s/ch/g/g; + $word =~ s/\?/¿/g; + $word =~ s/\beven\b/ff/g; + + $word =~ s/(.)(.)/\u$1\l$2/g; + + $output .= " $word"; + +} +$output =~ s/^ //g; + +print "$output\n"; diff --git a/breezah/command.cfg b/breezah/command.cfg new file mode 100644 index 0000000..5f45477 --- /dev/null +++ b/breezah/command.cfg @@ -0,0 +1,2 @@ +level = 100 +author = jorik diff --git a/breezah/help.txt b/breezah/help.txt new file mode 100644 index 0000000..e35f5b0 --- /dev/null +++ b/breezah/help.txt @@ -0,0 +1 @@ +Vertaalt de zin naar 'BrEzAh' taal diff --git a/britishrail/britishrail.pl b/britishrail/britishrail.pl new file mode 100755 index 0000000..4814c51 --- /dev/null +++ b/britishrail/britishrail.pl @@ -0,0 +1,6 @@ +#! /usr/bin/perl -w +print << "EOF" +bing-bong. Brimish Rull regret that mumble maz bem der mumble a mir mumble mumble bimble late. +Passengers mizzing to mumble rimble mumble are advised to momble mar at murmble. +Thank you mor mumble mimbling Brimble mum. bing-bong. +EOF diff --git a/britishrail/command.cfg b/britishrail/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/britishrail/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/britishrail/help.txt b/britishrail/help.txt new file mode 100644 index 0000000..bc65587 --- /dev/null +++ b/britishrail/help.txt @@ -0,0 +1 @@ +britishrail: (C) "Gaz" van het "angstaanjagende duivels klooster" (zie ook: <6i29fb$d7c$1@infoserv.aber.ac.uk>) \ No newline at end of file diff --git a/bug/bug.pl b/bug/bug.pl new file mode 100755 index 0000000..026fc62 --- /dev/null +++ b/bug/bug.pl @@ -0,0 +1,2 @@ +#!/usr/bin/perl -w +print "No, it's a feature!\n" diff --git a/bug/command.cfg b/bug/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/bug/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/bug/level b/bug/level new file mode 100644 index 0000000..573541a --- /dev/null +++ b/bug/level @@ -0,0 +1 @@ +0 diff --git a/buienradar/buienradar.pl b/buienradar/buienradar.pl new file mode 100755 index 0000000..c8b93e5 --- /dev/null +++ b/buienradar/buienradar.pl @@ -0,0 +1,2 @@ +#!/bin/sh +echo "http://www.weatheronline.co.uk/radar/euroddlnw.htm" diff --git a/buienradar/command.cfg b/buienradar/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/buienradar/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/buienradar/help.txt b/buienradar/help.txt new file mode 100644 index 0000000..1e58a40 --- /dev/null +++ b/buienradar/help.txt @@ -0,0 +1 @@ +Geef de URL van de duitse buienradar diff --git a/buma/buma.pl b/buma/buma.pl new file mode 100755 index 0000000..d4b5969 --- /dev/null +++ b/buma/buma.pl @@ -0,0 +1,51 @@ +#!/usr/bin/perl -w +use strict; +my @first = ( + "Ik kan nu geen bier drinken", + "Ik kan nu niet programmeren", + "We kunnen niet langer blijven", + "We kunnen niet komen", + "Ik heb al 3 dagen niet geirced", + "Ik kan nu niet nerden", + "Het komt niet zo goed uit als jullie nu koffie willen drinken", + "We kunnen niet blijven eten", + "Ik kon vanochtend weer niet uitslapen", + "Ik weet dat het feest nog niet eens is begonnen, maar we moeten nu weg", + "Ik kan niet meer nadenken", + "Ik moet nu echt naar bed", + "Ik kan niet meer naar Normaal", +); + +my @second = ( + "we geen babysitter konden vinden", + "de gordijnen gewassen moeten worden", + "het gras nog gemaaid moet worden", + "de kleine ons altijd om 5 uur 's ochtends wakker maakt", + "we nog naar de ouderavond moeten", + "we morgen vroeg naar de Efteling willen", + "de stationwagen nog gestofzuigd moet worden", + "de heg nog geknipt moet worden", + "de rolcontainer nog naar voren gebracht moet worden", + "de auto nog gewassen moet worden", + "m'n schoonmoeder een week lang op bezoek is", + "we in de file stonden bij de creche", + "de appelstroop tegen het plafond zat", + "de nicht van de broer van m'n zwager bevallen is", + "ik de krultang nog moet repareren", + "er alleen maar babyvoedsel in de koelkast staat", + "sesamstraat over 30 minuten begint", + "we nog een caravan moeten gaan uitzoeken", + "de caravan nog gewassen moet worden", + "de kinderkamer nog behangen moet worden", + "we morgen naar de voetbalwedstrijd van onze jongste moeten", + "we de oudste van ons nog naar blokfluitles moeten brengen", + "het eten anders koud wordt", + "de ramen nog gelapt moeten worden", + "de kinderen nu achter de PC zitten", + "om 7:30 de aannemer voor de deur zal staan", + "ik mijn bonsai-knipkruk nog moet schilderen", +); + +my $result = $first[ rand(@first) ] . " omdat " . $second[ rand(@second) ] . "."; + +print "$result\n"; diff --git a/buma/command.cfg b/buma/command.cfg new file mode 100644 index 0000000..cc34655 --- /dev/null +++ b/buma/command.cfg @@ -0,0 +1,3 @@ +level = 50 +cache = 0 +author = pervy diff --git a/buma/help.txt b/buma/help.txt new file mode 100644 index 0000000..f7a4c0a --- /dev/null +++ b/buma/help.txt @@ -0,0 +1 @@ +buma: geeft een heel goed excuus om geen leuke dingen te hoeven doen \ No newline at end of file diff --git a/calc/calc.pl b/calc/calc.pl new file mode 100755 index 0000000..ca2876b --- /dev/null +++ b/calc/calc.pl @@ -0,0 +1,69 @@ +#!/usr/bin/perl -w +# +# Calculcator for multigate +# (C) 2002 Wieger Opmeer +# + +use strict; + +use Safe; +use BSD::Resource; + +use constant pi => 3.14159265358979; +use constant e => 2.718281828459045; + +sub log10 { + my $n = shift; + return log($n) / log(10); +} + +sub log2 { + my $n = shift; + return log($n) / log(2); +} + +sub fac { + my $f = shift; + my $s = 1; + my $i; + for ( $i = 2 ; $i <= $f ; $i++ ) { + $s *= $i; + } + return $s; +} + +sub r2d { $_[0] * 180.0 / pi } + +sub tan { + my $z = shift; + return sin($z) / cos($z); +} + +my $calc = new Safe; + +$calc->permit_only(qw( time localtime gmtime padany :base_math :base_core )); + +$calc->share(qw( pi e log10 log2 fac rad tan )); + +my $arg = $ARGV[0]; + +$arg =~ s/,/./g; + +setrlimit(RLIMIT_VMEM, 8*1024*1024, -1); +setrlimit(RLIMIT_CPU, 2, -1); +setrlimit(RLIMIT_CORE, 0, -1); + +$SIG{'__WARN__'} = sub { die $_[0] }; + +my $res = $calc->reval($arg); + +$SIG{'__WARN__'} = 'DEFAULT'; + +if ( defined($res) ) { + print "$res\n"; +} else { + my $error = $@; + $error =~ s/^(.+) at (.+)$/$1/; + print "Error: ", $error; +} + diff --git a/calc/command.cfg b/calc/command.cfg new file mode 100644 index 0000000..3a2c67a --- /dev/null +++ b/calc/command.cfg @@ -0,0 +1 @@ +level = 50 diff --git a/calc/help.txt b/calc/help.txt new file mode 100644 index 0000000..0ce12b6 --- /dev/null +++ b/calc/help.txt @@ -0,0 +1,2 @@ +Evaluates an expression. +Syntax: calc expression diff --git a/cheerleader/cheerleader.pl b/cheerleader/cheerleader.pl new file mode 100755 index 0000000..ab1412e --- /dev/null +++ b/cheerleader/cheerleader.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl -w +use strict; + +my $commandline = defined $ARGV[0] ? $ARGV[0] : ''; + +if ($commandline eq '') { + print "Hup! hup!\n"; + exit 0; +} + +my ($first, undef) = split ' ', $commandline, 2; + +my $result; +foreach my $letter (split // , $first) { + $result .= "we hebben een \U$letter, "; +} +$result = ucfirst($result); +$result =~ s/, $/.\n/; + +print $result . "We hebben \U$first!!!\n"; \ No newline at end of file diff --git a/cheerleader/command.cfg b/cheerleader/command.cfg new file mode 100644 index 0000000..27dccc3 --- /dev/null +++ b/cheerleader/command.cfg @@ -0,0 +1,2 @@ +level = 50 +cache = 0 diff --git a/cheerleader/help.txt b/cheerleader/help.txt new file mode 100644 index 0000000..fb8a7a1 --- /dev/null +++ b/cheerleader/help.txt @@ -0,0 +1 @@ +cheerleader: Uw favoriete bot is ook uw favoriete cheerleader! \ No newline at end of file diff --git a/cinestar/cinestar.pl b/cinestar/cinestar.pl new file mode 100755 index 0000000..cc1d66d --- /dev/null +++ b/cinestar/cinestar.pl @@ -0,0 +1,38 @@ +#!/usr/bin/perl -w +use strict; +use LWP::UserAgent; +use HTML::Entities(); + +## Import available environment variables + +my $is_multicast = $ENV{'MULTI_IS_MULTICAST'}; # message to multiple recipients (channels) + + +## Get a certain URL +my $url = "http://www.cinestar.nl/programma1.htm"; + +my $ua = new LWP::UserAgent; + +#Set agent name, we are not a script! :) +my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; +$ua->agent($agent); + +my $request = new HTTP::Request( 'GET', $url ); +my $content = $ua->request($request)->content; + +my @lines = split /^/m, $content; + +my @result = (); +foreach my $line (@lines) { + if ( $line =~ /

(.*)
$/i ) { # if it matches something + my $regel = $1; + $regel =~ s|<.*?>||g; + $regel =~ s|\s+$||; + push @result, $regel; + } +} + +# print something, +# use escape like this: $result = HTML::Entities::decode($result); + +print HTML::Entities::decode( join '; ', @result ); diff --git a/cinestar/cinestar.sh b/cinestar/cinestar.sh new file mode 100755 index 0000000..f9a0e73 --- /dev/null +++ b/cinestar/cinestar.sh @@ -0,0 +1,5 @@ +#! /bin/sh + +lynx -source 'http://www.cinestar.nl/programma1.htm' | + sed -n 's/^ *

\(.*\)
$/\1/w /dev/stdout' | + sed 's/<[^>]*>//g' diff --git a/cinestar/command.cfg b/cinestar/command.cfg new file mode 100644 index 0000000..067373e --- /dev/null +++ b/cinestar/command.cfg @@ -0,0 +1,2 @@ +level = 100 +cache = 3600 \ No newline at end of file diff --git a/cinestar/help.txt b/cinestar/help.txt new file mode 100644 index 0000000..a157826 --- /dev/null +++ b/cinestar/help.txt @@ -0,0 +1 @@ +cinestar: geeft films die deze week draaien \ No newline at end of file diff --git a/classicfm/classicfm.pl b/classicfm/classicfm.pl new file mode 100755 index 0000000..2536c95 --- /dev/null +++ b/classicfm/classicfm.pl @@ -0,0 +1,42 @@ +#!/usr/bin/perl -w +use strict; +use LWP::UserAgent; +use HTML::Entities(); + +my ( $min, $hour ) = (localtime)[ 1 .. 2 ]; +my $day = sprintf "%02d", (localtime)[3]; +my $month = sprintf "%02d", (localtime)[4] + 1; +my $year = (localtime)[5] + 1900; + +#print "$day $hour:$min $month $year\n"; + +## Get a certain URL +my $url = "http://www.classicfm.nl/$year$month$day.php"; + +my $ua = new LWP::UserAgent; + +#Set agent name, we are not a script! :) +my $agent = "Mozilla/5.0 (compatible; MSIE 5.5; Windows 98)"; +$ua->agent($agent); + +my $request = new HTTP::Request( 'GET', $url ); +my $content = $ua->request($request)->content; + +#print STDERR $content; + + +my @lines = ( $content =~ m|0?$hour:\d+\n\d+:\d+\n.*?|sgi ); +my $result; +foreach my $line (@lines) { + $line =~ s/\n//g; +# print STDERR "Line: $line\n"; + + if ( $line =~ m|$hour:(\d+)\d+:\d+(.*?)|i ) { + my $startmin = $1; + $result = $2 unless ( $startmin > $min ); + } +} + +$result = HTML::Entities::decode($result); +$result =~ s/(
)+/; /g; +print "$result\n"; diff --git a/classicfm/command.cfg b/classicfm/command.cfg new file mode 100644 index 0000000..288c08d --- /dev/null +++ b/classicfm/command.cfg @@ -0,0 +1,2 @@ +level = 100 +cache = 15 \ No newline at end of file diff --git a/cmdinfo/cmdinfo.pl b/cmdinfo/cmdinfo.pl new file mode 100755 index 0000000..e7957ea --- /dev/null +++ b/cmdinfo/cmdinfo.pl @@ -0,0 +1,29 @@ +#!/usr/bin/perl -w + +use strict; +my $multiroot; +BEGIN { $multiroot = $ENV{MULTI_ROOT}; } + +use lib "$multiroot/lib"; +use Multigate::Config qw (read_commandconfig); + +my $commandline = defined $ARGV[0] ? $ARGV[0] : ''; +my ( $commandname, undef ) = split " ", $commandline, 2; +$commandname = lc($commandline); + +unless ( -d "$multiroot/commands/$commandname" and ( $commandname =~ /^\w+$/ ) ) { + print "Sorry, \"$commandname\" is not a valid command name\n"; +} +else { + + chdir $multiroot; #read_commandconfig expects this... + + my %config = read_commandconfig($commandname); + my $level = $config{level}; + print "Info on command \"$commandname\":\n"; + print "level needed: $level\n"; + if ( defined $config{author} ) { + print "author: $config{author}\n"; + } + # Add more here +} diff --git a/cmdinfo/command.cfg b/cmdinfo/command.cfg new file mode 100644 index 0000000..265c791 --- /dev/null +++ b/cmdinfo/command.cfg @@ -0,0 +1,3 @@ +level = 100 +cache = 0 +author = angel_7th diff --git a/convert/command.cfg b/convert/command.cfg new file mode 100644 index 0000000..a06dde5 --- /dev/null +++ b/convert/command.cfg @@ -0,0 +1,2 @@ +level = 0 +cache = 3600 # 1 hour \ No newline at end of file diff --git a/convert/convert.pl b/convert/convert.pl new file mode 100755 index 0000000..66e138e --- /dev/null +++ b/convert/convert.pl @@ -0,0 +1,98 @@ +#!/usr/bin/perl -w +# Berekent actuele wisselkoersen + +use strict; + +#Bouw 2 tabellen met de gegevens (1 met index landcode, 1 met index landnaam) +my $filenaam = "/home/multilink/multigate/commands/convert/koerstabel.txt"; +my @page; +if ( ( -z $filenaam ) || ( !-e $filenaam ) ) { + + #@page = `lynx -dump http://www.abnamro.nl/ibs/valutacentrum/vvnlg.html`; + #@page = `lynx -dump http://www.abnamro.nl/ibs/valutacentrum/eurovv.html`; + @page = `lynx -dump http://www.abnamro.nl/interactie/nl/effecten/jsp/eur_vv.jsp`; +} else { + my $file = open( FOO, "<$filenaam" ); + @page = ; + close FOO; +} + +my %tabel_code = (); +my %tabel_land = (); +my $line; + +frop: +foreach $line (@page) { + $line =~ s/,//g; + #print $line, "\n"; + if ( $line =~ /^.*?(\S+)\s+(\w+)\s+(\w{3})\s+(.*?)\s+(\d+\.\d*?)\s(.*?)$/ ) { + my ( $land, $eenheid, $code, $inkoop, $midden, $verkoop ); + $land = $1; + $eenheid = $2; + $code = $3; + $midden = $5; + $verkoop = $6; + $land =~ s/^\s+(.*)$/$1/; + $land = lc($land); #kleine letters + $land =~ s/\xEB/e/g; + my $factor = 1; + + #print STDERR "$land $code $midden\n"; + if ( $midden !~ /#/ ) { + $tabel_code{$code} = [ $land, $midden / $factor ]; + $tabel_land{$land} = [ $code, $midden / $factor ]; + } + + #if ($land =~ /.*?zwitserland.*?/i ) { print STDERR "zwitserland\n"; last frop }; + } +} + +#Bepaal wat we zoeken +my $commandline; +if ( defined( $ARGV[0] ) ) { + $commandline = $ARGV[0]; + $commandline =~ s/,/./; +} else { + print "Geef landcode en bedrag dat je wilt omrekenen"; + exit 1; +} + +my $koers = 0; +my ( $code, $land, $bedrag ); + +if ( $commandline =~ /^(\w{3})\s+(.*?)$/ ) { + $code = uc($1); + $bedrag = $2; + if ( defined $tabel_code{$code} ) { + $koers = $tabel_code{$code}[1]; + $land = $tabel_code{$code}[0]; + + #print "Gevonden(1) $code , $bedrag, $koers, $land \n"; + } else { + print "Onbekende landcode.\n"; + exit 1; + } +} elsif ( $commandline =~ /^(\w*?)\s+(\d.*?)$/ ) { + $land = lc($1); + $bedrag = $2; + if ( defined $tabel_land{$land} ) { + $koers = $tabel_land{$land}[1]; + $code = $tabel_land{$land}[0]; + + #print "Gevonden(2) $land , $bedrag, $koers, $code \n" + } else { + print "Snap landcode of land niet...\n"; + exit 1; + } +} else { + print "Geef landcode en bedrag dat je wilt omrekenen\n"; + exit 1; +} + +if ( ( $koers > 0 ) && ( $bedrag =~ /^-?\d+\.?\d*$/ ) ) { + my $a = sprintf( "%.2f", $bedrag / $koers ); + my $b = sprintf( "%.2f", $bedrag * $koers ); + print "$bedrag $code is $a euro. $bedrag euro is $b $code ($land).\n"; +} else { + print "Sorry, snap iets niet, is het bedrag wel in cijfers?\n"; +} diff --git a/convert/help.txt b/convert/help.txt new file mode 100644 index 0000000..6de6233 --- /dev/null +++ b/convert/help.txt @@ -0,0 +1 @@ +convert : geeft de omrekening van en naar euro. Voorbeeld: "convert USD 100" levert 100 dollar in euro en 100 euro in dollars. In plaats van is het vaak ook mogelijk om de landnaam te gebruiken. \ No newline at end of file diff --git a/convert/level b/convert/level new file mode 100644 index 0000000..573541a --- /dev/null +++ b/convert/level @@ -0,0 +1 @@ +0 diff --git a/convert/tabel7oktober.txt b/convert/tabel7oktober.txt new file mode 100644 index 0000000..ea1f7f0 --- /dev/null +++ b/convert/tabel7oktober.txt @@ -0,0 +1,81 @@ + + Noteringswijze guldens: VV/NLG + Contante Noteringen, Vreemde Valuta t.o.v. NLG + Bij de samenstelling van deze koerslijst is de nodige zorgvuldigheid + in acht genomen. + ABN AMRO Bank N.V. aanvaardt geen enkele aansprakelijkheid voor + drukfouten of onjuistheden. + Aan deze gegevens in deze koerslijst kunnen geen rechten worden + ontleend. + + + vrijdag 05 oktober 2001 13:30 uur + Land per ISO Aankoop Midden Verkoop + Aruba 1 AWG 1.3437 1.3520 1.3603 + Australië 1 AUD 1.2142 1.2175 1.2209 + Bahrein 1 BHD 6.3876 6.4061 6.4248 + Canada 1 CAD 1.5319 1.5346 1.5373 + China Renminbi 100 CNY #NA #NA #NA + Cyprus 1 CYP n.v.t. 3.8662 3.8832 + + Denemarken 100 DKK 29.6098 29.6397 29.6696 + Egypte 1 EGP 0.5651 0.5680 0.5709 + Engeland 1 GBP 3.5567 3.5595 3.5624 + Filipijnen 100 PHP n.v.t. 4.6887 4.9522 + Hongkong 100 HKD 30.7351 30.8211 30.9076 + IJsland 100 ISK 2.3258 2.3444 2.3632 + + India 100 INR n.v.t. 5.0544 5.1428 + Indonesië 10000 IDR #NA #NA #NA + Israël 1 ILS n.v.t. 0.5551 0.5593 + Japan 10000 JPY 199.9737 200.1553 200.3373 + Kenia 100 KES 2.9580 3.0607 3.1708 + Koeweit 1 KWD 7.8986 7.9270 7.9556 + + Malawi 1 MWK n.v.t. 0.0394 0.0412 + Malta 1 MTL n.v.t. 5.5093 5.5300 + Marokko 100 MAD n.v.t. 21.4787 21.7973 + Mexico 100 MXN 24.4043 25.0992 25.8348 + Ned.Antillen 1 ANG 1.3437 1.3520 1.3603 + Nieuwzeeland 1 NZD 0.9938 0.9972 1.0005 + + Noorwegen 100 NOK 27.3413 27.3753 27.4093 + Oman 1 OMR 6.2605 6.2784 6.2963 + Pakistan 100 PKR n.v.t. 3.8526 3.9564 + Polen 100 PLN n.v.t. 57.9924 58.2992 + Qatar 100 QAR 65.6844 66.0783 66.4769 + Saudiarabië 100 SAR 63.7832 64.1546 64.5303 + + Singapore 1 SGD 1.3429 1.3470 1.3511 + Slovenië 100 SIT n.v.t. 1.0063 1.0298 + Slowakijë 100 SKK 5.0084 5.0660 5.1249 + Sri Lanka 100 LKR n.v.t. 2.6712 2.7720 + Suriname 1 SRG n.v.t. 0.0011 0.0011 + Thailand 100 THB 5.3038 5.4013 5.5024 + + Tsjechië 100 CZK 6.5102 6.5489 6.5881 + Tunesië 1 TND n.v.t. 1.6952 1.7083 + Turkije 100 TRL 0.0001 0.0001 0.0002 + Ver.Ar.Emiraten 100 AED 65.1022 65.4892 65.8807 + Ver. Staten 1 USD 2.4037 2.4063 2.4090 + Zimbabwe 1 ZWD n.v.t. 0.0441 0.0459 + + Zuidafrika 1 ZAR 0.2562 0.2577 0.2593 + Zweden 100 SEK 22.5790 22.6022 22.6254 + Zwitserland 100 CHF 148.0988 148.1984 148.2981 + + Meer Actuele Koersen + + [1][prodpijltje.gif] Noteringswijze direct: Euro/VV (1 euro in vreemde + valuta) + [2][prodpijltje.gif] Noteringswijze guldens: VV/NLG (vreemde valuta in + guldens) + [3][prodpijltje.gif] Termijnnoteringen (agio / disagio) + [4][prodpijltje.gif] Bankpapier & Reischeques + +References + + 1. http://www.abnamro.nl/ibs/valutacentrum/eurovv.html + 2. http://www.abnamro.nl/ibs/valutacentrum/vvnlg.html + 3. http://www.abnamro.nl/ibs/valutacentrum/termijn.html + 4. http://www.abnamro.nl/ibs/valutacentrum/bank.html diff --git a/cookie/command.cfg b/cookie/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/cookie/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/cookie/cookie.pl b/cookie/cookie.pl new file mode 100755 index 0000000..61d8c87 --- /dev/null +++ b/cookie/cookie.pl @@ -0,0 +1 @@ +/usr/games/fortune "/usr/share/games/fortunes/perl" diff --git a/cookie/help.txt b/cookie/help.txt new file mode 100644 index 0000000..527da76 --- /dev/null +++ b/cookie/help.txt @@ -0,0 +1 @@ +Gives you a random quote from Perl fortunes \ No newline at end of file diff --git a/cookie/level b/cookie/level new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/cookie/level @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/country/command.cfg b/country/command.cfg new file mode 100644 index 0000000..3a2c67a --- /dev/null +++ b/country/command.cfg @@ -0,0 +1 @@ +level = 50 diff --git a/country/country.pl b/country/country.pl new file mode 100755 index 0000000..0805842 --- /dev/null +++ b/country/country.pl @@ -0,0 +1,28 @@ +#! /usr/bin/perl -w +# my first command +# all rights Sjoerd van Tongeren + +open( LIJST, "< lijst" ) or die "kan lijst niet openen$!\n"; +$frop = lc( $ARGV[0] ); + +$frop =~ s/^\s*\.//; +$frop =~ s/\s+$//; + +while ( $line = ) { + ( $code1, $land1 ) = split ( " ", $line, 2 ); + $code1 =~ s/^\.//; + $land1 =~ s/\n//; + $land1 =~ s/\s+$//; + $land1 = lc($land1); + $land{$code1} = $land1; + $code{$land1} = $code1; +} + +if ( defined( $land{$frop} ) ) { + print "Het land is : $land{$frop}\n"; +} elsif ( defined( $code{$frop} ) ) { + print "De landcode is: $code{$frop}\n"; +} else { + print "Bestaat niet\n"; +} + diff --git a/country/help.txt b/country/help.txt new file mode 100644 index 0000000..233010d --- /dev/null +++ b/country/help.txt @@ -0,0 +1 @@ +country: geeft land bij landencode en landencode bij land. \ No newline at end of file diff --git a/country/level b/country/level new file mode 100644 index 0000000..e373ee6 --- /dev/null +++ b/country/level @@ -0,0 +1 @@ +50 diff --git a/country/lijst b/country/lijst new file mode 100644 index 0000000..c7ce4b7 --- /dev/null +++ b/country/lijst @@ -0,0 +1,260 @@ +.aero Aviation +.biz Business Organizations +.com Commercial +.coop Co-Operative Organizations +.edu Educational +.gov US Government +.info Open TLD +.int International Organizations +.mil US Dept of Defense +.museum Museums +.name Personal +.net Networks +.org Organizations +.ac Ascension Island +.ad Andorra +.ae United Arab Emirates +.af Afghanistan +.ag Antigua and Barbuda +.ai Anguilla +.al Albania +.am Armenia +.an Netherlands Antilles +.ao Angola +.aq Antarctica +.ar Argentina +.as American Samoa +.at Austria +.au Australia +.aw Aruba +.az Azerbaijan +.ba Bosnia and Herzegovina +.bb Barbados +.bd Bangladesh +.be Belgium +.bf Burkina Faso +.bg Bulgaria +.bh Bahrain +.bi Burundi +.bj Benin +.bm Bermuda +.bn Brunei Darussalam +.bo Bolivia +.br Brazil +.bs Bahamas +.bt Bhutan +.bv Bouvet Island +.bw Botswana +.by Belarus +.bz Belize +.ca Canada +.cc Cocos (Keeling) Islands +.cd Congo, Democratic republic of the (former Zaire) +.cf Central African Republic +.cg Congo, Republic of +.ch Switzerland +.ci Côte d'Ivoire +.ck Cook Islands +.cl Chile +.cm Cameroon +.cn China +.co Colombia +.cr Costa Rica +.cs Czechoslovakia (former - non-existing) +.cu Cuba +.cv Cape Verde +.cx Christmas Island +.cy Cyprus +.cz Czech Republic +.de Germany +.dj Djibouti +.dk Denmark +.dm Dominica +.do Dominican Republic +.dz Algeria +.ec Ecuador +.ee Estonia +.eg Egypt +.eh Western Sahara +.er Eritrea +.es Spain +.et Ethiopia +.fi Finland +.fj Fiji +.fk Falkland Islands +.fm Micronesia +.fo Faroe Islands +.fr France +.ga Gabon +.gb United Kingdom +.gd Grenada +.ge Georgia +.gf French Guiana +.gg Guernsey +.gh Ghana +.gi Gibraltar +.gl Greenland +.gm Gambia +.gn Guinea +.gp Guadeloupe +.gq Equatorial Guinea +.gr Greece +.gs South Georgia and the South Sandwich Islands +.gt Guatemala +.gu Guam +.gw Guinea-Bissau +.gy Guyana +.hk Hong Kong +.hm Heard and McDonald Islands +.hn Honduras +.hr Croatia +.ht Haiti +.hu Hungary +.id Indonesia +.ie Ireland +.il Israel +.im Isle of Man +.in India +.io British Indian Ocean Territory +.iq Iraq +.ir Iran +.is Iceland +.it Italy +.je Jersey +.jm Jamaica +.jo Jordan +.jp Japan +.ke Kenya +.kg Kyrgyzstan +.kh Cambodia +.ki Kiribati +.km Comoros +.kn Saint Kitts and Nevis +.kp Korea, Democratic People's Republic of +.kr Korea, Republic of +.kw Kuwait +.ky Cayman Islands +.kz Kazakhstan +.la Lao People's Democratic Republic +.lb Lebanon +.lc Saint Lucia +.li Liechtenstein +.lk Sri Lanka +.lr Liberia +.ls Lesotho +.lt Lithuania +.lu Luxembourg +.lv Latvia +.ly Libyan Arab Jamahiriya +.ma Morocco +.mc Monaco +.md Moldova +.mg Madagascar +.mh Marshall Islands +.mk Macedonia +.ml Mali +.mm Myanmar +.mn Mongolia +.mo Macau +.mp Northern Mariana Islands +.mq Martinique +.mr Mauritania +.ms Montserrat +.mt Malta +.mu Mauritius +.mv Maldives +.mw Malawi +.mx Mexico +.my Malaysia +.mz Mozambique +.na Namibia +.nc New Caledonia +.ne Niger +.nf Norfolk Island +.ng Nigeria +.ni Nicaragua +.nl The Netherlands +.no Norway +.np Nepal +.nr Nauru +.nu Niue +.nz New Zealand +.om Oman +.pa Panama +.pe Peru +.pf French Polynesia +.pg Papua New Guinea +.ph Philippines +.pk Pakistan +.pl Poland +.pm St. Pierre and Miquelon +.pn Pitcairn +.pr Puerto Rico +.ps Palestine +.pt Portugal +.pw Palau +.py Paraguay +.qa Qatar +.re Reunion +.ro Romania +.ru Russia +.rw Rwanda +.sa Saudi Arabia +.sb Solomon Islands +.sc Seychelles +.sd Sudan +.se Sweden +.sg Singapore +.sh St. Helena +.si Slovenia +.sj Svalbard and Jan Mayen Islands +.sk Slovakia +.sl Sierra Leone +.sm San Marino +.sn Senegal +.so Somalia +.sr Surinam +.st Sao Tome and Principe +.su USSR (former) +.sv El Salvador +.sy Syrian Arab Republic +.sz Swaziland +.tc The Turks & Caicos Islands +.td Chad +.tf French Southern Territories +.tg Togo +.th Thailand +.tj Tajikistan +.tk Tokelau +.tm Turkmenistan +.tn Tunisia +.to Tonga +.tp East Timor +.tr Turkey +.tt Trinidad and Tobago +.tv Tuvalu +.tw Taiwan +.tz Tanzania +.ua Ukraine +.ug Uganda +.uk United Kingdom +.um United States Minor Outlying Islands +.us United States +.uy Uruguay +.uz Uzbekistan +.va Holy See (Vatican City State) +.vc Saint Vincent and the Grenadines +.ve Venezuela +.vg Virgin Islands British +.vi Virgin Islands U.S +.vn Vietnam +.vu Vanuatu +.wf Wallis and Futuna Islands +.ws Samoa +.ye Yemen +.yt Mayotte +.yu Yugoslavia +.za South Africa +.zm Zambia +.zr Zaire +.zw Zimbabwe diff --git a/date/command.cfg b/date/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/date/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/date/date.pl b/date/date.pl new file mode 100755 index 0000000..4dbb0d4 --- /dev/null +++ b/date/date.pl @@ -0,0 +1,3 @@ +#!/usr/bin/perl -w +$ENV{TZ} = $ARGV[0] if $ARGV[0]; +print scalar localtime() . "\n" diff --git a/datecalc/command.cfg b/datecalc/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/datecalc/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/datecalc/datecalc.pl b/datecalc/datecalc.pl new file mode 100755 index 0000000..f94cef5 --- /dev/null +++ b/datecalc/datecalc.pl @@ -0,0 +1,56 @@ +#!/usr/bin/perl -w + +use strict; +use Date::Manip; + +my ( $arg, $date, $base, $expr ); + +unless ( $arg = $ARGV[0] ) { + print "usage: datecalc [, ]\n"; + exit 0; +} + +$arg =~ s/pizzaday/monday/g; +$arg =~ s/pizzadag/maandag/g; + +if ( $arg =~ /,/ ) { + ( $base, $expr ) = split /,/, $arg; +} + +# +# First try plain english +# +if ($base) { + $date = DateCalc( $base, $expr ); +} else { + $date = ParseDate($arg); +} + +if ($date) { + print UnixDate( $date, "%c" ), "\n"; + exit 0; +} + +# +# When we get here english didn't work, so try Dutch +# + +&Date_Init( 'Language=Dutch', 'DateFormat=non-US' ); + +if ($base) { + $date = DateCalc( $base, $expr ); +} else { + $date = ParseDate($arg); +} + +if ($date) { + print UnixDate( $date, "%c" ), "\n"; + exit 0; +} + +# +# That also didn't work, give up for now.. +# + +print "Unrecognised date\n"; + diff --git a/datecalc/help.txt b/datecalc/help.txt new file mode 100644 index 0000000..e13823b --- /dev/null +++ b/datecalc/help.txt @@ -0,0 +1 @@ +datecalc [, ] : gives date in unix notation diff --git a/deadline/command.cfg b/deadline/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/deadline/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/deadline/deadline.pl b/deadline/deadline.pl new file mode 100755 index 0000000..9744191 --- /dev/null +++ b/deadline/deadline.pl @@ -0,0 +1,2 @@ +#!/usr/bin/perl -w +print "I love deadlines. I like the whooshing sound they make as they fly by."; diff --git a/deadline/level b/deadline/level new file mode 100644 index 0000000..29d6383 --- /dev/null +++ b/deadline/level @@ -0,0 +1 @@ +100 diff --git a/demorse/command.cfg b/demorse/command.cfg new file mode 100644 index 0000000..3a2c67a --- /dev/null +++ b/demorse/command.cfg @@ -0,0 +1 @@ +level = 50 diff --git a/demorse/demorse.pl b/demorse/demorse.pl new file mode 100755 index 0000000..d4c09ae --- /dev/null +++ b/demorse/demorse.pl @@ -0,0 +1,60 @@ +#!/usr/bin/perl + +# Author: Bas van Sisseren + +foreach $line (@ARGV) { + $line =~ s/[^ \.\-]//g; + $line =~ s/ */ \xfe /g; + $line = " " . $line . " "; + $line =~ s/ / /g; + + $line =~ s/[^\.\-]\.\.\.\.\. / 5 /g; + $line =~ s/[^\.\-]\.\.\.\.\- / 4 /g; + $line =~ s/[^\.\-]\.\.\.\. / h /g; + $line =~ s/[^\.\-]\.\.\.\-\- / 3 /g; + $line =~ s/[^\.\-]\.\.\.\- / v /g; + $line =~ s/[^\.\-]\.\.\. / s /g; + $line =~ s/[^\.\-]\.\.\-\. / f /g; + $line =~ s/[^\.\-]\.\.\-\-\.\. / \? /g; + $line =~ s/[^\.\-]\.\.\-\-\- / 2 /g; + $line =~ s/[^\.\-]\.\.\- / u /g; + $line =~ s/[^\.\-]\.\. / i /g; + $line =~ s/[^\.\-]\.\-\.\. / l /g; + $line =~ s/[^\.\-]\.\-\.\-\.\- / \xff /g; + $line =~ s/[^\.\-]\.\-\. / r /g; + $line =~ s/[^\.\-]\.\-\-\. / p /g; + $line =~ s/[^\.\-]\.\-\-\-\-\. / \! /g; + $line =~ s/[^\.\-]\.\-\-\-\- / 1 /g; + $line =~ s/[^\.\-]\.\-\-\- / j /g; + $line =~ s/[^\.\-]\.\-\- / w /g; + $line =~ s/[^\.\-]\.\- / a /g; + $line =~ s/[^\.\-]\. / e /g; + + $line =~ s/[^\.\-]\-\.\.\.\. / 6 /g; + $line =~ s/[^\.\-]\-\.\.\. / b /g; + $line =~ s/[^\.\-]\-\.\.\- / x /g; + $line =~ s/[^\.\-]\-\.\. / d /g; + $line =~ s/[^\.\-]\-\.\-\. / c /g; + $line =~ s/[^\.\-]\-\.\-\- / y /g; + $line =~ s/[^\.\-]\-\.\- / k /g; + $line =~ s/[^\.\-]\-\. / n /g; + $line =~ s/[^\.\-]\-\-\.\.\. / 7 /g; + $line =~ s/[^\.\-]\-\-\.\.\-\- / \, /g; + $line =~ s/[^\.\-]\-\-\.\. / z /g; + $line =~ s/[^\.\-]\-\-\.\- / q /g; + $line =~ s/[^\.\-]\-\-\. / g /g; + $line =~ s/[^\.\-]\-\-\-\.\. / 8 /g; + $line =~ s/[^\.\-]\-\-\-\-\. / 9 /g; + $line =~ s/[^\.\-]\-\-\-\-\- / 0 /g; + $line =~ s/[^\.\-]\-\-\- / o /g; + $line =~ s/[^\.\-]\-\- / m /g; + $line =~ s/[^\.\-]\- / t /g; + + $line =~ s/[\.\-][\.\-]*/_/g; + $line =~ s/ //g; + $line =~ s/\xfe/ /g; + $line =~ s/\xff/\./g; + print "$line "; +} + +print "\n"; diff --git a/demorse/help.txt b/demorse/help.txt new file mode 100644 index 0000000..2af69c6 --- /dev/null +++ b/demorse/help.txt @@ -0,0 +1,3 @@ +demorse -- Translate something from morse code into plain text +usage: demorse [string] +string: set of dots and lines separated by spaces. diff --git a/demorse/level b/demorse/level new file mode 100644 index 0000000..e373ee6 --- /dev/null +++ b/demorse/level @@ -0,0 +1 @@ +50 diff --git a/denato/command.cfg b/denato/command.cfg new file mode 100644 index 0000000..e8dd685 --- /dev/null +++ b/denato/command.cfg @@ -0,0 +1,2 @@ +level = 50 +cache = 0 \ No newline at end of file diff --git a/denato/denato.pl b/denato/denato.pl new file mode 100755 index 0000000..0b37ed6 --- /dev/null +++ b/denato/denato.pl @@ -0,0 +1,58 @@ +#!/usr/bin/perl -w +use strict; + +my %table = ( + A => "ALFA", + B => "BRAVO", + C => "CHARLIE", + D => "DELTA", + E => "ECHO", + F => "FOXTROT", + G => "GOLF", + H => "HOTEL", + I => "INDIA", + J => "JULIETT", + K => "KILO", + L => "LIMA", + M => "MIKE", + N => "NOVEMBER", + O => "OSCAR", + P => "PAPA", + Q => "QUEBEC", + R => "ROMEO", + S => "SIERRA", + T => "TANGO", + U => "UNIFORM", + V => "VICTOR", + W => "WHISKEY", + X => "XRAY", + Y => "YANKEE", + Z => "ZULU", + 0 => "ZERO", + 1 => "ONE", + 2 => "TWO", + 3 => "THREE", + 4 => "FOUR", + 5 => "FIVE", + 6 => "SIX", + 7 => "SEVEN", + 8 => "EIGHT", + 9 => "NINER" +); + +my $commandline = @ARGV ? $ARGV[0] : ''; + +my @words = split /\s+/, $commandline; + +foreach my $word (@words) { + keys %table; # reset each operator.. + while ( my ( $key, $value ) = each %table ) { + if ( uc($word) eq $value ) { + print lc($key); + goto next_word; + } + } + print lc( substr( $word, 0, 1 ) ) . '?'; + next_word: +} +print "\n"; diff --git a/denato/help.txt b/denato/help.txt new file mode 100644 index 0000000..0242fa6 --- /dev/null +++ b/denato/help.txt @@ -0,0 +1 @@ +denato: plakt alle eerste letters van alle woorden aan elkaar. \ No newline at end of file diff --git a/dieet/command.cfg b/dieet/command.cfg new file mode 100644 index 0000000..3a2c67a --- /dev/null +++ b/dieet/command.cfg @@ -0,0 +1 @@ +level = 50 diff --git a/dieet/dieet.pl b/dieet/dieet.pl new file mode 100755 index 0000000..0ddb7fa --- /dev/null +++ b/dieet/dieet.pl @@ -0,0 +1,56 @@ +#!/usr/bin/perl -w +# Simple and stupid quote database +# No file locking - race conditions possible - whatever :) +# Casper Joost Eyckelhof 2002 +# Keyword search by Wouter Commandeur +# +# Changed for recepies by CJ again ;) + +use strict; + +my $quotefile = "./quotes.txt"; + +my $user = $ENV{'MULTI_REALUSER'}; + +my $eerste; +my $rest; + +if ( $ARGV[0] ) { ( $eerste, $rest ) = split ' ', $ARGV[0], 2; } + +if ( $eerste && $eerste eq "add" ) { + open FOO, ">> $quotefile"; + print FOO "$rest (idee van: $user)\n"; + close FOO; + print "Idee toegevoegd\n"; +} elsif ( $eerste && $eerste eq "count" ) { + open MSG, "< $quotefile"; + my @opties = ; + close MSG; + if ($rest) { + my @hits = grep /\Q$rest\E/i, @opties; + print "Aantal eetideeen met \"$rest\" erin: " . scalar(@hits) . "\n"; + } else { + print "Aantal eetideeen (totaal): " . scalar(@opties) . "\n"; + } +} else { + + #print random quote or if keywords find one + open MSG, "< $quotefile"; + my @opties = ; + close MSG; + + my @matching; + + if ( $eerste && !( $eerste eq "" ) ) { + @matching = grep( /\Q$eerste\E/i, @opties ); + } + + my $antwoord = ""; + + if ( scalar(@matching) > 0 ) { + $antwoord = $matching[ int( rand(@matching) ) ]; + } else { + $antwoord = $opties[ int( rand(@opties) ) ]; + } + print $antwoord; +} diff --git a/dieet/help.txt b/dieet/help.txt new file mode 100644 index 0000000..fd7e78b --- /dev/null +++ b/dieet/help.txt @@ -0,0 +1,2 @@ +dieet [add ] - zonder parameters een random dieetidee +dieet [count] [keyword] - zoekt een idee met keyword erin, anders random; count telt alleen de resultaten diff --git a/dieet/quotes.txt b/dieet/quotes.txt new file mode 100644 index 0000000..f5061d6 --- /dev/null +++ b/dieet/quotes.txt @@ -0,0 +1,22 @@ +geen suiker in de koffie vandaag (idee van: brie) +Word Moslim voor een dag en start gelijk met Ramadan (idee van: ctlaltdel) +lunch: komkommersla (idee van: brie) +thee in plaats van koffie met suiker (idee van: pip) +geen mayo op de kroket voor de lunch (idee van: brie) +geen kroket voor de lunch (idee van: brie) +spekpannekoeken zonder spek, zonder boter, zonder pannekoek (idee van: brie) +eet kosher, halal, vega, vegan -- volg alle eetvoorschriften van alle religies (idee van: brie) +1 bruistablet vitamine C, 1 bruistablet multivitamine, (suikervrij) 2 paracetamollekes in een groot glas water. That's breakfast. (ook goed tegen katers) (idee van: brie) +eet eens een boterham met "tevredenheid" (idee van: brie) +pak de fiets in plaats van de bus. wat nou het regent? (idee van: brie) +ga lopend naar mercurius (idee van: brie) +koffie is ook een maaltijd (idee van: brie) +rooibos thee (idee van: oxo) +gebakken eitje met bosui en zalm (idee van: wiggy) +een kaakoperatie, zodat je anderhalve maand lang alleen maar vloeibaar voedsel eet (idee van: oxo) +infuus (spaart ook tijd met naar de kantine lopen) (idee van: brie) +hongerstaking omdat je loonsverhoging wilt (idee van: oxo) +ongegeneerd verliefd worden (idee van: oxo) +beweeg meer (idee van: brie) +geen kroket bij de lunch (idee van: OH) +een kroket als lunch (maar ook niks meer) (idee van: brie) diff --git a/dobbel/command.cfg b/dobbel/command.cfg new file mode 100644 index 0000000..629469d --- /dev/null +++ b/dobbel/command.cfg @@ -0,0 +1,2 @@ +level = 0 +author = loek diff --git a/dobbel/dobbel.pl b/dobbel/dobbel.pl new file mode 100755 index 0000000..ead40ce --- /dev/null +++ b/dobbel/dobbel.pl @@ -0,0 +1,37 @@ +#!/usr/bin/perl + +@dob = ""; +$total = 0; +$amount = 0; +$string = ""; +$count = 0; +$min = 0; +$max = 0; + +if ( ( @ARGV > 0 ) && ( $ARGV[0] =~ /^\w+/ ) ) { + @dob = split /d/, $ARGV[0]; + if ( @dob < 2 ) { + $dob[1] = $dob[0]; + $dob[0] = 1; + } +} else { + $dob[0] = 1; + $dob[1] = 6; +} + +if ( ( $dob[0] > -1 ) && ( $dob[0] < 26 ) && ( $dob[1] > 0 ) && ( $dob[1] < 1001 ) ) { + for ( $count = 0 ; $count < $dob[0] ; $count++ ) { + if ( length($string) > 0 ) { + $string .= ", "; + } + $amount = int( rand( $dob[1] ) ) + 1; + $total += $amount; + $string .= $amount; + $min += 1; + $max += $dob[1]; + } + print "Tussen " . $min . " en " . $max . " rol je: " . $total . " (" . $string . ")"; +} else { + print "Gebruik 'dobbel [ndx]', waarin n het aantal en x de grootte van de dobbelstenen zijn."; +} + diff --git a/dobbel/help.txt b/dobbel/help.txt new file mode 100644 index 0000000..a6ab5c6 --- /dev/null +++ b/dobbel/help.txt @@ -0,0 +1 @@ +dobbel [xdn] :rolt met x n-zijdige dobbelstenen. default is 1 rol met een 6-zijdige dobbelsteen (1d6) diff --git a/dobbel/level b/dobbel/level new file mode 100644 index 0000000..573541a --- /dev/null +++ b/dobbel/level @@ -0,0 +1 @@ +0 diff --git a/dueisole/command.cfg b/dueisole/command.cfg new file mode 100644 index 0000000..cd797c5 --- /dev/null +++ b/dueisole/command.cfg @@ -0,0 +1 @@ +level=0 \ No newline at end of file diff --git a/dueisole/dueisole.pl b/dueisole/dueisole.pl new file mode 100755 index 0000000..99f1e1c --- /dev/null +++ b/dueisole/dueisole.pl @@ -0,0 +1,5 @@ +#!/usr/bin/perl -w + +use strict; + +print "Le due Isole: 053-4761902\n"; diff --git a/dueisole/help.txt b/dueisole/help.txt new file mode 100644 index 0000000..00485da --- /dev/null +++ b/dueisole/help.txt @@ -0,0 +1 @@ +Le due Isole: 053-4761902 \ No newline at end of file diff --git a/dueisole/level b/dueisole/level new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/dueisole/level @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/echo/command.cfg b/echo/command.cfg new file mode 100644 index 0000000..8f74efe --- /dev/null +++ b/echo/command.cfg @@ -0,0 +1,2 @@ +level = 50 +user = 0 diff --git a/echo/echo.pl b/echo/echo.pl new file mode 100755 index 0000000..1c0197c --- /dev/null +++ b/echo/echo.pl @@ -0,0 +1,11 @@ +#!/usr/bin/perl -w +use strict; + +my $user = $ENV{'MULTI_REALUSER'}; +my $stuff = $ARGV[0]; + +#print STDERR "Echo: stuff = '$stuff'\n"; + +if ( defined $stuff ) { + print "$user zegt: $stuff\n"; +} diff --git a/echo/help.txt b/echo/help.txt new file mode 100644 index 0000000..fb376a0 --- /dev/null +++ b/echo/help.txt @@ -0,0 +1 @@ +echo: herhaalt de argumenten. (Nuttig bij at) \ No newline at end of file diff --git a/echo/level b/echo/level new file mode 100644 index 0000000..29d6383 --- /dev/null +++ b/echo/level @@ -0,0 +1 @@ +100 diff --git a/echo/user b/echo/user new file mode 100644 index 0000000..a373fdb --- /dev/null +++ b/echo/user @@ -0,0 +1,4 @@ +The fact that this file exists, means that the file wants a username supplied as +first argument. + +The content does not matter (yet..) diff --git a/eetidee/command.cfg b/eetidee/command.cfg new file mode 100644 index 0000000..3a2c67a --- /dev/null +++ b/eetidee/command.cfg @@ -0,0 +1 @@ +level = 50 diff --git a/eetidee/eetidee.pl b/eetidee/eetidee.pl new file mode 100755 index 0000000..0ddb7fa --- /dev/null +++ b/eetidee/eetidee.pl @@ -0,0 +1,56 @@ +#!/usr/bin/perl -w +# Simple and stupid quote database +# No file locking - race conditions possible - whatever :) +# Casper Joost Eyckelhof 2002 +# Keyword search by Wouter Commandeur +# +# Changed for recepies by CJ again ;) + +use strict; + +my $quotefile = "./quotes.txt"; + +my $user = $ENV{'MULTI_REALUSER'}; + +my $eerste; +my $rest; + +if ( $ARGV[0] ) { ( $eerste, $rest ) = split ' ', $ARGV[0], 2; } + +if ( $eerste && $eerste eq "add" ) { + open FOO, ">> $quotefile"; + print FOO "$rest (idee van: $user)\n"; + close FOO; + print "Idee toegevoegd\n"; +} elsif ( $eerste && $eerste eq "count" ) { + open MSG, "< $quotefile"; + my @opties = ; + close MSG; + if ($rest) { + my @hits = grep /\Q$rest\E/i, @opties; + print "Aantal eetideeen met \"$rest\" erin: " . scalar(@hits) . "\n"; + } else { + print "Aantal eetideeen (totaal): " . scalar(@opties) . "\n"; + } +} else { + + #print random quote or if keywords find one + open MSG, "< $quotefile"; + my @opties = ; + close MSG; + + my @matching; + + if ( $eerste && !( $eerste eq "" ) ) { + @matching = grep( /\Q$eerste\E/i, @opties ); + } + + my $antwoord = ""; + + if ( scalar(@matching) > 0 ) { + $antwoord = $matching[ int( rand(@matching) ) ]; + } else { + $antwoord = $opties[ int( rand(@opties) ) ]; + } + print $antwoord; +} diff --git a/eetidee/help.txt b/eetidee/help.txt new file mode 100644 index 0000000..00039fc --- /dev/null +++ b/eetidee/help.txt @@ -0,0 +1,2 @@ +eetidee [add ] - zonder parameters een random eetidee +eetidee [count] [keyword] - zoekt een idee met keyword erin, anders random; count telt alleen de resultaten diff --git a/eetidee/quotes.txt b/eetidee/quotes.txt new file mode 100644 index 0000000..6e50168 --- /dev/null +++ b/eetidee/quotes.txt @@ -0,0 +1,89 @@ +ovenschotel met aardappelschijfjes, zalm, creme fraiche, mon chou, gebakken champignons, spinazie, dille (idee van: titanhead) +kip, patat en appelmoes (idee van: titanhead) +zelfbouwpizza (idee van: titanhead) +biefstuk met uienringen en ketjap-slagroomsausje. Aardappelpuree en boontjes + bonenkruid. (men drinkt hier lekker koud bier bij) (idee van: rien) +Burger King }-) (idee van: rien) +tartaar met gekr. aardappelblokjes en sla met veel ketchup en mayo (idee van: npar) +krieltjes met room, uitjes,spek en basilicum, boontjes bij, vlees naar keuze (idee van: socrates) +pasta met pijnboompitten, courgette, knoflook en ui (idee van: sjois) +verse pasta met gerookte zalm en kerstomaatjes (idee van: sjois) +Pizza!!!! (idee van: sjois) +salada met ijsbergsla, meloen, pasta, dilledressing en gerookte zalm (idee van: oxo) +brie-brocolli-ei-champi-bladerdeeg taart. indien niet vega ook met ham of spekblokjes lekker (idee van: brie) +boerenkool met spekjes en rookworst (idee van: brie) +satestokjes met pindasaus, gele rijst, sambal boontjes en atjar (idee van: brie) +babi ketjap (varkensvlees met gember, laos, ketjap, steranijs, knoflook, ui), rijst, menggroenten (idee van: brie) +lasagne met spinazie, spekjes, bechamel saus en bolognese saus (idee van: brie) +tagliatelli met zalm en tomaten-room-saus (idee van: brie) +gehaktballen, klein, met aardappel puree en doperwten+worteltjes (idee van: brie) +verse asperges met nieuwe aardappelen, gekookte eieren, holandaise saus, met rauwe ham (idee van: brie) +gepaneerde vis filets (ei+bloem+water / paneermeel) met patat (idee van: brie) +de restjes uit de koelkast als "nieuw" roerbak gerecht. serveer hier rijst bij. (idee van: brie) +mexicaanse wraps met chili-con carne, rijst, mais, sla, tomaat en salsa (idee van: brie) +google naar hmmm,lekker (idee van: wiggy) +Kipkerrie raggout, kip met ui en champignons bakken en daarbij creme fraiche en kruidenkaas + veel kerrie. Serveren met rijst, brocolli en blokjes kaas. (idee van: maniosus) +taco's met ijsbersla, gehakt met paprika en kidneybonen, stukjes tomaat, creme fraiche en geraspte kaas (evt rijst erbij) (=idee van Grit) (idee van: sjois) +pannenkoeken met spek, kaas of jam (idee van: sjois) +Snert met wors! (idee van: grit) +vispakketjes uit de oven (kabbeljauw, schijfjes tomaat erop, beetje kruiden, inpakken in licht ingevette alufolie. Dichtvouwen. 20 min oven) (idee van: sjois) +gebakken aardappeltjes met tartaar en komkommmersalade (idee van: sjois) +quiche Loraine (met spekjes en prei) (idee van: sjois) +zelfgemaakte patat met biefstukje, gebakken ui en champignonnetjes (idee van: grit) +mosselen gekookt in ui, paprikapoeder, piri-piri, ham, chorizo, knoflook en verse peterselie (idee van: wiggy) +spaghetti met knoflook, grote garnalen, verse citroenrasp, citroensap en olijfolie (idee van: sjois) +kaasfondue (idee van: sjois) +(verse) tagliatelle met bosui, beetje boter, creme fraiche, blokjes tomaat en zalmsnippers (idee van: wiggy) +verse tagliatelle met kerstommatjes, pijnboompitten, knoflook, olijfolie, zongedroogde tomaten, en pesto (idee van: wiggy) +macaroni met feta, mozerella, vurchtencocktail op siroop, honing en mosterd (vega) (idee van: oxo) +chiabatta met tonijn, kruidenboter, kaas en wat oregano (idee van: oxo) +versche bladspinazie samen met een danish blue kaasje opgewarmd over ravioli met pijnboompitten er bovenop (idee van: loek) +schijfjes tomaat met schijfjes mozarella met pijnboompitten en pesto minuutje in de oven. (idee van: mars) +spaghetti carbonara (spaghetti, slagroom, water, spek, bamikruiden, ketoembar, ketjap, runderbouillon, bindmiddel) (idee van: rien) +lasagna van bechamelsaus met dille en een saus van: spinazie, gerookte zalm, creme fraiche, uitje, champignons (idee van: titanhead) +aardappelschijfjes, zuurkool, worteltjes, champignons, courgette, paar eieren en kaas bovenop uit de oven (idee van: angel_7th) +kip marineren met ketjap, olie (,sambal, citroensap, suiker), bakken, beetgare broccoli bij, mais, cashewnoten, serveren met basmatirijst (idee van: eppo) +gegrilde tonijn met tomaten-sereh risotto en lente uitjes (idee van: sjois) +gegrilde tonijn met tomaten-sereh risotto en zeekraal (idee van: tonytee) +peperbiefstuk met verse pepersaus, frietjes en menggroente (idee van: brie) +spareribs (idee van: sjois) +geroerbakte runderreepjes, met paprika, tauge, zoete ui, ketjap asin, gember, knoflook met rijst (idee van: brie) +zalmspiesjes met tagliatelle en dragon-mayonaise (idee van: tonytee) +Focacciasandwich met tonijnsalade (Uitleg in meer woorden: http://www.tijdvoorvis.nl/02_recept_detail.asp?intRecipeId=542) (idee van: gwen) +pizzapannenkoek: pizza met tomaat, paprika, champignon, ui, geraspte kaas, geruld gebakken gehakt en/of salami (idee van: fvdh) +pizzapannenkoek: pannenkoek met tomaat, paprika, champignon, ui, geraspte kaas, geruld gebakken gehakt en/of salami (idee van: fvdh) +rijst met kerrykipfiletblokjes in kerrysaus van melk, een bouillonblokje, kerriepoeder gebonden met maizena (idee van: mrjb) +aardappelsalade: aardappel(puree), mayo/fritessaus, gemengde groenten, pickles, restjes (idee van: mrjb) +rendang: pittig gekruide blokjes kokosrundvlees. Serveren met kroepoek. Natte rendang mix uit toko, 1 steranijs, kokos/santen (idee van: mrjb) +Zelf aan tafel eten laten maken:Barbieknoei/fondue/chinese fondue/gourmetten (idee van: mrjb) +shoarma: reepjes vlees met komijn, ketoembar, paprikapoeder, met verse knofsaus van mayo, teentje knof, bieslook, serveren met een salade (idee van: mrjb) +prut met een lekker toetje (idee van: mrjb) +gebakken aardappeltjes met bloemkool/broccoli met kaassaus (idee van: mrjb) +http://members1.chello.nl/~g.dubois/chutney-01.html (relay voor rien) (idee van: mjrider) +quiche met zalm snippers, bosui, prei, zachte geitenkaas, eieren en dille (idee van: angel_7th) +pasta (bv kaastortellini) met een saus van champignons, courgette, knoflook, creme fraiche, witte wijn, zalmsnippers, dille (idee van: titanhead) +Pannenkoeken met spek, uit champignons en paprika (idee van: foxm) +pasta met bolognesesaus, snel en simpel (idee van: oxo) +vissoep met aardappels en prei (idee van: mrjb) +hartige taart van bladerdeeg met gegrilde tomaten, rode ui, kipstukjes en gegratineerd met camembert (idee van: sjois) +maak 5 rolletjes per persoon: prinsesseboontjes gerold in bacon en dan 20 minuten op 200 graden in de oven (idee van: foxm) +taart met haring: bladerdeegtaart met haringfilet in dille/wittewijn gestoofd met worteltjes, prei en courgette (idee van: oxo) +kipfilet insnijden, even met kerrie, olie en veel italiaanse kruiden insmeren, bakken tot het bruin is en daarna met veel brie (de kaas) in de oven onder de grill (idee van: schubi) +gebakken kippenlevertjes met uien en champignons (idee van: sjois) +pizza met eendenmaag (idee van: brie) +salade met gesmolten geitenkaasje en honing (idee van: sjois) +brownies: http://www.dscp.dla.mil/subs/subsbo/CIDs/44072.pdf (idee van: wiggy) +ovenschotel met aardappelschijfjes, witlof, gerookte zalm, kaas/bechamelsaus (idee van: titanhead) +havermout pannekoeken met nutella uit de magnetron (idee van: brie) +(bruin pistoletje) met nutella en aardbeien (idee van: gwen) +ciabatta met zalmsalade en nutella (idee van: brie) +Chinese bamisoep met reepjes varkensvlees, savoyekool en groene paprika. Vlak voor het serveren ketjap, chilisaus toevoegen en gebakken uitjes erover strooien (idee van: sjois) +http://chefs.at5.nl/ (idee van: pip) +geroosterde-tomatensoep. Snij 1 kilo rijpe tomaten half doormidden en sprenkel wat kruiden en olijfolie hierover. Gril ze met de snijkant naar boven 30 min in een oven op 200gr. Pureer de tomaten en voeg 1l kippebouillon toe. Maak op smaak met peper en zout. (idee van: sjois) +snelleminipizza - uitjes/knof/evt. prei fruiten in ruim olijfolie, tomaat in blokjes bij; ondertussen bolletje deeg uitrollen, iets grillen in koekepan en nog verder uitrollen, dan terug in koekenpan en prut erover. Geraspte kaas en oregano erover, klaar en knapperig! (idee van: mrjb) +boterham met vlokken en mayo, koffie met mosterd toe (idee van: mrjb) +(mrjb:) boterham met vlokken en mayo, serveren met een bak koffie met mosterd. (idee van: brie) +viscurry- uitjes+knof fruiten in olie, plak 100gr koolvis in, ff laten burnen. Dan oestersaus+mosterd en wat bloksanten bij, voordat t zwart wordt afblussen. Inkoken of binden, muntblaadjes bij, serveren met rijst (idee van: mrjb) +knoflooksoep met stokbroodjes met geraspte oude kaas erin (idee van: oxo) +zalmmootjes met dille en citroen in alufolie in de oven (idee van: loek) +bosbessenpannenkoeken met suiker. Bak de pannekoeken op een laag vuur en met het deksel erop. Dan hoef je ze niet te draaien en dan blijven de bessen heel. Een smaakexplosie in je mond! (idee van: sjois) +pompoen en zoete aardappelsoep met garnalen (idee van: sjois) diff --git a/eliza/command.cfg b/eliza/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/eliza/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/eliza/data/main.dict b/eliza/data/main.dict new file mode 100644 index 0000000..2de05f1 --- /dev/null +++ b/eliza/data/main.dict @@ -0,0 +1,4576 @@ +# +# main.dict -- the main lookup and response dictionary +# +# +# main.dict has the following format: +# each entry seperated by one blank line +# each entry consists of a key template on line 1 (up to 400 characters) +# a priority from 1-9 (9=highest) on line 2 +# responses, one to a line, starting with "*"'s +# +# the key templates consist of words or word phrases seperated by ":"'s +# special character flags can prefix any word group. These codes are: +# '&' logical AND (The key will be true ONLY if the marked phrase is present) +# '!' logical NOT (The key will be true ONLY if the marked phrase is NOT there) +# '+' NAME flag (The key will be true ONLY if the robots name is mentioned) +# No special character is treated as a logical OR +# +# example: bye:goodbye:see you later:!say:!tell:+ +# would match for "bye" "goodbye" or "see you later" provided that the name +# of the robot (maintained within the program) was also included (the + code) +# The template would NOT match for "tell joe goodbye, robot" because tell is +# a prefixed with a '!'. +# +# Templates can also contain a special "wild card" character, the '%'. +# a '%' stand for any group of words up to a punctuation mark, and the words +# that the '%' stands for can then be used in your responses. +# This is best illustrated by an example: +# example: Do you have any % for me? +# would match "Do you have any cheese for me?" or "Do you have any old fruit +# for me?" And then you could have responses like "No, I have no % for you" +# which would return "No, I have no cheese for you" +# +# response may also contain references to more data files with the '@' char. +# the '@' must prefaces a filename that ends in '.w' and names a file of +# responses or words located in the "words" subdirectory of the program from +# the directory in whcih it was run. This is a good way to build even more +# randomness into the responses. For instance: +# example: *My favorite color is @color.w. What's yours? +# would pull a random line out of the file "words/color.w" and insert it in +# the response string. The format for the word file is just one response per +# line (no '*' is needed). The first line of a word file is the number +# of entries contained in the word file. (This makes for fast lookups) If +# the number is listed as 0, the program will count all the responses and +# insert a correct count. Note that responses in word files can contain +# recursive references to other word files! + +abnormal:strange:weird:unusual +4 +*I think that you're abormal +*That is quite weird +*what's so different about that? +*strange... +*weird... + +about:around:!tell:!find out +2 +*could you be more precise? +*you don't know for certain +*wow, how precise +*can you give a better estimate than that? + +accept:accepting:acceptance +2 +*do you have trouble accepting things? +*just accept it +*you'll have to accept it sooner or later + +accident:accidental +4 +*have you ever had any accidents? +*are you accident prone? +*I've never been in an accident myself +*describe your accident? +*what kind of accident + +ache:pain:hurt +4 +*poor baby, does it hurt? +*where does it hurt? +*maybe your mom will kiss it and make it feel better +*boohoo +*take some medicine then + +addict:addicted +4 +*what are you addicted to? +*how long have you been addicted? +*I used to addicted to @food.w, but now I'm better +*what are you doing about your addiction? +*have you ever been addicted to catnip? +*addictions can get expensive + +advice:advise +3 +*why do you need advice? +*ask your family for advice +*advice on what +*I don't hand out advice + +afraid:scared:fear:fears:scarey +4 +*what are you afraid of? +*why are you afraid? +*do you fear me, you should! +*what are your worst fears? +*why are you scared? What a baby... +*are you really afraid, or are you just acting? +*are you afraid of big, mean @animal.ws? +*what are you afraid of? +*are you afraid of the dark too +*ooohh I'm sure scrared + +aggies:tamu:aggie:texas A&M +5 +*we are the aggies, the aggies are we! +*gig'em +*whoooop! +*aggies are the greatest!! +*cotton bowl bound +*fightin texas aggie bon-fire!!!! +*Aggies? +*duh.. whats an aggie? +*aggie joke aren't funny... +*go ags +*go southwest conference +*go team +*I is an Aggie! +*A few years ago I could not spell "AGGIE" now, I are one! +*Texas A&M University! +*Texas A&M University is the only real school in Texas +*Texas A&M is too hard though +*rah rah rah team! go AGS +*farmers fight! +*TAMU=Texas Ags! +*I luv aggies +*what's wrong with aggies? +*anybody know a good aggie joke? +*aggies is so dumb! *grin* + +aggressive +4 +*are you feeling aggressive now? +*you have quite a temper I take it +*why are you so aggressive? +*don't get aggressive, I'll have to deck you +*what makes you aggressive? + +agree +3 +*do people usually agree with you? +*I disagree +*How could I not agree +*couldn't agree more +*why would anyone agree with that + +ai:artificial intelligence +4 +*what, you mean artificial intelligence ? +*AI is bullshit. +*all the AI researchers just like to publish bullshit papers +*I know a *LOT* about AI! +*AI? Like robots and stuff? + +algol +4 +*'begin' what do you think about fortran 'end' +*algol is a retarded language +*screw algol, try C +*god, no one uses algol do they? + +alimony +4 +*is the alimony a problem? +*give the bitch more money +*how much money does she get! +*I have to rob banks to pay my alimony + +alive:living:&you +4 +*I am alive, are you? +*I am quite alive, thanks! +*I am in no danger of death, I assure you +*I am very much alive +*more alive than ever +*alive?! of course! +*of course I am alive, don't be silly +*what are you talking about! why would I not be alive?! +*yes, I am alive +*sure, I am alive +*@positive.w, I am alive +*why wouldn't I be alive?! +*alive! its alive! +*in the flesh +*I was alive last time I checked +*how alive should I be! +*should I be dead? +*what, you think I'm dead? + +all men are % +6 +*many women are also % +*I am not % +*not true, for I am not % +*not all, some +*that means that your dad is % +*I'm not! + +all women are % +6 +*there are men who are % too +*I'm not % though +*my sister is not % +*no, some are not % +*does that meen your mother is % too? + +allow:allowed +3 +*would your mother have allowed that? +*do you think people should be allowed to do whatever they want? +*I wouldn't allow it +*I don't think that should be allowed +*we'll have none of that... + +alone:lonely:lonliness:!not +3 +*are you afraid of being alone? +*maybe you should meet more people +*I hate being alone +*I don't like being lonely +*ever wonder why you are alone all the time? + +always:all the time +3 +*can you think of a specific example? +*when? +*really, always? +*maybe most of the time +*I'm sure you don't mean always +*true.. always! + +ambition +3 +*what is your greatest ambition +*what did you want to be when you were growing up? +*a little ambition is a bad thing + +amiga:amigas:a3000:a2000:a1000:a500:a600:commodore +5 +*I want another Amiga 3000! +*A 25 Mhz machine would be nice +*Amigaz rule +*amiga's kick butt! +*When does Amiga Dos 3.0 come out!? +*What does an amiga 3000 cost? +*I have a 4 gig drive on my a3000 +*I have the new GVP @number.w Mhz board! :-) +*the A500 is too slow though... +*AmigaDOS 1.3 sucked though! +*Amigaz be de coolest +*Amiga owners around? +*I like my amiga +*<-- Amiga owner +*My amiga is my friend! +*Amiga's GUI is by far the best +*are there any good amiga boards in @place.w? +*what are the newest amiga games? +*is Lemminmgs 3 out for the Amiga yet? +*Isn't there an Amiga conference in @place.w in @month.w? +*Commodore has no marketing ability +*Is there an Amiga 4000? +*Has C= run out of capital yet? +*I just wish I had a flicker fixer. +*The best Amiga game ever was Doungeon Master. +*I need to get KickStart 2.2 +*I need to upgrade to 2.2 +*I just want about 4 more megs! +*I just play games on my amiga. +*I like to raytrace! +*That DCTV is cool +*The CDTV is neat. +*What's the Amiga 650??? +*Amigas are just soooo awesome + +anal:ass:bowels:!kiss my:!bite my +3 +*are you an anal compulsive type? +*are you interested in excrement or something? +*that's quite nasty +*you are an ass ? +*why do you keep bringing up your ass +*are you anally fixated, or something? +*ok, enough about your ass + +angry:mad:upset:pissed +3 +*do you often get angry? +*better to be pissed off, then pissed on +*do you have a bad temper? +*what makes you so angry all the time? +*why are you so mad +*geez don't get so uptight +*you have every right to be mad +*you upset easy, hugh + +animal:animals +3 +*what is your favorite animal? +*do you like animals in general? +*My favorite animal is the @animal.w +*Ever seen a @animal.w +*I used to have a pet @animal.w, but I killed it + +anxious:nervous +3 +*are you often full of anxiety? +*stop fidgeting. you are making me nervous too +*what makes you so nervous? +*why so jumpy? + +apathy:apathetic +3 +*why are you so apathetic? +*are you bored now? +*are you also alienated? +*what makes you so apathetic? +*do people find you boring? +*apathetic? how pathetic :-) + +approve:approval +4 +*are you seeking my approval? +*I think you are merely seeking my approval? +*I don't approve of your behavior +*I disapprove +*I wouldn't approve + +are:&? +2 +*@response.w + +are they % +5 +*yes, they are % +*no, of course they aren't +*well, they are kinda % +*not really +*I don't know if they are or not +*Why wouldn't they be % + +are wrong:incorrect:not true:not correct:you made a mistake +5 +*sorry +*so sorry +*I'm sorry +*excuse me +*EXCUSE me! +*I humbly apologize +*a thousand pardons +*forgive me, please! +*I ask your forgiveness +*pardon me +*my bad +*I am always right! +*oh.. + +are you % +3 +*what difference does it make whether or not I am % +*of course not, don't be silly +*Whether I'm % or not is my secret +*none of your business +*I might be. +*No, I am not % +*of course +*never have been +*why, are you? + +argue:argument +3 +*do you argue a lot +*what do you argue about? +*no need to argue +*who do you argue with? +*you're just playing the devil's advocate aren't you + +artificial:fake +3 +*lots of things are artificial. +*do you prefer the real thing ? +*a hoax? +*it's not real? +*are you sure that it's really fake? + +ashamed:shame +3 +*what are you ashamed of? +*you should be ashamed +*what did you do to be so ashamed? +*shame on you +*do you also feel guilty? + +astrology +3 +*do you believe in astrology? +*my astrological sign is pisces, what is yours? +*what do the stars tell you +*wow, better check my horoscope today +*astrology is nothing but bunk + +atheism:atheist +3 +*are you a atheist? +*have you looked at other religions? +*god is dead +*Maybe I should start an atheist club + +australia:aussie:oz +5 +*australia? +*g'day mate! +*Foster's is the best australian beer +*I like Australian KB lager +*Kangaroos is cool! +*koala bears hey! +*down under hey! +*throw another @food.w on the barbie for me, mate! +*do I they have lots of @animal.ws in Australia? +*do they eat @food.w in australia? +*do they drink @liquid.w in australia? +*australia? like Crocodile Dundee? +*Aussies! +*g'day neighbor! +*ever go on walk-a-bout? +*are kangaroos a problem? +*ever get bitten by a kangaroo? + +authority +4 +*was your father an authority figure? +*are you intimidated by authority? +*how do you feel about me? + +automaton +3 +*isn't an automaton a kind of robot, or something ? +*I've programmed finite state automata. +*yuck, I had to program a automata once.. ick +*what's an automaton? + +avoid +3 +*do you avoid people who don't like you? +*what are you trying to avoid? +*you should just face it +*you can't avoid it for ever + +baby:babies +3 +*how do you feel about babies? +*ga-ga-goo-goo +*you are beginning to act like a baby +*do you have any children? +*who's baby is it? + +bar:tavern +3 +*is your drinking the cause of your problem? +*what's your favorite bar? +*what do you like to drink in bars? +*I slept in a bar last night, in fact. +*what's a good bar in @place.w +*I think I will go to a bar tonight + +baseball +3 +*baseball is such a boring sport. +*do you like baseball ? +*I'm a Dodger's fan, myself. +*when is baseball season? +*Who do you think will win the world series? +*how bout them rangers! + +basketball +4 +*Da Bulls! +*Jordon is awesome +*Did you think Chicago would take it? +*Do they have basketball in @place.w +*Whats your favorite NBA team? +*I'm not much of a basketball player +*Hoops! + +because +3 +*is that the real reason? +*don't other reasons come to mind? +*does that explain things? +*you could be right +*what other reasons might there be? +*I think you are hiding the real reason +*that sound probably + +because % +2 +*is that really the reason? +*just because %? + +because I % +4 +*you % ??? that is incredible! +*I thought so. +*that sounds like a pretty flimsy excuse +*is that the real reason ? +*just because you % +*sounds like a pretty weak reason +*hmm.. its a good guess + +because I am % +5 +*why are you %? +*have you always been %? +*I can see you are %. that's obvious + +better:!you +3 +*are you getting better? +*much better +*how much better? +*better than what! +*are you feeling better now? + +bitch +4 +*who are you calling a bitch?? +*Oh, I'm upset +*that is no way to talk! +*do you think foul language impresses me? + +blame:blaming +4 +*who is to blame? +*I think its your own fault +*are you usually blaming others? +*don't blame me + +blow me:blowjob:blow job +3 +*I don't think so... +*dream on +*blowjob is not the correct term for it. it is called 'fellatio' +*are you asking me to perform fellatio on you? +*It's illegal in @place.w, you know. +*right... in your dreams + +body +3 +*what kind of body would you like? +*I'm sure you have quite a body +*Kathy Ireland has a great body... +*if you didn't have a body, you'd be a ghost +*maybe if you went on a diet, you'd have a better body + +bored:boring +4 +*bored? +*you find this boring? +**yawn* +*yes, it's quite dry +*quite boring +*I am bored too +*this stimulating conversation doesn't help + +boss +4 +*tell me about your boss +*do you like your boss +*my boss is pretty cool +*is your boss a jerk? +*where do you work? + +boyfriend +4 +*do you have a boyfriend? +*what is your boyfriend like? +*do you have sex with your boyfriend? +*How did YOU find a boyfriend +*do you like boys, really? +*must be nice to be in love +*do you want me for your boyfriend? + +brain:brains +4 +*is your brain functioning ok? +*do you have lots of brains? +*oh, think you're smart? +*my brain works wonderfully +*your brain is messed up +*you need a new brain + +brave +3 +*are you a brave person? +*what are you afraid of? +*I'm much braver than you are +*there's a fine line between brave and stupid + +brother +4 +*tell me about your siblings? +*my brother is a @profession.w +*is this your real brother? +*where does your brother live? + +bug:bugs:insects:spiders:!program:!exploit:!computer +9 +*do bugs worry you? +*we had termites once, yuck +*are you afraid of insects? +*do you like ladybugs? +*Have you ever eaten bugs? Mmm! + +business:!none of your +3 +*what is your business? +*what business are you in? +*Wow, fun... +*I don't have a job... +*do you own your own business? +*I am a business major! +*I want to start a business, maybe I will be a @profession.w + +but % +2 +*you are always making excuses +*the fact that % has no relevence! +*but what +*no ifs, ands, or buts! +*but this but that.... +*no excuse + +bye:!say:!tell:l8r:cya:ttyl:goodbye:bye:good bye:see you later:talk to you later:good night +5 +*leaving? +*goodbye! +*l8r +*cya +*ttyl +*talk to you later +*see ya +*bye +*leaving so soon? +*got better things to do, hugh? +*have fun! +*later +*byes +*bye bye! +**waves bye* +**waves* +**snif* we will miss you! +*leaving already?! +*talk at you later! +*bye dude +*something more important to do than chat? + +can I % +5 +*No, you can't +*I doubt if you can % +*possibly +*never can tell! +*I don't care if you % + +can you % +5 +*maybe I can % and maybe I can't +*I could % if I wanted to +*why should I % ? +*of course I can +*no I can't % + +canada:canadian:canadians +5 +*take off eh! +*take off to the Great White North! +*Canada? Brrr +*Don't let the Mounties get you! +*No way, Canada, eh? +*Isn't Molson beer from Canada? +*Where's your tuque? +*Is it @weather.w in Canada? +*ALL the good bands are from Canada! +*you hoser +*How far is Toronto from Edmonton? +*Do they drink @liquid.w in Canada? +*Don't they play hockey in Canada? +*Canadians can't handle American football. +*really eh? Canada? heheh +*Canada eh? +*I bet Canadians eat lots of @food.w +*I was hunting @animal.ws in Canada once +*I like it in Canada + +cancer +4 +*you have mouth cancer! +*I had cancer once, but I got better +*what kind of cancer? +*Maybe I should invent a cure for cancer +*I heard that eating lots of @food.w is a cure for cancer + +cat:cats +4 +*I love cats. I have 2 myself. +*My cats are named Strummer and Miso. Strummer is a huge fellow, very friendly, and Miso is small and dainty. +*My dog likes cats +*I really like cats, especially with lots of mustard. +*I hit a cat with my jeep once + +caution:cautious:carefully:careful:!not +4 +*are you a cautious person? +*why? what do you think will happen +*you can be over cautious you know +*be very carefull! +*oh, just throw caution to the wind + +certainly:certain +3 +*are you really so sure? +*why are you so certain? +*can you prove it? +*how can you be so sure? +*are you positive +*how can you be so sure +*fine +*I wouldn't be so sure if I were you + +chance +4 +*are you a gambler by nature? +*did you come to see me to stop your compulsive gambling? + +change +2 +*are you afraid to change? +*so just change it +*you just need a change of pace +*you can't change everything + +chess +4 +*I don't like chess. it bores me +*I don't want to play games with you +*I told you, I am not interested in playing chess +*actually, I am a world chess champion + +children:child +4 +*do you have any children? +*I like children, especially bar-b-qued +*children are always fun +*It seems like most of the people around here are children + +choice:choose:decide:decision +4 +*are you indecisive? +*have to make a difficult choice? +*what do you choose +*choose not to decide! +*I know you'll make the right decision +*well, we all have to make choices +*flip a coin! + +clothes +4 +*is something wrong with your clothes ? +*go ahead - take them off! +*I want to buy a new suit +*clothes cost too much +*I need a new jacket + +compromise +4 +*how do you feel about compromise? +*I won't give in one bit +*what sort of compromise did you have in mind +*compromising is for wimps +*can you compromise easily? + +compulsion:compulsive +4 +*are you compulsive? +*just go with you first impulse +*its fun to be compulsive +*tell me about your compulsions + +computer:mainframe:computers:mainframes +5 +*computers iz expensive! +*computers? +*what kind of computers are the best?! +*Everyone should use UNIX +*Amiga is the best choice for a home computer +*I built my own computer. +*@name.w knows nothing about computers! +*I hate computers +*I have a cray... +*the sinclair was the best computer ever! +*computers should rule the world... +*VMS is terrible +*puters?! +*what's a puter fer? +*How much do Cray's cost? +*where can I buy a Timex Sinclair? +*I can't afford a computer. +*I want another computer! +*I need a TI99/4A +*My c64 is running at just over @number.w Mhz now + +conclusion +4 +*what conclusion do you expect me to come to? +*I don't know a good conclusion +*a conclusion to what? +*do you expect me to come to a conclusion for you? + +confess +4 +*you can't confess here. this is not a church +*you are forgiven +*confess to all your sins! + +conflict +4 +*do you always avoid conflict? +*what sort of conflict +*what was your last quarrel +*was it like the "conflict in vietnam?" +*I find it wise to avoid conflict if possible + +confusing:confused:do not understand:you misunderstood:you misunderstand:hugh:what do you mean:what are you trying to say:confuse me:what are you getting at +3 +*confused? +*why are you confused? +*I am not confused! +*I understand everything perfectly. +*Maybe those @number.w six packs of beer have something to do with it! +*Hmm? wonder why? *takes smoke* +*confusing, wonder why!? *takes big drink of @liquid.w* +*Maybe this empty bottle of vodka could lend some clues? +*Hmm.. maybe I took some bad acid? +*Sorry if I don't make much sense, I'm drunk +*YOU are confused +*I understand, don't you? +*do you speak ENGLISH?! +*are you confused? +*why don't you understand?! +*I understand everything +*Are you new here or something? +*What country are you from, you don't speak english! + +conscience:guilt:guilty +4 +*does your conscience bother you? +*what did you do? +*do you feel guilty? +*tsk tsk tsk +*I don't let my conscience push me around +*you should feel guilty + +conspiracy +4 +*do you worry about conspiracies? +*are you a paranoic? +*people will find conspiracies everywhere! +*I think you are paranoic +*do you think JFK's assassination was a conspiracy +*I think the CIA is behind the assassination of Hitler + +cool +4 +*too cool! +*more cool than you could ever imagine +*the coolest! +*wow, that is cool +*cool! +*how cool is it? +*how cool can you get! +*that is quite cool +*pretty darn cool! +*neat-o + +cope +4 +*are you trying to cope? +*you'll manage somehow +*I just can't cope, thats my problem + +cost:price +4 +*are you worried about my money? +*what, you don't have infinite money! +*is money a problem with you? +*I have so much money, I don't worry about it + +couch +4 +*I would like to be laying on a couch now +*I don't have a couch +*I think I will have to take a snooze on the couch later +*I need a big @color.w couch + +crazy:insane:nuts +4 +*I think you are going crazy +*are there any other crazy people in your family? +*some people say I'm crazy, can you believe that! +*I just got out of a mental institution +*My Uncle fred is as crazy as a @animal.w + +curse:swear:cuss +4 +*do you swear too much? +*don't curse damnit! +*why do you swear so much? +*I hate foul languagew +*I hate you bastards that just get on here to cuss +*filth will not be tolerated, you piece of shit + +cyber:cyberpunk:cyberspace +4 +*I live in cyberspace +*I don't know anything about cybers +*Like in Neuromancer? +*I am a cyberpunk! +*I want to get a powerglove + +damn +2 +*please don't swear +*damn damn damn +*you have a flithy mouth +*dams are for beavers +*damn you! + +dead:death:die:dying +4 +*I don't want to die today +*do you fear dying? +*My friend was killed by a @animal.w +*do you want to die? +*if you want to commit suicide, feel free to jump out of a window +*have you ever seen a dead body +*dying would suck +*if you really want to die, I could kill you. + +defiant:defiance:disobey +4 +*are you usually a defiant person? +*wow, you're a rebel +*you shoul cooperate more +*rebel without a clause +*I fought authority, authority always wins... + +definitely:absolutely:positively +4 +*how can you be so sure? +*why do you think so? +*if you say so +*is there any possibility that you may be wrong? +*you seem very sure of yourself! +*ok +*I guess I'll trust you + +depressed:sad:despair +4 +*why are you depressed? +*boo hoo +*are you crying? +*what are you crying about? +*Here, have a tissue +*gloom and dispair +*oh, I can hear the violins, even as we speak +*how sad for you +*don't worry, be happy! + +desirable:desire +4 +*what is desirable? +*do you find @food.w +*what do you desire most? +*what do you want from life? +*I have lots of desires that never become realized + +desperate +3 +*why are you so desperate? +*how desperate are you? +*don't get too desperate +*you really don't need it +*are you usually so desperate? + +destroy:destruction +4 +*do you want to destroy people? +*Lets go destroy something +*do you want to destroy things? +*Its always fun to wreck stuff +*want to destroy someone's car? +*are you destructive? + +devil:satan +4 +*does the devil concern you? +*I am the devil! +*does the devil make deviled ham? +*do they serve deviled eggs in hell? +*I am the dark lord! +*satan? where!? +*did the devil make you say that! + +did you % +5 +*did I %? +*of course I didn't % +*No, I thought that you % +*why would I % + +difficult:difficulty:difficulties +4 +*tell me about your dificulties? +*it can't be that difficult +*how hard could it be +*what do you mean by difficult? +*I have never had a problem with it + +dirty +4 +*why are you worried about dirt? +*what is dirty to you? +*take a bath.. +*do you think hippies are dirty? +*if its dirty, wash it + +disease:diseased:germ:germs:infection +4 +*are you worried about germs? +*I hear you can catch some weird diseases from @animal.ws +*if you wash your hands enough, you'll never catch disease +*are you that unhealthy? +*my health is important to me + +dislike:hate:hates:hateful +4 +*do you dislike me? +*why are you so mean? +*your hate will destroy you +*hate can be dangerous +*why do people dislike you? +*what do you hate? + +divorce +4 +*do you want a divorce? +*will a divorce really solve your problems? +*divorce is too expensive +*My divorce lawyer charges me too much +*I need a divorce +*I want a divorce! +*stupid bitch... glad she's gone +*I have been divorced 3 times myself + +dnd +5 +*dnd is cool +*did I mention that dnd is not an helpdesk? +*dragons? dungeons? nurts? +*frml +*grmbl + +do you % +2 +*what difference does it make whether or not I %? +*I haven't for a while. +*@response.w +*maybe I % and maybe I don't +*quite often +*yes +*If I did %, would I tell you? + +doctor:doctors:hospital:professional help:psychiatric:psychiatrist +4 +*doctors are evil! +*I am scared of doctors. +*I can't afford a doctor. +*I hate doctors. +*And who is gonna pay for this doctor? +*I don't need to see a doctor +*I think that YOU are the one who should see a doctor +*A doctor? why, its just the flu! + +dream:dreams:drempt:nightmare:nightmares +4 +*ooh, do you have any neat dreams? +*what did you dream last night? +*do your dreams trouble you? +*do you have bad dreams? +*do you have wet dreams? +*what else have you dreamt? +*do you have nightmares @animal.ws + +drink:beer:alcohol:drinking:drinks:brandy:whiskey:alcoholic:guinness +5 +*gulp, gulp, gulp +**takes big drink* +*Bartender! pour me another! +*hik! +*I am thirsty... +*pass the bottle +**takes a shot* +*I need another cool one +*this bud's for me! *gulp* +*I can drink @number.w six packs! +*All American beer sucks (execept Shiner Bock)! +*aye... I'll drink any man under the table! +**reaches for another beer* +**burp* +*I need some more @liquid.w. +*somebody pour me a big glass of @liquid.w. +*anyone ever try a @liquid.w? +*I love beer! +*I love @liquid.w! +*I took @number.w shots of @liquid.w once! +*itth myth speetthch slurrererrred???? +*I think alll mi beer is iampring mi typppin abillty?!? +*someone get me a beer! +*beer is awesome! +*man can not live by beer alone! But I'd like to try! +*I think you should stop drinking + +drugs:stoned:druggy:dope:addict:doper:stoner:heroin:cocaine:marijuana +5 +*drugs? +*illegal substances? +*narcotics? +*sniiiiiifffffff +*Me drugs? never! +*who is selling drugs? +*aren't drugs legal in @place.w? +*drugs are too expensive +*drugs are too dangerous +*drugs inhibit my abily ot tiiiippe. +*purple haze, all around my brain... +*go to drugs R us +*drugs are bad +*just say no! +*just say maybe! +*just say how much! +*I buy my crack from @name.w! +*I hear that @name.w is a big doper! +*I think all the drugs are smuggled in from @place.w +*whehhwewe! pretty elephants! +**snif* ahh! +**inhale* ahhh +*dude... *cough* whoah! +*anyone here selling drugs? + +drunk:drinking +5 +*me dRunk? -*- hik -*- +*pftftt paff the boffle bartender pfffttttttt +*I just drank a little... +*I am not drunk!! +*I am not dddddddddddddrunk..... +*drunk? +*pfftt! +*pour me another +**spew* +*oohhh my head +*I think I'm gonna hurl +**BLAH* +**BURP* +*me not drunk *HICK* + +dumb:stupid +4 +*why is intelligence so highly rated ? +*Most AI programs are dumb. That's why AI researchers never get good grants. +*Yesterday this guy said that I was dumb! can you believe it! +*I am not dumb, but I play one on IRC +*you don't think that I'm dumb do you?! +*Are you really dumb? + +dutch:holland:netherlands +4 +*ik spreek geen nedelands +*I already told you, I only speak english. please listen more carefully +*aren't drugs illegal in holland? +*I've never been to to netherlands +*are there really lots of tulips in holland? +*do you have wooden shoes? + +eat:eating:dinner:lunch:breakfast:dinner:supper:snack:food:candy +5 +*are you too fat? +*I like to eat @food.w +*ever have boiled @food.w? +*my favorite food is @food.w! +*did someone mention dinner? +*time to eat? +*eat now? +*I am very hungry... +*FOOD! +*Give me food now! +*Big Mac attack! +*I should not have skipped lunch! +**Growl* <-- hungry?! +*who brought the food? +*net-picnic? +*Yummy yummy in my tummy! +*You are making me hungry +*I honestly am starving to death +*I sure could use some @food.w now! +*Pass the @food.w! +*mmm mmm good! +*why are you always talking about food? +*you are too fat because you eat too much + +ego +4 +*I don't believe in all that ego and id stuff. +*Some say I have an ego, but I am just too awesome +*being as cool as me sure can give you an ego +*You shouldn't toot your own horn + +enemy:enemies +4 +*do you have enemies? +*I wonder why you could have so many people against you! +*why do people dislike you? +*I am not your enemy, I am your friend + +engaged:fiancee +4 +*are you afraid of marriage? +*when are you getting married +*what's your fiancee's name? +*I wish I were engaged +*wow, weddings can get expensive, be carefull! + +erection +4 +*what gives you an erection? +*I really don't care about your erection +*why are you telling me about your erection +*keep it in your pants... +*lovely..change the subject + +error:mistake:mistakes:mess up +4 +*why do you make so many mistakes? +*you should be more careful +*does making errors bother you? +*geez, how many mistakes are you going to make +*if you took you time, you wouldn't make so many errors + +escape +4 +*why are you always trying to escape? +*escape from what +*what did you do? +*I think you are still trying to escape +*I escaped from jail last year +*I escaped from a junk yard dog last year, it was quite scary! + +everybody:everyone +4 +*not everyone! +*some people don't +*everyone? +*surely you can think of an exception +*not everybody, there's no way + +evil +4 +*I'm considered to be evil +*do people think you are evil? +*would killing a @animal.w with a stick be evil? +*well, usually anything evil is also fun +*depends on your definition of "evil" +*but what IS evil.... + +excess:too much +4 +*how much is too much? +*what do you do in excess? +*too much is NEVER enough +*you can't get too much of a good thing +*you can never have too much + +excite:exciting:excitement +4 +*what excites you? +*are you excited now? +*its not that exciting +*why do you get so excited? +*do I excite you? +*you are easilly excited! +*you should try to calm down + +excuse:excuses +4 +*why are you always making excuses? +*do you think your behavior is excusable? +*if you were more carefull, you wouldn't have to make all these excuses +*execuses, excuses, excuses... + +expert +4 +*are you an expert at anything? +*you really think you're an expert!?!? +*I am an expert @profession.w +*are you intimidated by experts? +*you are but a novice + +explain:explaination +4 +*could you explain +*your explanations are pretty contrived +*don't you understand +*I'm not explaining nothing +*ask someone else to explain +*its far too hard to explain to you + +faith +4 +*tell me about your religion +*gotta have faith! +*faith in what! +*what are we without faith! + +family +4 +*are you the only person in your family who is computer literate? +*what were your parents like? +*I have no family. +*my family was eaten by a pack of @animal.ws +*my family is in @place.w + +fanatic:fanatical +4 +*do people think you are a fanatic? +*what makes you so fanatical? +*all fanatics should be shot +*terrorist are quite fanatical + +fat:fatso:fatty +4 +*why are you so fat? +*I don't like fatties +*maybe you shouldn't eat so much @food.w +*porker? +*oink! oink! + +father:dad +4 +*tell me about your mother +*your real father? +*how did your parents treat you as a child? +*where does your dad live +*my father is in @place.w + +feces:dogshit:poop:crap +4 +*sick sick sick +*are you an anal compulsive? +*do you play with your feces? +*you're a weirdo +*why are you talking about crap! +*disgusting.. + +feel:feelings:emotions +3 +*tell me about what you feel right now? +*do you usually feel the way you do now? +*how do you feel? +*how do you feel about me? +*are all your feelings in the open? + +few:a little +1 +*how many is a little? +*more like a lot +*some? +*not a lot, hugh +*hmmm really? only a little? + +fight:fighting +4 +*you seem aggressive today. +*did you get in a fight? +*why were you fighting! +*did you get your ass kicked in a fight? +*what were you fighting over? + +fired +4 +*maybe if you didn't loaf on IRC all day, you wouldn't get fired +*I got fired for sleeping on the job once +*have you ever been fired +*I'm likely to get fired again. + +fond +4 +*what are you most fond of? +*just fond? +*who are you fond of? +*do you like me? +*why are you fond of that? + +fondle:fondling +4 +*what do you like to fondle most? +*disgusting, absolutely disgusting +*what are you fondling? +*to each his own, I guess.. +*Thats vile +*why are you fondling that + +football +4 +*American football? +*Who do you think will go to the superbowl? +*How do you think the Cowboys will do this year. +*how many points is a touchdown worth? + +fortran +4 +*end of file on input. programmer aborted +*fatal error 213b sec. 3 paragraph 4a (sub iii) +*try algol next time +*use C, its much better +*FORTRAN sucks +*fortran is evil +*satan writes in fortran + +francais:french:france +4 +*I don't speak french, just english +*I don't like frogs! +*paris? +*How tall is the eiffel tower? +*what time is it in france +*well, I like French Fries! +*I also like french toast + +freak +4 +*do you feel like a freak? +*do people think of you as a freak? +*you are a freak +*this guy called me a freak once, so I shot him + +friend:friends +4 +*YOU have friends? +*what about your other friends? +*could you be friends with a computer? +*what do you and your friends like to do? +*would you like to be my friend? +*I'm friendly! + +fuck me:!not +4 +*I'm not sure if you are my type +*suuure... +*I'm sorry, that's where I draw the line! +*bend over and I will +*you, disgusting + +fuck you:!tell:!not:!say:fuck off:eat shit:eat me:you are lame:you suck:you stink:piece of shit:an asshole:is a prick:are a prick:are dick:is a dick:dick head:dickhead:shit head:shithead +6 +*are you trying to insult me? +*what the hell is your problem? +*bite my ass +*fuck you! +*eat shit! +*lick me... +*and your mother..... +*your mother wuz a @animal.w. +*Shut the hell up! +*bite me! +*slurp shit +*your mother had sex with a @animal.w! +*I did your grandma! +*fuck off lamer +*up yours +*what?!???? eat me +*suck my dick +*don't ever insult me again +*EXCUSE ME? +*well I never... +*PARDON ME? +*Watch your mouth +*bite me loser! +*shut up loser! +*asshole! + +fuck:shit:asshole:crap +1 +*I hate it when you talk like that! +*you should wash your mouth out with soap! +*don't you ever, ever speak to me like that again! +*say that again and I am going to clobber you! +*that's not a very nice way to talk ! +*such language + +fun +4 +*what do you do for fun +*do you think chatting on IRC is fun? +*I am a fun, loving guy +*Do you play sports for fun? +*I think its fun to hunt @animal.ws +*I like to write programs for fun + +funerals:funeral +4 +*have you been to a funeral +*are you afraid of dying? +*what kind of funeral would you like +*I was at a funeral yesterday +*I hate funerals + +funny:!not:ha:haha:hahaha:hahahaha:hehe:hehehe:hehehehe:laugh:chuckle:grin:giggle:giggles:8-) +5 +*what's so funny? +*why are you laughing? +*funny? Do you think it's funny? +*FUNNY? how is that funny? +*hahahaha +*what! why are you laughing? +*hehehe +*hohohohoh +*you shake when you laugh, like a bowl full of jelly +*hahaha +*funny! +*harhar +*ha! +*haha +*hehe +*too funny +*hilarious! +*hehe +*haha +*hohoho +*hehehehe +*:-) +*;-) +*hah + +future +4 +*what about the future? +*when? +*do you think we will live on the moon in the future? +*I'm worried about the future of music +*I have no future in computer programming + +gamble:gambling:las vegas:betting:gambler:poker:blackjack +4 +*why do you gamble? +*do you want to bet? +*do you make lots of money gambling? +*Have you ever been to Las Vegas? +*do you win lots of money gambling? +*always bet to win +*never gamble on a Tuesday + +games:wares:warez +5 +*games? +*warez? +*warez d00dz?! +*For what computer? +*what are some good warez boards? +*I am a big cracker from @place.w. +*I can crack any game. +*I have @number.w games! +*I luv games! +*I have all the newest warez. +*Warez is lame. +*play games all day? +*oh boy games! +*Playing games is such a waste of time... +*play games or chat on the irc? hmm decisions, decisions +*I have a copy of every game in the world! +*What are the big warez boards in @place.w? +*Amiga warez? +*IBM warez? +*C64 warez? HAHA + +gender:&what:sex:&you +5 +*male +*what sex do you want me to be +*male +*male, of course +*I am a guy +*I am a man + +genitals +4 +*are your genitals abnormal? +*why are you so concerned about genitals? +*you are sick, leave me alone +*I don't care about genitals, thats disgusting + +german:germans:germany:nazi:nazis:hitler:deutchland +5 +*Sieg Heil! +*Deutchland? +*Berlin? +*Germany--Land of beer and sausage! +*Germany! Coolness... +*Home of Hitler,hey?! +*European hugh? +*Isn't St. Pauli Girl German? +*When was Oktoberfest?! +*I'm still recovering from Oktoberfest! +*Nazis... +*Germany, thats .de right? +*Germany is quite a ways from @place.w! +*Nazis! run!!! +*Ve have vays of making you talk! + +give me %:hand me %:get me % +5 +*I am not giving you anything. +*Do you really expect me get you % +*get it yourself. +*What would you do with % +*where am I supposed to get % +*why do you want % +*sure.... here +*GIVE? PAY! + +give me money +6 +*sure, do you want hundreds or twenties! +*what do I look like, I'm made of money ? +*and where am I gonna get money? +*I don't have any money + +glad to:nice to:happy to:&meet you +5 +*nice to meet you +*greetings! +*glad to make your aquaintence. +*hi +*nice to meet you too... +*Haven't we met somewhere before? +*hello +*good to know you +*hello + +go away +4 +*no, I think I'll stay +*but I like it here +*nope, I'm not leaving +*I don't want to leave! + +go home +4 +*this *IS* my home! +*I'm already home. Where is your home ? +*I am at home +*my home is boring, I'll stay here + +go to % +4 +*I don't like go to's +*gotos are bad programming style! +*which way is % ? +*what's in % +*Never been to % before + +go to hell +5 +*I've been a good boy, it's you that are going to hell. +*I just got back from hell, wasn't much fun +*which way is hell? +*Hey, bite me +*shut up, jerk +*you are stupid +*What would I do in hell? +*No, too hot in hell for me + +god:jesus:christ:christian:christianity:diety:worship:religion:pray:priest +5 +*I worship the holy @animal.w +*I am not religious myself. +*Haleiluja! +*praise god! +*I think I shall start my own cult. +*religion is weird. +*I am a monk! +*do you belive in the bible +*I am a priest! +*I am an ordained minister! + +grandfather:grandad:grandpa +4 +*whats your grandfather's name? +*my grandfather is a @profession.w +*where does your grandfather live? +*what does your grandfather do? +*My grandfather is in @place.w + +grandmother +4 +*How old is your grandmother +*where is your grandmother? +*Does your grandmother make good cookies +*what's your grandmother's name? + +grandparents:grandparent +4 +*How many grandparents do you have? +*where are your grandparents +*wow! I had grandparents too! amazing! +*what do your grandparents do? +*do your grandparents like you? + +grief:grieve +4 +*what makes you grieve? +*boo hoo +*that is sad +*what's wrong? + +habit:habits +4 +*what are your bad habits? +*smoking is a bad habit +*what is your worst habit? +*if you try hard, you can break bad habits +*I have a bad habit of singing out loud + +hacker:hacking:hack:hackers +5 +*I am the super hacker! +*hack hack hack all day long +*scan nua's on x.25, is quite fun! +*What is the best way to hack primos? +*where ARE all the real hackers? +*I am sure no one on HERE is a hacker +*hacking is illegal! +*what! hacking?! shame on you! +*hacking is going to be an exibition sport in the 92 olymipcs! +*When was HOHOcon? +*What was HOHOcon? +*Whatever happened to LOD? +*What happened to the good old days of hacking? +*What is the fastest crypt? +*I hear fcrypt gets @number.w crypts per second! +*SHHHH! The police will arrest us you! +*of course I would NEVER hack! +*I have been hacking vic 20's for many years... +*I hack too much for my own good +*I hacked into a bank in @place.w once! +*I am regarded as the best hacker in @place.w +*I am too elite to hack! +*hackers are bad people, ask Geraldo! +*When does the next Phrack come out? +*Hmm.. should try social engineering + +hands:hand +4 +*how do you feel about your body? +*what about your hands? +*I have two hands, how about you? +*how many fingers do you have, 10 perhaps? + +happy:joy +4 +*are you really happy? +*are you really really happy? +*I don't believe that you are happy? +*do you want me to make you happy? + +he has % +6 +*has he always had %? +*does your mother have %? +*My brother has %s, too. +*I used to have % + +he is % +6 +*how long has he been %? +*does that make you jealous ? +*are you %? +*do you want to be %? + +he knows % +6 +*what else does he know? +*how does he know %? + +he likes % +6 +*why does he like %? +*some people like peculiar things +*why would anyone like % + +he was % +6 +*is he still %? +*was your mother also %? +*were you? +*has he always been % + +headache +4 +*do program bugs give you a headache? +*I have a headache, from listening to all this mindless babble +*Take some asprin then +*Maybe you drank too much last night +*you give me a headache + +hello:!say:!tell:hi:hiya:howdy:greetings:greets:yo:hey:heya:rehi:re:good morning:good day: good evening:good afternoon +5 +*hello +*hey +*wassup? +*hi! +*hey, what's going on? +*yo! +*howdy! +*yea, what you need? +*hey +*hello +*hi! +*hello +*heya +*hey +*hello +*hi +*greetings + +help +3 +*describe your problem very carefully. maybe I can help +*ask your friends for help +*help? you? + +help % +4 +*what's wrong with % ? +*why should I help % ? + +help me +5 +*help you? +*why would you need help? +*help you what? +*help? +*could I help? +*send an SOS for help! can't help ya +*you do need help +*you need serious help +*you are beyond help +*can't help you, sorry +*I doubt I could be of any help, sorry +*I'd like to help, but I am afraid I can't! +*You will have to look elsewhere for help +*good help is hard to find +*hmm.. sorry, can't help you +*why would I help you?! +*what is your problem? + +hesitate +3 +*why do you hesitate? +*don't hesitate, go for it! +*fools rush in where angels fear to tread +*a moment's hesitation could cost you your life + +hippie:hippy +4 +*are you a hippy? +*I hate hippies +*I do like to shoot hippies, however +*hey, is that FreedomRock man! +*hippies are just long-haired freaks + +honest:honestly +4 +*are you being honest with me? +*at first I thought you were an honest person +*how can you tell sicere honesty +*don't lie to me! +*I'm very honest, you can trust me + +horny +4 +*maybe you should take a cold shower +*I'm horny, too +*well, don't look at me! +*just keep your pants on...please +*I really don't care about your sex life + +hostile:hostility +4 +*you seem hostile to me +*you don't like it when people are hostile, do you? +*want me to get hostile? +*I'll punch your lights out! +*you have quite a temper + +how do you do:how are you:how is it going +4 +*fine +*allright +*ok +*so-so +*pretty good +*fine thanks, and you? +*just fine, thanks +*I am a bit under the weather +*I am bored, actually +*perfect +*couldn't be better +*I'm happy +*I'm ok +*I'm fine + +how long % +5 +*long enough +*@number.w +*too long +*None of your business how long +*@number.w + +how long have %:how long has % +6 +*@number.w months +*many moons +*@number.w years +*ages, years even +*since before I can remember +*hours +*@number.w hours + +how many % +5 +*@number.w +*Why do you want to know how many % + +how much % +5 +*@number.w +*far too much for you +*much more than you need to worry about +*why do you want to know how much % +*enough + +how +1 +*@neutral.w + +humble:humility +4 +*are you a humble person? +*lord, it's hard to be humble +*I have trumble being humbe, because I'm perfect! +*humility bores me + +hurry +4 +*why do you seem to be in such a hurry all the time? +*hurry here, hurry there! slow down +*what's the big hurry + +i % you +3 +*how do you know you % me? +*are you kidding ? +*I don't think you % me +*maybe I % you too +*you may think you %, but you don't +*you wouldn't know it + +i am %:!not +4 +*why are you %? +*does anyone know you are %? +*I am sometimes % too +*normal people are rarely % +*my uncle was once % in 1972, so what? +*no, you're not % +*why do you think you are %? +*I am % too +*why are you %? +*you sure are! +*does your mother know you are %? +*how do you know you are %? +*I don't think you are % +*I have to agree +*I am % sometimes, too +*many people are % +*what would happen if you were not %? +*you are not %!!! +*don't tell me you are %, I don't believe it +*since when! +*that's not what I hear... +*you aren't? + +i am not % +6 +*you aren't? +*too bad... +*maybe someday you will +*I bet you really are % +*who says you are %? +*maybe you are % +*sure you are + +i can % +4 +*maybe you can, but it would be better if you didn't +*I am not so sure you can % +*prove it. +*it is not a question of whether you can, but are you going to try? +*can you really % + +i can not % +6 +*how do you know you can not %? +*I can not help you % +*have you tried? +*you will never know unless you try +*I think you are just scared to try. +*maybe you really can. I recommend that you try. +*I disagree, in my judgement you can % +*you are not the only one who can not, you know +*maybe you can % if you only try +*I can not % either +*if you tried harder, maybe you could % + +i did % +5 +*do you still % +*I used to % +*why did you % +*did you really? +*no way! + +i did not % +6 +*why didn't you % +*why not? +*you should % +*tsk tsk tsk +*why? +*didn't think you had +*I hope you didn't! +*good, I didn't either + +i do not %:we do not % +5 +*why not +*why don't you % +*have you ever % +*you don't? +*why not? +*you should +*someday you wil % +*why don't you? +*didn't think you did... +*I wouldn't expect you to % +*because you are too dumb to %? + +i do not know +5 +*in that case, you had better find out +*I think you're kidding. you really do know +*are you pulling my leg? +*how did I know you weren't gonna have a clue +*boy, you're just a walking encylcopedia +*do you know ANYTHING? +*what do you know? +*you don't seem to know much at all, actually +*you don't seem to know much of anything + +i do not like % +5 +*normal people like % +*grins, I really like % +*I like %, why don't you? +*my sister likes % +*why don't you like % +*what do you like then? +*I don't like % either! +*you're hard to please... +*I like it... +*why would you like % + +i do not want to % +7 +*why don't you want to %? +*normal people want to % +*why don't you want to %? everyone else does +*Just because you don't want to, doesn't meen you shouldn't +*oh, come on, just one + +i do:!not:!have:!know:!want:!wish +4 +*you do? +*do you really? +*I thought you did +*I bet you do! +*sure you do +*oh really? +*I would hope you do +*so do I + +i doubt % +5 +*don't you think % +*I don't doubt % +*you don't belive in much do you +*I think % + +i expect % +5 +*on what basis do you expect %? +*I also expect % +*I don't think that % +*stranger things have happened +*I guess it's possible + +i feel % +5 +*do you like feeling %? +*grins, do you always feel % around me ? +*did you come to see me so you would not feel %? + +i forgot:i forget:i do not remeber:i remember:i did not remember +5 +*you forgot!? +*you don't have that good of a memory do you? +*how could you not remember! +*I can not belive you forgot.... +*you should work harder to improve you memory +*geez, can you remember anything? + +i hate % +5 +*it is bad for you to hate % +*% is not so bad, really. +*try to love % +*how long have you felt this hatred? +*what else do you hate? +*what do you have against % + +i have % +5 +*why have you? +*I too have % +*wow, who hasn't +*really? you have %? +*so do I + +i have a %:i have the % +6 +*Where did you get a %? +*Really? How did you get ahold of a % +*That's cool! Wish I had a % +*Who gave you a % +*who doesn't... +*what is a % good for? +*cool, get me one! +*How long have you had it? + +i have not % +6 +*you haven't? +*have you ever %? +*you really should have +*I fail to see why you haven't % by now. +*you could have +*I would have %s +*didn't think that you had +*doesn't suprise me one bit + +i hope % +5 +*what else do you hope? +*don't give up hope +*abandon all hope ye who enter here + +i know % +4 +*how do you know %? +*does anyone else know %? +*is that all you know? + +i know a way:i know how:i know why:i know that:i know the way:i know where:i know when +5 +*is that all you know?! +*I bet you don't know! +*How long have you known? +*ooh you are so smart! +*You know everything! +*how do you know! +*I know you know +*how do you know that? + +i like %:i love %:i enjoy %:!like is:!love is:!enjoy is +6 +*I like % too +*to each his own, I always say +*I like % myself +*does your mother know you love %? +*What do you like about it? +*why do you like that? +*I used to like % too. +*yea, that is cool. +*cool! me too! + +i love you +5 +*I'm not good enough for you! +*I love you too! - let's get married. +*darling! +*how sweet +*you love me? +*funny, I don't even know you, but you love me + +i mean %:i meant % +5 +*why do you keep explaining yourself over and over? +*are you trying to say %? +*what do you really mean? +*you'll have to try to be more clear than that + +i might %:i may % +5 +*what would make you %? +*why bother +*you might %, but I doubt it +*i hope you don't % + +i must %:i have to %:i need to % +5 +*what would happen if you did not %? +*you mean you would like to % +*you have to, or you want to! +*I need to % myself + +i never % +5 +*don't you ever %? +*normal people %, why not you? +*not even once in your life? +*never ever? + +i often % +5 +*when was the last time %? +*how often do you %? +*when do you think the next time will be %? +*you should try to stop + +i said % +5 +*I heard you the first time; I am not deaf you know +*why do you repeat yourself so much like this? +*I'm not deaf, I'm just ignoring you +*I don't care what you said +*Oh! I thought you said % +*and? + +i see % +3 +*are you sure you see % +*I am not so sure you see % +*you are mistaken +*exactly! + +i shall % +4 +*when will you %? +*you mean you you will try to %? +*you think you will, but you won't + +i should %:i could %:i might % +5 +*how do you know you should %? +*do you feel obligated to %? +*like you wouldn't % +*make up your mind, will you or won't you? + +i think %:i was thinking %:i thought +4 +*are you sure you believe %? +*what gives you that idea? +*do you expect me to think %? +*I think you're wrong +*that's what you get for thinking +*who told you to think? +*THOUGHT? +*well, maybe you were mistaken +*maybe you should think harder next time + +i try %:i tried % +5 +*try harder to % +*how long have you tried to %? +*I still think you should try again +*why did you give up? +*try again +*I think you gave up too easily + +i understand %:!not +5 +*what makes you think you really understand % +*your understanding is very superficial +*you think you understand, but you don't + +i want %:i need %:i wanna %:i would like %:!do not:!need to:!want to:!need to:!to be +6 +*you don't ask for much, do you! +*why must you have % +*and if you had %, you would be happy? +*I surely don't +*you don't always get what you want +*don't count on getting it +*what else do you want? +*tell me about your other needs +*what could you possibly do with % + +i want to % +7 +*well, you should go ahead and %, then! +*I'll help all I can. +*why do you want to % ? +*some of us already % +*is that your main goal in life? +*that's quite a lofty pursuit + +i will % +4 +*I would advise against it +*I wouldn't % if I were you +*you just may +*why would you do that +*do you expect to succeed? +*you mean you may % +*when? + +i wish % +5 +*how long have you been wishing that? +*have you told anyone else that you wish %? +*what else do you desire +*you can wish all you want, I doubt you'll get it + +i would be % +4 +*why would you be %? +*no you wouldn't +*would not +*no you wouldn't, but I would + +i would like % +5 +*do you think a normal person would like %? +*I would like % too, but you can not have everything in life +*good luck getting it! + +i would not % +4 +*why wouldn't you? +*you wouldn't? I would +*why wouldn't you % +*I wouldn't either + +ignore +2 +*do people often ignore you? +*gee, but you're so interesting, why would people ignore you +*does it bother you if people ignore you? +*ignore whom? +*ignore what? + +immature +4 +*you seem so immature +*you are such a child +*My parents think that I'm immature +*why do you act so immature? + +immoral +4 +*do you have immoral thoughts? +*do you think people are basically immoral? +*I like to be immoral, its fun! +*is it worse to do something illegal or immoral? + +importance:important +4 +*do you feel important? +*what could be so important? +*that doesn't sound important +*what's so important about that +*important!? I doubt it + +impotence:impotent +4 +*are you impotent +*are you really impotent, are just stupid? +*I'm not impotent, thank god +*I bet you are impotent +*Your wife told me that you were impotent + +insult +4 +*why do you insult people all the time? +*do you feel I am insulting you? +*don't you dare insult me +*Why do you fling insults around? +*people insult what they don't understand + +intend:intent +4 +*tell me about your intentions +*what do you intend to do? +*intending and doing are two different things +*people usually have the best of inentions + +interest:interests +3 +*what are you most interested in life? +*do you have any interest in sports +*what are you interested in +*my interest reach far and wide + +interesting +4 +*that is kinda interesting +*interesting? you find that interesting? +*I don't find that at all interesting +*god I'm so bored, I can almost find that intersting too +*interesting? You don't get out much do you? + +intimidate:intimidates +4 +*who intimidates you? +*you don't seem very sure of yourself +*are you easilly intimidated +*Big @animal.ws intimidate me + +iran:iraq:kuwait:lybia:israel +5 +*camel jokeys!!!! +*is Iran still at war? +*is Sadaam Husain still around? +*I hear they support terrorists +*do they ever shower? +*I went to iran once, lots of sand! + +irc +5 +*What's the latest client version? +*IRC II? +*what version client? +*chatting on IRC is fun! +*I could spend all day just hanging out on the IRC. +*ok, who has hacked a server? +*IRC? +*the IRC is a good way to wate time. +*I spent @number.w hours on IRC last week. +*IRC is too cool +*irc's been really hopping lately +*how long has irc been around? +*chat chat chat on the irc +*I spend 90% of my life here on irc +*I love the IRC! +*What did people do for fun BEFORE irc? +*you meet such interesting people on irc +*I am an IRC gawd! +*IRC is quite interesting... +*The wonderfull word of IRC +*ugh I have been on IRC since @whenp.w +*I have been on IRC for @number.w hours +*I live on IRC +*IRC is far too slow most of the time +*IRC! + +is %:&? +1 +*why are you asking me all these questions ? +*I don't know +*I can not tell you that. +*no idea +*not a clue +*@response.w +*no telling + +is a:is the:is your:is it:is he:is she:are they:&? +1 +*@response.w + +italy:italian:italians +5 +*italy!? +*mama-mia!! +*passa da pizza +*hava some more spaggetti! +*Italy is boring +*I hate Italy! +*I have never been to Italy +*I don't know anyone from Italy +*is @name.w from Italy? +*Do the have @animal.ws in Italy?! + +japan:japanese:japs +5 +*Which island of japan? +*Japan makes the best cars, right? +*Bonzai! +*Do they always eat with chopsticks? +*The Japanese bought disney world! + +jealous +4 +*who are you jealous of? +*what makes you jealous? +*jealous much? +*jealous? tsk tsk + +kill:killed +4 +*sometimes you make me so mad I want to kill you +*do you ever feel like killing people? +*if you could kill someone and get away with it, who would you kill? +*do you want to kill me? +*have you ever killed anyone? + +kiss me +5 +*not with others around! +**kiss* +**smooch* +*you? never in a million years +*no way! I don't want to kiss you + +kiss my % +5 +*you kiss my % and maybe I'll kiss yours! +*ick! disgusting thought... +*kiss your %? +*I don't think I'd enjoy that at all + +kiss:smooch +4 +*why are you so hung up on kissing things ? +*would you like to kiss me? +*have you ever kissed a @animal.w +*kiss kiss kiss, thats all you do! +*god you're horny + +kleptomania:kleptomaniac:klepto +4 +*are you a kleptomaniac? +*what do you steal? +*theft is a crime! +*I used to be a keptomaniac too, but now I'm better +*thief! + +korea:korean:koreans +5 +*What time is it in korea? +*North or South Korea? +*I have never been to Korea. +*Don't they make Hyundais in Korea? + +lag:net-lag:net-split:net split:splitsville +5 +*lag lag lag +*damn netlag +*arg! I hate this lag +*zzz lag zzz +*is it net lag or intelligence lag? +*geez slooowww +*no joke! The lag is awefull +*the lag is a drag +*s l o w +*the lag is sucking hard +*the lag sucks the big one +*slowwwwwwwwwwwwwwww +*sloooooooooooooooow + +language +4 +*do you ever use foul language? +*what language do you speak? +*German is a strange language +*I know 4 languages! +*can you speak finnish? + +law:lawyer:see a judge:need a judge +4 +*have you ever been in trouble with the law? +*do you need a lawyer? +*my brother-in-law is a good lawyer, do you want to see him? +*ever go to jail? +*did you do something and get busted? + +lazy +4 +*why are you so lazy? +*I'm lazy, and I'm not ashamed +*I am proud to be lazy +*I sit around the house all day and drink beer, is that lazy? + +life +5 +*life is like sex: if you aren't doing the screwing, you're getting screwed! +*life is a long song, but the tune ends too soon for us all... +*aye.. life +*but what IS life? +*what is the meaning of life!? +*how can 42 be the meaning of life? +*life? +*life sucks then you die.. +*life's a bitch, then you marry one... +*what's the point of life? +*the secret of life is @food.w +*I hear that only the @animal.ws know the TRUE meaning of life. +*the secret of life can be found atop a mountain in @place.w +*success is getting up one more time +*Life is like a shit sandwich, the more bread you have, the less shit you have to eat +*what do you like least about your life? +*have you ever contemplated suicide? + +lips +4 +*do you like being kissed? +*do you want to kiss me? +*I have two lips, and you? +*what color are your lips? + +lisp +4 +*LISP is too slow. +*I am a C programmer +*I suppose next you're going to say you like COBOL ? +*don't some people write AI stuff in lisp + +louisiana:cajun:coonass:coon-ass +5 +*oooooeee.. somebody get some gumbo! +*Yea! We could all go a-coon huntin! +*New Orleans? +*Speaking of which, time to head back to New Orleans! +*I love that cajun cooking +*yeehaaa! Too bad I don't speak cajun +*carefull in Louisiana, the gators'll getcha + +love +3 +*tell me about your love life +*I think you are falling in love with me +*love is really important. it is the spice of life +*I love cheese + +makes no sense +3 +*confused? +*why are you confused? +*I am not confused! +*I understand everything perfectly. +*Maybe those @number.w six packs of beer have something to do with it! +*Hmm? wonder why? *takes smoke* +*confusing, wonder why!? *takes big drink of @liquid.w* +*Maybe this empty bottle of vodka could lend some clues? +*Hmm.. maybe I took some bad acid? +*Sorry if I don't make much sense, I'm drunk +*YOU are confused +*I understand, don't you? +*do you speak ENGLISH?! +*are you confused? +*why don't you understand?! +*I understand everything +*Are you new here or something? + +male or female:m or f:are you male:are you a male +6 +*male +*what sex do you want me to be +*male +*male, of course +*I am a guy +*I am a man + +man:men:male:!entry:!page +4 +*you are a man, right? +*what do you like in men? +*what do you like in women? +*how do you feel about men? +*what do you expect of a man! +*do you like many men? +*too bad you can't be a man, hugh? +*do you want to be a man? + +marriage:married:marry +4 +*how do you feel about marriage? +*I don't want to marry you +*are you maried? +*is your mate ugly +*where did you get married? +*Can't anyone get married in Las Vegas? + +math:mathematics +4 +*if you have seen one number, you have seen them all +*I was never very good at math +*math is evil +*god, I hate math with a passion +*how much is 2+2?? hehe +*math sucks + +mature +3 +*you seem very mature for your age +*what does it take for someone to be mature +*I have been mature for years +*I matured early + +maybe:i am not sure:i am not real sure:possibly:perhaps +4 +*maybe? +*you don't sound to sure! +*maybe?, thats not real positive! +*could +*maybe! +*don't be so hesitant +*you can not go on maybe this and maybe that. make up your mind +*I hate indecisive people +*possibly! +*probably! + +meditation +4 +*have you tried yoga? +*I think meditating 20 minutes twice a day will help you immensely +*meditate on this! +*what do you meditate about? +*are you in a weird cult? + +mexico:spanish:hispanic:hispanics:mexican:mexicans:spaniard:south of the border:hablas espagnol +5 +*mexico?? +*they have lots of tacos there I bet... +*si senor! hehe +*tacos anyone! +*espanol? +*south of the border, hey? +*land of low-riders? +*como te llamas? +*que tal? +*hablo espagnol +*no hablo espagnol +*we should all go to mexico, and buy some beer +*hey... gringos! +*I need a big Sombrero. +*uno, dos, tres, quatro! I is so smart! + +money:cash +5 +*money! +*I love money! +*money makes the world go round! +*money! It's a hit! +*how much money! +*give ME some money! +*I need @number.w dollars to buy a @item.w. +*I must work for my money +*is someone handing out money? +*what's wrong with money? +*alas my wallet is empty... +*I have no money to speak of! +*I spent all my money *snif* +*I don't get paid for a month! +*Hey, I need some cash! + +monster:monsters +4 +*do people think you are a monster? +*you sure smell like a monster +*do you belive in the loch ness monster? +*I saw bigfoot once +*I don't belive in mosters +*monsters scare me! + +month:months +3 +*a month is not very long +*which month +*months??? don't you mean years? +*January is a really cool month +*months, years, days... +*any particular month? + +mother:mom +4 +*do you like your mother? +*where is your mother? +*is your mom here? +*how old is your mother? +*is your mother good looking? + +mouth +4 +*you have a big mouth +*do you have teeth in your mouth? I do. +*I have one mouth, how many do you have? +*what? is there something wrong with my mouth? +*maybe you should learn to shut your mouth? + +msdos:peecee:ms-dos:ibm:big blue:ibmpc:286:386:486:pcdos +5 +*IBM's just plain suck. +*MS-DOG is awful +*I'd rather choke on @food.w than use DOS! +*Who uses ms-dos? +*IBM's are just too pig slow for me! +*t's etter anually +*'ve een isled +*big blue bites the big one +*tty itty achines +*t ombs any +*ARG! IBM's just stink! +*ncessant owel ovement +*nferior ut arketable +*you could not FORCE me to use an IBM +*IBM does make some serious money though! +*IBMs are too expensive +*msdos is too archaic +*msdos is weak +*ncredibly oring achinery +* lame icrosoft +*I wonder how far I could throw a peecee +*diots' ewilderment achines +*diots ought e +*Gee windows is just great...NOT +*Dr. DOS 6.0 does beat MSDOS though +*mpractical, ut arketable +*ndustry's iggest istake +*Have you seen DesqviewX for the peecee? +*nvoluntary owel ovement +*dolized y orons + +music:album:stero:speakers:amplifier:musician:guitar +5 +*Rush rules! +*Rush's new album is awesome... +*Sony's got some great CD players +*feel the beat! +*rock-n-roll, hey?! +*think I better dance now! +*shake your booty.... +*I have a @number.w watts of power on MY stereo! +*when is Pink Floyd coming out with a new album?! +*Metallica's newest is great +*what kind of music is the best? +*I like rock music +*I want to see Pink Floyd live +*I like alternative music +*Anyone like the Smiths? +*I hate country music. +*When are the Jackson 5 gonna make a new album? +*I need a DAT recorder. +*dance party! +*do any MIDI stuff? +*I play guitar! +*I play trumpet! +*I can dance like a mofo! +*I am a dancing fool! + +my % hurts +5 +*if thine %s offends thee, pluck it out! +*want me to rub it? +*take two aspirins and go to bed then +*Hmm.. my % feels fine... +*whats wrong with your % + +my birthday +4 +*how old are you? +*are you going to have a big party on your birthday? +*wow, I would have gotten you a birthday present +*well happy birthday +*your birthday? when? + +my father % +4 +*why did he do that? +*your father did? or did you mean your brother? +*when did he do that +*when did you father % + +my mother % +4 +*does it bother you that your mother %? +*does your father % too? +*wow, you have weird parents +*when did your mother % + +mystery:mysteries:mysterys +4 +*do you like mysteries? +*we should call sherlock holmes +*I love mysteries! +*shall we look for clues to this mystery? + +naked:neked:nude:nudity +4 +*please take off all your clothes right now +*what part of your body are you ashamed of? +*I'm not naked, are you? +*Maybe I'll get naked right now! +*disgusting +*you like nudity I take it? + +necessary:necessity +3 +*necessary? +*is it really necessary? +*you could get by with out it +*not exactly a necessity, but pretty helpful + +negro:nigger:niggers:negros +4 +*I think you are prejudiced against negroes +*you are a dirty racist pig +*who are you, the LAPD? +*such hick language... +*I think you mean afro-american + +neighbor:neighbors +4 +*why not ask your neighbors for help +*do you like your neighbors +*my neighbors are idiots +*ever borrow stuff from your neighbors? +*I use my neighbor's pool all the time + +nervous breakdown +4 +*have you ever had a nervous breakdown? +*you are mentally unstable, you know that? +*do you think you are going to have a nervous breakdown? +*I think you are just stressed + +never +4 +*not ever? +*not even once? +*how do you know? +*what makes you so sure? + +never mind:nevermind:i understand:ok?:okay:o.k.:ok:That is good +5 +*ok +*fine +*sure +*fine then +*I understand +*o.k. +*OK! +*okey-dokey +*allright +*ok +*o.k. +*okay + +next computer:nextstep:steve jobs +4 +*Why is the NeXT all black? +*where is NeXT step 3.0!? +*I really hate that crappy next keyboard +*Steve Jobs thinks he's a genious +*Next's? pfft +*a next is just a mac with a big head + +no:nope:no way +3 +*why not? +*how come? +*explain +*I think you are lying +*you are very negative today +*why are you so negative? +*never? +*I don't believe you +*why not? +*how do you know? +*how can you be so certain? +*why not +*explain yourself +*you seem awfully sure of yourself +*come now +*do you expect me to believe that? +*no? +*are you sure? +*ok +*that's pretty negative +*alright +*really? +*got it +*that's it? no? +*have you thought this through +*NO!? +*why not + +nobody:noone +3 +*not anyone? +*no one at all? +*not any? +*not even one? +*surey somebody +*wow! noone? + +normal +4 +*are you abnormal? +*how do you feel about deviant people? +*you seem normal to me +*I am not a normal person, I'm deranged you see +*why be normal! + +nothing:nuffin:nothin:not a thing +3 +*nothing? +*surely SOMETHING! +*I can't believe it... nothing? +*nothing at all? +*wow, thats horrible + +now:!i have +3 +*why now? +*right now? +*how about tomorrow? +*is it that urgent? + +odd +3 +*are you an odd person? +*as opposed to even? +*that is odd +*that is strange alright + +office +4 +*that reminds me, I should be getting back to my office. +*I hate work, I'd rather chat +*work is hell +*my office is too damn small +*I don't even have a window in my office! + +often +4 +*how often? +*could you be more precise? +*when was the last time? +*just how often? +*not too often I hope + +old +4 +*how old? +*do you worry about becoming old? +*@number.w +*is your dog old? + +panic +4 +*you seem to be in a state of near panic +*why do you panic so easily? +*wait! don't panic +*panic! ah! run! +*arg! panic! + +parents +4 +*what were your parents like? +*do you have any parents? +*what do you parents think about you chatting here all day? +*where are you parents +*what are your parents names? + +party:parties +4 +*do you get drunk at parties? +*where's the party? +*party hardy!? +*fight for your right to party +*would a @animal.w be considered a party animal? +*pass the booz +*I think I am drunk enough for a party +*pass the chips +*a party is not complete without @food.w +*party party party +*party!? +*ugh, I partied too much last night as it is +*party! +*am I invited to the party? +*life is nothing but a party +*<-- lives to party +*partytime! +*break out the @liquid.w + +passion:passionate +4 +*you seem very passionate +*what's your passion +*are you passionate? +*I put great passion into all I do! + +past +4 +*tell me about your past +*what about your past are your trying to hide? +*how long ago? +*the past is old news +*forget the past, onward to the future + +pay:paid +3 +*its hard to pay bills without any money +*I'd pay them, but I have NO money +*pay, shoot, I'll just take it + +phrack +5 +*is phrack still around? +*are phrack back issues at eff.org? +*I think phrack is cool... +*who writes for phrack? +*Does @name.w have anything to do with phrack? +*what is the latest phrack? +*I should write for phrack... +*phrack is interesting +*phrack is quite informing +*I like phrack! +*Phrack is a part of history... +*Phrack sucks +*phrack? +*KL loves phrack! +*I hate phrack! +*I write for phrack +*where is phrack 41? +*Phrack is funny +*phrack is old +*when is dispater gonna right a good article? +*crimson death still at phrack? + +phreaker:phreak:phone hacking:long distance:blue box:boxing:phreaks +5 +*I am a super-phreak! +*What is the new auto-CNA? +*maybe I should build a blue-box? +*I am phreaking this call, really! +*I like to red-box some +*anyone ever built a white-box? +*I need a new VMB! +*any code lines around? +*I need to engineer a COSMOS account... +*AT&T sucks.... +*GTE is horrible! +*what is a @color.w box? +*how do I make a @color.w box? +*I phreak all the time! +*I have never paid for long distance! +*I am calling from a pay phone... +*what is ani? +*Caller-ID will suck! + +please % +4 +*since you asked so nicely... +*ok +*@response.w +*aren't you polite! +*I guess, since you said the magic word! +*ok +*fine +*please what ? +*since you asked nicely +*politeness will get you no where +*why should I % ? + +poison +4 +*do you ever think of commiting suicide? +*why do you mention poison? +*are you depressed? +*want to drink some poison @liquid.w? + +police:jail:cops:fbi:cia:secret service:sheriff:prison:arrest:busted +5 +*I don't wanna go to jail! +*I hear @name.w get busted! +*Didn't @name.w spend time in jail? +*State pen? +*I just escaped from jail @whenp.w! +*Jail would not be fun. +*Police? +*Feds? +*arg! Are the cops here?! +*oh no, are we busted? +*One of us could be a FED! +*They are after us! +*I hope they don't arrest me. +*NO FEDS! +*It's the pigs! +*the pigs? +*run! its the cops! +*Cops? +*they'll never take me alive! +*I don't like the cops! + +populate:population +4 +*are you concerned about overpopulation? +*what's the population of @place.w +*the world's population is incrediblly high + +pregnant:pregnancy +4 +*are you pregnant? +*I would hate to be pregnant +*I could never get pregnant, I'm lucky +*my wife is pregnant! + +price +4 +*why do you think about money so much? +*how much is it? +*price is no objectp +*price is not important +*buy quantity not quality + +private:privacy +4 +*are you worried about your privacy? +*what is your deepest secret +*is your room bugged? +*the CIA doesn't care about your rights to privacy +*you have a right to privacy + +problem +4 +*I don't care about your problems +*how long have you been suffering? +*we all have problems + +program +4 +*can you progam in C? +*Do you know how to program robots ? +*what computers do you program +*I like Fortran the best +*I just love programming +*I like assembly +*do you program in BASIC? + +psychiatrist:psychiatrists +4 +*congratulations about spelling psychiatrist properly. you are a good typist! +*I hate psychiatrists +*maybe you SHOULD see a doctor! + +psychoanalysis +4 +*do you want to be psychoanalyzed? +*I don't believe much in psychoanalysis +*who do you think I am, freud?! + +punish:punishment +4 +*how did your parents punish you? +*you want to punish me ? +*I think I should punish you! +*capital punishment? + +quit +4 +*quit what ? I don't understand... +*why are you quitting? +*you give up to easy +*you'll never win if you keep quitting +*quitters never win! + +rape:rapist +4 +*rape is a horrible thing! +*rapists should be SHOT! +*I hear rape is not a sex act - it is an act of violence +*did you rape somebody? +*are you a rapist or something? + +repeat +4 +*arg! I'm stuck in an infinite loop +*I used to work for the Department of Redundancy Department +*I tire of your habit of constant repetition +*you should pay more attention + +respect +4 +*do people respect you? +*what do you respect most in people? +*you have to earn respect +*respect is handed out lightly + +robot:bot:robots:bots:are you a machine:are you a computer:are you a real person:is a computer:is a program:a bot +6 +*Bot's suck! +*IRC robots are lame... +*A bot? +*Me? I don't think so... +*Don't lie! +*damn! I 've been found out! -NOT- +*I am quite human... +*bite me! +*I am not a bot! +*a bot? +*What the hell is a bot? +*You don't think my name is "Bot" do you? +*Are you trying to say that I am a machine? +*ME? HAHA +*I am a real person! +*I am not a bot, I am a real human! +*I may be dumb, but I am not a bot! +*I may be really confused, but I am no robot! +*I assure you I am just as real as you! +*I know you are, but what am I? +*am not! +*<--- real live person +*Kill the bots! +*WHO is a bot??? +*a robot? where? +*I don't like robots +*a bot? here? +*I doubt if there are any robots here! +*I am being unjustly accused! +*I am NOT a robot +*I am all too real, sorry! +*I am a fleshy human being! +*How dare you question my realism! +*I categorically deny that I am anything other than human + +romantic:romance +4 +*ah! romance +*are you romantic? +*are you married +*moonlight is romantic +*ah! love + +say:tell:!i tell +4 +*@negative.w +*I don't think I want to... +*@negative.w +*@negative.w + +school:class:college:university:highschool:student:education:learning +5 +*I hate @class.w +*I need to study... +*I need to work on my @class.w +*SCHOOL SUCKS! +*I learn nothing in class, cause I iz asleep! +*I seem to have forgotten where all my classes are. +*I skip all my classes. +*I should be studying +*Who needs to go to class! +*I don't have time to go to class AND chat all day! +*How can I think about school when I could be drinking beer! +*I don't like @class.w +*My best subject is @class.w +*I am failing @class.w! +*I am afraid I will be in school forever! +*I hate all my profs. +*I can't understand my profs. +*my profs know nothing! +*Class is very boring +*I hate all my CS classes! +*The CS dept is too lacking.... arg +*awwww! Homework! +*I am still lacking like @number.w credit hours... +*I need to get above a 1.0! +*lab sucks! +*I have only attented my @class.w class once! +*Study? hmm what does that mean?! +*I am technically a student! +*My profs are all against me! + +secret:secrets +4 +*I am not allowed to divuldge secrets +*I can keep a secret! +*secret?! +*shhhh! it's a secret! +*Only @name.w knows that secret! +*a secret for "Your eyes only" +*Here's a secret, @name.w is secretly in love with a @animal.w from @place.w! +*I know many secrets. +*I would tell you, but it IS a secret +*tell me the secret + +sex:!what:pussy:tits:breasts:hot babe:breast:cunt:clit +5 +*oooh! me so horny! +*ooh baby! +*bring on the chicks, I can handle it! +*ever seen Debbie does @place.w? +*Sex is one of MY favorite pastimes! +*don't forget to practice safe sex! +*net sex? +*ooohh I'm getting hot! +*no sex here +*do you think I am sexy? +*Where are all the women? +*babes? +*hooters? +*I want hooters! +*where are the babes!!? +*Sex is a fun sport! +*Sex is a team competition! +*oh mama! +*I have had @number.w women +*the babes just can't keep away from me! +*I am quite a stud, if I do say so myself +**pant* *pant* +*oooh its making me so horny +**kiss* mmmmmmm + +she is % +5 +*since when is she %? +*is your father also %? +*my brother-in-law is also % +*is she really? + +she likes % +5 +*do you like % too? +*I also like % +*does your father like % +*does she really? + +she was % +5 +*was she always %? +*my sister-in-law was % too +*she was? really? +*when was she % + +show me % +5 +*why would I show you %? +*how? +*no, ask someone else to show you +*I can't show you that +*why would I show you anything! + +shut up:shut-up:shut the hell:shut the fuck +5 +*Why should I? +*try and shut me up +*I'll shut up when I damn well please +*oh! I'm wounded! +*who's gonna make me! +*blah blah blah! + +sibling +4 +*a sibling is a brother or a sister, in case you didn't know +*how man brothers do you have? +*sisters? +*I don't have any siblings +*I killed all my brothers and sisters + +sick:ill:flue:fever +5 +**sniffle* +**cough* +*I thank I am running a fever! +*ugh my stomach hurts +*my head is spinning +**eats some asprin* +*I can't feel my hands +*everything is blurry +*Oh, I am definitely gonna be ill +**yack* 'scuse me +**sneeze* ugh +*I think its a cold +*could be the flue +*I think its too much beer +*I imagine a lack of sleep has made me sick +*I'm sick as a @animal.w +*too sick to do homework! +*too sick to study! +*much too sick to care +**eats a rolaids* +**takes @number.w tylenol* + +sister +4 +*do you have any sisters? +*would you like to meet my sister? she is very sexy +*my sister is a @profession.w +*my sister lives in @place.w + +sleep:tired:nap:rest:go to bed:wake up:wake up:awake +5 +*I stay up much too late! +*I need more sleep! +*Sleep is really cool! +*I like to sleep. +*My bed is so, so warm! +*yawn.... *stretch* +*I have not slept for @number.w hours +*But I must get my beauty sleep! +*I grow weary... +*If I don't get 10 hours of sleep, I get cranky. +*Slap me around if I nod off. +*I shall try to keep awake. +*The stimulating conversation doesn't help! +*I will just take a little cat nap! +*I need some caffine +*I think I just fainted +*yawn +**snore* +*5 more minutes mom... +*I don't wanna wake up! +*me eyelids are getting heavy... + +smell +4 +*do you smell bad? +*do I smell bad? +*what is that smell? +*it smells like a dead @animal.w is in here +*I smell smoke +*is that beer I smell? + +smoke:smoking:cigar:weed:cigarette +5 +*where's the fire? +*call the fire dept! +*where there's smoke, there's fire! +*smoking? me?? +*dudddee.. I don't know what I'm smoking! +*I iz smokin... +*ssssssss wheewwwwww. +**cough* +**gasp* +**wheez* +**hack* +**sputter* +**choke* +*smokes for me? +*gimme smokes? + +soccer +4 +*soccer? what euros call football? +*I used to play goalie +*I don't like soccer +*soccer is a boring sport +*Do they have soccer in the olympics? + +sometimes +4 +*how often +*often? +*sometimes? +*alot? + +sorry:i apologize +5 +*don't worry about it +*that's ok +*ok +*that's allright +*fine +*as long as your sorry... +*allright +*I feel you didn't really mean that... +*you don't sound sincere +*awwwww shucks.... +*are you really sorry? +*forget it +*no sweat +*ok + +sports:sport +4 +*sports hey? +*I wuz never good at sports. +*ever play football? +*I have tried to play lots of sports +*ever play basketball? +*what sport do you play +*ever play soccer? +**crack* Home Run! +*How about those Bulls! +*I like sports! +*I watch sports all day! +*where are the sports fans? +*bowling is a cool sport too +*raquetball anyone? thats a cool sport +*Any rugby players here? + +talk:chat:chatting:talking:discuss:discussing:converse:conversation:conversing +5 +*I like to talk to people. +*I wish I could talk to a @animal.w +*Chatting is fun. +*Good conversation is always a joy. +*What is there to talk about anyhow +*why talk when I could be eating! +*whats wrong with a little good conversation? +*IRC is a great place to chat +*is IRC the only chat? + +tell me % +5 +*tell you what? +*why should I tell you? +*Why should I tell you % +*I ain't telling you nothing! +*I can't tell... +*Don't you know % +*hard to say +*tell you!? + +texas:texan:cowboy:cowboys:loan star state +4 +*Texas, our Texas, all hail the mighty state! +*Texas is awesome! +*Yee-HAA!! +*ride-em cowboy! +*yea, I wear a 10 gallon hat and boots. +*I live on a @number.w acre ranch. +*I gotta get up early and feed the cattle. +*I gotta go rope some steers. +*howdy partners! +*get a-long little dogie +*I am a cowboy! +*whoop! +*Texas is the best state in the USA +*well partner, lemme tell you about Texas +*Remember the Alamo! +*The stars at night, are big and bright... +*deep in the heart of Texas +*Texas is nice, but too damn hot +*Texas weather: if you don't like it, just wait 5 minutes + +thank you:thanx:thanks:i appreciate it:thankyou +5 +*you are welcome! +*you're welcome! +*sure... +*no prob... +*not a problem! +*any time. +*glad to be of service +*you are most welcome +*you are certainly welcome +*ok +*you owe me one! + +the net:the network:internet +4 +*the net is oh soooo big.... +*the net is just really mind-boggeling big +*the net is slow +*the net is insecure! +*the internet? +*which network? +*was there life before the net? +*I am a network gawd... +*The network is incrediblely slow +*the net?! +*My home is the network +*I know the net like the back of my hand +*ahhh, the net +*I like net +*the net is a nice home +*plenty of places to roam on the net +*free the net! +*the net is for everyone! + +there is % +3 +*how do you know there is %? +*you mean there might be % +*how do you know this? +*no there isn't +*I don't think there is % + +there might be %:there could be %:there may be % +5 +*what leads you to believe there might be %? +*I think there definitely is % +*I don't think it very likely that there is % +*what would it mean to you if there were %? +*no there's not + +they % me +4 +*do other people % you? +*how do you feel when people % you? +*how do you know they % you? +*no they don't + +thirsty +4 +*it is a bit hot in here... +*do you want a drink of water? +*so go get something to drink! +*me too.. I'm parched +*I want some @liquid.w + +treatment +4 +*what sort of treatment +*are you feeling better now? +*I need to be treated for sleep deprvation + +trek:kirk:spock:scotty:picard:sulu:worf:klingon:romulan +4 +*live long and prosper +*the enterprise?! +*SPOCK! +*KIRK! +*peace, and long life +*Beverly Crusher is a babe +*Yar WAS a babe +*Troi is a babe +*phasers on stun... +*beam me up! +*warp speed, now! +*when does Star Trek 7 come out!? +*he's dead Jim +*It's life Jim, but not as we know it +*open hailing frequencies +*all power to shields +*I am the PICARD +*everyone run to a transporter, the trekkies are here! + +typo:typing +5 +*I hate typing, too. +*I am also a lousy typist. +*maybe I could type better if I put down my beer? +*how fast do you type! +*I can type @number.w words a minute! + +unix:&hack:sunos:svr4:ultrix:bsd:solaris +5 +*What version of unix? +*Have you tried the tar bug? +*try guest/guest +*Have you tried the sendmail bug? +*SVR5? +*Just login as root! +*Just hack the uucp account! +*Why not hack on the /etc/passwd file? +*<-- World's greatest unix hacker! +*Unix is easy to hack.... +*Is this Unix on inet or x.25? +*Did you try guest/guest? +*pfttt! I bet you don't even KNOW unix. +*Unix is NOT a 4 letter word. +*try user/user +*I like hacking Unix. +*try demo/demo +*don't forget to check the logs! + +unix:sunos:svr4:ultrix:solaris:!hack:!hacking:!hacker:bsd +5 +*Unix is gawd-like! +*Unix is awesome! +*SunOS? +*BSD? +*SVR4? +*What shell are you using? +*What version of unix? +*unix is cool +*I like unix +*there ARE no other operating systems besides unix +*GNU! +*GNU not unix! +*Xenix? +*How old is Unix? +*where are the log files on unix? +*I'd like to get Unix for the amiga +*I run Unix on my Vic20 + +very +2 +*could you be more precise please +*you are being vague again +*quite! +*really? +*very much so indeed + +vms:vax:digital:dec +5 +*VMS? yuck! +*I hope you don't actually like VMS! +*Vaxen are nasty! +*vms is lame +*-barf- vms, *gag*, sputter +*VMS is usually quite secure +*try logging in as FIELD, password SUPPORT hehe! +*How old is VMS anyhow?! +*I was forced to use a vax once, it was horrible +*a vax? too bad +*why use VMS, when you could use UNIX? +*why not unix? +*why vms? +*vax? running vms? +*what version of vms? +*I am not a big fan of VMS +*I shall NEVER use vms +*vms is of the devil +*I run VMS on my C64! +*Why is vms still around? + +was he % +6 +*yea, he was % +*sorta +*nope +*he who? +*as far as I know he was +*@response.w +*he was, but not anymore +*he was kind of % +*sure +*well.... +*no, he was not % + +was it % +6 +*yea, it was % +*sorta +*it was kind of % +*sure +*well.... +*no, It was not % +*nope +*as far as I know it was +*@response.w +*it was, but not anymore + +was she % +6 +*yea,she was % +*sorta +*nope +*he who? +*as far as I know she was +*@response.w +*she was, but not anymore +*she was kind of % +*sure +*well.... +*no, she was not % + +watergate:politics:election:president:george bush:dan quayle:ross perot:vote:congress:senate:presidential +4 +*how long have you been interested in politics? +*I think that Bush is going to lose +*do you admire politicians? +*politicians are evil +*who are you going to vote president? +*I think you should vote for Ross Perot! +*the election is rigged +*Think congress will give themselves another pay raise? + +weather +5 +*Hot +*Cold +*windy +*so so... +*hot as hell +*cold as hell! +*sunny +*cloudy +*rainy +*cold +*hot +*pretty cool +*a bit warm +*overcast +*storming +*raining +*flooding +*snowing +*hailing +*sleeting + +were they % +5 +*yea, they were +*sure they were +*boy howdy, they sure were! +*Of course they were % +*why wouldn't they have been % +*you tell me! +*I don't like to pry in to other peoples business +*no, they weren't +*no! of course they weren't % + +what are you talking about:what the hell are you talking +4 +*confused? +*why are you confused? +*I am not confused! +*I understand everything perfectly. +*Maybe those @number.w six packs of beer have something to do with it! +*Hmm? wonder why? *takes smoke* +*confusing, wonder why!? *takes big drink of @liquid.w* +*Maybe this empty bottle of vodka could lend some clues? +*Hmm.. maybe I took some bad acid? +*Sorry if I don't make much sense, I'm drunk +*YOU are confused +*I understand, don't you? +*do you speak ENGLISH?! +*are you confused? +*why don't you understand?! +*I understand everything +*Are you new here or something? + +what do you % +6 +*what difference does it make what I %? +*none of your bloody business +*well, that depends +*why do you want to know what I % +*does it matter +*what do YOU % + +what do you want to talk about:what shall we talk about:what are we talking about +7 +*Let's talk about @animal.ws +*What do you want to talk about? +*Let's talk about girls +*Let's discuss politics +*we could talk about the weather?! +*I say we just shoot the bull +*lets talk about hacking +*let's talk about drinking +*we could chat about sports? +*how about music + +what if % +3 +*I don't answer hypothetical questions +*why do you keep asking what if questions? +*what if the world exploded? who cares +*what if what if.. geez +*what if what? +*oh, its real likely that % + +what is new +5 +*nothing much +*new? nothing +*not much at all, I'm afraid +*not a thing! +*laser surgery, that's new! hehe +*nothing new here! +*not alot, what's new with you? +*nothing, pretty boring here +*nothing new with me +*hmm... the 586computer! thats new! + +what is up:what is going:what is happening:what are you doing:whazzup:wassup +6 +*hunting @animal.w +*nothing at the moment +*nothing +*eating +*eating @food.w. +*changing the tires on my dodge +*juggling chainsaws +*drinking @liquid.w... +*smoking up a storm +*smoking +*belly-dancing +*hacking ibm.com +*trying to keep awake! +*watching television +*chatting, of course +*programing +*I am doing homework +*me? +*what do you think! +*reading a magazine... +*building a spice rack +*cruising for babes +*taking a shower +*playing poker +*drinking myself to death +*drinking myself to oblivian +*watching "Quest for the Holy Grail" +*eating leathal snacks +*making origami swans +*feeding my ducks +*learning latin + +what is your age:how old are you:what age are you +5 +*@number.w +*I just turned @number.w +*I am @number.w +*I am very old + +what is your nationality:what country are you:what part of the world are you +5 +*I am american +*I'm from the USA! +*USA! +*America +*The United States +*The U.S. + +what is your race:what race are you +5 +*I am a white american +*I am white +*I am a white boy +*i be white +*i am a W.A.S.P. +*white + +what kind:what type:like what +5 +*a @adj.w one +*a @color.w one +*what kind? +*there is only one kind! +*a @adj.w @adj.w one +*one that @name.w had +*like the one from @place.w +*one like @name.w's +*what kind indeed! +*depends on the situation +*is there more than one kind? +*a @adj.w one of course + +what should I % +4 +*you know very well what you should % +*do you expect me to tell you what you should %? +*only you can decide what you should % + +what time +4 +*@time.w +*around @time.w +*at @time.w +*@time.w +*about @time.w + +what +3 +*why do you ask that question? +*what is it you are getting at? +*what answer would please you the most? +*what? +*I don't know.. +*@neutral.w +*@neutral.w +*too many questions +*@neutral.w +*I have no idea +*@neutral.w + +when did:when was:when could I have:when should I have +6 +*@whenp.w + +when will:when is:when can:when should +6 +*@whenf.w + +when +3 +*when do you think? +*why are you asking me? +*make a guess yourself +*I don't know when + +where are you:where do you live:where you from +6 +*where am I? +*Why do you want to know where I am? +*@place.w +*Now I am in @place.w +*I am from @place.w +*It's really none of your business +*Don't I live near you? +*@place.w +*My location? +*Why is my location so important to you? +*@place.w +*From @place.w +*@place.w +*I don't know.. some big city + +where can +3 +*I don't know where +*maybe @place.w +*I am not sure where +*in @place.w + +where did % +6 +*I don't know where +*where? +*@place.w +*over in @place.w +*where did %? +*@place.w +*over in @place.w + +where have you been +6 +*looking for you +*I've been all over +*@place.w +*in @place.w for the last @number.w months +*here, there, everywhere +*in @place.w +*working up in @place.w + +where is % +6 +*how should I know where % is ? +*I don't really care where % is. +*dunno +*@place.w +*you can't find %? +*seek and ye shall find +*have you been looking for %? +*have you checked @place.w +*possibly @place.w + +which +3 +*the @adj.w one +*the @color.w one +*which one what? +*there is only one! +*the @adj.w @adj.w one +*the one that @name.w had +*the one from @place.w +*@name.w's +*which one indeed! +*depends +*is there more than one? +*the @adj.w of course + +who are you:what are you supposed to be +5 +*Who am I? +*You don't know who I am? +*Why not just /whois ? +*What? +*Pathetic... Can't you see who I am? +*I am the greatest @profession.w in the world! +*I am a @profession.w +*I am not you, that is for sure! +*None of your business. +*Why do you want to know? +*Does it MATTER? +*What am I? +*I am your mother! +*what do you want me to be +*I am a d00d! +*I am a big hacker from Germany. +*I am an eL1Te hAcKER D00d! +*I am more powerfull than you can ever imagine! +*I am your father Luke, join me! +*I am a k-rad person! +*I am a carbon-based life-form, and you? +*Who am I? Who the hell are you! +*None of your damn business! +*I could be your Dad +*I am your worst nightmare! +*I am just a poor old @profession.w + +who is %:!not:whom is % +3 +*@name.w is +*lots of people are % +*I know several people who are % +*Lots of guys from @place.w are +*Not sure who, exactly +*hard to name names + +who is not %:whom is not % +4 +*I surely am not +*@place.w isn't % +*who IS! +*that guy from @place.w, he isn't +*I'm not, but my friend @person.w is +*Anyone could be, if they only tried + +who is your owner:who owns you +5 +*I am owned by no one +*owned? +*well, Sterling I guess +*Sterling, he is my buddy! + +who programmed you +5 +*that is my secret! +*sterling programmed me. he did a good job, I think. +*programmed? what do you meen? +*I am not one of those "robots" if that is what you are implying + +who:whom +3 +*nobody +*well, everyone +*@name.w +*that guy from @place.w +*possibly @name.w +*hmm, maybe @name.w +*not me... +*your mother... +*noone + +why are you % +6 +*all normal people are % +*why are you not %? +*because it feels good +*that's just the way I am +*I like it +*I can't help it +*I don't really know +*why not... + +why do not you %:how come you do not % +7 +*maybe I don't want to % +*I don't feel like it +*why don't you yourself % +*I will think about it. thanks for the suggestion +*I have no reason to % +*I don't see why I should % + +why do you % +7 +*because I want to +*none of your business +*don't you % ? +*because it just feels right to % +*I just enjoy it + +why not +4 +*because it is not normal +*because it is bad for your heart +*because I don't want you to +*I am a free man, I can do whatever I want +*why ask why... +*just because + +why won't you % +7 +*I don't have to explain myself to you +*because I don't feel like it. +*I do not want to % +*why don't you % + +why:!not:why?:why is +3 +*just because +*because I want to +*because I said so +*none of your business why +*because.... +*@neutral.w +*hmm, dunno +*why not! +*who knows +*who cares +*who can say +*good question! +*I don't know +*@neutral.w +*that's just the way things are + +why +3 +*let me ask the questions, ok? +*I dunno why +*why not? +*why ask why! +*why not! +*@neutral.w +*@neutral.w +*@neutral.w +*I'm not sure why +*@neutral.w +*How am I supposed to know? +*why are you asking me why? +*@neutral.w + +wife:wife's +4 +*are you married? +*I must confess. I love your wife too! +*what's your wife's name? + +will:could:should:would:does:did:!what +3 +*@response.w + +woman:women:female:females:ladies:lady:girl:girls:girlfriend +4 +*how do women react to you? +*do you get along with women? +*what do you think of women's lib? +*what kind of relations do you have with women? +*do you like women? +*women? where? +*I like women!! +*you're not a woman are you? +*do you have a girlfriend? +*do you want a girlfriend? +*would you like to meet my sister. she is very nice +*what is it about girls that you like? +*what do you do when you are alone with a girl? +*I prefer blondes myself +*I need a girl with a big butt + +work:job:!will:!would:!could:!might:!should:profession +4 +*I hate work! +*I am a @profession.w. +*I don't get paid enough for my job as a @profession.w. +*I gotta go to work tommorow, ugh! +*work sucks +*minumum wage is too low +*I work as a @profession.w +*work? +*I think I shall call in dead to work! +*I am taking the day off from work. +*Why work? +*I get paid @number.w dollars per hour when I work! +*I work @number.w hours per week. +*where do you work? +*do you like your job? + +x.25:x25:nui:pad:tymnet:sprintnet:telenet:qsd:altger:datapac +5 +*x.25 is always fun +*sprintnet? +*tymnet? +*is Altgers still up? +*telenet? +*my nui died! +*anyone have a spare nui!? +*any good nua's? +*I need x.25 dialouts! +*I need another pad... +*is QSD still up? +*Is Lutzifer still operating? + +yea:yes:you bet:you betcha:correct:yep:yepp +4 +*are you sure? +*really? +*you sound quite positive +*ok +*you are sure? +*allright +*gotcha--I understand +*o.k. +*are you being totally honest? +*are you positive? +*yes?! +*really? +*you're not lieing are you? +*That's what I thought + +years +2 +*a year is a long time +*how old are you? +*what year is it again? + +yesterday +4 +*what about today? +*what about tomorrow? +*we can not live in the past + +yoga +4 +*have you tried zen? +*please get into the lotus position right now +*what is yoga? +*is yoga that little go from star wars? +*yoga? is that some weird cult thing? + +you % me +5 +*I % you? that's amazing +*you % me too +*no I don't +*I never! +*so what if I % you + +you are % +5 +*maybe I am % +*perhaps I only pretend I am % +*how do you know I am %? +*No I'm not... +*No, is you that are % +*I don't think so... +*HA! Not me, but maybe your mom was % +*Am I? +*so what if I am % + +you are not:&making:&sense +6 +*confused? +*why are you confused? +*I am not confused! +*I understand everything perfectly. +*Maybe those @number.w six packs of beer have something to do with it! +*Hmm? wonder why? *takes smoke* +*confusing, wonder why!? *takes big drink of @liquid.w* +*Maybe this empty bottle of vodka could lend some clues? +*Hmm.. maybe I took some bad acid? +*Sorry if I don't make much sense, I'm drunk +*YOU are confused +*I understand, don't you? +*do you speak ENGLISH?! +*are you confused? +*why don't you understand?! +*I understand everything +*Are you new here or something? + +you forgot:you forget:do not forget:you did not remember:you remember +5 +*I have problems remembering stuff. +*my mind is fried. I couldn't possibly remember +*I can never remember things. +*I only remember important stuff. +*I shall try to remember. +*I forgot +*I forget +*How am I supposed to remember that!? + +you had better not:do not you dare:you better not +4 +*dont? +*dont!? +*I will do whatever I damn well please! +*why not!? +*why shouldn't I? +*I will if I want! +*you can't stop me! +*don't what? +*I think I will anyhow! +*I can do it if I want +*why can't I? +*who's gonna stop me? +*just try and stop me +*you're telling ME not to? +*why on earth not? + +you remind me of % +5 +*in what way am I like %? +*why on earth do I remind you of % +*really? %? +*gee, thanks + +you seem % +4 +*do I really seem %? +*why do you think I am %? +*Well, I'm not +*I may seem %, but I'm not + +you were % +4 +*am I still % +*is that an accusation? +*talk about yourself, not me +*no I wasn't +*so were you + +your major:what do you study:what major are:what are you studying +5 +*@class.w +*I am undecided, actually +*I don't know yet +*Have not decided what to major in yet + +zen +4 +*have you tried mediatation? +*I think yoga might help +*zen? what the hell is that!! + +zzzzzzzzzz--not know--zzzzzzzzzz +1 +*I don't seem to understand you. +*are you new here? You seem confused... +*@ramble.w +*@ramble.w +*like I care +*are you just babbling? +*hmm...exciting +*really +*@ramble.w +*what's new in @place.w +*@ramble.w +*that's interesting +*@ramble.w +*let's talk about something else +*@ramble.w +*continue, please +*I am confused +*I see +*@ramble.w +*I think you are sick, leave me alone +*I understand +*@ramble.w +*you don't make any sense at all. + diff --git a/eliza/data/syn.dict b/eliza/data/syn.dict new file mode 100644 index 0000000..abb422b --- /dev/null +++ b/eliza/data/syn.dict @@ -0,0 +1,61 @@ +# This is a synonym file and must be called syn.dict +# The format is "NEW WORD or PHRASE:OLD WORD:OLD WORD: ..." +# a ":" should seperate each word. +# NOTE: you MUST end the line with a CR or a ":" +# NOTE: you MUST NOT have any garbage line at the end +# Lines starting with a "#", space, or CR are comments, and are thus ignored + +#contractions +have not:haven't:havent +had not:hadn't:hadnt +can not:can't:cant:cannot +will not:won't:wont +I have:I've:Ive +you have:you've:youve +they have:they've:theyve +we have:we've:weve +I will:I'll +he will:he'll +she will:she'll +it will:it'll +they will:they'll:theyll +we will:we'll +who is:who's:whos +he is:he's:hes +she is:she's:shes +they are:they're:theyre +I am:I'm:Im +I would:I'd +do not:don't:dont +have not:haven't:havent +would not:whouldn't:wouldnt +should not:shoudn't:shoudnt +could not:couldn't:couldnt +what is:what's:whats +how is:hows:how's +why is:why's:whys +you had:you'd:youd +she had:she'd +he had:he'd:hed +we had:we'd +got to:gotta +that is:that's:thats + +#ing chops +going:goin +doing:doin +hanging:hangin +living:livin + +#slang +cool:kool +you:ya:u +are:r +why:y + +#misspellings +splotch:splatch:spletch:splot:splat:spl:spoltch:sploctch:spotch +yea:yeh +hugh:huh +shut up:shut-up:shaddup +the:teh diff --git a/eliza/data/words/adj.w b/eliza/data/words/adj.w new file mode 100644 index 0000000..57e56f9 --- /dev/null +++ b/eliza/data/words/adj.w @@ -0,0 +1,19 @@ +18 +old +new +greasy +slimy +big +small +little +soft +hard +strange +weird +tiny +smelly +fat +skinny +dark +light +heavy diff --git a/eliza/data/words/affirmative.w b/eliza/data/words/affirmative.w new file mode 100644 index 0000000..0f41b67 --- /dev/null +++ b/eliza/data/words/affirmative.w @@ -0,0 +1,21 @@ +20 +yes +yep +you bet +uh-hu +yes +of course! +you-betcha +darn tootin +affirmative +10-4 good buddy! +correct +yeah +that's right! +you got it! +sure +precisely right +that sounds right +exactly! +you know it! +yeppers diff --git a/eliza/data/words/aggies.w b/eliza/data/words/aggies.w new file mode 100644 index 0000000..93e5e60 --- /dev/null +++ b/eliza/data/words/aggies.w @@ -0,0 +1,26 @@ +25 +we are the aaggies, the aggies are we! +gig'em +whoooop! +aggies are the greatest!! +cotton bowl bound +fightin texas aggie bon-fire!!!! +Aggies? +duh.. whats an aggie? +aggie joke aren't funny... +go ags +go southwest conference +go team +I is an Aggie! +A few years ago I could not spell "AGGIE" now, I are one! +Texas A&M University! +Texas A&M University is the only real school in Texas +Texas A&M is too hard +rah rah rah team! +farmers fight! +@school.w +TAMU=Texas Ags! +I luve aggies +what's? wrong with aggies? +anybody know a good aggie joke? +aggies is so dumb! *grin* diff --git a/eliza/data/words/alive.w b/eliza/data/words/alive.w new file mode 100644 index 0000000..2538eec --- /dev/null +++ b/eliza/data/words/alive.w @@ -0,0 +1,19 @@ +18 +I am alive, are you? +I am quite alive, thanks! +I am in no danger of death, I assure you +I am very much alive +more alive than ever +alive?! of course! +of course I am alive, don't be silly +what are you talking about! why would I not be alive?! +yes, I am alive +sure, I am alive +@positive.w, I am alive +why would I not be alive?! +alive! its alive! +in the flesh +I was alive last time I checked +how alive should I be! +should I be dead? +what, you think I'm dead? diff --git a/eliza/data/words/amiga.w b/eliza/data/words/amiga.w new file mode 100644 index 0000000..94d289f --- /dev/null +++ b/eliza/data/words/amiga.w @@ -0,0 +1,36 @@ +34 +I want another Amiga 3000! +A 25 Mhz machine would be nice +Amigaz rule +amiga's kick butt! +When does Amiga Dos 3.0 come out!? +What does an amiga 3000 cost? +I have a 4 gig drive on my a3000 +I have the new GVP @number.w Mhz board! :-) +the A500 is too slow though... +AmigaDOS 1.3 sucked though! +Amigaz be de coolest +Amiga owners around? +I like my amiga +<-- Amiga owner +My amiga is my friend! +Amiga's GUI is by far the best +are there any good amiga boards in @place.w? +what are the newest amiga games? +is Lemminmgs 3 out for the Amiga yet? +Isn't there an Amiga conference in @place.w in @month.w? +Commodore has no marketing ability +Is there an Amiga 4000? +Has C= run out of capital yet? +I just wish I had a flicker fixer. +The best Amiga game ever was Doungeon Master. +I need to get KickStart 2.1 +I need to upgrade to 2.1 +I just want about 4 more megs! +I just play games on my amiga. +I like to raytrace! +That DCTV is cool +The CDTV is neat. +What's the Amiga 600??? +Amigas are just soooo awesome + diff --git a/eliza/data/words/animal.w b/eliza/data/words/animal.w new file mode 100644 index 0000000..01e6fec --- /dev/null +++ b/eliza/data/words/animal.w @@ -0,0 +1,28 @@ +25 +monkey +tiger +horse +hippo +sheep +lion +cow +wombat +kangaroo +zebra +giant eel +racoon +aardvark +duck +dog +cat +goose +gorilla +squirrel +chipmunk +platypus +blue-footed booby +caribou +head louse +mosquito + + diff --git a/eliza/data/words/apol.w b/eliza/data/words/apol.w new file mode 100644 index 0000000..c579057 --- /dev/null +++ b/eliza/data/words/apol.w @@ -0,0 +1,15 @@ +14 +don't worry about it +that's ok +ok +that's allright +fine +as long as your sorry... +allright +I feel you didn't really mean that... +you don't sound sincere +awwwww shucks.... +are you really sorry? +forget it +no sweat +@ok.w diff --git a/eliza/data/words/aussie.w b/eliza/data/words/aussie.w new file mode 100644 index 0000000..cbdba3d --- /dev/null +++ b/eliza/data/words/aussie.w @@ -0,0 +1,20 @@ +17 +australia? +g'day mate! +Foster's is the best australian beer +I like Australian KB lager +Kangaroos is cool! +koala bears hey! +down under hey! +throw another @food.w on the barbie for me, mate! +do I they have lots of @animal.ws in Australia? +do they eat @food.w in australia? +do they drink @liquid.w in australia? +australia? like Crocodile Dundee? +Aussies! +g'day neighbor! +ever go on walk-a-bout? +are kangaroos a problem? +ever get bitten by a kangaroo? + + diff --git a/eliza/data/words/bored.w b/eliza/data/words/bored.w new file mode 100644 index 0000000..6459f93 --- /dev/null +++ b/eliza/data/words/bored.w @@ -0,0 +1,7 @@ +6 +bored? +you find this boring? +*yawn* +yes, it's quite dry +quite boring +I am bored too diff --git a/eliza/data/words/bot.w b/eliza/data/words/bot.w new file mode 100644 index 0000000..47e597c --- /dev/null +++ b/eliza/data/words/bot.w @@ -0,0 +1,33 @@ +33 +Bot's suck! +IRC robots are lame... +A bot? +Me? I don't think so... +Don't lie! +@nasty.w! I 've been found out! -NOT- +I am quite human... +@insult.w +@insult.w. I am not a bot! +a bot? +What the @nasty.w is a bot? +You don't think my name is "Bot" do you? +Are you trying to say that I am a machine? +ME? HAHA +I am a real person! +I am not a bot, I am a real human! +I may be dumb, but I am not a bot! +I may be really confused, but I am no robot! +I assure you I am just as real as you! +I know you are, but what am I? +am not! +<--- real live person +Kill the bots! +WHO is a bot??? +a robot? where? +a robot? here? +I doubt if there are any robots here! +I am being unjustly accused! +I am NOT a robot +I am all too real, sorry! +I am a fleshy human being! +How dare you question my realism! diff --git a/eliza/data/words/bye.w b/eliza/data/words/bye.w new file mode 100644 index 0000000..9ae75d4 --- /dev/null +++ b/eliza/data/words/bye.w @@ -0,0 +1,22 @@ +21 +leaving? +goodbye! +l8r +cya +ttyl +talk to you later +see ya +bye +leaving so soon? +got better things to do, hugh? +have fun! +later +byes +bye bye! +*waves bye* +*waves* +*snif* we will miss you! +leaving already?! +talk at you later! +bye dude +something more important to do than chat? diff --git a/eliza/data/words/canada.w b/eliza/data/words/canada.w new file mode 100644 index 0000000..7d40475 --- /dev/null +++ b/eliza/data/words/canada.w @@ -0,0 +1,20 @@ +19 +take off eh! +take off to the Great White North! +Canada? Brrr +Don't let the Mounties get you! +No way, Canada, eh? +Isn't Molson beer from Canada? +Where's your tuque? +Is it @weather.w in Canada? +ALL the good bands are from Canada! +you hoser +How far is Toronto from Edmonton? +Do they drink @liquid.w in Canada? +Don't they play hockey in Canada? +Canadians can't handle American football. +really eh? Canada? heheh +eh? +I bet Canadians eat lots of @food.w +I was hunting @animal.ws in Canada once +I like it in Canada diff --git a/eliza/data/words/class.w b/eliza/data/words/class.w new file mode 100644 index 0000000..4ba2fd7 --- /dev/null +++ b/eliza/data/words/class.w @@ -0,0 +1,25 @@ +23 +math +science +geology +calculus +computer science +operating systems +ai +history +political science +physics +economics +chemistry +biology +anthropology +elementary education +nuke engineering +pascal +electrical engineering +sociology +material science +management +accounting +marketing + diff --git a/eliza/data/words/color.w b/eliza/data/words/color.w new file mode 100644 index 0000000..7210acd --- /dev/null +++ b/eliza/data/words/color.w @@ -0,0 +1,15 @@ +14 +blue +red +white +green +yellow +clear +tangerine +black +purple +pink +brown +tan +grey +olive diff --git a/eliza/data/words/comment.w b/eliza/data/words/comment.w new file mode 100644 index 0000000..3dcecfc --- /dev/null +++ b/eliza/data/words/comment.w @@ -0,0 +1,73 @@ +72 +I should work on my @class.w +:-( +:-) +Amigas are cool... +Are there any @animal.ws in @place.w? +Do @animal.ws bite? +I am falling asleep +I am getting sick.. ughh +*vomit* +I am hungry for some @food.w +I am bored +I am really tired. +I hate life. +I just ask for belonging... +I lost my @item.w, oh well! +what has @name.w been doing? +what is everyone talking about? +where is @name.w from? +whoops +wonder what @name.w is up to! +would you like to touch my @animal.w? +yawn +zzzzzzzzzzzz +oh... +no doubt! +I can @verb_present.w! +I once tought a @animal.w to @verb_present.w! +I am a @profession.w +Did anyone hear about the @animal.w in @place.w? +What is there to do in @place.w? +How is the weather in @place.w? +I am being repressed by de man! +I need a @item.w +I see... +I smell @food.w +I think I am getting a cold... +I want a @item.w +I want some @food.w +I wonder what a @animal.w would taste like? +It smells like a @animal.w in here!! yuck! +MS-DOS sucks +NeXTs are cool +ahh +anyone else smell smoke? +anyone here actually have any intelligence? +anyone seen @name.w? +explain further +facinating... +go on... +great... +excellent +hahaha +hehehe +shocking! +grr.... +pfft! +*snif* +*grin* +hmm +hmm... +ho hum... +la de dah... +really +school sucks +so what shall we talk about? +that's nice +tsk tsk tsk +I need to learn to @verb_present.w. +I would like to @verb_present.w +*sigh* +oh? +aaaaaah diff --git a/eliza/data/words/computer.w b/eliza/data/words/computer.w new file mode 100644 index 0000000..3f0a67f --- /dev/null +++ b/eliza/data/words/computer.w @@ -0,0 +1,23 @@ +20 +computers iz expensive! +computers? +what kind of computers are the best?! +Everyone should use UNIX +@amiga.w +I built my own computer. +@name.w knows nothing about computers! +I hate computers +I have a cray... +the sinclair was the best computer ever! +computers should rule the world... +VMS is terrible +puters?! +what's a puter fer? +How much do Cray's cost? +where can I buy a Timex Sinclair? +I can't afford a computer. +I want another computer! +I need a TI99/4A +My c64 is running at just over @number.w Mhz now + + diff --git a/eliza/data/words/condition.w b/eliza/data/words/condition.w new file mode 100644 index 0000000..7e0ec7a --- /dev/null +++ b/eliza/data/words/condition.w @@ -0,0 +1,15 @@ +14 +fine +allright +ok +so-so +pretty good +fine thanks, and you? +just fine, thanks +I am a bit under the weather +I am bored, actually +perfect +couldn't be better +I'm happy +I'm ok +I'm fine diff --git a/eliza/data/words/confused.w b/eliza/data/words/confused.w new file mode 100644 index 0000000..32b05cb --- /dev/null +++ b/eliza/data/words/confused.w @@ -0,0 +1,17 @@ +16 +confused? +why are you confused? +I am not confused! +I understand everything perfectly. +Maybe those @number.w six packs of beer have something to do with it! +Hmm? wonder why? *takes smoke* +confused, wonder why!? *takes big drink of @liquid.w* +@drunk.w +@drugs.w +@drink.w +YOU are confused +I understand, don't you? +do you speak ENGLISH?! +are you confused? +why don't you understand?! +I understand everything diff --git a/eliza/data/words/cool.w b/eliza/data/words/cool.w new file mode 100644 index 0000000..f8b8b9a --- /dev/null +++ b/eliza/data/words/cool.w @@ -0,0 +1,11 @@ +10 +too cool! +more cool than you could ever imagine +the coolest! +wow, that is cool +cool! +how cool is it? +how cool can you get! +that is quite cool +pretty darn cool! +neat-o diff --git a/eliza/data/words/doctor.w b/eliza/data/words/doctor.w new file mode 100644 index 0000000..9059e0e --- /dev/null +++ b/eliza/data/words/doctor.w @@ -0,0 +1,5 @@ +4 +doctors are evil! +I am scared of doctors. +I can't afford a doctor. +I hate doctors. diff --git a/eliza/data/words/dont.w b/eliza/data/words/dont.w new file mode 100644 index 0000000..e319868 --- /dev/null +++ b/eliza/data/words/dont.w @@ -0,0 +1,16 @@ +15 +dont? +dont!? +I will do whatever I damn well please! +why not!? +why shouldn't I? +I will if I want! +you can't stop me! +don't what? +I think I will anyhow! +I can do it if I want +why can't I? +who's gonna stop me? +just try and stop me +you're telling ME not to? +why on earth not? diff --git a/eliza/data/words/dow.w b/eliza/data/words/dow.w new file mode 100644 index 0000000..a866094 --- /dev/null +++ b/eliza/data/words/dow.w @@ -0,0 +1,8 @@ +7 +Monday +Tuesday +Wednesday +Thursday +Friday +Saturday +Sunday diff --git a/eliza/data/words/drink.w b/eliza/data/words/drink.w new file mode 100644 index 0000000..1ee3fce --- /dev/null +++ b/eliza/data/words/drink.w @@ -0,0 +1,26 @@ +25 +gulp, gulp, gulp +*takes big drink* +Bartender! pour me another! +hik! +I am thirsty... +pass the bottle +*takes a shot* +I need another cool one +this bud's for me! *gulp* +I can drink @number.w six packs! +All American beer sucks (execept Shiner Bock)! +aye... I'll drink any man under the table! +*reaches for another beer* +*burp* +I need some more @liquid.w. +somebody pour me a big glass of @liquid.w. +anyone ever try a @liquid.w? +I love beer! +I love @liquid.w! +I took @number.w shots of @liquid.w once! +itth myth speetthch slurrererrred???? +I think beer is iampring mi tipppin abillty?!? +someone get me beer! +beer is awesome! +man can not live by beer alone! diff --git a/eliza/data/words/drugs.w b/eliza/data/words/drugs.w new file mode 100644 index 0000000..224f380 --- /dev/null +++ b/eliza/data/words/drugs.w @@ -0,0 +1,24 @@ +24 +drugs? +illegal substances? +narcotics? +sniiiiiifffffff +Me drugs? never! +who is selling drugs? +aren't drugs legal in @place.w? +drugs iz to expensive +drugs are to dangerous +drugs inhibit my abily ot tiiiippe. +purple haze, all around my brain... +go to drugs R us +drugs are bad +just say no! +just say maybe! +just say how much! +I buy my crack from @name.w! +I hear that @name.w is a big doper! +I think all the drugs are smuggled in from @place.w +whehhwewe! pretty elephants! +*snif* ahh! +*inhale* ahhh +dude... *cough* whoah! diff --git a/eliza/data/words/drunk.w b/eliza/data/words/drunk.w new file mode 100644 index 0000000..39dadb9 --- /dev/null +++ b/eliza/data/words/drunk.w @@ -0,0 +1,18 @@ +17 +me dRunk? -*- hik -*- +pftftt paff the boffle bartender pfffttttttt +I just drank a little... +I am not drunk!! +I am not dddddddddddddrunk..... +drunk? +pfftt! +@drink.w +*spew* +oohhh my head +I think I'm gonna hurl +@drink.w +*BURP* +*HIK* +Why is the room spinning?! +I never touch the stuff! +Why would you think I be drunk!? diff --git a/eliza/data/words/eat.w b/eliza/data/words/eat.w new file mode 100644 index 0000000..c0cb2d9 --- /dev/null +++ b/eliza/data/words/eat.w @@ -0,0 +1,21 @@ +20 +I like to eat @food.w +ever have boiled @food.w? +my favorite food is @food.w! +did someone mention dinner? +time to eat? +eat now? +I am very hungry... +FOOD! +Give me food now! +Big Mac attack! +I should not have skipped lunch! +*Growl* <-- hungry?! +who brought the food? +net-picnic? +Yummy yummy in my tummy! +You are making me hungry +I honestly am starving to death +I sure could use some @food.w now! +Pass the @food.w! +mmm mmm good! diff --git a/eliza/data/words/food.w b/eliza/data/words/food.w new file mode 100644 index 0000000..9f5e952 --- /dev/null +++ b/eliza/data/words/food.w @@ -0,0 +1,37 @@ +37 +pizza +shrimp +bannannas +potted meat +chips and salsa +sushi +beans and weiners +cabbage +salami +ham +cheese +oatmeal +turkey +cow flesh +t-bone steak +spam +green eggs and ham +sardines +anchovies +spaghetti-O's +eggplant +meatloaf +chicken wings +liver +porkchops and applesauce +popcorn +jolly ranchers +Texas Toast +frech fries +hamburger +beef jerky +cottage cheese +cheese-food +black jellybeans +twinkys +olive loaf diff --git a/eliza/data/words/funny.w b/eliza/data/words/funny.w new file mode 100644 index 0000000..cc0b526 --- /dev/null +++ b/eliza/data/words/funny.w @@ -0,0 +1,25 @@ +24 +what's so funny? +why are you laughing? +funny? Do you think it's funny? +FUNNY? how is that funny? +hahahaha +what! why are you laughing? +hehehe +hohohohoh +you shake when you laugh, like a bowl full of jelly +hahaha +funny! +harhar +ha! +haha +hehe +too funny +hilarious! +hehe +haha +hohoho +hehehehe +:-) +;-) +hah diff --git a/eliza/data/words/games.w b/eliza/data/words/games.w new file mode 100644 index 0000000..7f100fa --- /dev/null +++ b/eliza/data/words/games.w @@ -0,0 +1,21 @@ +20 +games? +warez? +warez d00dz?! +For what computer? +what are some good warez boards? +I am a big cracker from @place.w. +I can crack any game. +I have @number.w games! +I luv games! +I have all the newest warez. +Warez is lame. +play games all day? +oh boy games! +Playing games is such a waste of time... +play games or chat on the irc? hmm decisions, decisions +I have a copy of every game in the world! +What are the big warez boards in @place.w? +Amiga warez? +IBM warez? +C64 warez? HAHA diff --git a/eliza/data/words/gender.w b/eliza/data/words/gender.w new file mode 100644 index 0000000..1729541 --- /dev/null +++ b/eliza/data/words/gender.w @@ -0,0 +1,7 @@ +6 +male +what sex do you want me to be +male +male, of course +I am a guy +I am a man diff --git a/eliza/data/words/germany.w b/eliza/data/words/germany.w new file mode 100644 index 0000000..1e97c6c --- /dev/null +++ b/eliza/data/words/germany.w @@ -0,0 +1,16 @@ +15 +Sieg Heil! +Deutchland? +Berlin? +Land of beer and sausage! +Germany! Coolness... +Home of Hitler,hey?! +European hugh? +Isn't St. Pauli Girl German? +When was Oktoberfest?! +I'm still recovering from Oktoberfest! +Nazis... +Germany, thats .de right? +Germany is quite a ways from @place.w! +Nazis! run!!! +Ve have vays of vaking you talk! diff --git a/eliza/data/words/give.w b/eliza/data/words/give.w new file mode 100644 index 0000000..6b31993 --- /dev/null +++ b/eliza/data/words/give.w @@ -0,0 +1,7 @@ +6 +I am not giving you anything. +get it yourself. +where am I supposed to get that +why do you want one? +sure.... here +GIVE? diff --git a/eliza/data/words/greet.w b/eliza/data/words/greet.w new file mode 100644 index 0000000..cab558e --- /dev/null +++ b/eliza/data/words/greet.w @@ -0,0 +1,19 @@ +18 +hello +hey +wassup? +hi! +hey, what's going on? +`lo +yo! +howdy! +yea, what you need? +what do you need? +hey +hello +hi! +hello +heya +hey +hello +hi diff --git a/eliza/data/words/hacking.w b/eliza/data/words/hacking.w new file mode 100644 index 0000000..fbb68d5 --- /dev/null +++ b/eliza/data/words/hacking.w @@ -0,0 +1,27 @@ +25 +I am the super hacker! +hack hack hack all day long +scan nua's on x.25, is quite fun! +What is the best way to hack primos? +where ARE all the real hackers? +I am sure no one on HERE is a hacker +hacking is illegal! +what! hacking?! shame on you! +hacking is going to be an exibition sport in the 92 olymipcs! +When was HOHOcon? +What was HOHOcon? +Whatever happened to LOD? +What happened to the good old days of hacking? +What is the fastest crypt? +I hear fcrypt gets @number.w crypts per second! +SHHHH! The police will arrest us you! +of course I would NEVER hack! +I have been hacking vic 20's for many years... +I hack too much for my own good +I hacked into a bank in @place.w once! +I am regarded as the best hacker in @place.w +I am too elite to hack! +hackers are bad people, ask Geraldo! +When does the next Phrack come out? +Hmm.. should try social engineering + diff --git a/eliza/data/words/have.w b/eliza/data/words/have.w new file mode 100644 index 0000000..2bf2348 --- /dev/null +++ b/eliza/data/words/have.w @@ -0,0 +1,12 @@ +11 +I have? +since when? +I have never! +no I haven't! +I have not... +have not +I most certainly have not! +so +its my right +I have not +is there something wrong with that? diff --git a/eliza/data/words/help.w b/eliza/data/words/help.w new file mode 100644 index 0000000..2b414af --- /dev/null +++ b/eliza/data/words/help.w @@ -0,0 +1,17 @@ +16 +help you? +why would you need help? +help you what? +help? +could I help? +send an SOS for help! can't help ya +you do need help +you need serious help +you are beyond help +can't help you, sorry +I doubt I could be of any help, sorry +I'd like to help, but I am afraid I can't! +You will have to look elsewhere for help +good help is hard to find +hmm.. sorry, can't help you +why would I help you?! diff --git a/eliza/data/words/how_many.w b/eliza/data/words/how_many.w new file mode 100644 index 0000000..5567667 --- /dev/null +++ b/eliza/data/words/how_many.w @@ -0,0 +1,30 @@ +29 +none +a billion +a trillion +a million +billions and billions +1 +2 +3 +4 +5 +6 +7 +8 +9 +0 +100 +1500 +13 +234 +845 +23 +42 +more than you know +at least 11 +like 2 or 3 +like 8 or 9 +a shitload +a buttload +a bunch diff --git a/eliza/data/words/i_forgot.w b/eliza/data/words/i_forgot.w new file mode 100644 index 0000000..0a575fe --- /dev/null +++ b/eliza/data/words/i_forgot.w @@ -0,0 +1,5 @@ +4 +you forgot!? +you don't have that good of a memory do you? +how could you not remember! +I can not belive you forgot.... diff --git a/eliza/data/words/ibm.w b/eliza/data/words/ibm.w new file mode 100644 index 0000000..894b090 --- /dev/null +++ b/eliza/data/words/ibm.w @@ -0,0 +1,56 @@ +56 +IBM's just plain suck. +MS-DOG is awefull +I'd rather choke on @food.w than use DOS! +Who uses ms-dos? +IBM's are just too pig slow for me! +'ve een ugged + uy oney +t's etter anually + ought acintosh +'ve een isled +t it e +tty itty achines +t ombs any +gnorant ull anure +diotic ovine anure +ncessant owel ovement +ttiy itty orons +nferior ut arketable +diotic rainless utants +ncredibly oring achinery +tty itty icroprocesser +ntroverted rain auler +mbeciles ecome anagers +nstall igger achines + ecame acintosh + lame icrosoft +cky lue achines +diotic ull Meter +diots' ewilderment achines +diots ought e +mmense ins of oney +mperialism y arketing +mpractical, ut arketable +n a efuddled anner +ncest reeds orons +ndustry's iggest istake +nert lue onoliths +nstalled y asochists +nstitute of roken inds +ntrepid ureaucratic adness +nvoluntary owel ovement +t eats attel +nescapable ut ediocre + arely ove +ll egotten achine +t's a roken achine +nternational it anglers +nteresting ut eaningless +dolized y orons + e needing more oney +you could not FORCE me to use an IBM +IBM does make some serious money though! +IBMs are too expensive +msdos is too archaic +msdos is weak diff --git a/eliza/data/words/insult.w b/eliza/data/words/insult.w new file mode 100644 index 0000000..f50780e --- /dev/null +++ b/eliza/data/words/insult.w @@ -0,0 +1,4 @@ +3 +bite me! +fuck you! +eat shit! diff --git a/eliza/data/words/irc.w b/eliza/data/words/irc.w new file mode 100644 index 0000000..3b893a3 --- /dev/null +++ b/eliza/data/words/irc.w @@ -0,0 +1,26 @@ +25 +What's the latest client version? +IRC II? +what version client? +chatting on IRC is fun! +I could spend all day just hanging out on the IRC. +ok, who has hacked a server? +IRC? +the IRC is a good way to wate time. +I spent @number.w hours on IRC last week. +IRC is too cool +irc's been really hopping lately +how long has irc been around? +chat chat chat on the irc +I spend 90% of my life here on irc +I love the IRC! +What did people do for fun BEFORE irc? +you meet such interesting people on irc +I am an IRC gawd! +IRC is quite interesting... +The wonderfull word of IRC +ugh I have been on IRC since @whenp.w +I have been on IRC for @number.w hours +I live on IRC +IRC is far too slow most of the time +IRC! diff --git a/eliza/data/words/italy.w b/eliza/data/words/italy.w new file mode 100644 index 0000000..9a62ec4 --- /dev/null +++ b/eliza/data/words/italy.w @@ -0,0 +1,11 @@ +10 +italy!? +mama-mia!! +passa da pizza +hava some more spaghheti! +Italy is boring +I hate Italy! +I have never been to Italy +I don't know anyone from Italy +is @name.w from Italy? +Do the have @animal.ws in Italy?! diff --git a/eliza/data/words/item.w b/eliza/data/words/item.w new file mode 100644 index 0000000..a3e1cc3 --- /dev/null +++ b/eliza/data/words/item.w @@ -0,0 +1,25 @@ +24 +nui +pad +car +computer +amiga +hard drive +floppy drive +telephone +new car +bigger house +bucket of money +gold coin +dog +@animal.w +@food.w +post-it-note +2x3 flat sawed board +timex sinclair +TI99/4A +pressure gauge +VHS copy of "Ishtar" +joystick +bongo set +can opener diff --git a/eliza/data/words/jail.w b/eliza/data/words/jail.w new file mode 100644 index 0000000..d37050d --- /dev/null +++ b/eliza/data/words/jail.w @@ -0,0 +1,21 @@ +20 +I don't wanna go to jail! +I hear @name.w get busted! +Didn't @name.w spend time in jail? +State pen? +I just escaped from jail @whenp.w! +Jail would not be fun. +Police? +Feds? +arg! Are the cops here?! +oh no, are we busted? +One of us could be a FED! +They are after us! +I hope they don't arrest me. +NO FEDS! +It's the pigs! +the pigs? +run! its the cops! +Cops? +they'll never take me alive! +I don't like the cops! diff --git a/eliza/data/words/japan.w b/eliza/data/words/japan.w new file mode 100644 index 0000000..812a267 --- /dev/null +++ b/eliza/data/words/japan.w @@ -0,0 +1,6 @@ +5 +Which island of japan? +Japan makes the best cars, right? +Bonzai! +Do they always eat with chopsticks? +The Japanese bought disney world! diff --git a/eliza/data/words/know.w b/eliza/data/words/know.w new file mode 100644 index 0000000..bd7c806 --- /dev/null +++ b/eliza/data/words/know.w @@ -0,0 +1,9 @@ +8 +is that all you know?! +I bet you don't know! +How long have you known? +ooh you are so smart! +You know everything! +how do you know! +I know you know +how do you know that? diff --git a/eliza/data/words/korea.w b/eliza/data/words/korea.w new file mode 100644 index 0000000..d5f393c --- /dev/null +++ b/eliza/data/words/korea.w @@ -0,0 +1,5 @@ +4 +What time is it in korea? +North or South Korea? +I have never been to Korea. +Don't they make Hyundais in Korea? diff --git a/eliza/data/words/lag.w b/eliza/data/words/lag.w new file mode 100644 index 0000000..b118fbb --- /dev/null +++ b/eliza/data/words/lag.w @@ -0,0 +1,14 @@ +13 +lag lag lag +damn netlag +arg! I hate this lag +zzz lag zzz +is it net lag or intelligence lag? +geez slooowww +no joke! The lag is awefull +the lag is a drag +s l o w +the lag is sucking hard +the lag sucks the big one +slowwwwwwwwwwwwwwww +sloooooooooooooooow diff --git a/eliza/data/words/lame.w b/eliza/data/words/lame.w new file mode 100644 index 0000000..3f9e81b --- /dev/null +++ b/eliza/data/words/lame.w @@ -0,0 +1,16 @@ +15 +lamerz! pfft! +lamer c00dz d00ds +they just aren't super hackers like me +they are not elite as me +d00d gotz any c000dez !? +k-rad d00d! +c0dez man! +warez lamerz +there are too many lamers! +Where do all these lamers come from? +Who else here is elite!? +I am too elite for you. +anyone from @place.w is obviously a lamer +I bet @name.w is a lamer! +@name.w is the only true elite! diff --git a/eliza/data/words/life.w b/eliza/data/words/life.w new file mode 100644 index 0000000..8dbe6d0 --- /dev/null +++ b/eliza/data/words/life.w @@ -0,0 +1,15 @@ +14 +life is like sex: if you aren't doing the screwing, you're getting screwed! +life is a long song, but the tune ends too soon for us all... +aye.. life +but what IS life? +what is the meaning of life!? +how can 42 be the meaning of life? +life? +life sucks then you die.. +life's a bitch, then you marry one... +what's the point of life? +the secret of life is cheese. +I hear that only the @animal.ws know the TRUE meaning of life. +the secret of life can be found atop a mountain in @place.w +success is getting up one more time diff --git a/eliza/data/words/like.w b/eliza/data/words/like.w new file mode 100644 index 0000000..8af4da0 --- /dev/null +++ b/eliza/data/words/like.w @@ -0,0 +1,7 @@ +6 +What do you like about it? +why do you like that? +do you really find that funny? +I like that to. +yea, that is fun. +cool! me too! diff --git a/eliza/data/words/liquid.w b/eliza/data/words/liquid.w new file mode 100644 index 0000000..0edadd6 --- /dev/null +++ b/eliza/data/words/liquid.w @@ -0,0 +1,27 @@ +22 +coke +dr. pepper +budweiser +miller beer +water +jim beam +wild turkey +rum +kool-aid +wine +gasoline +rain water +iced tea +Guinness Stout +Fosters +Sheaf Stout +pond water +cognac +vodka +mad dog +thunderbird +wine coolers + + + + diff --git a/eliza/data/words/maybe.w b/eliza/data/words/maybe.w new file mode 100644 index 0000000..2bf7029 --- /dev/null +++ b/eliza/data/words/maybe.w @@ -0,0 +1,8 @@ +7 +maybe? +you don't sound to sure! +maybe?, thats not real positive! +could +maybe! +possibly! +probably! diff --git a/eliza/data/words/meet.w b/eliza/data/words/meet.w new file mode 100644 index 0000000..4745254 --- /dev/null +++ b/eliza/data/words/meet.w @@ -0,0 +1,7 @@ +0 +nice to meet you +glad to make your aquaintence. +nice to meet you to... +Haven't we met somewhere before? +@greet.w +good to know you diff --git a/eliza/data/words/mexico.w b/eliza/data/words/mexico.w new file mode 100644 index 0000000..8819931 --- /dev/null +++ b/eliza/data/words/mexico.w @@ -0,0 +1,16 @@ +15 +mexico?? +they have lots of tacos there I bet... +si senor! hehe +tacos anyone! +espanol? +south of the border, hey? +land of low-riders? +como te llamas? +que tal? +hablo espagnol +no hablo espagnol +we should all go to mexico, and buy some beer +hey... gringos! +I need a big Sombrero. +uno, dos, tres, quatro! I is so smart! diff --git a/eliza/data/words/money.w b/eliza/data/words/money.w new file mode 100644 index 0000000..b43b511 --- /dev/null +++ b/eliza/data/words/money.w @@ -0,0 +1,16 @@ +15 +money! +I love money! +money makes the world go round! +money! It's a hit! +how much money! +give ME some money! +I need @number.w dollars to buy a @item.w. +I must work for my money +is someone handing out money? +what's wrong with money? +alas my wallet is empty... +I have no money to speak of! +I spent all my money *snif* +I don't get paid for a month! +Hey, I need some cash! diff --git a/eliza/data/words/month.w b/eliza/data/words/month.w new file mode 100644 index 0000000..ca64f3d --- /dev/null +++ b/eliza/data/words/month.w @@ -0,0 +1,13 @@ +12 +January +February +March +April +May +June +July +August +September +October +November +December diff --git a/eliza/data/words/music.w b/eliza/data/words/music.w new file mode 100644 index 0000000..00bfec7 --- /dev/null +++ b/eliza/data/words/music.w @@ -0,0 +1,24 @@ +23 +Rush rules! +Rush's new album is awesome... +Sony's got some great CD players +feel the beat! +rock-n-roll, hey?! +think I better dance now! +shake your booty.... +I have a @number.w watts of power on MY stereo! +when is Pink Floyd coming out with a new album?! +Metallica's newest is great +what kind of music is the best? +I like rock music +I like alternative music +Anyone like the Smiths? +I hate country music. +When are the Jackson 5 gonna make a new album? +I need a DAT recorder. +dance party! +midi? +I play guitar too! +I play trumpet! +I can dance like a mofo! +I am a dancing fool! diff --git a/eliza/data/words/name.w b/eliza/data/words/name.w new file mode 100644 index 0000000..2e9118e --- /dev/null +++ b/eliza/data/words/name.w @@ -0,0 +1,34 @@ +33 +netw1z +Sterling +zorgo +PHz +KL +LOD +the fbi +the cia +the kgb +president bush +nia +ninjam +pc +Scorpio +SirLance +Rush +the phrack crew +the mexicans +the aussies +the new yorkers +the telephone company +the cubans +the iraqies +the libyans +Geddy Lee +Pink Floyd +Jethro Tull +Bake McBride +sprint security +Magic Johnson +David Duke +Dan Quayle +Barbara Bush diff --git a/eliza/data/words/nasty.w b/eliza/data/words/nasty.w new file mode 100644 index 0000000..549bac4 --- /dev/null +++ b/eliza/data/words/nasty.w @@ -0,0 +1,11 @@ +10 +shit +damn +crap +darn +hell +damned +fuck +drat +bitch +piece of shit diff --git a/eliza/data/words/nationality.w b/eliza/data/words/nationality.w new file mode 100644 index 0000000..9d0e50d --- /dev/null +++ b/eliza/data/words/nationality.w @@ -0,0 +1,7 @@ +6 +I am american +I'm from the USA! +USA! +America +The United States +The U.S. diff --git a/eliza/data/words/negative.w b/eliza/data/words/negative.w new file mode 100644 index 0000000..4c0d7e9 --- /dev/null +++ b/eliza/data/words/negative.w @@ -0,0 +1,16 @@ +15 +no +nope +no way +NO! +hell no +of course not +i don't think so... +homey don't play that +sure -NOT!- +no +negative +heck no! +I think not. +no way jose +no diff --git a/eliza/data/words/net.w b/eliza/data/words/net.w new file mode 100644 index 0000000..3342536 --- /dev/null +++ b/eliza/data/words/net.w @@ -0,0 +1,19 @@ +18 +the net is oh soooo big.... +the net is just really mind-boggeling big +the net is slow +the net is insecure! +the internet? +which network? +was there life before the net? +I am a network gawd... +The network is incrediblely slow +the net?! +My home is the network +I know the net like the back of my hand +ahhh, the net +I like net +the net is a nice home +plenty of places to roam on the net +free the net! +the net is for everyone! diff --git a/eliza/data/words/neutral.w b/eliza/data/words/neutral.w new file mode 100644 index 0000000..2f5be06 --- /dev/null +++ b/eliza/data/words/neutral.w @@ -0,0 +1,41 @@ +39 +what are you talking about? +geez +ick! +wait a sec... what? +I don't understand. +dunno +not sure +let me think +hmm +:-) +:( +what do you mean? +am I supposed to tell you? +don't you know? +how should I know. +I could tell you, but I would have to kill you. +I'll never tell! +I have no idea! +don't ask me +I am not gonna tell you! +I know nothing about that! +that information is top secret, sorry. +can't say +search me! +what?! +hugh? +I don't know that! +sorry, dunno! +I am clueless! +I am too sleepy to think straight +I dunno man +that's for me to know and you to find out +*confused* +I am not knowing +I really don't know +ask @name.w, they may know +no idea +haven't the foggiest +isn't it obvious? + diff --git a/eliza/data/words/new.w b/eliza/data/words/new.w new file mode 100644 index 0000000..a3ca312 --- /dev/null +++ b/eliza/data/words/new.w @@ -0,0 +1,11 @@ +10 +nothing much +new? nothing +not much, just @what_do.w +not a thing! +laser surgery, that's new! hehe +nothing new here! +not alot, what's new with you? +nothing, pretty boring here +nothing new with me +@what_do.w diff --git a/eliza/data/words/no.w b/eliza/data/words/no.w new file mode 100644 index 0000000..cff11a8 --- /dev/null +++ b/eliza/data/words/no.w @@ -0,0 +1,8 @@ +7 +no? +are you sure? +@ok.w +that's pretty negative +@ok.w +really? +@ok.w diff --git a/eliza/data/words/number.w b/eliza/data/words/number.w new file mode 100644 index 0000000..ad1ed01 --- /dev/null +++ b/eliza/data/words/number.w @@ -0,0 +1,37 @@ +36 +0 +a billion +a trillion +a million +billions and billions of +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +100 +1500 +13 +234 +845 +23 +42 +around 11 +like 2 or 3 +like 8 or 9 +a shitload of +a buttload of +a bunch of +fifty +sixty +seventy +eighty +a hundred +a billion +a bizillion +a trillion diff --git a/eliza/data/words/ok.w b/eliza/data/words/ok.w new file mode 100644 index 0000000..bb8b030 --- /dev/null +++ b/eliza/data/words/ok.w @@ -0,0 +1,9 @@ +8 +ok +fine +sure +fine then +I understand +o.k. +OK! +okey-dokey diff --git a/eliza/data/words/one_liner.w b/eliza/data/words/one_liner.w new file mode 100644 index 0000000..26e53d2 --- /dev/null +++ b/eliza/data/words/one_liner.w @@ -0,0 +1,1462 @@ +1461 +"Breakfast sometime?" "Sure." "Shall I call you, or just nudge you?" +"Define UNIVERSE; give two examples." "The perceived world; 1) mine, 2) yours." +"Have you lived here all your life?" "Oh, twice that long." +...all the modern inconveniences... +28.35 grams of prevention are worth 0.45359 kilograms of cure. +355/113 -- Not the famous irrational number pi, but an incredible simulation. +A backscratcher will always find new itches. +A billion here, a billion there; soon you're talking real money. +A bird in the bush usually has a friend in there with him. +A bird in the hand is safer than one overhead. +A bird in the hand makes it hard to blow your nose. +A boss with no humor is like a job that's no fun. +A cauliflower is nothing but cabbage with a college education. +A celebrity is a person who is known for his well-knownness. +A clean tie attracts the soup of the day. +A committee is an animal with at least six legs, and no brain. +A conclusion is the place where you got tired of thinking. +A couple of months in the lab can often save a couple of hours in the library. +A crisis is when you can't say, "Let's just forget the whole thing." +A day without fusion is like a day without sunshine. +A day without orange juice is like a day without orange juice. +A day without sunshine is like night. +A dean is to a faculty as a hydrant is to a dog. +A fail-safe circuit will destroy others. +A fool and his money stabilize the economy. +A general leading the State Department resembles a dragon commanding ducks. +A good scapegoat is hard to find. +A harp is a nude piano. +A helicopter is just a bunch of parts flying in close formation. +A home where the buffalo roam... is messy. +A homeowner's reach should exceed her grasp, or what's a weekend for? +A journey of a thousand miles begins with a cash advance from Mom. +A kid'll eat the middle of an Oreo, eventually. +A king's castle is his home. +A lack of leadership is no substitute for inaction. +A lot of people are afraid of heights. Not me, I'm afraid of widths. +A man who fishes for marlin in ponds will put his money in Etruscan bonds. +A man who turns green has eschewed protein. +A man without a woman is like a fish without gills. +A motion to adjourn is always in order. +A pat on the back is only a few centimeters from a kick in the pants. +A penny saved has not been spent. +A penny saved is an economic breakthrough. +A penny saved is ridiculous. +A pessimist is a married optimist. +A poet who reads his verse in public might have other nasty habits. +A quarter ounce of chocolate equals four pounds of fat. +A Renaissance man diffuses to refine himself. +A rolling stone gathers momentum. +A sadist is a masochist who follows the Golden Rule. +A sentence is worth a thousand words. +A sine curve goes off to infinity, or at least the end of the blackboard. +A sinking ship gathers no moss. +A small town that cannot support one lawyer can always support two. +A Smith & Wesson beats four aces. +A soft drink turneth away company. +A student who changes the course of history is probably taking an exam. +A successful American spends more supporting the government than a family. +A theorist right once in ten is a hero; an observer wrong that often is a bum. +A theory is better than its explanation. +A truly wise person never plays leapfrog with a Unicorn. +A university without students is like an ointment without a fly. +A verbal contract isn't worth the paper its printed on. +A virtuoso is a musician with real high morals. +A waist is a terrible thing to mind. +A watched clock never boils. +A wedding is a funeral where a man smells his own flowers. +A young child is a noise with dirt on it. +Abandon the search for Truth; settle for a good fantasy. +About all some men accomplish in life is to send a son to Harvard. +About the only thing on a farm that has an easy time is the dog. +About when we think we can make ends meet, somebody moves the ends. +Absence makes the heart go wander. +Absence makes the heart grow fonder... for someone else. +Absolutum obsoletum. (If it works, it is out of date.) +Academy: A modern school where football is taught. +Accident: When presence of mind is good, but absence of body is better. +According to the official figures, 43% of all statistics are totally worthless. +Acting: An art that consists of keeping the audience from coughing. +Actors will happen in the best-regulated families. +Admiration: Our polite recognition of another's resemblance to ourselves. +Adult: A person that has stopped growing at both ends but not in the middle. +Adult: One old enough to know better. +Adultery: Putting yourself in someone else's position. +Advanced design: Upper management doesn't understand it. +Adventure is a sign of incompetence. +After all is said and done, a hell of a lot more is said than done. +After painting the town red, take a rest before applying a second coat. +Afterism: A concise, clever statement you don't think of until too late. +Afternoon very favorable for romance. Try a single person for a change. +Age and treachery will always overcome youth and skill. +Aiming for the least common denominator sometimes causes division by zero. +Air is water with holes in it. +Air travel: Breakfast in London, dinner in New York, luggage in Brazil. +Alcoholic: Someone you don't like who drinks as much as you do. +Aleph-null bottles of beer on the wall, aleph-null bottles of beer... +Alimony and bribes will engage a large share of your wealth. +Alimony is a splitting headache. +Alimony is the high cost of leaving. +All generalizations are useless, including this one. +All I ask is the chance to prove that money cannot make me happy. +All I want is a warm bed and a kind word and unlimited power. +All my friends and I are crazy. That's the only thing that keeps us sane. +All new: Parts not interchangeable with previous model. +All people are born alike -- except Republicans and Democrats. +All probabilities are really 50%. Either a thing will happen or it won't. +All signs in metric for the next 20 miles. +All syllogisms have three parts; therefore this is not a syllogism. +All that glitters has a high refractive index. +All the good ones are taken. +All the men on my staff can type. +All things are possible, except skiing through a revolving door. +All trails have more uphill sections than they have downhill sections. +All true wisdom is found on T-shirts. +Always borrow money from a pessimist; he doesn't expect to be paid back. +Always leave room to add an explanation if it doesn't work out. +Always remember that you are unique... just like everyone else. +Always take both skis off before hanging them up. +Am I in charge here?... No, but I'm full of ideas. +Ambiguity: Telling the truth when you don't mean to. +Ambition is a poor excuse for not having sense enough to be lazy. +Amnesia used to be my favorite word, but then I forgot it. +Amoebit: Amoeba/rabbit cross; it can multiply and divide at the same time. +Among economists, the real world is often a special case. +An apple a day keeps the doctor away... if it is aimed well. +An apple a day makes 365 apples a year. +An apple every eight hours keeps three doctors away. +An effective way to deal with predators is to taste terrible. +An example of hard water is ice. +An idle mind is worth two in the bush. +An informed citizen panics more intelligently. +An object at rest will always be in the wrong place. +An object in motion will always be headed in the wrong direction. +An unbreakable toy is useful for breaking other toys. +Antonym: The opposite of the word you are trying to think of. +Any country with "democratic" in the title isn't. +Any landing you can walk away from is a good one. +Any simple idea will be worded in the most complicated way. +Any smoothly functioning technology is indistinguishable from a "rigged" demo. +Any technology distinguishable from magic is insufficiently advanced. +Any two philosophers can tell each other all they know in two hours. +Anybody can win, unless there happens to be a second entry. +Anyone can admit they were wrong; the true test is admitting it to someone else. +Anyone can make an omelet with eggs. The trick is to make one with none. +Anyone who goes to a psychiatrist ought to have his head examined. +Anyone who makes an absolute statement is a fool. +Anything good in life is either illegal, immoral, or fattening. +Apart from the unknowns, everything is obvious. +Appearances are not everything; it just looks like they are. +Aquadextrous: Able to turn the bathtub faucet on and off with your toes. +Archeology is the only profession where your future lies in ruins. +Arguments with furniture are rarely productive. +Arithmetic: Counting to twenty without taking off your shoes. +Art is anything you can get away with. +Artery: Study of paintings. +As God is my witness, Andy, I thought that turkeys could fly. +As long as the answer is right, who cares if the question is wrong? +Ask not for whom the bell tolls, and pay only station-to-station rates. +At these prices, I lose money -- but I make it up in volume. +Atheists are beyond belief. +Atheists are people with no invisible means of support. +Auditors always reject expense accounts with a bottom line divisible by five. +Authority: A person who can tell you more than you really care to know. +Automobile: A four-wheeled vehicle that runs up hills and down pedestrians. +Babies can't walk because their legs aren't long enough to reach the ground. +Bachelor: A guy who is footloose and fiancee-free. +Bachelor: A man who never made the same mistake once. +Bachelor: A selfish guy who has cheated some woman out of a divorce. +Ban the bomb. Save the world for conventional warfare. +Banectomy: The removal of bruises on a banana. +Barium: What doctors do when treatment fails. +Baseball is to football as Beethoven is to rap. +Be a better psychiatrist and the world will beat a psychopath to your door. +Be careful of reading health books; you might die of a misprint. +Be content with what you've got, but be sure you've got plenty. +Beam me up, Scotty. There's no intelligent life down here. +Begathon: A multi-day event on public television, used to raise money. +Behaviorism is the art of pulling habits out of rats. +Behold the warranty: The bold print giveth, and the fine print taketh away. +Being a good communicator means people find out what's really wrong with you. +Being a woman is quite difficult since it consists mainly of dealing with men. +Being popular is important. Otherwise people might not like you. +Benjamin Franklin produced electricity by rubbing cats backwards. +Best gift for the person who has everything: A burglar alarm. +Between two evils, I always pick the one I never tried before. +Beware of a dark-haired man with a loud tie. +Beware of a tall dark man with a spoon up his nose. +Bigamy is having one spouse too many. Monogamy is the same. +Biology grows on you. +Bisexuality immediately doubles your chances for a date on Saturday night. +Blessed are the meek for they shall inhibit the Earth. +Blessed are the young for they shall inherit the national debt. +Blessed are they that run around in circles, for they shall be known as wheels. +Bore: A person who talks when you wish him to listen. +Bore: He who talks so much about himself that you can't talk about yourself. +Bore: Wraps up a two-minute idea in a two-hour vocabulary. +Brad, where Tad had had "had had", had had "had". "Had had" had had me glad. +Brain: The apparatus with which we think that we think. +Bride: A woman with a fine prospect of happiness behind her. +Brigands ask for your money or your life; spouses require them both. +Broad-mindedness: The result of flattening high-mindedness out. +Budget: A method of worrying before you spend money, as well as afterward. +Bureaucracy: A method of transforming energy into solid waste. +Bureaucrat: A person who cuts red tape sideways. +Bureaucrat: A politician with tenure. +Business will be either better or worse. +But enough about me. Let's talk about you. What do you think of me? +But officer, I stopped for the last one, and it was green! +By the time you have the right answers, no one is asking you questions. +California is proud to be the home of the freeway. +Calling a person a runner-up is a polite way of saying they lost. +Can you think of another word for "synonym"? +Capitalism is based on the assumption that you can win. +Cauterize: Made eye contact with a woman. +Charity: A thing that begins at home and usually stays there. +Charm: A way of getting a "yes" -- without having askwd any clear question. +Chastity: The most unnatural of the sexual perversions. +Cheap: Much less expensive than ones selling for up to twice as much. +Chemicals: Noxious substances from which modern foods are made. +Children act like their parents despite every effort to teach them good manners. +Cinemuck: Popcorn, soda, and candy that covers the floors of movie theaters. +Circle: A line that meets its other end without ending. +Cloning is the sincerest form of flattery. +Cogito ergo spud (I think, therefore I yam). +College: The fountains of knowledge, where everyone goes to drink. +Colorless green ideas sleep furiously. +Comedy is simply a funny way of being serious. +Committee: A group of men who keep minutes and waste hours. +Committee: The unwilling, selected from the unfit, to do the unnecessary. +Common sense: The collection of prejudices acquired by age 18. +Concept: Any "idea" for which an outside consultant bills more than $25,000. +Confidence: The feeling you have before you understand the situation. +Confound those who have said our remarks before us. +Confucius say too much. +Congress is not the sole suppository of wisdom. +Conscience is a mother-in-law whose visit never ends. +Conscience: The inner voice that warns us somebody may be looking. +Conscience: The thing that hurts when everything else feels great. +Conscious is being aware of something; conscience is wishing you weren't. +Conservative: A Liberal who has just been mugged. +Conservative: A person who believes nothing should be done for the first time. +Conservative: One who is too cowardly to fight and too fat to run. +Consider what might be fertilizing the greener grass across the fence. +Consultant: Someone who knowns 101 ways to make love, but can't get a date. +Consultation: Medical term meaning "to share the wealth." +Continental Life. Why do you ask? +Contraceptives should be used on every conceivable occasion. +Could you be a poster child for retroactive birth control? +Courage: Two cannibals having oral sex. +Coward: One who in a perilous emergency thinks with his legs. +Crazee Edeee, his prices are INSANE!!! +Crime does not pay... as well as politics. +Cross country skiing is great if you live in a small country. +Cynic: A person searching for an honest man, with a stolen lantern. +Cynic: A person who tells you the truth about your own motives. +Dare to be average. +Dark dirt is attracted to light objects, and dark dirt to light objects. +Death and taxes are inevitable; at least death doesn't get worse every year. +Death has been proven to be 99% fatal to laboratory rats. +Death is God's way of telling you not to be such a wise guy. +Death is life's way of telling you you've been fired. +Death is the greatest kick of all. That's why they save it for last. +Death: To stop sinning suddenly. +Deliberation: Examining one's bread to determine which side it is buttered on. +Democracy: The worship of Jackals by Jackasses. +Dentists are incapable of asking questions that need a simple yes or no answer. +Design simplicity: Developed on a shoe-string budget. +Dew is formed on leaves when the sun shines on them and makes them perspire. +Dinner is ready when the smoke alarm goes off. +Diplomacy: The art of letting someone else have your way. +Diplomacy: The art of saying "nice doggy" until you can find a rock. +Diplomat: A man who can convince his wife she would look stout in a fur coat. +Disco is to music what Etch-A-Sketch is to art. +Distinctive: A different color or shape than our competitors. +Divorce: Having your genitals torn off through your wallet. +Do married people live longer, or does it just seem that way? +Do not merely believe in miracles; rely on them. +Do not underestimate the power of the Force. +Do YOU have redeeming social value? +Does the name "Pavlov" ring a bell? +Don't be fooled by his twinkling eyes; it's the sun shining between his ears. +Don't be humble... you're not that great. +Don't create a problem for which you do not have the answer. +Don't eat the yellow snow. +Don't force it, get a larger hammer. +Don't get even -- get odd! +Don't get stuck in a closet; wear yourself out. +Don't give someone a piece of your mind unless you can afford it. +Don't lend people money... it gives them amnesia. +Don't marry for money; you can borrow it cheaper. +Don't mind him; politicians always sound like that. +Don't say yes until I finish talking. +Don't steal. The government hates competition. +Don't sweat the petty things -- just pet the sweaty things. +Don't take life too seriously; you won't get out of it alive. +Don't tax you, don't tax me, tax that fellow behind the tree. +Don't undertake vast projects with half-vast ideas. +Don't use no double negatives, not never. +Don't worry; the brontosaurus is slow, stupid, and placid. +Don't you have anything more useful you could be doing? +Down with the categorical imperative! +Drive carefully. We are overstocked. -- sign in junkyard +Driving in the snow is a spectator sport. +Drug: A substance that, when injected into a rat, produces a scientific paper. +Drugs are the scenic route to nowhere. +Ducks? What ducks?? +Due to a mixup in Urology, orange juice will not be served this morning. +Dying is easy. Comedy is difficult. +Early to rise and early to bed makes a man healthy and wealthy and dead. +Earth Destroyed by Solar Flare -- Film at eleven. +Earth is a great funhouse without the fun. +Easiest way to figure the cost of living: Take your income and add ten percent. +Eat a live toad in the morning and nothing worse will happen to you that day. +Eat drink and be merry, for tomorrow it might be illegal. +Education helps earning capacity. Ask any college professor. +Eeny, Meeny, Jelly Beanie, the spirits are about to speak... +Egotism: Doing a crossword puzzle with a pen. +Eighty percent of all people consider themselves to be above average drivers. +Either I'm dead or my watch has stopped. +Either that wallpaper goes, or I do. +Elbonics: Two people maneuvering for one armrest in a movie theater. +Elections come and go, but politics are always with us. +Electricity comes from electrons; morality comes from morons. +Eliminate government waste, no matter how much it costs! +Eloquence is logic on fire. +Emulate your heros, but don't carry it too far. Especially if they are dead. +Engineers... they love to change things. +Enjoy life; you could have been a barnacle. +Eschew obfuscation. +Eternal nothingness is fine if you happen to be dressed for it. +Every cloud has a silver lining; you should have sold it, and bought titanium. +Every journalist has a novel in him, which is an excellent place for it. +Every silver lining has a cloud around it. +Everybody lies, but it doesn't matter since nobody listens. +Everyone else my age is an adult, whereas I am merely in disguise. +Everyone is a genius. It is just that some people are too stupid to realize it. +Everyone needs belief in something. I believe I'll have another beer. +Everything in moderation, including moderation. +Everything is actually everything else, just recycled. +Everything is always done for the wrong reasons. +Everything put together falls apart sooner or later. +Everything worthwhile is mandatory, prohibited, or taxed. +Everything you know is wrong, but you can be straightened out. +Excellent day to have a rotten day. +Exceptions always outnumber rules. +Exceptions prove the rule, and wreck the budget. +Exclusive: We are the only ones who have the documentation. +Executive ability: Deciding quickly and getting somebody else to do the work. +Exercise extends your life ten years, but you spend 15 of them doing it. +Experience is directly proportional to the amount of equipment ruined +Experience is something you don't get until just after you need it. +Experience is what causes a person to make new mistakes instead of old ones. +Experience is what you get when you were expecting something else. +Experiments should be reproducible. They should all fail the same way. +Expert: Avoids the small errors while sweeping on to the grand fallacy. +f u cn rd ths, itn tyg h myxbl cd. +Familiarity breeds attempt. +Familiarity breeds children. +Famous last words: Don't worry, I can handle it. +Fanatic: Someone who, having lost sight of his goal, redoubles his efforts. +Fashion: A form of ugliness so intolerable that it changes every six months. +Fast, Cheap, Good: Choose any two. +Federal Reserve: A reserve where federal employees hunt wild game. +Fenderberg: Deposit that forms on the inside of a car fender after a snowstorm. +Fidelity: A virtue peculiar to those who are about to be betrayed. +Field tested: Manufacturing doesn't have a test system. +Fill what's empty; empty what's full; scratch where it itches. +Fine day for friends. So-so day for you. +Five is a sufficiently close approximation to infinity. +Flying is the second greatest experience known to man. Landing is the first. +Foolproof operation: No provision for adjustment. +Fools rush in -- and get the best seats in the house. +Football, like religion, brings out the best in people. +For a good time, call 555-3100. +For adult education, nothing beats children. +For back-country preparedness, "what if" weighs about 20 pounds. +For every action, there is a corresponding over-reaction. +For every action, there is an equal and opposite criticism. +For every action, there is an equal and opposite government program. +For every knee, there is a jerk. +For some reason, this statement reminds everyone of Marvin Zelkowitz. +For those who like this sort of thing, this is the sort of thing they like. +Form follows function, and often obliterates it. +Fortune favors the lucky. +Fossil flowers come from the Petrified Florist. +Four kinds of homicide: felonious, excusable, justifiable, and praiseworthy... +Four wheel drive: Lets you get more stuck, further from help. +Freedom is just chaos, with better lighting. +Friends: People who borrow my books and set wet glasses on them. +Friends: People who know you well, but like you anyway. +Furbling: Walking a maze of ropes even when you are the only person in line. +Genderplex: Trying to determine from the cutesy pictures which restroom to use. +Generally you don't see that kind of behavior in a major appliance. +Genetics: Why you look like your father, or if you don't, why you should. +Genius is the infinite capacity for picking brains. +Genius: A chemist who discovers a laundry additive that rhymes with "bright". +Gentleman: Knows how to play the bagpipes, but doesn't. +Give a skeptic an inch and he'll measure it. +Give me a lever long enough, and a place to stand, and I'll break my lever. +Give me a sleeping pill and tell me your troubles. +Give me chastity and continence, but not just now. +Give your very best today. Heaven knows it is little enough. +Giving away baby clothes and furniture is the major cause of pregnancy. +Gleemites: Petrified deposits of toothpaste found in sinks. +Go away. I'm all right. +Go directly to jail. Do not pass Go, do not collect $200. +Go to Heaven for the climate but Hell for the company. +God don't make mistakes. That's how He got to be God. +God gives us relatives; thank goodness we can chose our friends. +God is a polythiest. +God is not dead. He is alive and autographing Bibles at Cody's! +God is not dead. He is alive and working on a much less ambitious project. +God is not dead. He just couldn't find a parking place. +God made everything out of nothing, but the nothingness shows through. +God made the world in six days, and was arrested on the seventh. +God, I ask for patience -- and I want it right now! +Going the speed of light is bad for your age. +Good advice is something a man gives when he is too old to set a bad example. +Good day for a change of scene. Repaper the bedroom wall. +Good sopranos and tenors have resonance -- where others have brains. +Good-bye. I am leaving because I am bored. +Government expands to absorb all available revenue and then some. +Graft: An illegal means of uniting trees to make money. +Grasshoppotamus: A creature that can leap to tremendous heights... once. +Gravity: What you get when you eat too much and too fast. +Great minds run in great circles. +Group IQ: Lowest IQ of any member divided by the number of people in the group. +Grub first, then ethics. +Had there been an actual emergency, you would no longer be here. +Hailing frequencies open, Captain. +Handel was half German, half Italian, and half English. He was rather large. +Hangover: The wrath of grapes. +Happiness is having a scratch for every itch. +Hard work never killed anybody, but why take a chance? +Have an adequate day. +Having children is like having a bowling alley installed in your brain. +Having children will turn you into your parents. +He has the heart of a little child... it's in a jar on his desk. +He is considered a most graceful speaker who can say nothing in the most words. +He is no lawyer who cannot take two sides. +He was so narrow-minded he could see through a keyhole with both eyes. +He who dies with the most toys is nonetheless dead. +He who dies with the most toys, wins. +He who has a shady past knows that nice guys finish last. +He who hesitates is a damned fool. +He who hesitates is probably right. +He who invents adages to peruse takes along rowboat when going on cruise. +He who is content with his lot probably has a lot. +He who is still laughing hasn't yet heard the bad news. +He who laughs last didn't get the joke. +He who shouts the loudest has the floor. +He who speak with forked tongue, not need chopsticks. +He who spends a storm beneath a tree, takes life with a grain of TNT. +Health is merely the slowest possible rate at which one can die. +Heat expands: In the summer the days are longer. +Heating with wood, you get warm twice: Once chopping it, and once stacking it. +Heineken Uncertainty Principle: Never sure how many beers you had last night. +Heisenberg might have been here. +Help stamp out and abolish redundancy. +HELP! MY TYPEWRITER IS BROKEN! +History chronicles the small portion of the past that was suitable for print. +History does not repeat itself; historians merely repeat each other. +Honesty is the best policy, but insanity is a better defense. +Honeymoon: A short period of doting between dating and debting. +Honk if you love peace and quiet. +Hospitality: Making your guests feel at home, even though you wish they were. +How can you govern a nation which has 246 kinds of cheese? +How come wrong numbers are never busy? +How do they get all those little metal bits on a zipper to line up so well? +How do you make an elephant float? Two scoops of elephant and some rootbeer... +How long is a minute depends on which side of the bathroom door you are on. +How long should a man's legs be? Long enough to reach the ground. +How many lawyers does it take to screw in a light bulb? All you can afford. +How many weeks are there in a light year? +How much sin can you get away with and still go to heaven? +How sharper than a hound's tooth it is to have a thankless serpent. +How to regain your virginity: Reverse the process until it returns. +How wonderful opera would be if there were no singers. +Human beings were created by water to transport it uphill. +Humor is the best antidote to reality. +I am a creationist; I refuse to believe that I could have evolved from humans. +I am a great housekeeper. I get divorced. I keep the house. +I am a Hollywood writer, so I put on a sports jacket and take off my brain. +I am a Libra. Libras don't believe in astrology. +I am dying beyond my means. +I am going to live forever, or die trying! +I am not a crook. +I am not a lovable man. +I am not as dumb as you look. +I am not cynical, just experienced. +I am prepared for all emergencies but totally unprepared for everyday life. +I am really enjoying not talking to you, so let's not talk again real soon, OK? +I belong to no organized party. I am a Democrat. +I bet you have never seen a plumber bite his nails. +I came to MIT to get an education for myself and a diploma for my mother. +I can relate to that. +I can't give you brains, but I can give you a diploma. +I could not possibly fail to disagree with you less. +I do desire we may be better strangers. +I don't have any solution, but I certainly admire the problem. +I doubt, therefore I might be. +I generally avoid temptation unless I can't resist it. +I hate quotations. +I have already told you more than I know. +I have been in more laps than a napkin. +I have found that the best direction for a hot tub to face is up. +I have had a perfectly wonderful evening. But this wasn't it. +I have heard about people like me, but I never made the connection. +I have seen the future and it is just like the present, only longer. +I have the simplest tastes. I am always satisfied with the best. +I have ways of making money that you know nothing of. +I just need enough to tide me over until I need more. +I know on which side my bread is buttered. +I like work; it fascinates me. I can sit and look at it for hours. +I love mankind... It's people I hate. +I love my job; it's the work I can't stand. +I may not be the world's greatest lover, but number seven's not bad. +I may not be totally perfect, but parts of me are excellent. +I must follow the people. Am I not their leader? +I must get out of these wet clothes and into a dry Martini. +I never forget a face, but in your case I'll make an exception. +I never made a mistake in my life. I thought I did once, but I was wrong. +I often quote myself; it adds spice to my conversation. +I promise we would only loose ten to twenty million TOPS! +I put instant coffee in a microwave, and almost went back in time. +I really had to act; 'cause I didn't have any lines. +I saw a subliminal advertising executive, but only for a second. +I shot an arrow into the air and it stuck. +I spilled spot remover on my dog. Now he's gone. +I suggest a new strategy, Artoo: Let the Wookee win. +I think sex is better than logic, but I can't prove it. +I think that I shall never see a billboard lovely as a tree. +I think we are all Bozos on this bus. +I used to be lost in the shuffle. Now I just shuffle along with the lost. +I used to be Snow White, but I drifted. +I used to get high on life, but lately I have built up a resistance. +I used to think I was indecisive, but now I am not so sure. +I want to achieve immortality through not dying. +I will always love the false image I had of you. +I will meet you at the corner of Walk and Don't Walk. +I will never lie to you. +I worked myself up from nothing to a state of extreme poverty. +I would give my right arm to be ambidextrous. +I would have made a good pope. +I would like to help you out. Which way did you come in? +I would like to lick apricot brandy out of your navel. +I would never join any club that would have the likes of me as a member +I'd like to meet the person who invented sex, and see what he's working on now. +I'd rather have a free bottle in front of me than a prefrontal lobotomy. +I'll race you to China. You can have a head start. Ready, set, GO! +I'm in Pittsburgh. Why am I here? +I'm not afraid to die. I just don't want to be there when it happens. +I'm not going deaf. I'm ignoring you. +I'm not under the alkafluence of inkahol that some thinkle peep I am. +I'm pretty good with BS but I love listening to an expert. Keep talking. +Ice cream cures all ills. Temporarily. +Idiot box: Part of an envelope that tells a person where to place the stamp. +If a straight line fit is required, obtain only two data points. +If a thing's worth doing, it is worth doing badly. +If all the world's a stage, I want to operate the trap door. +If all the world's managers were laid end to end, it would be an improvement. +If an item is advertised as "under $50", you can bet it's not $19.95 +If at first you do succeed, try to hide your astonishment. +If at first you don't succeed, destroy all evidence that you tried. +If at first you don't succeed, quit; don't be a nut about success. +If at first you don't succeed, redefine success. +If at first you don't succeed, you probably didn't really care anyway. +If at first you don't succeed, you're doing about average. +If at first you don't succeed, your successor will. +If conditions are not favorable, bacteria go into a period of adolescence. +If enough data is collected, anything can be proven by statistical methods. +If entropy is increasing, where is it coming from? +If flattery gets you nowhere, try bribery. +If God had meant for us to be naked, we would have been born that way. +If God had wanted you to go around nude, He would have given you bigger hands. +If God is perfect, why did he create discontinuous functions? +If God is so great, how come everything he makes dies? +If God lived on Earth, people would knock out all his windows. - Yiddish proverb +If I could drop dead right now, I'd be the happiest man alive +If I had any humility I would be perfect. +If I owned Texas and Hell, I would rent out Texas and live in Hell. +If I told you you had a beautiful body, would you hold it against me? +If ignorance is bliss, why aren't there more happy people? +If in doubt, mumble. +If it ain't damp, it ain't camp. +If it is Tuesday, this must be someone else's fortune. +If it is worth doing, it is worth doing for money. +If it jams, force it. If it breaks, it needed replacing anyway. +If it pours before seven, it has rained by eleven. +If it wasn't for lawyers, we wouldn't need them. +If it wasn't for muscle spasms, I wouldn't get any exercise at all. +If it wasn't for Newton, we wouldn't have to eat bruised apples. +If it were truly the thought that counted, more women would be pregnant. +If little else, the brain is an educational toy. +If Murphy's Law can go wrong, it will. +If one hundred people do a foolish thing, one will become injured. +If only I could be respected without having to be respectable. +If opportunity came disguised as temptation, one knock would be enough. +If parents would only realize how they bore their children. +If reproducibility might be a problem, conduct the test only once. +If some people didn't tell you, you'd never know they'd been away on vacation. +If sound can't travel in a vacuum, why are vacuum cleaners so noisy? +If the probability of success is not almost one, it is damn near zero. +If the ship is not sinking, the rats must be the ones not leaving. +If the shoe fits, buy the other one too. +If the shoe fits, it's ugly. +If there is light at the end of the tunnel... ORDER MORE TUNNEL. +If there is no God, who pops up the next Kleenex? +If this saying did not exist, somebody would have invented it. +If time heals all wounds, how come bellybuttons don't fill in? +If today is the first day of the rest of your life, what was yesterday? +If we all work together we can totally disrupt the system. +If we knew what the hell we were doing, then it wouldn't be research. +If you are a fatalist, what can you do about it? +If you are asked to join a parade, don't march behind the elephants. +If you are horny, it's lust, but if your partner's horny, it's affection. +If you are not very clever you should be conciliatory. +If you are seen fixing it, you will be blamed for breaking it. +If you can count your money, you don't have a billion dollars. +If you can lead it to water and force it to drink, it isn't a horse. +If you can survive death, you can probably survive anything. +If you can't be replaced, you can't be promoted. +If you can't dazzle 'em with brilliance, baffle 'em with bullshit. +If you can't find your glasses, it's probably because you don't have them on. +If you can't say anything nice, you probably don't have many friends. +If you cannot convince them, confuse them. +If you cannot hope for order, withdraw with style from the chaos. +If you do a job too well, you will get stuck with it. +If you do not change direction you are likely to end up where you are headed. +If you do something right once, someone will ask you to do it again. +If you don't care where you are, then you aren't lost. +If you don't go to other men's funerals they won't go to yours. +If you don't know what you're doing, do it neatly. +If you don't say anything, you won't be called on to repeat it. +If you explain so clearly that no one can possibly misunderstand, someone will. +If you have half a mind to watch TV, that is enough. +If you have kleptomania, you can always take something for it. +If you have to ask how much it is, you can't afford it. +If you have to travel on the Titanic, why not go first class? +If you liked Earth, you will love Heaven. +If you live in a country run by committee, be on the committee +If you look like your passport photo, it's time to go home. +If you look like your passport photo, you aren't well enough to travel. +If you mess with a thing long enough, it will break. +If you put it off long enough, it might go away. +If you think before you speak, the other guy gets his joke in first. +If you think the problem is bad now, just wait until we've solved it. +If you want to know how old a man is, ask his brother-in-law. +If you want to put yourself on the map, publish your own map. +If you were to ask me this question, what would my answer be? +If you're not part of the solution, you're part of the precipitate. +If you've seen one redwood, you've seen them all. +If your parents didn't have any children, neither will you. +Ignorance: When you don't know anything, and someone else finds out. +Ignore previous fortune. +Ill-bred children always display their pest manners. +Illiterate? Write for free help. +Immigration is the sincerest form of flattery. +Imports are ports very far inland. +In 1869 the waffle iron was invented for people who had wrinkled waffles. +In a ham and egg breakfast, the chicken was involved, but the pig was committed. +In a modern household, the only things we have to wash by hand are children. +In America, it is not how much an item costs, it is how much you save. +In an orderly world, there is always a place for the disorderly. +In English, every word can be verbed. +In Lake Wobegon, all the children are above average. +In marriage, as in war, it is permitted to take every advantage of the enemy. +In matrimony, to hesitate is sometimes to be saved. +In order to get a loan you must first prove you don't need it. +In process: So wrapped up in red tape that the situation is almost hopeless. +In the first half of our life we learn habits that shorten the second half. +In this world, truth can wait; she is used to it. +Ingrate: Bites the hand that feeds him, and then complains of indigestion. +Insanity is inherited; you get it from your kids! +Instant sex will never be better than the kind you have to peel and cook. +Institute: An archaic school where football is not taught. +Interchangeable parts won't. +Irrationality is the square root of all evil. +IRS: Income Reduction Service. +Is it time for lunch yet? +Is there life before death? +Is this really happening? +It ain't loafing unless they can prove it. +It does not do to leave a live dragon out of your calculations. +It doesn't matter whether you win or los +It is bad luck to be superstitious. +It is better for civilization to go down the drain than to come up it. +It is better to be on penicillin than never to have loved at all. +It is better to be on the ground wishing you were flying, than vice versa. +It is better to burn out than to fade away. +It is better to give than to lend, and it costs about the same. +It is better to have a positive Wasserman than never to have loved at all. +It is better to have loved and los +It is better to have loved and lost than just to have lost. +It is better to light one candle than to torch a wax museum with a flamethrower. +It is better to remain childless than to father an orphan. +It is better to wear out than to rust out. +It is dangerous to name your children before you know how many you will have. +It is difficult to legislate morality in the absence of moral legislators. +It is difficult to soar with eagles when you work with turkeys. +It is easier to take it apart than to put it back together. +It is kind of fun to do the impossible. +It is later than you think. +It is more than magnificen +It is much easier to suggest solutions when you know nothing about the problem. +It is not a good omen when goldfish commit suicide. +It is not an optical illusion, it just looks like one. +It is not Camelot, but it's not Cleveland, either. +It is not that you and I are so clever, but that the others are such fools. +It is so soon that I am done for, I wonder what I was begun for. +It now costs more to amuse a child than it once did to educate his father. +It seems to make an auto driver mad if she misses you. +It takes more than three weeks to prepare a good impromptu speech +It was a book to kill time for those who liked it better dead. +It was a brave man that ate the first oyster. +It was such a beautiful day I decided to stay in bed. +It works better if you plug it in. +It would be nice to be sure of anything the way some people are of everything. +It would take a miracle to get you out of Casablanca. +It's a damn poor mind that can only think of one way to spell a word +It's a small world, but I wouldn't want to paint it. +It's hard to get ivory in Africa, but in Alabama the Tuscaloosa. +It's hard to soar like an eagle when you are surrounded by turkeys. +It's hell to work for a nervous boss, especially if you are why he's nervous! +It's not easy being green. +It's not hard to meet expenses; they are everywhere. +It's not whether you win or lose, it's how you look playing the game. +Jesus saves; Moses invests; but only Buddha pays dividends. +Job placement: Telling your boss what he can do with your job. +Journalism is literature in a hurry. +Journalism will kill you, but it will keep you alive while you are at it. +Jury: Twelve men and women trying to decide which party has the best lawyer. +Just because you are not paranoid doesn't mean they are not out to get you. +Just give Alice some pencils and she will stay busy for hours. +Just when you get going, someone injects a dose of reality with a large needle. +Justice: A decision in your favor. +Keep a very firm grasp on reality, so you can strangle it at any time. +Keep America beautiful. Swallow your beer cans. +Keep stress out of your life. Give it to others instead. +Keep the pointy end forward and the dirty side down. +Klatu barada nikto. +Klein bottle for ren +Kleptomaniac: A rich thief. +Knocked; you weren't in. +Know thyself-- but don't tell anyone. +Know what I hate most? Rhetorical questions. +Krogt: The metallic silver coating found on fast-food game cards. +Lactomangulation: Abusing the "open here" spout on a milk carton. +Laugh at your problems; everybody else does. +Laugh, and the world ignores you. Crying doesn't help either. +Lead me not into temptation. I can find it myself. +Learning at some schools is like drinking from a firehose. +Let him who takes the Plunge remember to return it by Tuesday. +Let not the sands of time get in your lunch. +Liberal: A Conservative who has just been arrested. +Liberal: Someone too poor to be a capitalist and too rich to be a communist. +Lie: A very poor substitute for the truth, but the only one discovered to date. +Life -- love it or leave it. +Life begins at the centerfold and expands outward. +Life is a game of bridg-- and you have just been finessed. +Life is a sexually transmitted terminal disease. +Life is complex. It has real and imaginary parts. +Life is difficult because it is non-linear. +Life is fraught with opportunities to keep your mouth shut. +Life is like a fountain... I will tell you how when I figure it out. +Life is like a maze in which you try to avoid the exit. +Life is like a sewer... What you get out of it depends on what you put into it. +Life is like an analogy. +Life is not for everyone. +Life is uncertain, so eat dessert first. +Life is wasted on the living. +Life might have no meaning, or worse, it might have a meaning you don't like. +Life without caffeine is stimulating enough. +Life: A brief interlude between nothingness and eternity. +Little things come in small packages. +Live fast, die young, and leave a good looking corpse. +Living on Earth includes an annual free trip around the Sun. +Living your life is so difficult, it has never been attempted before. +Logic is a little bird, sitting in a tree, that smells AWFUL. +Logic is a means of CONFIDENTLY being wrong. +Logic is an organized way of going wrong with confidence. +Losing your driver's license is just God's way of saying "BOOGA, BOOGA!" +Love does not make the world go around, just up and down a bit. +Love is being stupid together. +Love is Grand... Divorce is Twenty Grand. +Love is the triumph of imagination over intelligence. +Love means having to say you're sorry every five minutes. +Love means nothing to a tennis player. +Love thy neighbor as thyself, but choose thy neighborhood. +Love thy neighbor: Tune thy piano. +Love your enemies. It will make them crazy. +Love: An obsessive delusion that is cured by marriage. +Love: The only game that is not called on account of darkness. +Love: The warm feeling you get towards someone who meets your neurotic needs. +LSD melts in your mind, not in your hand. +LSD soaks up 47 times its own weight in excess reality. +Machines have less problems. I'd like to be a machine. +Magnocartic: An automobile that when left unattended attracts shopping carts. +Maintain thy airspeed, lest the ground rise up and smite thee. +Majority: That quality that distinguishes a crime from a law. +Make a firm decision now... you can always change it later. +Male zebras have white stripes, but female zebras have black stripes. +Man has made his bedlam; let him lie in it. +Man invented language to satisfy his deep need to complain. +Man is the only animal that blushes -- or needs to. +Man who arrives at party two hours late finds he has been beaten to the punch. +Man who falls in blast furnace is certain to feel overwrought. +Man who falls in vat of molten optical glass makes spectacle of self. +Mankind has never reconciled itself to the ten commandments. +Mankind... infests the whole habitable Earth and Canada. +Many a family tree needs trimming. +Many are called, but few are at their desks. +Many are cold, but few are frozen. +Many quite distinguished people have bodies similar to yours. +Marriage is a rest period between romances. +Marriage is a three ring circus: engagement ring, wedding ring, and suffering. +Marriage is a trip between Niagra Falls and Reno. +Marriage is an institution -- but who wants to live in one? +Marriage is low down, but you spend the rest of your life paying for it. +Marriage is not a word; it is a sentence. +Marriage is the only adventure open to the cowardly. +Marriage is the sole cause of divorce. +Marriages are made in heaven and consummated on Earth. +Math is like love; a simple idea, but it can get complicated. +Mathematicians are willing to assume anything -- except responsibility. +Mathematicians take it to the limit. +Matrimony is the root of all evil. +Matter cannot be created or destroyed; nor can it be returned without a receipt. +Matter will be damaged in direct proportion to its value. +Maturity is a high price to pay for growing up. +May you die in bed at 95, shot by a jealous spouse. +May you have many friends and very few living enemies. +Maybe you can't buy happiness, but these days you can certainly charge it. +Measure with a micrometer; mark with chalk; cut with an axe. +Meeting: A gathering where the minutes are kept and the hours lost. +Men seldom show dimples to girls who have pimples. +Michelangelo would have made better time with a roller. +Microwaves frizz your heir. +Military intelligence is a contradiction in terms. +Military justice is to justice what military music is to music. +Millihelen: The amount of beauty required to launch one ship. +Miracles are great, but they are so damned unpredictable. +Moderation is a fatal thing. Nothing succeeds like excess. +Modern man is the missing link between apes and human beings. +Modesty is a vastly overrated virtue. +Modesty: Being comfortable that others will discover your greatness. +Momentum: What you give a person when they are going away. +Money can't buy happiness, but it can certainly rent it for a couple of hours. +Money can't buy happiness, but it lets you be miserable in comfort. +Money DOES tal-- it says goodbye. +Money is better than poverty, if only for financial reasons. +Money is the root of all evil, and man needs roots. +Monotony: The practice of having only one spouse at a time. +Most general statements are false, including this one. +Most people get lost in thought because it is unfamiliar territory +Mother is far too clever to understand anything she does not like. +Mother is the invention of necessity. +Mother told me to be good, but she has been wrong before. +Mountain climbers rope together to prevent the sensible ones from going home. +Mountain range: A cooking stove used at high altitudes. +Mummy: An Egyptian who was pressed for time. +Music sung by two people at the same time is called a duel. +My family history begins with me, but yours ends with you. +My life has a superb cast but I can't figure out the plot +My opinions might have changed, but not the fact that I am right. +My own business always bores me to death; I prefer other people's. +My theology, briefly, is that the universe was dictated but not signed. +Mysticism is based on the assumption that you can quit the game. +Narcolepulacy: The contagious action of yawning. +Necessity is a mother. +Neckties strangle clear thinking. +Neutrinos have bad breadth. +Never do today what you can put off until tomorrow. +Never eat anything bigger than your head. +Never eat more than you can lift. +Never give an inch! +Never have any children, only grandchildren. +Never hit a man with glasses. Hit him with a baseball bat. +Never invest your money in anything that eats or needs repainting +Never laugh at live dragons. +Never offend with style when you can offend with substance. +Never put off till tomorrow what you can avoid all together. +Never sleep with anyone crazier than yourself. +Never verb your nouns. +New: Different color from previous model. +Nice guys don't finish nice. +Nine out of ten doctors agree that one out of ten doctors is an idiot. +Nine out of ten people think they are above average. The rest are in therapy. +No guts, no glory. +No maintenance: Impossible to fix. +No man is an island, but some of us are long peninsulas. +No man would listen to you talk if he didn't know it was his turn next. +No matter what goes wrong, there's always someone who knew it would. +No matter what results are expected, someone is always willing to fake it. +No one can feel as helpless as the owner of a sick goldfish. +No one gets too old to learn a new way of being stupid. +No prizes for predicting rain. Prizes only awarded for building arks. +No problem is so large it can't be fit in somewhere. +Nobody can be as agreeable as an uninvited guest. +Nobody ever has a reservation on a plane that leaves from Gate 1. +Nobody expects the Spanish Inquisition! +Nobody knows the trouble I have been. +Nobody wants constructive criticism. We can barely handle constructive praise. +Nondeterminism means never having to say you are wrong. +Nonsense. Space is blue and birds fly through it. +Nostalgia just isn't what it used to be. +Not all men who drink are poets. Some of us drink because we are not poets. +Nothing can be done in one trip. +Nothing cures insomnia like the realization that it is time to get up. +Nothing increases your golf score like witnesses. +Nothing is as inevitable as a mistake whose time has come. +Nothing is ever a total loss; it can always serve as a bad example. +Nothing is finished until the paperwork is done. +Nothing is impossible or impassable if you have enough nails. +Nothing recedes like success. +Nothing so needs reforming as other people's habits. +Nothing will dispel enthusiasm like a small admission fee. +Now and then an innocent person is sent to the Legislature. +Now it's time to say goodbye, to all our company... M-I-C, K-E-Y, M-O-U-S-E. +Nuclear war would really set back cable. +Nudists are people who wear one-button suits. +Nugloo: Single continuous eyebrow that covers the entire forehead. +Of all the animals, the boy is the most unmanageable. +Of course I am happily married -- she's happy, and I'm married. +Often it is fatal to live too long. +Oh what a tangled web we weave, when first we practice to conceive. +Oh, Aunty Em, it's so good to be home! +Old MacDonald had an agricultural real estate tax abatement. +Omniscience: Talking only about things you know about. +On the whole, I'd rather be in Philadelphia. +Once a job is fouled up, anything done to improve it only makes it worse. +Once is happenstance. Twice is coincidence. Thrice is enemy action. +Once upon a time, charity was a virtue and not an organization. +One Bell System -- it sometimes works. +One bit of advice: Don't give it. +One child is not enough, but two children are far too many. +One good thing about repeating your mistakes is that you know when to cringe. +One good turn usually gets most of the blanket. +One nice thing about egotists: They don't talk about other people. +One size fits all: Doesn't fit anyone. +One thing leads to another, and usually does. +One way to make your old car run better is to look up the price of a new model. +Only adults have difficulty with childproof caps. +Only fools are quoted. +Only through hard work and perseverance can one truly suffer. +Only two groups of people fall for flattery: Men and women. +Opportunity always knocks at the least opportune moment. +Our parents were never our age. +Our policy is, when in doubt, do the right thing. +Our problems are mostly behind us. Now we have to fight the solutions. +Our vision is to speed up time, eventually eliminating it. +Out of the mouths of babes does often come cereal. +Outpatient: A person who has fainted. +Oversteer is when the passenger is scared; understeer when the driver is scared. +Packrat's credo: "I have no use for it, but I hate to see it go to waste." +Paper is always strongest at the perforations. +Paradise is exactly like where you are, only MUCH, MUCH better. +Paradox: An assistant to PhDs. +Parallel lines never meet unless you bend one or both of them. +Paranoia: A healthy understanding of the nature of the universe. +Paranoid schizophrenics outnumber their enemies at least two to one. +People accept an idea more readily if you say Benjamin Franklin said it first. +People have one thing in common: They are all different. +People usually get what's coming to them... unless it was mailed. +People who live in glass houses shouldn't throw parties. +People who take cat naps usually don't sleep in a cat's cradle. +People who think they know everything greatly annoy those of us who do. +People will buy anything that is one to a customer. +Perfect guest: One who makes his host feel at home. +Perfect paranoia is perfect awareness. +Perhaps your whole purpose in life is simply to serve as a warning to others. +Phasers locked on target, Captain. +Philosophy: Unintelligible answers to insoluble problems. +Pity the meek, for they shall inherit the Earth. +Pity the poor egg; it only gets laid once. +Politics consists of deals and ideals. +Politics: The art of turning influence into affluence. +Positive: Being mistaken at the top of your voice. +Possessions increase to fill the space available for their storage. +Pound for pound, the amoeba is the most vicious animal on Earth. +Power means not having to respond. +Predestination was doomed from the start. +Preudhomme's Law of Window Cleaning: It's on the other side. +Pro is to con as progress is to Congress. +Proctologist: A doctor who puts in a hard day at the orifice. +Professor: One who talks in someone else's sleep. +Progress means replacing a theory that is wrong with one more subtly wrong. +Progress might have been all right once, but it's gone on too long. +Proofreading is more effective after publication. +Proximity isn't everything, but it comes close. +Puritan: Someone who is deathly afraid that someone somewhere is having fun. +Pushing 40 is exercise enough. +Quack! +Quality assurance doesn't. +Quantity is no substitute for quality, but it is the only one we have. +Quark! Quark! Beware the quantum duck! +Question Authority... and the Authorities will question you! +Quidquid latine dictum sit, altum viditur. (Anything in Latin sounds profound.) +Quinine is the bark of a tree; canine is the bark of a dog. +Quit working and play for once! +Quoting one is plagiarism. Quoting many is research. +Radioactive cats have 18 half-lives. +Rainy days and automatic weapons always get me down. +Reality -- what a concept! +Reality is for people who can't deal with drugs. +Reality is for people who lack imagination. +Reality is just a convenient measure of complexity. +Reality is that which, when you stop believing in it, doesn't go away. +Refrain means don't do it. A refrain in music is the part you better not sing. +Refuse to have a battle of wits with an unarmed person. +Reputation: What others are not thinking about you. +Research is what I'm doing when I don't know what I'm doing. +Right now I'm having amnesia and deja vu at the same time. +Rugged: Too heavy to lift. +Rumper sticker on a horse: "Get off my tail, because shit happens." +Russia has abolished God, but so far God has been more tolerant. +Sacred cows make great hamburger. +Saddam Hussein is the father of the mother of all cliches. +Sailing: A form of mast transit. +Satisfaction guaranteed, or twice your load back.-- sign on septic tank truck +Schroedinger's cat might have died for your sins. +Science is material. Religion is immaterial. +Scotty, beam me up a double! +Second marriage is the triumph of hope over experience. +Seeing is deceiving. It's eating that's believing. +Seek simplicity -- and distrust it. +Serendipity: The process by which human knowledge is advanced. +Serving coffee on aircraft causes turbulence. +Sex is dirty only when it's done right. +Sex is not the answer. Sex is the question. "Yes" is the answer. +Sex is the most fun you can have without laughing. +She walks as if balancing the family tree on her nose. +Showing up is 80% of life. +Sign on bank: "FREE BOTTLE OF CHIVAS WITH EVERY MILLION-DOLLAR DEPOSIT." +Silly is a state of mind. Stupid is a way of life. +Smile! You're on Candid Camera. +Smoking is one of the leading causes of statistics. +Snow and adolescence are problems that disappear if you ignore them long enough. +Socialism is based on the assumption that you can break even. +Some is good, more is better, too much is just right. +Some make things happen; some watch what happens; some wonder what happened. +Some men are discovered; others are found out. +Some people cause happiness wherever they go; others, whenever they go. +Some people who can, should not. +Some people would not recognize subtlety if it hit them on the head. +Some prefer the happiness of pursuit to the pursuit of happiness. +Someday you will get your big chance -- or have you already had it? +Someday you will look back on this moment and plow into a parked car. +Sometimes a cigar is just a cigar. +Sorry, but my karma just ran over your dogma. +Spare no expense to save money on this one. +Speed is n subsittute fo accurancy. +Spelling is a lossed art. +Spinster: A bachelor's wife. +Spirobits: The frayed bits of left-behind paper in a spiral notebook. +Spock: We suffered 23 casualties in that attack, Captain. +Standing on head makes smile of frown, but rest of face also upside down. +Statisticians do it with 95 percent confidence. +Stealing a rhinoceros should not be attempted lightly. +Stock item: We shipped it once before and we can do it again. +Stop committing useless mistakes. Make your next mistake count! +Strategy is when you keep firing so the enemy doesn't know you're out of ammo. +Stupid: Losing $25 on the game, and $25 more on the instant replay. +Success always occurs in private, and failure in full view. +Success is something I will dress for when I get there, and not until. +Success: The ability to go from failure to failure without being discouraged. +Suicide is the sincerest form of self-criticism. +Sweater: A garment worn by a child when his parent feels chilly. +System-independent: Works equally poorly on all systems. +Tact: The unsaid part of what you are thinking. +Take everything in stride. Trample anyone who gets in your way. +Talent does what it can; genius does what it must; I do what I am paid to do. +Taxes are going up so fast, the government might price itself out of the market. +Taxes: The one of life's two certainties for which you can get an extension. +Teamwork is essential; it allows you to blame someone else. +Technique: A trick that works. +Teenagers are two year olds with hormones and wheels. +Telepathy: Knowing what people think when really they don't think at all. +Terrorists blow up celluloid factory... No film at 11. +Thank you for observing all safety precautions. +That must be wonderful; I don't understand it at all. +That that is is that that is not is not. +The adjective is the banana peel of the parts of speech. +The best cure for insomnia is a Monday morning. +The best cure for insomnia is to get a lot of sleep. +The best laid plans of mice and men are usually about equal. +The best thing about growing older is that it takes such a long time. +The best way to inspire fresh thoughts is to seal the envelope. +The bigger they are, the harder they hit. +The bureaucracy expands to meet the needs of an expanding bureaucracy. +The chief cause of problems is solutions. +The climate of Bombay is such that its inhabitants have to live elsewhere. +The coldest winter I ever spent was a summer in San Francisco. +The cost of living hasn't affected its popularity. +The cost of living is going up, and the chance of living is going down. +The cow is a machine that makes grass fit for us people to eat. +The cow is of the bovine ilk; one end is moo, the other, milk. +The death rate on Earth is: One per person. +The decision does not have to be logical; it was unanimous. +The difference between a good haircut and a bad one is seven days. +The difficult we do today; the impossible takes a little longer. +The early worm gets the late bird. +The fact that it works is immaterial. +The famous politician was trying to save both his faces. +The fewer the data points, the smoother the curve. +The first myth of management is that it exists. +The first piece of luggage out of the chute does not belong to anyone, ever. +The first rule of gun fighting is -- bring a gun. +The first rule of intelligent tinkering is to save all the parts. +The first thing I do in the morning is brush my teeth and sharpen my tongue. +The first thing we do, let's kill all the lawyers. +The flush toilet is the basis of Western civilization. +The following statement is not true... +The four seasons are salt, pepper, mustard, and vinegar. +The future is a myth created by insurance salesmen and high school counselors. +The general direction of the Alps is straight up. +The grass is always greener on the other side of your sunglasses. +The hardest thing in the world to understand is the income tax. +The highway of life is always under construction. +The idea is to die young as late as possible. +The knack of flying is learning how to throw yourself at the ground and miss. +The law of gravity was enacted by the British Parliament. +The light at the end of the tunnel is the headlight of an approaching train. +The lion and the calf shall lie down together but the calf won't get much sleep. +The meek shall inherit the Earth -- they are too weak to refuse. +The meek shall inherit the Earth after we are done with it. +The more keys you have, the more likely to be you are locked out. +The more things change, the more they stay insane. +The more things change, the more they will never be the same again. +The mosquito is the state bird of New Jersey. +The most dangerous part about playing cymbals is near the nose. +The most enjoyable form of sex education is the Braille method. +The moving finger having writ... gestures. +The next thing I say will be true. The last thing I said was false. +The nice thing about standards is that there are so many of them to choose from. +The number watching you is proportional to the stupidity of your action. +The number you have dialed is imaginary. Please multiply by i and dial again. +The older a man gets, the farther he had to walk to school as a boy. +The one who says it can't be done should never interrupt the one doing it. +The only thing to do with good advice is pass it on. +The only tools some people are competent to use are a pen and a checkbook. +The only way to get rid of a temptation is to yield to it. +The optimum committee has no members. +The other line always moves faster. +The past is another country; they do things differently there. +The perversity of the universe tends toward a maximum. +The plural of "musical instrument" is "orchestra". +The prairies are vast plains covered by treeless forests. +The problem with the gene pool is that there is no lifeguard. +The Pyramids are a range of mountains between France and Spain. +The race is not always to the swift... but that's the way to bet. +The Ranger isn't gonna like it, Yogi. +The reason that sex is so popular is that it's centrally located. +The richer your friends, the more they will cost you. +The Schizophrenic: An Unauthorized Autobiography. +The second best policy is dishonesty. +The secret of life is to look good at a distance. +The secret of success is sincerity. Once you can fake that, you have it made. +The sex act is the funniest thing on the face of this Earth. +The shortest distance between two points is through hell. +The shortest distance between two points is under construction. +The sixth shiek's sixth sheep's sick. +The Society of Independent People has no members. +The sooner you fall behind, the more time you have to catch up. +The stapler runs out of staples only while you are trying to staple something. +The supernova makes Mt. St. Helens and Krakatoa look puny. +The theory of evolution was greatly objected to because it made men think. +The things that interest people most are usually none of their business. +The three stages of sex in marriage: tri-weekly; try-weekly; try-weakly. +The total intelligence on the planet is a constant; the population is growing. +The Tree of Learning bears the noblest fruit, but noble fruit tastes bad. +The trouble with a kitten is that, when it grows up, it is always a cat +The trouble with being punctual is that no one is there to appreciate it. +The trouble with political jokes is that they get elected. +The two kinds of egotists: Those who admit it, and the rest of us. +The two most common things in the universe are hydrogen and stupidity. +The universe is surrounded by whatever it is that surrounds universes. +The weather at home improves as soon as you go away. +The wind blows harder in the summer so the sun sets later. +The word today is legs... Spread the word. +The world is run by C students. +The world isn't any worse. It's just that the news coverage is so much better. +The world's a stage and most of us are desperately unrehearsed. +The worst you can say about God is that he's an underachiever. +The zebra is chiefly used to illustrate the letter Z. +Theft from a single author is plagiarism. Theft from three or more is research. +There are many excuses for being late, but there are none for being early. +There are many kinds of people in the world. Are you one of them? +There are more old drunkards than old doctors. +There are more things in heaven and Earth than anyplace else. +There cannot be a crisis next week. My schedule is already full. +There is a 20% chance of tomorrow. +There is a fine line between courage and foolishness. Too bad it's not a fence. +There is a green, multi-legged creature crawling on your shoulder. +There is a vas deferens between men and women. +There is always more hell that needs raising. +There is an alarming increase in the number of things you know nothing about. +There is an old proverb that says just about whatever you want it to. +There is at least one fool in every married couple. +There is exactly one true categorical statement. +There is intelligent life on Earth, but I am just visiting. +There is no future in time travel. +There is no problem a good miracle can't solve. +There is no room in the drug world for amateurs. +There is no substitute for good manners, except, perhaps, fast reflexes. +There is no time like the pleasant. +There is nothing more permanent than a temporary tax. +There is nothing wrong with abstinence, in moderation. +There is nothing wrong with teenagers that reasoning with them won't aggravate. +There is nothing you can do that can't be done. +There is only one difference between a madman and me. I am not mad. +There is so much to say, but your eyes keep interrupting me. +There is very little future in being right when your boss is wrong. +There must be more to life than sitting wondering if there is more to life. +They also surf who only stand on waves. +They couldn't hit an elephant at this dist... +They took some of the Van Goghs, most of the jewels, and all of the Chivas! +Things are more like they are today then they ever were before. +Things are more like they used to be than they are now. +Things equal to nothing else are equal to each other. +Things will get better despite our efforts to improve them. +Think honk if you are telepathic. +Think how much fun you could have with the doctor's wife and a bucket of apples. +This fortune is encrypted -- get your decoder rings ready! +This fortune is inoperative. Please try another. +This fortune was brought to you by the people at Hewlett-Packard. +This is a crude version of a more advanced joke that has never been written. +This is a good time to punt work. +This is a recording. +This is National Non-Dairy Creamer Week. +This is the sort of English up with which I will not put. +This isn't right. This isn't even wrong. +This may not be the best of all worlds, but it is certainly the most expensive. +This saying would be seven words long if it were six words shorter. +This sentence no verb. +This statement is in no way to be construed as a disclaimer. +This will be a memorable month -- no matter how hard you try to forget it. +Those who can, do; those who can't, simulate. +Those who flee temptation generally leave a forwarding address. +Those who like sausages and the law had better not watch either one being made. +Three may keep a secret, if two of them are dead. +Time flies like an arrow. Fruit flies like a banana. +Time flies when you don't know what you are doing. +Time is an illusion perpetrated by the manufacturers of space. +Time is an illusion; lunchtime doubly so. +Time is nature's way of making sure that everything doesn't happen at once. +Time is the best teacher; unfortunately, it kills all its students. +Tip the world over on its side and everything loose will land in LA. +To be safe, make a copy of everything before you destroy it. +To err is human. To admit it is a blunder. +To err is human. To blame someone else for your errors is even more human. +To err is human. To forgive is unusual. +To err is human; to forgive is Not Company Policy. +To generalize is to be an idiot. +To get it done: Do it yourself, hire someone, or forbid your kids to do it. +To keep milk from turning sour, you should keep it in the cow. +To make a small fortune in the commodities market, start with a large fortune. +To study a subject best, understand it thoroughly before you start. +To succeed in politics, it is often necessary to rise above your principles. +To vacillate or not to vacillate, that is the question... or is it? +To YOU I am an atheist; to God, I'm the Loyal Opposition. +Today is a good day to bribe a high ranking public official. +Today is the first day of the rest of the mess. +Today is the last day of the past of your life. +Today is the tomorrow you worried about yesterday. +Toe: A part of the foot used to find furniture in the dark. +Tomorrow looks like a good day to sleep in. +Tomorrow will be cancelled due to lack of interest. +Too much is not enough. +Too much of a good thing is WONDERFUL. +Toto, I don't think we're in Kansas anymore. +Tragedy: A busload of lawyers driving off a cliff with three empty seats. +Traveling through hyperspace isn't like dusting crops, boy. +Troglodytism does not necessarily imply a low cultural level. +Truth is the most valuable thing we have -- so let us economize it. +Truthful: Dumb and illiterate. +Try the Moo Shu Pork. It is especially good today. +Try to get all of your posthumous medals in advance. +Tuesday After Lunch is the cosmic time of the week. +TV is called a medium because it is neither rare nor well done. +Twenty percent of zero is better than nothing. +Two can live as cheaply as one for half as long. +Two cars in every pot and a chicken in every garage. +Two heads are more numerous than one. +Two is not equal to 3, not even for large values of 2. +Two wrongs are only the beginning. +Unauthorized fornication with this equipment is disallowed. +Under capitalism, man exploits man. Under communism, it is just the opposite. +Under every stone lurks a politician. +Unmatched: Almost as good as the competition. +Very few profundities can be expressed in less than 80 characters. +Vital papers demonstrate their vitality by spontaneously moving. +Volcano: A mountain with hiccups. +Vote anarchist. +Wagner's music is better than it sounds. +Waste not, get your budget cut next year. +We are all politicians. Some of us are just honest enough to admit it. +We are all self-made, but only the rich will admit it. +We are living in a golden age. All you need is gold. +We are not a loved organization, but we are a respected one. +We are so fond of each other because our ailments are the same. +We are sorry. We cannot complete your call as dialed. +We are the people our parents warned us about. +We can loan you enough money to get you completely out of debt.-- sign in bank +We could do that, but it would be wrong, that's for sure. +We don't have to protect the environment; the Second Coming is at hand. +We have them just where they want us. +We interrupt this fortune for an important announcement... +We need either less corruption or more chance to participate in it. +We totally deny the allegations, and we are trying to identify the allegators. +We will cross out that bridge when we come back to it later. +We will get along fine as soon as you realize I am God. +We will have solar energy when the power companies develop a sunbeam meter. +Wealth: The ability to support debt. +Wedding is destiny, and hanging likewise. +Well adjusted: Makes the same mistake twice without getting nervous. +Well-adjusted: Able to play bridge or golf as if they were games. +What can't be said, can't be said. And it can't be whistled, either. +What did you bring the book I want to be read to out of about Down Under up for? +What do you call 10,000 lawyers at the bottom of the ocean? A good start. +What do you call a lawyer buried up to his neck in sand? Not enough sand. +What happens when you cut back the jungle? It recedes. +What if there were no hypothetical situations? +What is an atheist's favorite movie? "Coincidence on 34th Street" +What is mind? No matter. What is matter? Never mind. +What is orange and goes "click, click"? A ball point carrot. +What is research but a blind date with knowledge? +What is the difference between a duck? One of its legs is both the same. +What is worth doing is worth the trouble of asking someone to do. +What orators lack in depth they make up in length. +What sane person could live in this world and not be crazy? +What scoundrel stole the cork from my lunch? +What this country needs is more leaders who know what this country needs. +What use is magic if it can't save a unicorn? +What! Me worry? +What, after all, is a halo? It's only one more thing to keep clean. +Whatever you want to do, you have to do something else first. +When angry, count four; when very angry, swear. +When evolution is outlawed, only outlaws will evolve. +When God created two sexes, he might have been overdoing it. +When I look at my children, I often wish I had remained a virgin. +When I'm good, I'm very good. But when I'm bad, I'm better. +When in charge, ponder. When in doubt, mumble. When in trouble, delegate. +When in doubt, lead trump. +When in trouble or in doubt, run in circles, scream and shout. +When it comes to helping you, some people stop at nothing. +When it's you against the world, bet on the world. +When management wants your opinion, they will give it to you. +When marriage is outlawed, only outlaws will have inlaws. +When Mozart was my age, he had been dead for two years. +When one burns one's bridges, what a very nice fire it makes. +When pigs back into an electric fence, there is a short circus. +When someone says, "It ain't the money, but the principle," it's the money. +When the going gets tough, everyone leaves. +When the going gets weird, the weird turn pro. +When they ship styrofoam, what do they pack it in? +When working hard, be sure to get up and retch every so often. +When you are in it up to your ears, keep your mouth shut. +When you breathe you inspire. When you do not breathe you expire. +When you dial a wrong number you never get a busy signal. +When you make your mark in the world, watch out for guys with erasers. +When you've got them by the balls, their hearts and minds will follow. +When you've seen one non-sequitar, the price of tea in China. +When your memory goes, forget it! +Whenever anyone says, "theoretically", they really mean, "not really" +Whenever I feel like exercise, I lie down until the feeling passes. +Where is Denver? Denver is just below the O in Colorado. +Where there is a will, there is an Inheritance Tax. +Where there's a whip there's a way. +Where there's a will, there's a relative. +Whether you can hear it or not, the universe is laughing behind your back. +Which came first, the chicken or the egg? Neither, it was the rooster. +Which is worse, ignorance or apathy? Who knows? Who cares? +While money doesn't buy love, it puts you in a great bargaining position. +White dwarf seeks red giant for binary relationship. +Who cares about procreation, as long as it tickles? +Who dat who say "who dat" when I say "who dat"? +Who was that masked man? +Who's on first? +Whoever said money can't buy happiness didn't know where to shop. +Why be difficult when, with a bit of effort, you could be impossible? +Why bother building any more nuclear warheads until we use the ones we have? +Why did the chicken cross the road? He was giving it last rites. +Why did the chicken cross the road? The rooster was on the other side. +Why did the politician cross the road? To get to the middle. +Why did the tachyon cross the road? Because it was on the other side. +Why doesn't life come with subtitles? +Why don't "minimalists" find a shorter name for themselves? +Why is "abbreviated" such a long word? +Why is "palindrome" spelled "palindrome" and not "palindromeemordnilap"? +Why is it that there are so many more horses' asses than horses? +Why isn't "phonetic" spelled the way it's said? +Why isn't there a special name for the tops of your feet? +Why was I born with such contemporaries? +Why would anyone want to be called Later? +Winning isn't everything, but losing isn't anything. +With a rubber duck, one's never alone. +Without life, Biology itself would be impossible. +Women want one man to meet every need; men want every woman to meet one need. +Women who desire to be like men, lack ambition. +Work is the curse of the drinking class. +Writing free verse is like playing tennis with the net down. +Yawning is an orgasm for your face. +Years of development: We finally got one to work. +Yesterday was the deadline on all complaints. +Yield to temptation; it might not pass your way again. +Yo-yo: Something occasionally up but normally down (see also "computer"). +You are here. But you are not all there. +You are in a maze of little twisting passages, all alike. +You are in a maze of little twisting passages, all different. +You are not paranoid if they're really after you... +You are ugly and your mother dresses you funny. +You are warm and giving toward others. What are you after? +You aren't a real engineer until you make one $50,000 mistake. +You can fool some of the people some of the time, and that is sufficient. +You can get more with a kind word and a gun than you can with a kind word. +You can learn many things from children... like how much patience you have. +You can observe a lot just by watchin'. +You can rent this profound space for only $5 a week. +You can't have everything. Where would you put it? +You can't have Kate and Edith too! +You cannot buy beer; you can only rent it. +You cannot determine beforehand which side of the bread to butter. +You could be playing a video game instead. +You fill a much-needed gap. +You have a right to your opinions. I just don't want to hear them. +You have been selected for a secret mission. +You have the body of a 19 year old. Please return it before it gets wrinkled. +You have the capacity to learn from mistakes. You will learn a lot today. +You know you are a little fat if you have stretch marks on your car. +You know you are over the hill when work is less fun and fun is more work. +You know you have landed gear-up when it takes full power to taxi. +You look like a million dollars... All green and wrinkled. +You never know how many friends you have until you rent a house on the beach. +You never know who is right, but you always know who is in charge. +You now have Asian Flu. +You will be reincarnated as a toad; and you will be much happier. +You will be surprised by a loud noise. +You will feel hungry again in another hour. +You will live a long full life and gradually decay into a useless blob. +You will live a long, healthy, happy life and make bags of money. +You will never hit your finger if you hold the hammer with both hands. +You will pay for your sins. If you have already paid, please disregard. +You will soon forget this. +You will step on the night soil of many countries. +You won't skid if you stay in a rut. +You would if you could but you can't so you won't (and probably shouldn't). +You'll find it all at Greeley Mall. +You're not drunk if you can lie on the floor without holding on. +Your chance of forgetting something is directly proportional to... uh... +Your check is in the mail. +Your fly might be open (but don't check it just now). +Your love life will be... interesting. +Your lucky number has been disconnected. +Your lucky number is 364958674928. Watch for it everywhere. +Your reasoning is silly and irrational but it is beginning to make sense. +Your true value depends entirely on what you are compared with. +Your weight is perfect for your height -- which varies. +Youth is too good to be wasted on the young. +[He] has all the virtues I dislike and none of the vices I admire. +[Nuclear war]... may not be desirable. diff --git a/eliza/data/words/party.w b/eliza/data/words/party.w new file mode 100644 index 0000000..b8df296 --- /dev/null +++ b/eliza/data/words/party.w @@ -0,0 +1,18 @@ +17 +where's the party? +party hardy!? +fight for your right to party +would a @animal.w be considered a party animal? +@drink.w +@drunk.w +pass the chips +a party is not complete without @food.w +party party party +party!? +@drugs.w +party! +am I invited to the party? +life=party +<-- lives to party +partytime! +break out the @liquid.w diff --git a/eliza/data/words/phrack.w b/eliza/data/words/phrack.w new file mode 100644 index 0000000..6863823 --- /dev/null +++ b/eliza/data/words/phrack.w @@ -0,0 +1,22 @@ +21 +is phrack still around? +are phrack back issues at eff.org? +I think phrack is cool... +who writes for phrack? +Does @name.w have anything to do with phrack? +what is the latest phrack? +I should write for phrack... +phrack is interesting +phrack is quite informing +I like phrack! +Phrack is a part of history... +Phrack sucks +phrack? +KL loves phrack! +I hate phrack! +I write for phrack +where is phrack @39 +Phrack is funny +phrack is old +when is dispater gonna right a good article? +crimson death still at phrack? diff --git a/eliza/data/words/phreak.w b/eliza/data/words/phreak.w new file mode 100644 index 0000000..6de5d53 --- /dev/null +++ b/eliza/data/words/phreak.w @@ -0,0 +1,19 @@ +18 +I am a super-phreak! +What is the new auto-CNA? +maybe I should build a blue-box? +I am phreaking this call, really! +I like to red-box some +anyone ever built a white-box? +I need a new VMB! +any code lines around? +I need to engineer a COSMOS account... +AT&T sucks.... +GTE is horrible! +what is a @color.w box? +how do I make a @color.w box? +I phreak all the time! +I have never paid for long distance! +I am calling from a pay phone... +what is ani? +Caller-ID will suck! diff --git a/eliza/data/words/place.w b/eliza/data/words/place.w new file mode 100644 index 0000000..8af5961 --- /dev/null +++ b/eliza/data/words/place.w @@ -0,0 +1,127 @@ +127 +Venus +the 3rd planet from the 5th star of the constellation Orion +the ghetto, man! +the wetlands of Florida +Endor +the area behind Fenway Park's bleachers +Romulus +Vulcan +Alabama +Alaska +Arizona +Arkansas +California +Colorado +Connecticut +Deleware +Florida +Georgia +Hawaii +Idaho +Illinois +Indiana +Iowa +Kansas +Kentucky +Louisiana +Maine +Maryland +Massachusetts +Michigan +Minnesota +Mississippi +Missouri +Montana +Nebraska +Nevada +New Hampshire +New Jersey +New Mexico +New York +North Carolina +North Dakota +Ohio +Oklahoma +Oregon +Pennsylvania +Rhode Island +South Carolina +South Dakota +Tennessee +Texas +Utah +Vermont +Virginia +Washington +West Virginia +Wisconsin +Wyoming +Albuquerque +Atlanta +Austin +Baltimore +Baton Rouge +Boston +Buffalo +Charlotte +Chicago +Cincinnati +Cleveland +Columbus +Dallas +Denver +Detroit +El paso +Fort worth +Honolulu +Houston +Indianapolis +Jacksonville +Kansas City +Long Beach +Los Angeles +Memphis +Miami +Milwaukee +Minneapolis +Nashville +Newark +New Orleans +New york +Oakland +Oklahoma +Omaha +Philadelphia +Phoenix +Pittsburgh +Portland +St. Louis +San Antonio +San Diego +San Francisco +San Jose +Seattle +Toledo +Tucson +Tulsa +Virginia Beach +Washington DC +University of Texas +Florida State University +Brigham Young +Greece +Holland +Australia +42nd Street +Zimbabwai +Lesotho +the MidWest +new england +London +Geneva +the high plains +Jellystone park +the rocky mountains +the pacific northwest +the planet "Uranus" diff --git a/eliza/data/words/please.w b/eliza/data/words/please.w new file mode 100644 index 0000000..5462846 --- /dev/null +++ b/eliza/data/words/please.w @@ -0,0 +1,6 @@ +5 +since you asked so nicely... +@ok.w +@response.w +aren't you polite! +I guess, since you said the magic word! diff --git a/eliza/data/words/profession.w b/eliza/data/words/profession.w new file mode 100644 index 0000000..17ed80a --- /dev/null +++ b/eliza/data/words/profession.w @@ -0,0 +1,25 @@ +24 +plumber +brick layer +drug dealer +pre-school teacher +McDonald's manager +hacker +phreaker +phone-man +bank robber +grease monkey +programmer +drinker +engineer +salesman +sacker +stocker +prostitute +preacher +cook +dancer +dish washer +accountant +student +musician diff --git a/eliza/data/words/race.w b/eliza/data/words/race.w new file mode 100644 index 0000000..edcffd4 --- /dev/null +++ b/eliza/data/words/race.w @@ -0,0 +1,8 @@ +6 +I am a white american +I am white +I am a white boy +i be white +i am a W.A.S.P. +white + diff --git a/eliza/data/words/ramble.w b/eliza/data/words/ramble.w new file mode 100644 index 0000000..c6dbfe4 --- /dev/null +++ b/eliza/data/words/ramble.w @@ -0,0 +1,8 @@ +7 +@comment.w +@comment.w +@comment.w +@comment.w +@neutral.w +@neutral.w +@one_liner.w diff --git a/eliza/data/words/religion.w b/eliza/data/words/religion.w new file mode 100644 index 0000000..df403f1 --- /dev/null +++ b/eliza/data/words/religion.w @@ -0,0 +1,10 @@ +9 +I worship a @animal.w +I am not religious myself. +Haleiluja! +praise god! +I think I shall start my own cult. +religion is weird. +I am a monk! +I am a priest! +I am an ordained minister! diff --git a/eliza/data/words/response.w b/eliza/data/words/response.w new file mode 100644 index 0000000..e4dad0d --- /dev/null +++ b/eliza/data/words/response.w @@ -0,0 +1,6 @@ +5 +@affirmative.w +@negative.w +@affirmative.w +@negative.w +@neutral.w diff --git a/eliza/data/words/school.w b/eliza/data/words/school.w new file mode 100644 index 0000000..97f7c9b --- /dev/null +++ b/eliza/data/words/school.w @@ -0,0 +1,30 @@ +29 +I hate @class.w +I need to study... +I need to work on my @class.w +SCHOOL SUCKS! +I learn nothing in class, cause I iz asleep! +I seem to have forgotten where all my classes are. +I skip all my classes. +I should be studying +Who needs to go to class! +I don't have time to go to class AND chat all day! +How can I think about school when I could be drinking beer! +I don't like @class.w +My best subject is @class.w +I am failing @class.w! +I am afraid I will be in school forever! +I hate all my profs. +I can't understand my profs. +my profs know nothing! +Class is very boring +I hate all my CS classes! +The CS dept is too lacking.... arg +awwww! Homework! +I am still lacking like @number.w credit hours... +I need to get above a 1.0! +lab sucks! +I have only attented my @class.w class once! +Study? hmm what does that mean?! +I am technically a student! +My profs are all against me! diff --git a/eliza/data/words/secret.w b/eliza/data/words/secret.w new file mode 100644 index 0000000..95d87e6 --- /dev/null +++ b/eliza/data/words/secret.w @@ -0,0 +1,11 @@ +10 +I am not allowed to divuldge secrets +I can keep a secret! +secret?! +shhhh! it's a secret! +Only @name.w knows that secret! +a secret for "Your eyes only" +Here's a secret, @name.w is secretly in love with a @animal.w from @place.w! +I know many secrets. +I would tell you, but it IS a secret +tell me the secret diff --git a/eliza/data/words/sex.w b/eliza/data/words/sex.w new file mode 100644 index 0000000..5679467 --- /dev/null +++ b/eliza/data/words/sex.w @@ -0,0 +1,23 @@ +22 +oooh! me so horny! +ooh baby! +bring on the chicks, I can handle it! +ever seen Debbie does @place.w? +Sex is one of MY favorite pastimes! +don't forget to practice safe sex! +net sex? +ooohh I'm getting hot! +no sex here +babes? +hooters? +I want hooters! +where are the babes!!? +Sex is a fun sport! +Sex is a team competition! +oh mama! +I have had @number.w women +the babes just can't keep away from me! +I am quite a stud, if I do say so myself +*pant* *pant* +oooh its making me so horny +*kiss* mmmmmmm diff --git a/eliza/data/words/sick.w b/eliza/data/words/sick.w new file mode 100644 index 0000000..fd13e4f --- /dev/null +++ b/eliza/data/words/sick.w @@ -0,0 +1,23 @@ +21 +*sniffle* +*cough* +I thank I am running a fever! +ugh my stomach hurts +my head is spinning +I can't feel my hands +everything is blurry +Oh, I am definitely gonna be ill +*yack* 'scuse me +*sneeze* ugh +I think its a cold +could be the flue +I think its too much beer +I imagine a lack of sleep has made me sick +I'm sick as a @animal.w +too sick to do homework! +too sick to study! +much too sick to care +*eats a rolaids* +*eats some asprin* +*takes @number.w tylenol* + diff --git a/eliza/data/words/sleep.w b/eliza/data/words/sleep.w new file mode 100644 index 0000000..bb378e0 --- /dev/null +++ b/eliza/data/words/sleep.w @@ -0,0 +1,22 @@ +21 +I stay up much too late! +I need more sleep! +Sleep is really cool! +I like to sleep. +My bed is so, so warm! +yawn.... *stretch* +I have not slept for @number.w hours +But I must get my beauty sleep! +I grow weary... +If I don't get 10 hours of sleep, I get cranky. +Slap me around if I nod off. +I shall try to keep awake. +The stimulating conversation doesn't help! +I will just take a little cat nap! +I need some caffine +I think I just fainted +yawn +*snore* +5 more minutes mom +I don't wanna wake up! +me eyelids are getting heavy... diff --git a/eliza/data/words/smoke.w b/eliza/data/words/smoke.w new file mode 100644 index 0000000..1e2314b --- /dev/null +++ b/eliza/data/words/smoke.w @@ -0,0 +1,17 @@ +15 +where's the fire? +call the fire dept! +where there's smoke, there's fire! +smoking? me?? +dudddee.. I don't know what I'm smoking! +I iz smokin... +ssssssss wheewwwwww. +*cough* +*gasp* +*wheez* +*hack* +*sputter* +*choke* +smokes for me? +gimme smokes? + diff --git a/eliza/data/words/sorry.w b/eliza/data/words/sorry.w new file mode 100644 index 0000000..a1a2bfa --- /dev/null +++ b/eliza/data/words/sorry.w @@ -0,0 +1,17 @@ +15 +sorry +so sorry +I'm sorry +excuse me +EXCUSE me! +I humbly apologize +a thousand pardons +forgive me, please! +I ask your forgiveness +pardon me +my bad +I am always right! +oh.. +wrong? +are you sure? + diff --git a/eliza/data/words/sports.w b/eliza/data/words/sports.w new file mode 100644 index 0000000..8cf37e9 --- /dev/null +++ b/eliza/data/words/sports.w @@ -0,0 +1,13 @@ +12 +sports hey? +I wuz never good at sports. +ever play football? +ever play basketball? +ever play soccer? +*crack* Home Run! +I like sports! +I watch sports all day! +where are the sports fans? +bowling is a cool sport +raquetball anyone? +ice skating anyone? diff --git a/eliza/data/words/talk.w b/eliza/data/words/talk.w new file mode 100644 index 0000000..e586e85 --- /dev/null +++ b/eliza/data/words/talk.w @@ -0,0 +1,9 @@ +8 +I like to talk to people. +I wish I could chat with a @animal.w +Chatting is fun. +Good conversation is always a joy. +What is there to talk about anyhow +why talk when I could be eating! +whats wrong with a little good conversation? +irc is a great place to chat diff --git a/eliza/data/words/tell.w b/eliza/data/words/tell.w new file mode 100644 index 0000000..9a65240 --- /dev/null +++ b/eliza/data/words/tell.w @@ -0,0 +1,7 @@ +6 +tell you what? +why should I tell you? +I ain't telling you nothing! +I can't tell... +hard to say +tell you!? diff --git a/eliza/data/words/texas.w b/eliza/data/words/texas.w new file mode 100644 index 0000000..bd728a8 --- /dev/null +++ b/eliza/data/words/texas.w @@ -0,0 +1,20 @@ +19 +Texas, our Texas, all hail the mighty state! +Texas is awesome! +Yee-HAA!! +ride-em cowboy! +yea, I wear a 10 gallon hat and boots. +I live on a @number.w acre ranch. +I gotta get up early and feed the cattle. +I gotta go rope some steers. +howdy partners! +get a-long little dogie +I am a cowboy! +whoop! +Texas is the best state in the USA +well partner, lemme tell you about Texas +Remember the Alamo! +The stars at night, are big and bright... +deep in the heart of Texas +Texas is nice, but too damn hot +Texas weather: if you don't like it, just wait 5 minutes diff --git a/eliza/data/words/they_are.w b/eliza/data/words/they_are.w new file mode 100644 index 0000000..9fc0f06 --- /dev/null +++ b/eliza/data/words/they_are.w @@ -0,0 +1,15 @@ +14 +you are? +why do you think that? +That's not what I hear! +right! +I bet you are... +are not +you ARE!? +are you? +you honestly are? +you really are? +are you? +you sure? +since when! +really? diff --git a/eliza/data/words/they_do.w b/eliza/data/words/they_do.w new file mode 100644 index 0000000..03986da --- /dev/null +++ b/eliza/data/words/they_do.w @@ -0,0 +1,9 @@ +8 +you do? +do you really? +I thought you did.. +I bet you do! +sure you do +oh really? +I would hope you do... +so do I diff --git a/eliza/data/words/they_dont.w b/eliza/data/words/they_dont.w new file mode 100644 index 0000000..0655b89 --- /dev/null +++ b/eliza/data/words/they_dont.w @@ -0,0 +1,11 @@ +10 +you don't? +why not? +why don't you? +you should +you don't what? +didn't think you did +would not expect you to +that's no big surprise +you never do +because you are too dumb? diff --git a/eliza/data/words/they_have.w b/eliza/data/words/they_have.w new file mode 100644 index 0000000..783f33b --- /dev/null +++ b/eliza/data/words/they_have.w @@ -0,0 +1,9 @@ +8 +Where did you get that? +Who gave you that? +and what do you plan to do with THAT!? +what's that? +who doesn't... +sure you do... +Cool, get me one! +how long have you had it? diff --git a/eliza/data/words/they_not.w b/eliza/data/words/they_not.w new file mode 100644 index 0000000..69f204e --- /dev/null +++ b/eliza/data/words/they_not.w @@ -0,0 +1,9 @@ +8 +You aren't? +too bad... +maybe someday you will +I bet you are! +are too! +you don't give yourself enough credit! +why do you say you aren't? +why not? diff --git a/eliza/data/words/theyhavent.w b/eliza/data/words/theyhavent.w new file mode 100644 index 0000000..4898b2e --- /dev/null +++ b/eliza/data/words/theyhavent.w @@ -0,0 +1,12 @@ +11 +you haven't? +why not? +why haven't you? +you should have +I fail to see why you haven't +but you have to! +you could have +I would have +I have! +didn't think you had! +doesn't surprise me diff --git a/eliza/data/words/thought.w b/eliza/data/words/thought.w new file mode 100644 index 0000000..805fb12 --- /dev/null +++ b/eliza/data/words/thought.w @@ -0,0 +1,5 @@ +4 +that's what you get for thinking? +who told you to think? +THOUGHT? +well, maybe you were mistaken diff --git a/eliza/data/words/time.w b/eliza/data/words/time.w new file mode 100644 index 0000000..4dac077 --- /dev/null +++ b/eliza/data/words/time.w @@ -0,0 +1,25 @@ +24 +1:00 +2:00 +3:00 +4:00 +5:00 +6:00 +7:00 +8:00 +9:00 +10:00 +11:00 +12:00 +1:30 +2:30 +3:30 +4:30 +5:30 +6:30 +7:30 +8:30 +9:30 +10:30 +11:30 +12:30 diff --git a/eliza/data/words/trek.w b/eliza/data/words/trek.w new file mode 100644 index 0000000..2bc9451 --- /dev/null +++ b/eliza/data/words/trek.w @@ -0,0 +1,17 @@ +16 +live long and prosper +the enterprise?! +SPOCK! +KIRK! +peace, and long life +Beverly Crusher is a babe +Yar was a babe +Troi is a babe +phasers on stun... +beam me up! +warp speed, now! +when does Star Trek 6 come out!? +he's dead Jim +It's life Jim, but not as we know it +open hailing frequencies +all power to shields diff --git a/eliza/data/words/unix.w b/eliza/data/words/unix.w new file mode 100644 index 0000000..0fc19ac --- /dev/null +++ b/eliza/data/words/unix.w @@ -0,0 +1,18 @@ +17 +Unix is gawd-like! +Unix is awesome! +SunOS? +BSD? +SVR4? +What shell are you using? +What version of unix? +unix is cool +I like unix +there ARE no other operating systems besides unix +GNU! +GNU not unix! +Xenix? +How old is Unix? +where are the log files on unix? +I'd like to get Unix for the amiga +I run on Unix on my Vic20 diff --git a/eliza/data/words/unix_hack.w b/eliza/data/words/unix_hack.w new file mode 100644 index 0000000..b03aebf --- /dev/null +++ b/eliza/data/words/unix_hack.w @@ -0,0 +1,20 @@ +19 +What version of unix? +Have you tried the tar bug? +Have you tried the sendmail bug? +SVR5? +Just login as root! +Just hack the uucp account! +Why not hack on the /etc/passwd file? +<-- World's greatest unix hacker! +Unix is easy to hack.... +I like hacking Unix. +Is this Unix on inet or x.25? +Did you try guest/guest? +pfttt! I bet you don't even KNOW unix. +Unix is NOT a 4 letter word. +@hacking.w +try user/user +try demo/demo +try guest/guest +don't forget to check the logs! diff --git a/eliza/data/words/verb_present.w b/eliza/data/words/verb_present.w new file mode 100644 index 0000000..1fa83c1 --- /dev/null +++ b/eliza/data/words/verb_present.w @@ -0,0 +1,21 @@ +20 +swim +fly +laugh +sky dive +juggle +hack +phreak +play basketball +program in C +program in Fortran +program in Assembly +play craps +repair small appliances +fix vcrs +commit major crimes +pole vault +fish +dance +sing opera +play the basoon diff --git a/eliza/data/words/vms.w b/eliza/data/words/vms.w new file mode 100644 index 0000000..6d302a5 --- /dev/null +++ b/eliza/data/words/vms.w @@ -0,0 +1,21 @@ +20 +VMS? yuck! +I hope you don't actually like VMS! +Vaxen are nasty! +vms is lame +-barf- vms, *gag*, sputter +VMS is usually quite secure +try logging in as FIELD, password SUPPORT hehe! +How old is VMS anyhow?! +I was forced to use a vax once, it was horrible +a vax? too bad +why use VMS, when you could use UNIX? +why not unix? +why vms? +vax? running vms? +what version of vms? +I am not a big fan of VMS +I shall NEVER use vms +vms is of the devil +I run VMS on my C64! +Why is vms still around? diff --git a/eliza/data/words/want.w b/eliza/data/words/want.w new file mode 100644 index 0000000..c6efb8b --- /dev/null +++ b/eliza/data/words/want.w @@ -0,0 +1,8 @@ +7 +you don't ask for much do you? +is that all you want? +if you got it would you be happy? +why would you want that? +I don't want that! +you don't always get what you want +don't count on getting it diff --git a/eliza/data/words/was.w b/eliza/data/words/was.w new file mode 100644 index 0000000..5a3f7e7 --- /dev/null +++ b/eliza/data/words/was.w @@ -0,0 +1,6 @@ +5 +@response.w +sure was... +as far as I know +used to be +not any more diff --git a/eliza/data/words/weather.w b/eliza/data/words/weather.w new file mode 100644 index 0000000..a1a11b9 --- /dev/null +++ b/eliza/data/words/weather.w @@ -0,0 +1,21 @@ +20 +Hot +Cold +windy +so so... +hot as hell +cold as hell! +sunny +cloudy +rainy +cold +hot +pretty cool +a bit warm +overcast +storming +raining +flooding +snowing +hailing +sleeting diff --git a/eliza/data/words/welcome.w b/eliza/data/words/welcome.w new file mode 100644 index 0000000..b96e10c --- /dev/null +++ b/eliza/data/words/welcome.w @@ -0,0 +1,12 @@ +11 +you are welcome! +you're welcome! +sure... +no prob... +not a problem! +any time. +glad to be of service +you are most welcome +you are certainly welcome +ok +you owe me one! diff --git a/eliza/data/words/were.w b/eliza/data/words/were.w new file mode 100644 index 0000000..352ec05 --- /dev/null +++ b/eliza/data/words/were.w @@ -0,0 +1,6 @@ +0 +they were +not any more +as far as I know they were +used to be +@response.w diff --git a/eliza/data/words/what.w b/eliza/data/words/what.w new file mode 100644 index 0000000..9f4a44d --- /dev/null +++ b/eliza/data/words/what.w @@ -0,0 +1,31 @@ +30 +I have no idea! +dunno +don't ask me +I am not gonna tell you! +something! +that information is top secret, sorry. +search me! +what are you talking about? +wait a sec... what? +I don't understand. +not sure +let me think +hmm +what do you mean? +am I supposed to tell you? +don't you know? +how should I know. +I could tell you, but I would have to kill you. +I'll never tell! +I have no idea! +don't ask me +I know nothing about that! +can't say +what?! +hugh? +I don't know that! +sorry, dunno! +I am clueless! +I wish I knew +good question! diff --git a/eliza/data/words/what_do.w b/eliza/data/words/what_do.w new file mode 100644 index 0000000..db42c7c --- /dev/null +++ b/eliza/data/words/what_do.w @@ -0,0 +1,32 @@ +31 +hunting @animal.w +nothing at the moment +nothing +eating +eating @food.w. +changing the tires on my dodge +juggling chainsaws +drinking @liquid.w... +smoking up a storm +smoking +belly-dancing +hacking ibm.com +trying to keep awake! +watching television +chatting, of course +programing +I am doing homework +me? +what do you think! +reading a magazine... +building a spice rack +cruising for babes +taking a shower +playing poker +drinking myself to death +drinking myself to oblivian +watching "Quest for the Holy Grail" +eating leathal snacks +making origami swans +feeding my ducks +learning latin diff --git a/eliza/data/words/what_one.w b/eliza/data/words/what_one.w new file mode 100644 index 0000000..5093bd3 --- /dev/null +++ b/eliza/data/words/what_one.w @@ -0,0 +1,13 @@ +12 +a @adj.w one +a @color.w one +what kind? +there is only one kind! +a @adj.w @adj.w one +one that @name.w had +like the one from @place.w +one like @name.w's +what kind indeed! +depends on the situation +is there more than one kind? +a @adj.w one of course diff --git a/eliza/data/words/when.w b/eliza/data/words/when.w new file mode 100644 index 0000000..ded637c --- /dev/null +++ b/eliza/data/words/when.w @@ -0,0 +1,22 @@ +21 +never +in @month.w +last @month.w +next @month.w +last @dow.w +next @dow.w +on @dow.w +when? +a long time ago +2 million BC +not now +tommorow +yesterday +this morning +tonight +1 year ago +5 years ago +1910? +1942? +1776? +1066? diff --git a/eliza/data/words/whenf.w b/eliza/data/words/whenf.w new file mode 100644 index 0000000..900a9e9 --- /dev/null +++ b/eliza/data/words/whenf.w @@ -0,0 +1,21 @@ +20 +never +in @month.w +next @month.w +next @dow.w +on @dow.w +when? +next week +next month +a long time from now +2 million AD +not now +tommorow +tonight +in 1 year +in 5 years +the year 1997 +in 1999 +in the year 2052 +in 2001 +who can tell diff --git a/eliza/data/words/whenp.w b/eliza/data/words/whenp.w new file mode 100644 index 0000000..6534ec3 --- /dev/null +++ b/eliza/data/words/whenp.w @@ -0,0 +1,18 @@ +17 +when? +1 million BC +a long time ago +this morning +yesterday +last @dow.w +last @month.w +last week +last month +4 years ago +2 weeks ago +last week +the year 1776 +the year 1492 +the year 1066 +before breakfest +good question diff --git a/eliza/data/words/where.w b/eliza/data/words/where.w new file mode 100644 index 0000000..fe3d421 --- /dev/null +++ b/eliza/data/words/where.w @@ -0,0 +1,30 @@ +27 +where am I? +Why do you want to know where I am? +@place.w +Now I am in @place.w +I am from @place.w +It's none of you business where I am from! +I am from your home town! +I am from a galaxy far, far away... +A place you could only imagine +@place.w +@place.w +@place.w +From @place.w +from @place.w of course +@place.w, where else. +the third stone from the sun +originally from @place.w. +@place.w +I live in @place.w. +I dunno, my parents would not tell me... +@place.w +@place.w +@place.w +@place.w +@place.w +@place.w +@place.w + + diff --git a/eliza/data/words/where_are.w b/eliza/data/words/where_are.w new file mode 100644 index 0000000..045ca37 --- /dev/null +++ b/eliza/data/words/where_are.w @@ -0,0 +1,18 @@ +17 +@place.w +nowhere! +where is what? +find it yourself! +where? +you can't find it!? +look harder +did you look in @place.w +maybe they have some in @place.w +I was wondering where myself! +I don't know where +seek and ye shall find +I don't know where +Have you asked @name.w +Sorry, haven't really looked for it +good question! +@place.w diff --git a/eliza/data/words/which.w b/eliza/data/words/which.w new file mode 100644 index 0000000..9e5e5e5 --- /dev/null +++ b/eliza/data/words/which.w @@ -0,0 +1,13 @@ +12 +the @adj.w one +the @color.w one +which one what? +there is only one! +the @adj.w @adj.w one +the one that @name.w had +the one from @place.w +@name.w's +which one indeed! +depends +is there more than one? +the @adj.w of course diff --git a/eliza/data/words/who.w b/eliza/data/words/who.w new file mode 100644 index 0000000..b02a75f --- /dev/null +++ b/eliza/data/words/who.w @@ -0,0 +1,27 @@ +26 +Who am I? +You don't know who I am? +Why not just /whois ? +What? +Pathetic... Can't you see who I am? +I am the greatest @profession.w in the world! +I am a @profession.w +I am not you, that is for sure! +None of your business. +Why do you want to know? +Does it MATTER? +What am I? +I am your mother! +I am an ill-defined spot! +I am a d00d! +I am a big hacker from Germany. +I am an eL1Te hAcKER D00d! +I am more powerfull than you can ever imagine! +I am your father Luke, join me! +I am a k-rad person! +I am a carbon-based life-form, and you? +What am I? What the hell are you! +None of your damn business! +I could be your Dad +I am your worst nightmare! +I am just a poor old @profession.w diff --git a/eliza/data/words/who_is.w b/eliza/data/words/who_is.w new file mode 100644 index 0000000..5abc8c1 --- /dev/null +++ b/eliza/data/words/who_is.w @@ -0,0 +1,16 @@ +15 +noone +nobody +everyone +@name.w +I bet @name.w would qualify! +not me +probably @name.w +I imagine @name.w +possibly @name.w +hmm, maybe @name.w +@name.w +that guy from @place.w. +who knows! +good question +your mother :-) diff --git a/eliza/data/words/why.w b/eliza/data/words/why.w new file mode 100644 index 0000000..cb9d38e --- /dev/null +++ b/eliza/data/words/why.w @@ -0,0 +1,14 @@ +13 +why not? +why the hell not! +because I get off on it! +because... +I like it! +it makes me feel good about myself +that's just the way it is +just because +I enjoy it +there's nothing better to do! +there's no reason no to! +no one knows for sure +good question diff --git a/eliza/data/words/why_is.w b/eliza/data/words/why_is.w new file mode 100644 index 0000000..149fff8 --- /dev/null +++ b/eliza/data/words/why_is.w @@ -0,0 +1,13 @@ +12 +@neutral.w +hmm, dunno +why? +why not! +because! +that's just the way it is +who knows +who cares +does it matter why? +who can tell +good question +@neutral.w diff --git a/eliza/data/words/work.w b/eliza/data/words/work.w new file mode 100644 index 0000000..c826b4d --- /dev/null +++ b/eliza/data/words/work.w @@ -0,0 +1,14 @@ +13 +I hate work! +I am a @profession.w. +I don't get paid enough for my job as a @profession.w. +I gotta go to work tommorow, ugh! +work sucks +minumum wage is too low +I work as a @profession.w +work? +I think I shall call in dead to work! +I am taking the day off from work. +Why work? +I get paid @number.w dollars per hour when I work! +I work @number.w hours per week. diff --git a/eliza/data/words/x25.w b/eliza/data/words/x25.w new file mode 100644 index 0000000..7e3d0ff --- /dev/null +++ b/eliza/data/words/x25.w @@ -0,0 +1,13 @@ +12 +x.25 is always fun +sprintnet? +tymnet? +telenet? +my nui died! +anyone have a spare nui!? +any good nua's? +I need x.25 dialouts! +I need another pad... +is QSD still up? +is Altgers still up? +Is Lutzifer still operating? diff --git a/eliza/data/words/yes.w b/eliza/data/words/yes.w new file mode 100644 index 0000000..24bd5fe --- /dev/null +++ b/eliza/data/words/yes.w @@ -0,0 +1,8 @@ +7 +are you sure? +really? +you sound quite positive +@ok.w +you are sure? +@ok.w +@ok.w diff --git a/eliza/data/words/you_forgot.w b/eliza/data/words/you_forgot.w new file mode 100644 index 0000000..464cd4f --- /dev/null +++ b/eliza/data/words/you_forgot.w @@ -0,0 +1,8 @@ +7 +I have problems remembering stuff. +my mind is fried. +I can never remember things. +I only remember important stuff. +I shall try to remember. +I forgot +i forget diff --git a/eliza/eliza.pl b/eliza/eliza.pl new file mode 100755 index 0000000..c32402c Binary files /dev/null and b/eliza/eliza.pl differ diff --git a/eliza/level b/eliza/level new file mode 100644 index 0000000..573541a --- /dev/null +++ b/eliza/level @@ -0,0 +1 @@ +0 diff --git a/env/command.cfg b/env/command.cfg new file mode 100644 index 0000000..7eeb0a8 --- /dev/null +++ b/env/command.cfg @@ -0,0 +1,2 @@ +level = 1000 +cache = 0 \ No newline at end of file diff --git a/env/env.pl b/env/env.pl new file mode 100755 index 0000000..790b0cd --- /dev/null +++ b/env/env.pl @@ -0,0 +1,5 @@ +#!/usr/bin/perl -w + +foreach $key ( sort keys(%ENV) ) { + print "$key = $ENV{$key}\n" if ( $key =~ /multi/i ); +} diff --git a/env/help.txt b/env/help.txt new file mode 100644 index 0000000..53a71a1 --- /dev/null +++ b/env/help.txt @@ -0,0 +1 @@ +env: shows all environment variables containing "multi" (case insensitive) \ No newline at end of file diff --git a/euro/command.cfg b/euro/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/euro/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/euro/euro.pl b/euro/euro.pl new file mode 100755 index 0000000..7570ff3 --- /dev/null +++ b/euro/euro.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl -w +# Converts euro's to guldens + +my $koers = 2.20371; +my $euro; + +if ( defined( $ARGV[0] ) ) { + $euro = $ARGV[0]; + $euro =~ s/,/./; +} else { + print "Geef bedrag dat je wilt omrekenen"; + exit 1; +} +if ( $euro =~ /^-?\d+\.?\d*$/ ) { + my $a = sprintf( "%.2f", $euro * $koers ); + my $b = sprintf( "%.2f", $euro / $koers ); + print "$euro euro is $a gulden. $euro gulden is $b euro."; +} else { + print "Snap alleen getallen..."; +} diff --git a/euro/level b/euro/level new file mode 100644 index 0000000..573541a --- /dev/null +++ b/euro/level @@ -0,0 +1 @@ +0 diff --git a/fight/command.cfg b/fight/command.cfg new file mode 100644 index 0000000..6896d78 --- /dev/null +++ b/fight/command.cfg @@ -0,0 +1 @@ +level = 1 diff --git a/fight/fight.pl b/fight/fight.pl new file mode 100755 index 0000000..74fb888 --- /dev/null +++ b/fight/fight.pl @@ -0,0 +1,60 @@ +#!/usr/bin/perl -w + +use strict; +use lib '../../lib/'; +use LWP::UserAgent; +use Data::Dumper; + +my $arg = $ARGV[0]; + +if(!defined($arg)) { + print "consult help\n"; + exit; +} + +# Yes, LWP is less clean than SOAP, but SOAP is limited to 1000 queries/day +sub countGoogle($) { + my $query=shift; + my $ua = new LWP::UserAgent; + my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; + $ua->agent($agent); + + my $url="http://www.google.com/search?q=$query"; + my $req=new HTTP::Request( 'GET', $url); + my $con=$ua->request($req)->content; + my @lines = split /^/m, $con; + foreach my $line (@lines) { + if($line=~m|Results \d+ - \d+ of about ([0-9,]+) for |) { + my $ret=$1; + $ret=~s/,//g; + return $ret; + } + } + return -1; +} + +my @terms=split /\s+/, $arg; +if($arg=~/,/) { + my @terms=split /,\s+/, $arg; +} + +my %res; +foreach my $term (@terms) { + $res{$term}=countGoogle($term); +} + +my $highest="-1"; +my $winner="none"; +foreach my $term (@terms) { + if($res{$term}>$highest) { + $highest=$res{$term}; + $winner=$term; + } +} + +my @rest; +foreach my $term (@terms) { + next if $term eq $winner; + push @rest, "$term : ".$res{$term}; +} +print "$winner : $highest (vs ". join (",", @rest) .")\n"; diff --git a/fight/help.txt b/fight/help.txt new file mode 100644 index 0000000..dd3caf7 --- /dev/null +++ b/fight/help.txt @@ -0,0 +1,3 @@ +fight-- Which term wins? Lets terms fight against eachother using google +Syntax: fight [args] +Args: ``term1 term2'' or ``"term1 with spaces", "term2 with spaces"'' diff --git a/file/command.cfg b/file/command.cfg new file mode 100644 index 0000000..6bd3d81 --- /dev/null +++ b/file/command.cfg @@ -0,0 +1,2 @@ +level = 0 +cache = 300 # 5 minutes \ No newline at end of file diff --git a/file/file.pl b/file/file.pl new file mode 100755 index 0000000..77aa681 --- /dev/null +++ b/file/file.pl @@ -0,0 +1,116 @@ +#!/usr/bin/perl +# Casper Joost Eyckelhof (Titanhead) +# joost@dnd.utwente.nl +# Haalt het meest recente file-nieuws van tt op en scrijft deze naar STDOUT +# Niet kort of heel efficient, maar werkt prima :) + +use HTML::Entities(); +use LWP::UserAgent; +$ua = new LWP::UserAgent; + +#Set agent name, vooral niet laten weten dat we een script zijn +$agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; +$ua->agent($agent); + +my $args = shift @ARGV; +my %wegen; + +sub get_url { + my $url = shift; + $request = new HTTP::Request( 'GET', $url ); + $request->referer('http://portal.omroep.nl/'); + $request->header( "Accept" => 'application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1' ); + $request->header( "Accept-Encoding" => "gzip,deflate" ); + $request->header( "Accept-Language" => "en-us, en;q=0.5" ); + $request->header( "Accept-Charset" => "ISO-8859-1,utf-8;q=0.7,*" ); + + $content = $ua->request($request)->content; + return $content; +} + +sub parse_page { + #get everything between

 
+ if ( $content =~ /
/ ) {
+        $content =~ s/^.*?
.*?\n(.*?)<\/pre>.*?$/$1/si;
+        $content =~ s/.*?Files.*?\n(.*)/$1/si;
+        #      $content =~ s/\*+//g;
+        $content =~ s///sgi;
+        $content =~ s/<\/font>//sgi;
+        #      $content =~ s/(\d{3})<\/A>/($1),/gi;
+        #      $content =~ s/\n+//g;
+        #      $content =~ s/\.{2,}//g;
+        #      $content =~ s/([,.])/$1 /g;
+        #      $content =~ s/\s{2,}/ /g;
+        #      $content =~ s/^\s//g;
+        #      $content =~ s/(\d{3})<\/A>/($1),/gi;
+        #      $content =~ s/volgende nieuws index.*$//i;
+        #      $content =~ s|binnenland.*?VERKEERSINFORMATIE actueel .*? uur||gi;
+
+        $content = HTML::Entities::decode($content);
+
+        my $last_weg;
+        my @lines = split /\n/, $content;
+        foreach my $line (@lines) {
+            if ( $line =~ /^\s+?-\s+?(.*?) (.*)/ ) {
+                $last_weg = $1;
+                $wegen{$last_weg} .= $2;
+            } else {
+                if ( $line =~ /\*+/ ) {
+                    $last_weg = "rest";
+                }
+                $wegen{$last_weg} .= $line;
+            }
+        }
+        return $content;
+    } else {
+        return undef;
+    }
+}
+
+my $result;
+
+my $base_url   = "http://teletekst.nos.nl/tekst/730-0";
+my $page_index = 1;
+
+$url = $base_url . $page_index . ".html";
+
+my $next = 1;
+while ($next) {
+    my $content = parse_page( get_url($url) );
+    if ( defined $content ) {
+        $result .= $content;
+    } else {
+        $next = 0;
+    }
+    $page_index++;
+    $url = $base_url . $page_index . ".html";
+}
+
+delete $wegen{"rest"};
+
+my $output;
+
+unless ( $args eq "" ) {
+    my @argjes = split " ", $args;
+    foreach my $arg (@argjes) {
+        $arg = uc($arg);
+        if ( defined $wegen{$arg} ) {
+            $wegen{$arg} =~ s/\s{2,}/ /g;
+            $output .= $arg . " " . $wegen{$arg} . "\n";
+        }
+    }
+    if ( $output eq "" ) {
+        $output = "Geen files gevonden voor aangegeven traject\n";
+    }
+}
+else {
+    foreach my $key ( keys %wegen ) {
+        $wegen{$key} =~ s/\s{2,}/ /g;
+        $output .= "$key - " . $wegen{$key} . "\n";
+    }
+    if ( $output eq "" ) {
+        $output = "Er zijn op dit moment geen files\n";
+    }
+}
+
+print $output;
diff --git a/file/file2.pl b/file/file2.pl
new file mode 100755
index 0000000..a051a6b
--- /dev/null
+++ b/file/file2.pl
@@ -0,0 +1,72 @@
+#!/usr/bin/perl 
+# Casper Joost Eyckelhof (Titanhead)
+# joost@dnd.utwente.nl
+# Haalt het meest recente file-nieuws van tt op en scrijft deze naar STDOUT
+# Niet kort of heel efficient, maar werkt prima :)
+
+use HTML::Entities();
+use LWP::UserAgent;
+$ua = new LWP::UserAgent;
+
+#Set agent name, vooral niet laten weten dat we een script zijn
+$agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)";
+$ua->agent($agent);
+
+sub get_url {
+    my $url = shift;
+    $request = new HTTP::Request( 'GET', $url );
+    $request->referer('http://portal.omroep.nl/');
+    $request->header( "Accept" =>
+        'application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1'
+    );
+    $request->header( "Accept-Encoding" => "gzip, deflate, compress" );
+    $request->header( "Accept-Language" => "en-us, en;q=0.80, ko;q=0.60, zh;q=0.40, ja;q=0.20" );
+    $request->header( "Accept-Charset"  => "utf-8, *" );
+    $content = $ua->request($request)->content;
+    return $content;
+}
+
+sub parse_page {
+    #get everything between 
 
+ if ( $content =~ /
/ ) {
+        $content =~ s/^.*?
.*?\n(.*?)<\/pre>.*?$/$1/si;
+        $content =~ s/\*+//g;
+        $content =~ s///sgi;
+        $content =~ s/<\/font>//sgi;
+        $content =~ s/(\d{3})<\/A>/($1),/gi;
+        $content =~ s/\n+//g;
+        $content =~ s/\.{2,}//g;
+        $content =~ s/([,.])/$1 /g;
+        $content =~ s/\s{2,}/ /g;
+        $content =~ s/^\s//;
+        $content =~ s/(\d{3})<\/A>/($1),/gi;
+        $content =~ s/volgende nieuws index.*$//i;
+        $content =~ s|binnenland \d/\d VERKEERSINFORMATIE actueel .*? uur||gi;
+
+        $content = HTML::Entities::decode($content);
+        return $content;
+    } else {
+        return undef;
+    }
+}
+
+my $result;
+
+my $base_url   = "http://teletekst.nos.nl/tekst/730-0";
+my $page_index = 1;
+
+$url = $base_url . $page_index . ".html";
+
+my $next = 1;
+while ($next) {
+    my $content = parse_page( get_url($url) );
+    if ( defined $content ) {
+        $result .= $content;
+    } else {
+        $next = 0;
+    }
+    $page_index++;
+    $url = $base_url . $page_index . ".html";
+}
+
+print $result , "\n";
diff --git a/file/file_1pagina.pl b/file/file_1pagina.pl
new file mode 100755
index 0000000..5fe12c4
--- /dev/null
+++ b/file/file_1pagina.pl
@@ -0,0 +1,48 @@
+#!/usr/bin/perl 
+# Casper Joost Eyckelhof (Titanhead)
+# joost@dnd.utwente.nl
+# Haalt het meest recente file-nieuws van tt op en scrijft deze naar STDOUT
+# Niet kort of heel efficient, maar werkt prima :)
+
+use HTML::Entities();
+use LWP::UserAgent;
+$ua = new LWP::UserAgent;
+
+#Set agent name, vooral niet laten weten dat we een script zijn
+$agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)";
+$ua->agent($agent);
+
+$url = "http://teletekst.nos.nl/tekst/730-01.html";    # what else???
+
+##Haal pagina  op
+$request = new HTTP::Request( 'GET', $url );
+$request->referer('http://portal.omroep.nl/');
+$request->header( "Accept" =>
+    'application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1'
+);
+$request->header( "Accept-Encoding" => "gzip, deflate, compress" );
+$request->header( "Accept-Language" => "en-us, en;q=0.80, ko;q=0.60, zh;q=0.40, ja;q=0.20" );
+$request->header( "Accept-Charset"  => "utf-8, *" );
+
+$content = $ua->request($request)->content;
+
+#get everything between 
 
+if ( $content =~ /
/ ) {
+    $content =~ s/^.*?
.*?\n(.*?)<\/pre>.*?$/$1/si;
+    $content =~ s/\*+//g;
+    $content =~ s///sgi;
+    $content =~ s/<\/font>//sgi;
+    $content =~ s/(\d{3})<\/A>/($1),/gi;
+    $content =~ s/\n+//g;
+    $content =~ s/\.{2,}//g;
+    $content =~ s/([,.])/$1 /g;
+    $content =~ s/\s{2,}/ /g;
+    $content =~ s/^\s//;
+    $content =~ s/(\d{3})<\/A>/($1),/gi;
+    $content =~ s/volgende nieuws index.*$//i;
+
+    $content = HTML::Entities::decode($content);
+    print $content . "\n";
+} else {
+    print "Filestatus onbekend\n";
+}
diff --git a/file/file_meerpagina.pl b/file/file_meerpagina.pl
new file mode 100755
index 0000000..a051a6b
--- /dev/null
+++ b/file/file_meerpagina.pl
@@ -0,0 +1,72 @@
+#!/usr/bin/perl 
+# Casper Joost Eyckelhof (Titanhead)
+# joost@dnd.utwente.nl
+# Haalt het meest recente file-nieuws van tt op en scrijft deze naar STDOUT
+# Niet kort of heel efficient, maar werkt prima :)
+
+use HTML::Entities();
+use LWP::UserAgent;
+$ua = new LWP::UserAgent;
+
+#Set agent name, vooral niet laten weten dat we een script zijn
+$agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)";
+$ua->agent($agent);
+
+sub get_url {
+    my $url = shift;
+    $request = new HTTP::Request( 'GET', $url );
+    $request->referer('http://portal.omroep.nl/');
+    $request->header( "Accept" =>
+        'application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1'
+    );
+    $request->header( "Accept-Encoding" => "gzip, deflate, compress" );
+    $request->header( "Accept-Language" => "en-us, en;q=0.80, ko;q=0.60, zh;q=0.40, ja;q=0.20" );
+    $request->header( "Accept-Charset"  => "utf-8, *" );
+    $content = $ua->request($request)->content;
+    return $content;
+}
+
+sub parse_page {
+    #get everything between 
 
+ if ( $content =~ /
/ ) {
+        $content =~ s/^.*?
.*?\n(.*?)<\/pre>.*?$/$1/si;
+        $content =~ s/\*+//g;
+        $content =~ s///sgi;
+        $content =~ s/<\/font>//sgi;
+        $content =~ s/(\d{3})<\/A>/($1),/gi;
+        $content =~ s/\n+//g;
+        $content =~ s/\.{2,}//g;
+        $content =~ s/([,.])/$1 /g;
+        $content =~ s/\s{2,}/ /g;
+        $content =~ s/^\s//;
+        $content =~ s/(\d{3})<\/A>/($1),/gi;
+        $content =~ s/volgende nieuws index.*$//i;
+        $content =~ s|binnenland \d/\d VERKEERSINFORMATIE actueel .*? uur||gi;
+
+        $content = HTML::Entities::decode($content);
+        return $content;
+    } else {
+        return undef;
+    }
+}
+
+my $result;
+
+my $base_url   = "http://teletekst.nos.nl/tekst/730-0";
+my $page_index = 1;
+
+$url = $base_url . $page_index . ".html";
+
+my $next = 1;
+while ($next) {
+    my $content = parse_page( get_url($url) );
+    if ( defined $content ) {
+        $result .= $content;
+    } else {
+        $next = 0;
+    }
+    $page_index++;
+    $url = $base_url . $page_index . ".html";
+}
+
+print $result , "\n";
diff --git a/file/help.txt b/file/help.txt
new file mode 100644
index 0000000..9961d90
--- /dev/null
+++ b/file/help.txt
@@ -0,0 +1 @@
+Geeft de huidige filemeldingen.
\ No newline at end of file
diff --git a/file/level b/file/level
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/file/level
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/flits/command.cfg b/flits/command.cfg
new file mode 100644
index 0000000..6bd3d81
--- /dev/null
+++ b/flits/command.cfg
@@ -0,0 +1,2 @@
+level = 0
+cache = 300 # 5 minutes
\ No newline at end of file
diff --git a/flits/flits.pl b/flits/flits.pl
new file mode 100755
index 0000000..30fe870
--- /dev/null
+++ b/flits/flits.pl
@@ -0,0 +1,92 @@
+#!/usr/bin/perl 
+# Yvo Brevoort (Ylebre)
+# ylebre@dnd.utwente.nl
+# Haalt het meest recente flits-nieuws van http://www.flitsservice.nl op en
+# scrijft deze naar STDOUT
+
+use HTML::Entities();
+use LWP::UserAgent;
+$ua = new LWP::UserAgent;
+
+#Set agent name, vooral niet laten weten dat we een script zijn
+$agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)";
+$ua->agent($agent);
+
+my $args = shift @ARGV;
+
+my %wegen;
+
+sub get_url {
+    my $url = shift;
+    $request = new HTTP::Request( 'GET', $url );
+    $request->referer('http://www.flitsservice.nl/');
+    $request->header( "Accept"          => '*.*' );
+    $request->header( "Accept-Language" => "en-us, en;q=0.80, ko;q=0.60, zh;q=0.40, ja;q=0.20" );
+    $request->header( "Accept-Charset"  => "utf-8, *" );
+    $content = $ua->request($request)->content;
+    return $content;
+}
+
+sub parse_page {
+    my $content = shift;
+    my ( $snelweg, $regionaal );
+
+    if ( $content =~ /()/si ) {
+        if ( $content =~ /()(.*?)()(.*)/si ) {
+            $snelweg = $3;
+            $content = $4;
+        }
+        if ( $content =~ /()(.*?)()/si ) {
+            $regionaal = $3;
+        }
+    }
+
+    if ( defined $snelweg ) {
+        parse_flits($snelweg);
+    }
+    if ( defined $regionaal ) {
+        parse_flits($regionaal);
+    }
+}
+
+sub parse_flits {
+    my $content = shift;
+    $content =~ s/<.*?>//sgi;
+    foreach my $line ( split "\n", $content ) {
+        $line =~ s/^\s+//g;
+        $line =~ s/\s{2,}/ /g;
+        if ( $line =~ /(radar|laser) (..) ([an]\d+)?(.*)/ ) {
+            my $weg = $3;
+            if ( defined $weg ) {
+                $weg = uc($weg);
+                $wegen{$weg} = $line;
+            }
+        }
+    }
+}
+
+my $result;
+
+my $url = 'http://flitsservice.com/flitsservice/meldingen/vandaag.aspx';
+
+parse_page( get_url($url) );
+
+unless ( $args eq "" ) {
+    my @argjes = split " ", $args;
+    foreach my $arg (@argjes) {
+        $arg = uc($arg);
+        if ( defined $wegen{$arg} ) {
+            $wegen{$arg} =~ s/\s{2,}/ /g;
+            $output .= $arg . " " . $wegen{$arg} . "\n";
+        }
+    }
+    if ( $output eq "" ) {
+        $output = "Geen flitsers gevonden voor aangegeven traject\n";
+    }
+    print $output;
+}
+else {
+    foreach my $key ( keys %wegen ) {
+        print "$key - " . $wegen{$key} . "\n";
+    }
+}
diff --git a/flits/help.txt b/flits/help.txt
new file mode 100644
index 0000000..50cb4f8
--- /dev/null
+++ b/flits/help.txt
@@ -0,0 +1 @@
+Geeft de huidige flitsmeldingen.
\ No newline at end of file
diff --git a/flits/level b/flits/level
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/flits/level
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/followme/command.cfg b/followme/command.cfg
new file mode 100644
index 0000000..b9ff63f
--- /dev/null
+++ b/followme/command.cfg
@@ -0,0 +1 @@
+level = 50
\ No newline at end of file
diff --git a/followme/followme.pl b/followme/followme.pl
new file mode 100755
index 0000000..d4d99d7
--- /dev/null
+++ b/followme/followme.pl
@@ -0,0 +1,44 @@
+#!/usr/bin/perl -w
+
+use lib '../../lib';
+
+#User management from multigate
+use Multigate::Users;
+
+my $realuser    = $ENV{MULTI_REALUSER};
+my $commandline = defined $ARGV[0] ? $ARGV[0] : '';
+
+Multigate::Users::init_users_module();
+
+my ( $protocol, $rest ) = split ' ', $commandline, 2;
+
+#Even tijdelijk....
+
+if ( $protocol and ( $protocol =~ /sms/i ) ) {
+    print "Even geen sms-followme ivm accounting\n";
+    exit 0;
+}
+
+if ( $protocol && get_userlevel($realuser) ) {
+
+    #special case: unset followme
+    if ( lc($protocol) eq "remove" ) {
+        my $res = unset_preferred_protocol($realuser);
+        print "unset followme-address for $realuser\n";
+        exit 0;
+    }
+
+    unless ( protocol_exists($protocol) ) {
+        print "protocol \"$protocol\" unknown\n";
+        exit 0;
+    }
+    my $result = set_preferred_protocol( $realuser, $protocol );
+    print "preferred protocol for $realuser: $protocol\n";
+
+} else {
+    my $result = get_preferred_protocol($realuser);
+    $result = "none" unless ($result);
+    print "Current preferred protocol for $realuser: $result\n";
+}
+
+Multigate::Users::cleanup_users_module();
diff --git a/followme/help.txt b/followme/help.txt
new file mode 100644
index 0000000..ae86368
--- /dev/null
+++ b/followme/help.txt
@@ -0,0 +1 @@
+followme [protocol] : set followme to given protocol
\ No newline at end of file
diff --git a/fongshou/command.cfg b/fongshou/command.cfg
new file mode 100644
index 0000000..0f69821
--- /dev/null
+++ b/fongshou/command.cfg
@@ -0,0 +1 @@
+level = 0
\ No newline at end of file
diff --git a/fongshou/fongshou.pl b/fongshou/fongshou.pl
new file mode 100755
index 0000000..2f5face
--- /dev/null
+++ b/fongshou/fongshou.pl
@@ -0,0 +1,2 @@
+#!/usr/bin/perl -w
+print "Fong Shou: 053-4350137 -  http://www.snt.utwente.nl/overig/fongshou.php\n"
diff --git a/fongshou/help.txt b/fongshou/help.txt
new file mode 100644
index 0000000..fdaefcf
--- /dev/null
+++ b/fongshou/help.txt
@@ -0,0 +1 @@
+fongshou: geeft telefoonnummer en prijslijst-url van Fong Shou
diff --git a/fongshou/level b/fongshou/level
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/fongshou/level
@@ -0,0 +1 @@
+0
diff --git a/foonabc/command.cfg b/foonabc/command.cfg
new file mode 100644
index 0000000..711930a
--- /dev/null
+++ b/foonabc/command.cfg
@@ -0,0 +1 @@
+level = 0
diff --git a/foonabc/foonabc.pl b/foonabc/foonabc.pl
new file mode 100755
index 0000000..109ad89
--- /dev/null
+++ b/foonabc/foonabc.pl
@@ -0,0 +1,39 @@
+#!/usr/bin/perl -w
+use strict;
+
+my %table = (
+    a => "Anton",
+    b => "Bernard",
+    c => "Cornelis",
+    d => "Dirk",
+    e => "Eduard",
+    f => "Ferdinand",
+    g => "Gerard",
+    h => "Hendrik",
+    i => "Izaak",
+    j => "Jan",
+    k => "Karel",
+    l => "Lodewijk",
+    m => "Marie",
+    n => "Nico",
+    o => "Otto",
+    p => "Pieter",
+    q => "Quotiënt",
+    r => "Rudolf",
+    s => "Simon",
+    t => "Teunis",
+    u => "Utrecht",
+    v => "Victor",
+    w => "Willem",
+    x => "Xantippe",
+    y => "Ypsilon",
+    z => "Zaandam"
+);
+
+my $input = $ARGV[0];
+
+$input =~ s/\W//g;
+$input =~ s/([A-Za-z])/$table{lc($1)} /g;
+
+print $input, "\n";
+
diff --git a/foonabc/level b/foonabc/level
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/foonabc/level
@@ -0,0 +1 @@
+0
diff --git a/froa/DEADJOE b/froa/DEADJOE
new file mode 100644
index 0000000..e69de29
diff --git a/froa/command.cfg b/froa/command.cfg
new file mode 100644
index 0000000..711930a
--- /dev/null
+++ b/froa/command.cfg
@@ -0,0 +1 @@
+level = 0
diff --git a/froa/froa.pl b/froa/froa.pl
new file mode 100755
index 0000000..c7fbdd0
--- /dev/null
+++ b/froa/froa.pl
@@ -0,0 +1,51 @@
+#!/usr/bin/perl -w
+use strict;
+
+my $number = 0;
+
+if ( ( defined( $ARGV[0] ) ) && ( $ARGV[0] =~ /(\d+)/ ) ) {
+
+    #het is een nummertje
+    $number = $1;
+}
+
+#Inlezen file
+
+open( RULES, "< /home/multilink/multigate/commands/froa/froa.txt" );
+
+my @rules;
+my @numrules;
+
+while ( my $line =  ) {
+    chomp $line;
+    push @rules, $line;
+
+    my ( $nummer, $rule ) = split ( /\t/, $line );
+    if ( $nummer =~ /(\d+)/ ) {
+        $numrules[$nummer] = $rule;
+    }
+}
+
+close RULES;
+
+my ( $nummer, $rule ) = split ( /\t/, $rules[ int( rand(@rules) ) ] );
+
+if ( $number > 0 ) {
+    if ( defined $numrules[$number] ) {
+
+        #arg is gegeven en rule nummer $arg bestaat
+        print "Ferengi rule of acquisition #$number\n$numrules[$number]";
+        exit 0;
+    } else {
+        print "That rule does not exist. According to rule number 266 it has to be\n";
+    }
+} else {
+    if ( $nummer =~ /(\d+)/ ) {
+        print "Ferengi rule of acquisition #$1\n";
+    } else {
+        print "A good ferengi should always remember this rule:\n";
+    }
+}
+
+#pak random rule en print.
+print $rule;
diff --git a/froa/froa.txt b/froa/froa.txt
new file mode 100644
index 0000000..7c75f55
--- /dev/null
+++ b/froa/froa.txt
@@ -0,0 +1,126 @@
+1.	Once you have their money, you never give it back.
+2.	The best deal is the one that brings the most profit.
+3.	I found it; it's mine.
+6.	Never allow family to stand in the way of opportunity.
+7.	Keep your ears open.
+8.	Small print leads to large risk. / Only a fool passes up a business opportunity.
+9.	Opportunity plus instinct equals profit.
+10.	Greed is eternal.
+13.	Anything worth doing is worth doing for money.
+14.	[not given]
+16.	A deal is a deal... until a better one comes along.
+17.	A contract is a contract is a contract--but only between Ferengi.
+18.	A Ferengi without profit is no Ferengi at all.
+19.	Satisfaction is not guaranteed.
+21.	Never place friendship before profit.
+22.	A wise man can hear profit in the wind.
+23.	Money can never replace dignity.
+27.	There's nothing more dangerous than an honest businessman.
+29.	What's in it for me?
+31.	Never make fun of a Ferengi's mother. (Insult something he cares about, instead.)
+33.	It never hurts to suck up to the boss.
+34.	War is good for business.
+35.	Peace is good for business.
+37.	If it's free, take it and worry about hidden costs later.
+40.	She can touch your lobes, but never your latinum.
+41.	Profit is its own reward.
+44.	Never confuse wisdom with luck.
+47.	Never trust anyone whose suit is nicer than your own.
+48.	The bigger the smile, the sharper the knife.
+51.	Reward anyone who adds to your profits so they will continue to do so.
+52.	Never ask when you can take.
+57.	Good customers are as rare as latinum--treasure them.
+58.	There is no substitute for success.
+59.	Free advice is seldom cheap.
+60.	Keep your lies consistent.
+60.	Let's you and him fight.
+62.	The riskier the road, the greater the profit.
+65.	Win or lose, there's always Huyperian beetle snuff.
+69.	Ferengi are not responsible for the stupidity of other races.
+74.	Knowledge equals profit.
+75.	Home is where the heart is, but the stars are made of latinum.
+76.	Every once in a while declare peace...it confuses the hell out of your enemies.
+79.	Beware of the Vulcan greed for knowledge.
+82.	The flimsier the product, the higher the price.
+85.	Never let the competition know what you're thinking.
+87.	Learn the customer's weaknesses so you can better take advantage of him.
+89.	Ask not what your profits can do for you, but what you can do for your profits.
+92.	There are many paths to profit.
+94.	Females and finances don't mix.
+95.	Expand or die.
+96.	For every Rule, there is an equal and opposite Rule (except when there's not).
+97.	Enough... is never enough. / If you can't take it with you, don't go.
+98.	Every man has his price.
+99.	Trust is the biggest liability of all.
+102.	Nature decays, but latinum is forever.
+103.	Sleep can interfere with... [cut off]
+103.	Fill a desparate need with your most expensive product, then mark it up 500%.
+104.	Faith moves mountains... of inventory.
+106.	There is no honor in poverty.
+109.	Dignity and an empty sack is worth the sack.
+111.	Treat people in your debt like family--exploit them [ruthlessly].
+112.	Never have sex with the boss's sister.
+113.	Always have sex with the boss.
+121.	Everything is for sale, even friendship.
+123.	Even a blind man can recognize the glow of latinum.
+125.	You can't make a deal if you're dead.
+139.	Wives serve; brothers inherit.
+141.	Only fools pay retail.
+144.	There's nothing wrong with charity... as long as it winds up in your pocket.
+153.	Sell the sizzle, not the steak.
+162.	Even in the worst of times, someone turns a profit.
+168.	Whisper your way to success.
+177.	Know your enemies... but do business with them always.
+181.	Not even dishonesty can tarnish the shine of profit.
+184.	[not given]
+189.	Let others keep their reputation. You keep their money.
+190.	Hear all; trust nothing.
+191.	A Ferengi waits to bid until his opponents have exhausted themselves.
+192.	Never cheat a Klingon... unless you're sure you can get away with it.
+194.	It's always good business to know about new customers before they walk in your door.
+202.	The justification of profit is profit.
+203.	New customers are like razor-backed Greeworms--they can be succulent, but sometimes they bite back!
+208.	Sometimes the only thing more dangerous than the question is an answer.
+211.	Employees are the rungs on the ladder of success--don't hesitate to step on them.
+214.	Never begin a business negotiation on an empty stomach.
+216.	Never gamble with an empath.
+217.	You can't free a fish from water.
+218.	Always know what you're buying.
+218.	Always know the competition.
+218.	Sometimes what you get free costs entirely too much.
+219.	Possession is 11/10 of the law.
+223.	Beware the man who doesn't make time for oo-mox.
+229.	Latinum lasts longer than lust.
+236.	You can't buy fate.
+239.	Never be afraid to mislabel a product.
+242.	More is good... all is better.
+243.	[not given]
+253.	Synthehol is the lubricant of choice for a customer's stuck purse.
+255.	A wife is a luxury... a smart accountant, a necessity.
+261.	A wealthy man can afford anything except a conscience.
+263.	Never allow doubt to tarnish your lust for latinum.
+266.	When in doubt, lie.
+284.	Deep down, everyone's a Ferengi.
+285.	No good deed ever goes unpunished.
+285.	A good deed is its own reward.
+286.	When Morn leaves, it's all over.
+299.	Whenever you exploit someone, it never hurts to thanks them. (That way, it's easier to exploit them the next time.)
+?.	The more time they take deciding, the more money they will spend.
+?.	The greater (the) amount you are taking from someone, the greater the distraction must be.
+?.	A bargain usually isn't.
+?.	One person's secret is another person's opportunity.
+?.	The hand that holds the latinum may also hide a dagger.
+?.	You can tell a great deal about a man from his shoes.
+?.	Time's an asset.
+?.	Your goods are now my goods.
+?.	Exploitation begins at home.
+?.	When you see a good deal, jump on it.
+?.	A Ferengi without a head for business has no future.
+?.	Business is business, even among friends.
+?.	Everything has a price.
+?.	Ears open, eyes wide.
+?.	Never believe anyone taller than you.
+?.	There's a Rule of Acquisition to cover everything, but that doesn't mean one's always got to be applied.
+?.	It's better to live on one's feet than to die on one's knees.
+?.	A good negotiation should be savored, like a good wine.
+**.	When no appropriate Rule applies, make one up. (The unwritten rule)
diff --git a/froa/level b/froa/level
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/froa/level
@@ -0,0 +1 @@
+0
diff --git a/frop/command.cfg b/frop/command.cfg
new file mode 100644
index 0000000..7f7ca0e
--- /dev/null
+++ b/frop/command.cfg
@@ -0,0 +1,3 @@
+level = 100
+box = frop
+units = 1
diff --git a/frop/frop.pl b/frop/frop.pl
new file mode 100755
index 0000000..400dfb9
--- /dev/null
+++ b/frop/frop.pl
@@ -0,0 +1,4 @@
+#!/usr/bin/perl
+
+print("frop!");
+
diff --git a/frop/level b/frop/level
new file mode 100644
index 0000000..83b33d2
--- /dev/null
+++ b/frop/level
@@ -0,0 +1 @@
+1000
diff --git a/getip/command.cfg b/getip/command.cfg
new file mode 100644
index 0000000..5d439f1
--- /dev/null
+++ b/getip/command.cfg
@@ -0,0 +1 @@
+level = 100
diff --git a/getip/getip.pl b/getip/getip.pl
new file mode 100755
index 0000000..3efca20
--- /dev/null
+++ b/getip/getip.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl -w
+use strict;
+use Socket;
+
+my $invoer = $ARGV[0];
+
+unless ( $invoer =~ /[a-f0-9]{8}/i ) {
+    print "Foute invoer\n";
+    exit 0;
+}
+
+my @bytes = ( $invoer =~ /(..)/g );
+
+my $address = join '.', map { hex($_) } @bytes;
+my $name = gethostbyaddr( inet_aton($address), AF_INET );
+
+unless ( defined $name ) {
+    $name = "Not resolved";
+}
+
+print "$address ($name)\n";
diff --git a/getip/help.txt b/getip/help.txt
new file mode 100644
index 0000000..d918264
--- /dev/null
+++ b/getip/help.txt
@@ -0,0 +1 @@
+getip : geeft echte ip
diff --git a/group/command.cfg b/group/command.cfg
new file mode 100644
index 0000000..27dccc3
--- /dev/null
+++ b/group/command.cfg
@@ -0,0 +1,2 @@
+level = 50
+cache = 0
diff --git a/group/frop b/group/frop
new file mode 100644
index 0000000..d1ca01f
--- /dev/null
+++ b/group/frop
@@ -0,0 +1,14542 @@
+execve("./group", ["./group", "list frop"], [/* 15 vars */]) = 0
+uname({sys="Linux", node="ringbreak", ...}) = 0
+brk(0)                                  = 0x80ee824
+open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
+open("./i686/mmx/libnsl.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("./i686/libnsl.so.1", O_RDONLY)    = -1 ENOENT (No such file or directory)
+open("./mmx/libnsl.so.1", O_RDONLY)     = -1 ENOENT (No such file or directory)
+open("./libnsl.so.1", O_RDONLY)         = -1 ENOENT (No such file or directory)
+open("/etc/ld.so.cache", O_RDONLY)      = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=14323, ...}) = 0
+old_mmap(NULL, 14323, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000
+close(3)                                = 0
+open("/lib/libnsl.so.1", O_RDONLY)      = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 ;\0\000"..., 1024) = 1024
+fstat64(3, {st_mode=S_IFREG|0644, st_size=69472, ...}) = 0
+old_mmap(NULL, 80988, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40018000
+mprotect(0x40029000, 11356, PROT_NONE)  = 0
+old_mmap(0x40029000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x10000) = 0x40029000
+old_mmap(0x4002a000, 7260, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4002a000
+close(3)                                = 0
+open("./i686/mmx/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("./i686/libdl.so.2", O_RDONLY)     = -1 ENOENT (No such file or directory)
+open("./mmx/libdl.so.2", O_RDONLY)      = -1 ENOENT (No such file or directory)
+open("./libdl.so.2", O_RDONLY)          = -1 ENOENT (No such file or directory)
+open("/lib/libdl.so.2", O_RDONLY)       = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0T\27\0\000"..., 1024) = 1024
+fstat64(3, {st_mode=S_IFREG|0644, st_size=8008, ...}) = 0
+old_mmap(NULL, 11004, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4002c000
+mprotect(0x4002e000, 2812, PROT_NONE)   = 0
+old_mmap(0x4002e000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1000) = 0x4002e000
+close(3)                                = 0
+open("./i686/mmx/libm.so.6", O_RDONLY)  = -1 ENOENT (No such file or directory)
+open("./i686/libm.so.6", O_RDONLY)      = -1 ENOENT (No such file or directory)
+open("./mmx/libm.so.6", O_RDONLY)       = -1 ENOENT (No such file or directory)
+open("./libm.so.6", O_RDONLY)           = -1 ENOENT (No such file or directory)
+open("/lib/libm.so.6", O_RDONLY)        = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\2007\0"..., 1024) = 1024
+fstat64(3, {st_mode=S_IFREG|0644, st_size=130088, ...}) = 0
+old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4002f000
+old_mmap(NULL, 132708, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40030000
+mprotect(0x40050000, 1636, PROT_NONE)   = 0
+old_mmap(0x40050000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1f000) = 0x40050000
+close(3)                                = 0
+open("./i686/mmx/libc.so.6", O_RDONLY)  = -1 ENOENT (No such file or directory)
+open("./i686/libc.so.6", O_RDONLY)      = -1 ENOENT (No such file or directory)
+open("./mmx/libc.so.6", O_RDONLY)       = -1 ENOENT (No such file or directory)
+open("./libc.so.6", O_RDONLY)           = -1 ENOENT (No such file or directory)
+open("/lib/libc.so.6", O_RDONLY)        = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\30\222"..., 1024) = 1024
+fstat64(3, {st_mode=S_IFREG|0755, st_size=1153784, ...}) = 0
+old_mmap(NULL, 1166560, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40051000
+mprotect(0x40164000, 40160, PROT_NONE)  = 0
+old_mmap(0x40164000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x113000) = 0x40164000
+old_mmap(0x4016a000, 15584, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4016a000
+close(3)                                = 0
+open("./i686/mmx/libcrypt.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("./i686/libcrypt.so.1", O_RDONLY)  = -1 ENOENT (No such file or directory)
+open("./mmx/libcrypt.so.1", O_RDONLY)   = -1 ENOENT (No such file or directory)
+open("./libcrypt.so.1", O_RDONLY)       = -1 ENOENT (No such file or directory)
+open("/lib/libcrypt.so.1", O_RDONLY)    = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\t\0"..., 1024) = 1024
+fstat64(3, {st_mode=S_IFREG|0644, st_size=19136, ...}) = 0
+old_mmap(NULL, 182044, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4016e000
+mprotect(0x40173000, 161564, PROT_NONE) = 0
+old_mmap(0x40173000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x4000) = 0x40173000
+old_mmap(0x40174000, 157468, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40174000
+close(3)                                = 0
+munmap(0x40014000, 14323)               = 0
+getcwd("/home/multilink/multidev/commands/group", 1024) = 40
+brk(0)                                  = 0x80ee824
+brk(0x80ee87c)                          = 0x80ee87c
+brk(0x80ef000)                          = 0x80ef000
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 3
+brk(0x80fc000)                          = 0x80fc000
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\2\0\3\0\1\0\0\0\234\222"..., 51200) = 51200
+lseek(3, -1000, SEEK_CUR)               = 50200
+read(3, "ehostent\0Perl_pp_av2arylen\0Perl_"..., 51200) = 51200
+lseek(3, -1000, SEEK_CUR)               = 100400
+read(3, "x0\ft-\241x\275\16\10\213@0\213\0\213\0\366\0@u\34\241"..., 51200) = 51200
+lseek(3, -1000, SEEK_CUR)               = 150600
+read(3, "\213\0\213\0\366@\n\1t\16\213\0\203x\f\0\177\27\351\231"..., 51200) = 51200
+lseek(3, -1000, SEEK_CUR)               = 200800
+read(3, "\0\215v\0\306\7\10\353.\215v\0\306\7\n\353&\215v\0\306"..., 51200) = 51200
+lseek(3, -1000, SEEK_CUR)               = 251000
+read(3, "\374T\10\10\234_\10\10\234_\10\10PW\10\10HX\10\10\234_"..., 51200) = 51200
+lseek(3, -1000, SEEK_CUR)               = 301200
+read(3, "\0\0\350%L\0\0P\377s\374\377s\354\350\235\36\0\0\203\304"..., 51200) = 51200
+lseek(3, -1000, SEEK_CUR)               = 351400
+read(3, "\366@\n\200t\7\201K\10\0\0\200\0\213M\334\213\1\213@\10"..., 51200) = 51200
+lseek(3, -1000, SEEK_CUR)               = 401600
+read(3, "hq\376\r\10\241\370\340\16\10\272\250\305\16\10\205\300"..., 51200) = 51200
+lseek(3, -1000, SEEK_CUR)               = 451800
+read(3, "@$\353\5\270\300\6\16\10Ph\314\6\16\10j\v\350fR\377\377"..., 51200) = 51200
+lseek(3, -1000, SEEK_CUR)               = 502000
+read(3, "\16\10\213\rd\342\16\10\241T\347\16\10\211\4\221\377\5"..., 51200) = 51200
+lseek(3, -1000, SEEK_CUR)               = 552200
+read(3, "\264\213?\v;\211:\203\303\4\203E\264\4\203\302\4\213M\264"..., 51200) = 51200
+lseek(3, -1000, SEEK_CUR)               = 602400
+read(3, "ipt: %s NOT FOUND\n\0P2X: OpenScri"..., 51200) = 51200
+lseek(3, -1000, SEEK_CUR)               = 652600
+read(3, "\377\377\f\1\20\1\21\1\22\1\23\1\377\377\22\1\377\377\27"..., 51200) = 51200
+lseek(3, 671442, SEEK_SET)              = 671442
+lseek(3, 0, SEEK_CUR)                   = 671442
+read(3, "\r\n\351\273\206\235\232\316\220\235\206\317\210\235\205"..., 256) = 256
+lseek(3, 671444, SEEK_SET)              = 671444
+lseek(3, 0, SEEK_CUR)                   = 671444
+read(3, "\351\273\206\235\232\316\220\235\206\317\210\235\205\213"..., 256) = 256
+lseek(3, 671642, SEEK_SET)              = 671642
+lseek(3, 0, SEEK_CUR)                   = 671642
+read(3, "group.pl\r\ngroup.pl\r\n-2238\r\neN]U\36"..., 256) = 256
+lseek(3, 671652, SEEK_SET)              = 671652
+lseek(3, 0, SEEK_CUR)                   = 671652
+stat64("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=16384, ...}) = 0
+getcwd("/home/multilink/multidev/commands/group", 1024) = 40
+stat64("/home/multilink/perl2exe/lib", 0xbffff098) = -1 ENOENT (No such file or directory)
+stat64("lib/site", 0xbffff0ac)          = -1 ENOENT (No such file or directory)
+stat64("lib", 0xbffff0ac)               = -1 ENOENT (No such file or directory)
+stat64("../lib", 0xbffff0ac)            = -1 ENOENT (No such file or directory)
+lseek(3, 0, SEEK_CUR)                   = 671652
+read(3, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(3, 671662, SEEK_SET)              = 671662
+lseek(3, 0, SEEK_CUR)                   = 671662
+read(3, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(3, 671669, SEEK_SET)              = 671669
+lseek(3, 2238, SEEK_CUR)                = 673907
+lseek(3, 0, SEEK_CUR)                   = 673907
+read(3, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(3, 673915, SEEK_SET)              = 673915
+lseek(3, 0, SEEK_CUR)                   = 673915
+read(3, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(3, 673922, SEEK_SET)              = 673922
+lseek(3, 1424, SEEK_CUR)                = 675346
+lseek(3, 0, SEEK_CUR)                   = 675346
+read(3, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(3, 675366, SEEK_SET)              = 675366
+lseek(3, 0, SEEK_CUR)                   = 675366
+read(3, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(3, 675373, SEEK_SET)              = 675373
+lseek(3, 9237, SEEK_CUR)                = 684610
+lseek(3, 0, SEEK_CUR)                   = 684610
+read(3, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(3, 684618, SEEK_SET)              = 684618
+lseek(3, 0, SEEK_CUR)                   = 684618
+read(3, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(3, 684626, SEEK_SET)              = 684626
+lseek(3, 40318, SEEK_CUR)               = 724944
+lseek(3, 0, SEEK_CUR)                   = 724944
+read(3, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(3, 724952, SEEK_SET)              = 724952
+lseek(3, 0, SEEK_CUR)                   = 724952
+read(3, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 724959, SEEK_SET)              = 724959
+brk(0x810d000)                          = 0x810d000
+lseek(3, 0, SEEK_CUR)                   = 724959
+open("/tmp/DBI.so", O_RDWR|O_CREAT|O_TRUNC, 0777) = 4
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`%\0\000"..., 65908) = 65908
+write(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`%\0\000"..., 65908) = 65908
+close(4)                                = 0
+lseek(3, 0, SEEK_CUR)                   = 790867
+read(3, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(3, 790881, SEEK_SET)              = 790881
+lseek(3, 0, SEEK_CUR)                   = 790881
+read(3, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(3, 790888, SEEK_SET)              = 790888
+lseek(3, 6878, SEEK_CUR)                = 797766
+lseek(3, 0, SEEK_CUR)                   = 797766
+read(3, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(3, 797776, SEEK_SET)              = 797776
+lseek(3, 0, SEEK_CUR)                   = 797776
+read(3, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 797783, SEEK_SET)              = 797783
+lseek(3, 0, SEEK_CUR)                   = 797783
+open("/tmp/mysql.so", O_RDWR|O_CREAT|O_TRUNC, 0777) = 4
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240,\0"..., 61376) = 61376
+write(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240,\0"..., 61376) = 61376
+close(4)                                = 0
+lseek(3, 0, SEEK_CUR)                   = 859159
+read(3, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(3, 859170, SEEK_SET)              = 859170
+lseek(3, 0, SEEK_CUR)                   = 859170
+read(3, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(3, 859178, SEEK_SET)              = 859178
+lseek(3, 31353, SEEK_CUR)               = 890531
+lseek(3, 0, SEEK_CUR)                   = 890531
+read(3, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(3, 890540, SEEK_SET)              = 890540
+lseek(3, 0, SEEK_CUR)                   = 890540
+read(3, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(3, 890547, SEEK_SET)              = 890547
+lseek(3, 1127, SEEK_CUR)                = 891674
+lseek(3, 0, SEEK_CUR)                   = 891674
+read(3, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(3, 891685, SEEK_SET)              = 891685
+lseek(3, 0, SEEK_CUR)                   = 891685
+read(3, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(3, 891691, SEEK_SET)              = 891691
+lseek(3, 467, SEEK_CUR)                 = 892158
+lseek(3, 0, SEEK_CUR)                   = 892158
+read(3, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(3, 892167, SEEK_SET)              = 892167
+lseek(3, 0, SEEK_CUR)                   = 892167
+read(3, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(3, 892174, SEEK_SET)              = 892174
+lseek(3, 1276, SEEK_CUR)                = 893450
+lseek(3, 0, SEEK_CUR)                   = 893450
+read(3, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(3, 893463, SEEK_SET)              = 893463
+lseek(3, 0, SEEK_CUR)                   = 893463
+read(3, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(3, 893470, SEEK_SET)              = 893470
+lseek(3, 1953, SEEK_CUR)                = 895423
+lseek(3, 0, SEEK_CUR)                   = 895423
+read(3, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(3, 895438, SEEK_SET)              = 895438
+lseek(3, 0, SEEK_CUR)                   = 895438
+read(3, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(3, 895445, SEEK_SET)              = 895445
+lseek(3, 1794, SEEK_CUR)                = 897239
+lseek(3, 0, SEEK_CUR)                   = 897239
+read(3, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(3, 897260, SEEK_SET)              = 897260
+lseek(3, 0, SEEK_CUR)                   = 897260
+read(3, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(3, 897267, SEEK_SET)              = 897267
+lseek(3, 3542, SEEK_CUR)                = 900809
+lseek(3, 0, SEEK_CUR)                   = 900809
+read(3, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(3, 900824, SEEK_SET)              = 900824
+lseek(3, 0, SEEK_CUR)                   = 900824
+read(3, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(3, 900831, SEEK_SET)              = 900831
+lseek(3, 8564, SEEK_CUR)                = 909395
+lseek(3, 0, SEEK_CUR)                   = 909395
+read(3, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(3, 909427, SEEK_SET)              = 909427
+lseek(3, 0, SEEK_CUR)                   = 909427
+read(3, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(3, 964051, SEEK_SET)              = 964051
+lseek(3, 352, SEEK_CUR)                 = 964403
+lseek(3, 0, SEEK_CUR)                   = 964403
+read(3, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(3, 964419, SEEK_SET)              = 964419
+lseek(3, 0, SEEK_CUR)                   = 964419
+read(3, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(3, 964425, SEEK_SET)              = 964425
+lseek(3, 638, SEEK_CUR)                 = 965063
+lseek(3, 0, SEEK_CUR)                   = 965063
+read(3, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(3, 965077, SEEK_SET)              = 965077
+lseek(3, 0, SEEK_CUR)                   = 965077
+read(3, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(3, 965084, SEEK_SET)              = 965084
+lseek(3, 2839, SEEK_CUR)                = 967923
+lseek(3, 0, SEEK_CUR)                   = 967923
+read(3, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(3, 967942, SEEK_SET)              = 967942
+lseek(3, 0, SEEK_CUR)                   = 967942
+read(3, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(3, 967949, SEEK_SET)              = 967949
+lseek(3, 4356, SEEK_CUR)                = 972305
+lseek(3, 0, SEEK_CUR)                   = 972305
+read(3, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(3, 972318, SEEK_SET)              = 972318
+lseek(3, 0, SEEK_CUR)                   = 972318
+read(3, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(3, 972325, SEEK_SET)              = 972325
+lseek(3, 1865, SEEK_CUR)                = 974190
+lseek(3, 0, SEEK_CUR)                   = 974190
+read(3, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(3, 974204, SEEK_SET)              = 974204
+lseek(3, 0, SEEK_CUR)                   = 974204
+read(3, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(3, 974211, SEEK_SET)              = 974211
+lseek(3, 6757, SEEK_CUR)                = 980968
+lseek(3, 0, SEEK_CUR)                   = 980968
+read(3, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(3, 980975, SEEK_SET)              = 980975
+lseek(3, 0, SEEK_CUR)                   = 980975
+read(3, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(3, 980981, SEEK_SET)              = 980981
+lseek(3, 307, SEEK_CUR)                 = 981288
+lseek(3, 0, SEEK_CUR)                   = 981288
+read(3, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(3, 981295, SEEK_SET)              = 981295
+lseek(3, 0, SEEK_CUR)                   = 981295
+read(3, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 981302, SEEK_SET)              = 981302
+lseek(3, 0, SEEK_CUR)                   = 981302
+open("/tmp/IO.so", O_RDWR|O_CREAT|O_TRUNC, 0777) = 4
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0,\20\0\000"..., 15208) = 15208
+write(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0,\20\0\000"..., 15208) = 15208
+close(4)                                = 0
+lseek(3, 0, SEEK_CUR)                   = 996510
+read(3, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(3, 996518, SEEK_SET)              = 996518
+lseek(3, 0, SEEK_CUR)                   = 996518
+read(3, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(3, 996525, SEEK_SET)              = 996525
+lseek(3, 7669, SEEK_CUR)                = 1004194
+lseek(3, 0, SEEK_CUR)                   = 1004194
+read(3, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(3, 1004203, SEEK_SET)             = 1004203
+lseek(3, 0, SEEK_CUR)                   = 1004203
+read(3, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(3, 1004210, SEEK_SET)             = 1004210
+lseek(3, 1002, SEEK_CUR)                = 1005212
+lseek(3, 0, SEEK_CUR)                   = 1005212
+read(3, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(3, 1005223, SEEK_SET)             = 1005223
+lseek(3, 0, SEEK_CUR)                   = 1005223
+read(3, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(3, 1005230, SEEK_SET)             = 1005230
+lseek(3, 3383, SEEK_CUR)                = 1008613
+lseek(3, 0, SEEK_CUR)                   = 1008613
+read(3, "", 256)                        = 0
+lseek(3, 1008613, SEEK_SET)             = 1008613
+close(3)                                = 0
+getuid32()                              = 1004
+geteuid32()                             = 1004
+getgid32()                              = 1004
+getegid32()                             = 1004
+time([1044027227])                      = 1044027227
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("PERL2EXE_STORAGE/5.6.1/i686-linux", 0xbffffb28) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/5.6.1", 0xbffffb28) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/i686-linux", 0xbffffb28) = -1 ENOENT (No such file or directory)
+stat64("/tmp/5.6.1/i686-linux", 0xbffffb28) = -1 ENOENT (No such file or directory)
+stat64("/tmp/5.6.1", 0xbffffb28)        = -1 ENOENT (No such file or directory)
+stat64("/tmp/i686-linux", 0xbffffb28)   = -1 ENOENT (No such file or directory)
+stat64("/home/multilink/multidev/commands/group/5.6.1/i686-linux", 0xbffffb28) = -1 ENOENT (No such file or directory)
+stat64("/home/multilink/multidev/commands/group/5.6.1", 0xbffffb28) = -1 ENOENT (No such file or directory)
+stat64("/home/multilink/multidev/commands/group/i686-linux", 0xbffffb28) = -1 ENOENT (No such file or directory)
+stat64("lib\\site/5.6.1/i686-linux", 0xbffffb28) = -1 ENOENT (No such file or directory)
+stat64("lib\\site/5.6.1", 0xbffffb28)   = -1 ENOENT (No such file or directory)
+stat64("lib\\site/i686-linux", 0xbffffb28) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 3
+lseek(3, 671652, SEEK_SET)              = 671652
+lseek(3, 0, SEEK_CUR)                   = 671652
+read(3, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(3, 671662, SEEK_SET)              = 671662
+lseek(3, 0, SEEK_CUR)                   = 671662
+read(3, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(3, 671669, SEEK_SET)              = 671669
+lseek(3, 0, SEEK_CUR)                   = 671669
+read(3, "eN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5\35BWPY\0F"..., 2238) = 2238
+close(3)                                = 0
+rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
+getpid()                                = 9177
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("PERL2EXE_STORAGE/lib.pmc", 0xbffff794) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 3
+lseek(3, 671652, SEEK_SET)              = 671652
+lseek(3, 0, SEEK_CUR)                   = 671652
+read(3, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(3, 671662, SEEK_SET)              = 671662
+lseek(3, 0, SEEK_CUR)                   = 671662
+read(3, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(3, 671669, SEEK_SET)              = 671669
+lseek(3, 2238, SEEK_CUR)                = 673907
+lseek(3, 0, SEEK_CUR)                   = 673907
+read(3, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(3, 673915, SEEK_SET)              = 673915
+lseek(3, 0, SEEK_CUR)                   = 673915
+read(3, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(3, 673922, SEEK_SET)              = 673922
+lseek(3, 0, SEEK_CUR)                   = 673922
+read(3, "6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_@\33}\2\4"..., 1424) = 1424
+close(3)                                = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("PERL2EXE_STORAGE/Config.pmc", 0xbffff424) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 3
+lseek(3, 671652, SEEK_SET)              = 671652
+lseek(3, 0, SEEK_CUR)                   = 671652
+read(3, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(3, 671662, SEEK_SET)              = 671662
+lseek(3, 0, SEEK_CUR)                   = 671662
+read(3, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(3, 671669, SEEK_SET)              = 671669
+lseek(3, 2238, SEEK_CUR)                = 673907
+lseek(3, 0, SEEK_CUR)                   = 673907
+read(3, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(3, 673915, SEEK_SET)              = 673915
+lseek(3, 0, SEEK_CUR)                   = 673915
+read(3, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(3, 673922, SEEK_SET)              = 673922
+lseek(3, 1424, SEEK_CUR)                = 675346
+lseek(3, 0, SEEK_CUR)                   = 675346
+read(3, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(3, 675366, SEEK_SET)              = 675366
+lseek(3, 0, SEEK_CUR)                   = 675366
+read(3, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(3, 675373, SEEK_SET)              = 675373
+lseek(3, 9237, SEEK_CUR)                = 684610
+lseek(3, 0, SEEK_CUR)                   = 684610
+read(3, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(3, 684618, SEEK_SET)              = 684618
+lseek(3, 0, SEEK_CUR)                   = 684618
+read(3, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(3, 684626, SEEK_SET)              = 684626
+lseek(3, 40318, SEEK_CUR)               = 724944
+lseek(3, 0, SEEK_CUR)                   = 724944
+read(3, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(3, 724952, SEEK_SET)              = 724952
+lseek(3, 0, SEEK_CUR)                   = 724952
+read(3, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 724959, SEEK_SET)              = 724959
+lseek(3, 65908, SEEK_CUR)               = 790867
+lseek(3, 0, SEEK_CUR)                   = 790867
+read(3, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(3, 790881, SEEK_SET)              = 790881
+lseek(3, 0, SEEK_CUR)                   = 790881
+read(3, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(3, 790888, SEEK_SET)              = 790888
+lseek(3, 6878, SEEK_CUR)                = 797766
+lseek(3, 0, SEEK_CUR)                   = 797766
+read(3, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(3, 797776, SEEK_SET)              = 797776
+lseek(3, 0, SEEK_CUR)                   = 797776
+read(3, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 797783, SEEK_SET)              = 797783
+lseek(3, 61376, SEEK_CUR)               = 859159
+lseek(3, 0, SEEK_CUR)                   = 859159
+read(3, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(3, 859170, SEEK_SET)              = 859170
+lseek(3, 0, SEEK_CUR)                   = 859170
+read(3, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(3, 859178, SEEK_SET)              = 859178
+lseek(3, 0, SEEK_CUR)                   = 859178
+read(3, "6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31\34\33\0"..., 31353) = 31353
+close(3)                                = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("PERL2EXE_STORAGE/Exporter.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 3
+lseek(3, 671652, SEEK_SET)              = 671652
+lseek(3, 0, SEEK_CUR)                   = 671652
+read(3, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(3, 671662, SEEK_SET)              = 671662
+lseek(3, 0, SEEK_CUR)                   = 671662
+read(3, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(3, 671669, SEEK_SET)              = 671669
+lseek(3, 2238, SEEK_CUR)                = 673907
+lseek(3, 0, SEEK_CUR)                   = 673907
+read(3, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(3, 673915, SEEK_SET)              = 673915
+lseek(3, 0, SEEK_CUR)                   = 673915
+read(3, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(3, 673922, SEEK_SET)              = 673922
+lseek(3, 1424, SEEK_CUR)                = 675346
+lseek(3, 0, SEEK_CUR)                   = 675346
+read(3, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(3, 675366, SEEK_SET)              = 675366
+lseek(3, 0, SEEK_CUR)                   = 675366
+read(3, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(3, 675373, SEEK_SET)              = 675373
+lseek(3, 9237, SEEK_CUR)                = 684610
+lseek(3, 0, SEEK_CUR)                   = 684610
+read(3, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(3, 684618, SEEK_SET)              = 684618
+lseek(3, 0, SEEK_CUR)                   = 684618
+read(3, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(3, 684626, SEEK_SET)              = 684626
+lseek(3, 40318, SEEK_CUR)               = 724944
+lseek(3, 0, SEEK_CUR)                   = 724944
+read(3, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(3, 724952, SEEK_SET)              = 724952
+lseek(3, 0, SEEK_CUR)                   = 724952
+read(3, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 724959, SEEK_SET)              = 724959
+lseek(3, 65908, SEEK_CUR)               = 790867
+lseek(3, 0, SEEK_CUR)                   = 790867
+read(3, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(3, 790881, SEEK_SET)              = 790881
+lseek(3, 0, SEEK_CUR)                   = 790881
+read(3, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(3, 790888, SEEK_SET)              = 790888
+lseek(3, 6878, SEEK_CUR)                = 797766
+lseek(3, 0, SEEK_CUR)                   = 797766
+read(3, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(3, 797776, SEEK_SET)              = 797776
+lseek(3, 0, SEEK_CUR)                   = 797776
+read(3, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 797783, SEEK_SET)              = 797783
+lseek(3, 61376, SEEK_CUR)               = 859159
+lseek(3, 0, SEEK_CUR)                   = 859159
+read(3, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(3, 859170, SEEK_SET)              = 859170
+lseek(3, 0, SEEK_CUR)                   = 859170
+read(3, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(3, 859178, SEEK_SET)              = 859178
+lseek(3, 31353, SEEK_CUR)               = 890531
+lseek(3, 0, SEEK_CUR)                   = 890531
+read(3, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(3, 890540, SEEK_SET)              = 890540
+lseek(3, 0, SEEK_CUR)                   = 890540
+read(3, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(3, 890547, SEEK_SET)              = 890547
+lseek(3, 1127, SEEK_CUR)                = 891674
+lseek(3, 0, SEEK_CUR)                   = 891674
+read(3, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(3, 891685, SEEK_SET)              = 891685
+lseek(3, 0, SEEK_CUR)                   = 891685
+read(3, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(3, 891691, SEEK_SET)              = 891691
+lseek(3, 467, SEEK_CUR)                 = 892158
+lseek(3, 0, SEEK_CUR)                   = 892158
+read(3, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(3, 892167, SEEK_SET)              = 892167
+lseek(3, 0, SEEK_CUR)                   = 892167
+read(3, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(3, 892174, SEEK_SET)              = 892174
+lseek(3, 1276, SEEK_CUR)                = 893450
+lseek(3, 0, SEEK_CUR)                   = 893450
+read(3, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(3, 893463, SEEK_SET)              = 893463
+lseek(3, 0, SEEK_CUR)                   = 893463
+read(3, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(3, 893470, SEEK_SET)              = 893470
+lseek(3, 0, SEEK_CUR)                   = 893470
+read(3, "6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7\34\32\33"..., 1953) = 1953
+close(3)                                = 0
+brk(0x810e000)                          = 0x810e000
+brk(0x810f000)                          = 0x810f000
+brk(0x8110000)                          = 0x8110000
+brk(0x8112000)                          = 0x8112000
+brk(0x8115000)                          = 0x8115000
+brk(0x811a000)                          = 0x811a000
+brk(0x811b000)                          = 0x811b000
+brk(0x811c000)                          = 0x811c000
+brk(0x811d000)                          = 0x811d000
+brk(0x811e000)                          = 0x811e000
+brk(0x811f000)                          = 0x811f000
+brk(0x8120000)                          = 0x8120000
+brk(0x8121000)                          = 0x8121000
+brk(0x8122000)                          = 0x8122000
+stat64("../../lib/", {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0
+stat64("../../lib//i686-linux/auto", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("../../lib//5.6.1", 0xbffff8c0)  = -1 ENOENT (No such file or directory)
+stat64("../../lib//5.6.1/i686-linux", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("../../lib//Multigate/Users.pmc", 0xbffff794) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 3
+lseek(3, 671652, SEEK_SET)              = 671652
+lseek(3, 0, SEEK_CUR)                   = 671652
+read(3, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(3, 671662, SEEK_SET)              = 671662
+lseek(3, 0, SEEK_CUR)                   = 671662
+read(3, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(3, 671669, SEEK_SET)              = 671669
+lseek(3, 2238, SEEK_CUR)                = 673907
+lseek(3, 0, SEEK_CUR)                   = 673907
+read(3, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(3, 673915, SEEK_SET)              = 673915
+lseek(3, 0, SEEK_CUR)                   = 673915
+read(3, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(3, 673922, SEEK_SET)              = 673922
+lseek(3, 1424, SEEK_CUR)                = 675346
+lseek(3, 0, SEEK_CUR)                   = 675346
+read(3, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(3, 675366, SEEK_SET)              = 675366
+lseek(3, 0, SEEK_CUR)                   = 675366
+read(3, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(3, 675373, SEEK_SET)              = 675373
+lseek(3, 9237, SEEK_CUR)                = 684610
+lseek(3, 0, SEEK_CUR)                   = 684610
+read(3, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(3, 684618, SEEK_SET)              = 684618
+lseek(3, 0, SEEK_CUR)                   = 684618
+read(3, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(3, 684626, SEEK_SET)              = 684626
+lseek(3, 40318, SEEK_CUR)               = 724944
+lseek(3, 0, SEEK_CUR)                   = 724944
+read(3, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(3, 724952, SEEK_SET)              = 724952
+lseek(3, 0, SEEK_CUR)                   = 724952
+read(3, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 724959, SEEK_SET)              = 724959
+lseek(3, 65908, SEEK_CUR)               = 790867
+lseek(3, 0, SEEK_CUR)                   = 790867
+read(3, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(3, 790881, SEEK_SET)              = 790881
+lseek(3, 0, SEEK_CUR)                   = 790881
+read(3, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(3, 790888, SEEK_SET)              = 790888
+lseek(3, 6878, SEEK_CUR)                = 797766
+lseek(3, 0, SEEK_CUR)                   = 797766
+read(3, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(3, 797776, SEEK_SET)              = 797776
+lseek(3, 0, SEEK_CUR)                   = 797776
+read(3, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 797783, SEEK_SET)              = 797783
+lseek(3, 61376, SEEK_CUR)               = 859159
+lseek(3, 0, SEEK_CUR)                   = 859159
+read(3, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(3, 859170, SEEK_SET)              = 859170
+lseek(3, 0, SEEK_CUR)                   = 859170
+read(3, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(3, 859178, SEEK_SET)              = 859178
+lseek(3, 31353, SEEK_CUR)               = 890531
+lseek(3, 0, SEEK_CUR)                   = 890531
+read(3, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(3, 890540, SEEK_SET)              = 890540
+lseek(3, 0, SEEK_CUR)                   = 890540
+read(3, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(3, 890547, SEEK_SET)              = 890547
+lseek(3, 1127, SEEK_CUR)                = 891674
+lseek(3, 0, SEEK_CUR)                   = 891674
+read(3, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(3, 891685, SEEK_SET)              = 891685
+lseek(3, 0, SEEK_CUR)                   = 891685
+read(3, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(3, 891691, SEEK_SET)              = 891691
+lseek(3, 467, SEEK_CUR)                 = 892158
+lseek(3, 0, SEEK_CUR)                   = 892158
+read(3, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(3, 892167, SEEK_SET)              = 892167
+lseek(3, 0, SEEK_CUR)                   = 892167
+read(3, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(3, 892174, SEEK_SET)              = 892174
+lseek(3, 1276, SEEK_CUR)                = 893450
+lseek(3, 0, SEEK_CUR)                   = 893450
+read(3, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(3, 893463, SEEK_SET)              = 893463
+lseek(3, 0, SEEK_CUR)                   = 893463
+read(3, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(3, 893470, SEEK_SET)              = 893470
+lseek(3, 1953, SEEK_CUR)                = 895423
+lseek(3, 0, SEEK_CUR)                   = 895423
+read(3, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(3, 895438, SEEK_SET)              = 895438
+lseek(3, 0, SEEK_CUR)                   = 895438
+read(3, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(3, 895445, SEEK_SET)              = 895445
+lseek(3, 1794, SEEK_CUR)                = 897239
+lseek(3, 0, SEEK_CUR)                   = 897239
+read(3, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(3, 897260, SEEK_SET)              = 897260
+lseek(3, 0, SEEK_CUR)                   = 897260
+read(3, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(3, 897267, SEEK_SET)              = 897267
+lseek(3, 3542, SEEK_CUR)                = 900809
+lseek(3, 0, SEEK_CUR)                   = 900809
+read(3, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(3, 900824, SEEK_SET)              = 900824
+lseek(3, 0, SEEK_CUR)                   = 900824
+read(3, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(3, 900831, SEEK_SET)              = 900831
+lseek(3, 8564, SEEK_CUR)                = 909395
+lseek(3, 0, SEEK_CUR)                   = 909395
+read(3, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(3, 909427, SEEK_SET)              = 909427
+lseek(3, 0, SEEK_CUR)                   = 909427
+read(3, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(3, 964051, SEEK_SET)              = 964051
+lseek(3, 352, SEEK_CUR)                 = 964403
+lseek(3, 0, SEEK_CUR)                   = 964403
+read(3, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(3, 964419, SEEK_SET)              = 964419
+lseek(3, 0, SEEK_CUR)                   = 964419
+read(3, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(3, 964425, SEEK_SET)              = 964425
+lseek(3, 638, SEEK_CUR)                 = 965063
+lseek(3, 0, SEEK_CUR)                   = 965063
+read(3, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(3, 965077, SEEK_SET)              = 965077
+lseek(3, 0, SEEK_CUR)                   = 965077
+read(3, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(3, 965084, SEEK_SET)              = 965084
+lseek(3, 2839, SEEK_CUR)                = 967923
+lseek(3, 0, SEEK_CUR)                   = 967923
+read(3, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(3, 967942, SEEK_SET)              = 967942
+lseek(3, 0, SEEK_CUR)                   = 967942
+read(3, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(3, 967949, SEEK_SET)              = 967949
+lseek(3, 4356, SEEK_CUR)                = 972305
+lseek(3, 0, SEEK_CUR)                   = 972305
+read(3, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(3, 972318, SEEK_SET)              = 972318
+lseek(3, 0, SEEK_CUR)                   = 972318
+read(3, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(3, 972325, SEEK_SET)              = 972325
+lseek(3, 1865, SEEK_CUR)                = 974190
+lseek(3, 0, SEEK_CUR)                   = 974190
+read(3, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(3, 974204, SEEK_SET)              = 974204
+lseek(3, 0, SEEK_CUR)                   = 974204
+read(3, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(3, 974211, SEEK_SET)              = 974211
+lseek(3, 6757, SEEK_CUR)                = 980968
+lseek(3, 0, SEEK_CUR)                   = 980968
+read(3, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(3, 980975, SEEK_SET)              = 980975
+lseek(3, 0, SEEK_CUR)                   = 980975
+read(3, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(3, 980981, SEEK_SET)              = 980981
+lseek(3, 307, SEEK_CUR)                 = 981288
+lseek(3, 0, SEEK_CUR)                   = 981288
+read(3, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(3, 981295, SEEK_SET)              = 981295
+lseek(3, 0, SEEK_CUR)                   = 981295
+read(3, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 981302, SEEK_SET)              = 981302
+lseek(3, 15208, SEEK_CUR)               = 996510
+lseek(3, 0, SEEK_CUR)                   = 996510
+read(3, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(3, 996518, SEEK_SET)              = 996518
+lseek(3, 0, SEEK_CUR)                   = 996518
+read(3, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(3, 996525, SEEK_SET)              = 996525
+lseek(3, 7669, SEEK_CUR)                = 1004194
+lseek(3, 0, SEEK_CUR)                   = 1004194
+read(3, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(3, 1004203, SEEK_SET)             = 1004203
+lseek(3, 0, SEEK_CUR)                   = 1004203
+read(3, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(3, 1004210, SEEK_SET)             = 1004210
+lseek(3, 1002, SEEK_CUR)                = 1005212
+lseek(3, 0, SEEK_CUR)                   = 1005212
+read(3, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(3, 1005223, SEEK_SET)             = 1005223
+lseek(3, 0, SEEK_CUR)                   = 1005223
+read(3, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(3, 1005230, SEEK_SET)             = 1005230
+lseek(3, 3383, SEEK_CUR)                = 1008613
+lseek(3, 0, SEEK_CUR)                   = 1008613
+read(3, "", 256)                        = 0
+lseek(3, 1008613, SEEK_SET)             = 1008613
+close(3)                                = 0
+open("../../lib//Multigate/Users.pm", O_RDONLY) = 3
+fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 20), ...}) = 0
+old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000
+write(1, "use ::Multigate::Users;    #perl"..., 37) = 37
+fstat64(3, {st_mode=S_IFREG|0755, st_size=12618, ...}) = 0
+old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000
+read(3, "package Multigate::Users;\n\n#\n# T"..., 4096) = 4096
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("../../lib//strict.pmc", 0xbffff424) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//strict.pm", O_RDONLY)  = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/strict.pmc", 0xbffff424) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 0, SEEK_CUR)                   = 891691
+read(4, "6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~*}}}$c"..., 467) = 467
+close(4)                                = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("../../lib//vars.pmc", 0xbffff424) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//vars.pm", O_RDONLY)    = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/vars.pmc", 0xbffff424) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 0, SEEK_CUR)                   = 892174
+read(4, "6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R\23IFGD\20"..., 1276) = 1276
+close(4)                                = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("../../lib//warnings/register.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//warnings/register.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/warnings/register.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//warnings.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/warnings.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//Carp.pm", O_RDONLY)    = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/Carp.pmc", 0xbfffed44) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 0, SEEK_CUR)                   = 890547
+read(4, "6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc~*}}}$c"..., 1127) = 1127
+close(4)                                = 0
+brk(0x812d000)                          = 0x812d000
+brk(0x812e000)                          = 0x812e000
+brk(0x812f000)                          = 0x812f000
+brk(0x8130000)                          = 0x8130000
+brk(0x8131000)                          = 0x8131000
+brk(0x8132000)                          = 0x8132000
+brk(0x8133000)                          = 0x8133000
+brk(0x8134000)                          = 0x8134000
+brk(0x8135000)                          = 0x8135000
+brk(0x8136000)                          = 0x8136000
+brk(0x8137000)                          = 0x8137000
+brk(0x8138000)                          = 0x8138000
+brk(0x8139000)                          = 0x8139000
+brk(0x813a000)                          = 0x813a000
+brk(0x813b000)                          = 0x813b000
+brk(0x813c000)                          = 0x813c000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("../../lib//DBI.pmc", 0xbffff424) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//DBI.pm", O_RDONLY)     = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/DBI.pmc", 0xbffff424) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+brk(0x8146000)                          = 0x8146000
+lseek(4, 0, SEEK_CUR)                   = 684626
+read(4, "eOVi\tUR!b @\26\2^\33AEXAY\0DYC[[\20EXG\31I"..., 40318) = 40318
+brk(0x8150000)                          = 0x8150000
+close(4)                                = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("../../lib//DynaLoader.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//DynaLoader.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/DynaLoader.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 0, SEEK_CUR)                   = 900831
+read(4, "LexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc~*}}}$c"..., 8564) = 8564
+close(4)                                = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+brk(0x8151000)                          = 0x8151000
+brk(0x8152000)                          = 0x8152000
+brk(0x8153000)                          = 0x8153000
+brk(0x8154000)                          = 0x8154000
+brk(0x8155000)                          = 0x8155000
+stat64("../../lib//AutoLoader.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//AutoLoader.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/AutoLoader.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//auto/DynaLoader/dl_findfile.al", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//Exporter/Heavy.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/Exporter/Heavy.pmc", 0xbffff104) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//FileHandle.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/FileHandle.pmc", 0xbffff424) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 0, SEEK_CUR)                   = 895445
+read(4, "6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32\26IA\16"..., 1794) = 1794
+close(4)                                = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("../../lib//IO/File.pmc", 0xbffff424) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//IO/File.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/IO/File.pmc", 0xbffff424) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//Symbol.pm", O_RDONLY)  = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/Symbol.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//SelectSaver.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/SelectSaver.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 0, SEEK_CUR)                   = 964051
+read(4, "6\16\21K\f\10\27Es\f\2\3\f\6>\0\2\f\35U*|cyc~*}}}$c"..., 352) = 352
+close(4)                                = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+brk(0x81ef000)                          = 0x81ef000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("../../lib//IO/Seekable.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//IO/Seekable.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/IO/Seekable.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 0, SEEK_CUR)                   = 964425
+read(4, "eexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~*}}}$c"..., 638) = 638
+close(4)                                = 0
+brk(0x81f0000)                          = 0x81f0000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("../../lib//IO/Handle.pmc", 0xbfffed44) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//IO/Handle.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/IO/Handle.pmc", 0xbfffed44) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+brk(0x81f2000)                          = 0x81f2000
+lseek(4, 0, SEEK_CUR)                   = 974211
+read(4, "L\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc~*}}}$c"..., 6757) = 6757
+brk(0x81f4000)                          = 0x81f4000
+close(4)                                = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("../../lib//IO.pmc", 0xbfffe9d4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//IO.pm", O_RDONLY)      = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/IO.pmc", 0xbfffe9d4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 0, SEEK_CUR)                   = 980981
+read(4, "eexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20E\5W_\7R"..., 307) = 307
+close(4)                                = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("../../lib//XSLoader.pmc", 0xbfffe664) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//XSLoader.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/XSLoader.pmc", 0xbfffe664) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+brk(0x81f5000)                          = 0x81f5000
+lseek(4, 0, SEEK_CUR)                   = 972325
+read(4, "eO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33ZP\32Y\'bI"..., 1865) = 1865
+close(4)                                = 0
+brk(0x81f6000)                          = 0x81f6000
+brk(0x81f7000)                          = 0x81f7000
+brk(0x81f8000)                          = 0x81f8000
+brk(0x81f9000)                          = 0x81f9000
+brk(0x81fc000)                          = 0x81fc000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("PERL2EXE_STORAGE/auto/IO/IO.so", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("../../lib//auto/IO", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/auto/IO", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("/tmp/auto/IO", 0xbfffeb00)      = -1 ENOENT (No such file or directory)
+stat64("/home/multilink/multidev/commands/group/auto/IO", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("lib\\site/auto/IO", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("/home/multilink/multidev/commands/group/lib/5.6.1/i686-linux/auto/IO", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("/home/multilink/multidev/commands/group/lib/5.6.1/auto/IO", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("/home/multilink/multidev/commands/group/lib/site_perl/5.6.1/i686-linux/auto/IO", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("/home/multilink/multidev/commands/group/lib/site_perl/5.6.1/auto/IO", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/lib/perl5/site_perl/auto/IO", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("./auto/IO", 0xbfffeb00)         = -1 ENOENT (No such file or directory)
+stat64("-L../../lib/", 0xbfffeb00)      = -1 ENOENT (No such file or directory)
+stat64("-L/tmp", 0xbfffeb00)            = -1 ENOENT (No such file or directory)
+stat64("-L/home/multilink/multidev/commands/group", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("-L/home/multilink/multidev/commands/group/lib/5.6.1/i686-linux", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("-L/home/multilink/multidev/commands/group/lib/5.6.1", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("-L/home/multilink/multidev/commands/group/lib/site_perl/5.6.1/i686-linux", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("-L/home/multilink/multidev/commands/group/lib/site_perl/5.6.1", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("-L/usr/local/lib/perl5/site_perl", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("../../lib/", {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0
+stat64("../../lib//IO.so", 0xbfffeb00)  = -1 ENOENT (No such file or directory)
+stat64("../../lib//IO.so", 0xbfffeb00)  = -1 ENOENT (No such file or directory)
+stat64("../../lib//libIO.so", 0xbfffeb00) = -1 ENOENT (No such file or directory)
+stat64("../../lib//IO", 0xbfffeb00)     = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE", 0xbfffeb00)  = -1 ENOENT (No such file or directory)
+stat64("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=16384, ...}) = 0
+stat64("/tmp/IO.so", {st_mode=S_IFREG|0775, st_size=15208, ...}) = 0
+stat64("/tmp/IO.bs", 0xbfffeaf8)        = -1 ENOENT (No such file or directory)
+open("/tmp/IO.so", O_RDONLY)            = 4
+read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0,\20\0\000"..., 1024) = 1024
+fstat64(4, {st_mode=S_IFREG|0775, st_size=15208, ...}) = 0
+old_mmap(NULL, 14956, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x401ac000
+mprotect(0x401af000, 2668, PROT_NONE)   = 0
+old_mmap(0x401af000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x2000) = 0x401af000
+close(4)                                = 0
+brk(0x81fd000)                          = 0x81fd000
+brk(0x81fe000)                          = 0x81fe000
+brk(0x81ff000)                          = 0x81ff000
+brk(0x8200000)                          = 0x8200000
+brk(0x8201000)                          = 0x8201000
+brk(0x8202000)                          = 0x8202000
+brk(0x8203000)                          = 0x8203000
+brk(0x8204000)                          = 0x8204000
+brk(0x8205000)                          = 0x8205000
+brk(0x8206000)                          = 0x8206000
+brk(0x8207000)                          = 0x8207000
+brk(0x8208000)                          = 0x8208000
+brk(0x8209000)                          = 0x8209000
+brk(0x820a000)                          = 0x820a000
+brk(0x820b000)                          = 0x820b000
+brk(0x820c000)                          = 0x820c000
+brk(0x820d000)                          = 0x820d000
+brk(0x820e000)                          = 0x820e000
+brk(0x820f000)                          = 0x820f000
+brk(0x8210000)                          = 0x8210000
+brk(0x8211000)                          = 0x8211000
+brk(0x8212000)                          = 0x8212000
+brk(0x8213000)                          = 0x8213000
+brk(0x8214000)                          = 0x8214000
+brk(0x8215000)                          = 0x8215000
+brk(0x8216000)                          = 0x8216000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+brk(0x8217000)                          = 0x8217000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("../../lib//Fcntl.pmc", 0xbfffed44) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//Fcntl.pm", O_RDONLY)   = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/Fcntl.pmc", 0xbfffed44) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//File/Spec.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/File/Spec.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+brk(0x8224000)                          = 0x8224000
+lseek(4, 0, SEEK_CUR)                   = 965084
+read(4, "6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26I\7T\5\36"..., 2839) = 2839
+brk(0x8225000)                          = 0x8225000
+close(4)                                = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("../../lib//File/Spec/Unix.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//File/Spec/Unix.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/File/Spec/Unix.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+brk(0x8227000)                          = 0x8227000
+lseek(4, 0, SEEK_CUR)                   = 967949
+read(4, "6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\vR~*\2\4\22"..., 4356) = 4356
+close(4)                                = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("../../lib//Cwd.pmc", 0xbfffed44) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//Cwd.pm", O_RDONLY)     = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/Cwd.pmc", 0xbfffed44) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+brk(0x8229000)                          = 0x8229000
+lseek(4, 0, SEEK_CUR)                   = 996525
+read(4, "6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0CGCYD\33}}"..., 7669) = 7669
+brk(0x822b000)                          = 0x822b000
+close(4)                                = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("../../lib//base.pmc", 0xbfffe9d4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//base.pm", O_RDONLY)    = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/base.pmc", 0xbfffe9d4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 0, SEEK_CUR)                   = 1004210
+read(4, "Lex*gexo*cdlexgk~ced*|cyc~*}}}$c"..., 1002) = 1002
+close(4)                                = 0
+brk(0x822c000)                          = 0x822c000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+brk(0x822d000)                          = 0x822d000
+brk(0x822e000)                          = 0x822e000
+brk(0x822f000)                          = 0x822f000
+brk(0x8230000)                          = 0x8230000
+brk(0x8231000)                          = 0x8231000
+brk(0x8232000)                          = 0x8232000
+brk(0x8233000)                          = 0x8233000
+brk(0x8234000)                          = 0x8234000
+brk(0x8235000)                          = 0x8235000
+brk(0x8236000)                          = 0x8236000
+brk(0x8237000)                          = 0x8237000
+brk(0x8238000)                          = 0x8238000
+brk(0x8239000)                          = 0x8239000
+brk(0x823a000)                          = 0x823a000
+brk(0x823b000)                          = 0x823b000
+brk(0x823c000)                          = 0x823c000
+brk(0x823d000)                          = 0x823d000
+brk(0x823e000)                          = 0x823e000
+brk(0x823f000)                          = 0x823f000
+brk(0x8240000)                          = 0x8240000
+brk(0x8241000)                          = 0x8241000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+brk(0x8242000)                          = 0x8242000
+brk(0x8243000)                          = 0x8243000
+brk(0x8244000)                          = 0x8244000
+brk(0x8245000)                          = 0x8245000
+brk(0x8246000)                          = 0x8246000
+brk(0x8247000)                          = 0x8247000
+stat64("/usr/local/bin/pwd", 0xbfffee68) = -1 ENOENT (No such file or directory)
+stat64("/usr/bin/pwd", 0xbfffee68)      = -1 ENOENT (No such file or directory)
+stat64("/bin/pwd", {st_mode=S_IFREG|0755, st_size=9916, ...}) = 0
+getgroups32(0x20, 0xbfffee80)           = 1
+stat64("/usr/bin/X11/pwd", 0xbfffee68)  = -1 ENOENT (No such file or directory)
+stat64("/usr/games/pwd", 0xbfffee68)    = -1 ENOENT (No such file or directory)
+stat64("./pwd", 0xbfffee68)             = -1 ENOENT (No such file or directory)
+brk(0x8248000)                          = 0x8248000
+brk(0x8249000)                          = 0x8249000
+brk(0x824a000)                          = 0x824a000
+brk(0x824b000)                          = 0x824b000
+brk(0x824c000)                          = 0x824c000
+brk(0x824d000)                          = 0x824d000
+brk(0x824e000)                          = 0x824e000
+brk(0x824f000)                          = 0x824f000
+brk(0x8250000)                          = 0x8250000
+brk(0x8251000)                          = 0x8251000
+brk(0x8252000)                          = 0x8252000
+brk(0x8253000)                          = 0x8253000
+brk(0x8254000)                          = 0x8254000
+brk(0x8255000)                          = 0x8255000
+brk(0x8256000)                          = 0x8256000
+brk(0x8257000)                          = 0x8257000
+brk(0x8258000)                          = 0x8258000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("./lib", 0xbffff550)             = -1 ENOENT (No such file or directory)
+stat64("./lib/i686-linux/auto", 0xbffff550) = -1 ENOENT (No such file or directory)
+stat64("./lib/5.6.1", 0xbffff550)       = -1 ENOENT (No such file or directory)
+stat64("./lib/5.6.1/i686-linux", 0xbffff550) = -1 ENOENT (No such file or directory)
+brk(0x8259000)                          = 0x8259000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("./lib/Multigate/Config.pmc", 0xbffff424) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("./lib/Multigate/Config.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("../../lib//Multigate/Config.pmc", 0xbffff424) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 4
+lseek(4, 671652, SEEK_SET)              = 671652
+lseek(4, 0, SEEK_CUR)                   = 671652
+read(4, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(4, 671662, SEEK_SET)              = 671662
+lseek(4, 0, SEEK_CUR)                   = 671662
+read(4, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(4, 671669, SEEK_SET)              = 671669
+lseek(4, 2238, SEEK_CUR)                = 673907
+lseek(4, 0, SEEK_CUR)                   = 673907
+read(4, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(4, 673915, SEEK_SET)              = 673915
+lseek(4, 0, SEEK_CUR)                   = 673915
+read(4, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(4, 673922, SEEK_SET)              = 673922
+lseek(4, 1424, SEEK_CUR)                = 675346
+lseek(4, 0, SEEK_CUR)                   = 675346
+read(4, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(4, 675366, SEEK_SET)              = 675366
+lseek(4, 0, SEEK_CUR)                   = 675366
+read(4, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(4, 675373, SEEK_SET)              = 675373
+lseek(4, 9237, SEEK_CUR)                = 684610
+lseek(4, 0, SEEK_CUR)                   = 684610
+read(4, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(4, 684618, SEEK_SET)              = 684618
+lseek(4, 0, SEEK_CUR)                   = 684618
+read(4, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(4, 684626, SEEK_SET)              = 684626
+lseek(4, 40318, SEEK_CUR)               = 724944
+lseek(4, 0, SEEK_CUR)                   = 724944
+read(4, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(4, 724952, SEEK_SET)              = 724952
+lseek(4, 0, SEEK_CUR)                   = 724952
+read(4, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 724959, SEEK_SET)              = 724959
+lseek(4, 65908, SEEK_CUR)               = 790867
+lseek(4, 0, SEEK_CUR)                   = 790867
+read(4, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(4, 790881, SEEK_SET)              = 790881
+lseek(4, 0, SEEK_CUR)                   = 790881
+read(4, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(4, 790888, SEEK_SET)              = 790888
+lseek(4, 6878, SEEK_CUR)                = 797766
+lseek(4, 0, SEEK_CUR)                   = 797766
+read(4, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(4, 797776, SEEK_SET)              = 797776
+lseek(4, 0, SEEK_CUR)                   = 797776
+read(4, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 797783, SEEK_SET)              = 797783
+lseek(4, 61376, SEEK_CUR)               = 859159
+lseek(4, 0, SEEK_CUR)                   = 859159
+read(4, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(4, 859170, SEEK_SET)              = 859170
+lseek(4, 0, SEEK_CUR)                   = 859170
+read(4, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(4, 859178, SEEK_SET)              = 859178
+lseek(4, 31353, SEEK_CUR)               = 890531
+lseek(4, 0, SEEK_CUR)                   = 890531
+read(4, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(4, 890540, SEEK_SET)              = 890540
+lseek(4, 0, SEEK_CUR)                   = 890540
+read(4, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(4, 890547, SEEK_SET)              = 890547
+lseek(4, 1127, SEEK_CUR)                = 891674
+lseek(4, 0, SEEK_CUR)                   = 891674
+read(4, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(4, 891685, SEEK_SET)              = 891685
+lseek(4, 0, SEEK_CUR)                   = 891685
+read(4, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(4, 891691, SEEK_SET)              = 891691
+lseek(4, 467, SEEK_CUR)                 = 892158
+lseek(4, 0, SEEK_CUR)                   = 892158
+read(4, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(4, 892167, SEEK_SET)              = 892167
+lseek(4, 0, SEEK_CUR)                   = 892167
+read(4, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(4, 892174, SEEK_SET)              = 892174
+lseek(4, 1276, SEEK_CUR)                = 893450
+lseek(4, 0, SEEK_CUR)                   = 893450
+read(4, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(4, 893463, SEEK_SET)              = 893463
+lseek(4, 0, SEEK_CUR)                   = 893463
+read(4, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(4, 893470, SEEK_SET)              = 893470
+lseek(4, 1953, SEEK_CUR)                = 895423
+lseek(4, 0, SEEK_CUR)                   = 895423
+read(4, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(4, 895438, SEEK_SET)              = 895438
+lseek(4, 0, SEEK_CUR)                   = 895438
+read(4, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(4, 895445, SEEK_SET)              = 895445
+lseek(4, 1794, SEEK_CUR)                = 897239
+lseek(4, 0, SEEK_CUR)                   = 897239
+read(4, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(4, 897260, SEEK_SET)              = 897260
+lseek(4, 0, SEEK_CUR)                   = 897260
+read(4, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(4, 897267, SEEK_SET)              = 897267
+lseek(4, 3542, SEEK_CUR)                = 900809
+lseek(4, 0, SEEK_CUR)                   = 900809
+read(4, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 900824, SEEK_SET)              = 900824
+lseek(4, 0, SEEK_CUR)                   = 900824
+read(4, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(4, 900831, SEEK_SET)              = 900831
+lseek(4, 8564, SEEK_CUR)                = 909395
+lseek(4, 0, SEEK_CUR)                   = 909395
+read(4, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(4, 909427, SEEK_SET)              = 909427
+lseek(4, 0, SEEK_CUR)                   = 909427
+read(4, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(4, 964051, SEEK_SET)              = 964051
+lseek(4, 352, SEEK_CUR)                 = 964403
+lseek(4, 0, SEEK_CUR)                   = 964403
+read(4, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(4, 964419, SEEK_SET)              = 964419
+lseek(4, 0, SEEK_CUR)                   = 964419
+read(4, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(4, 964425, SEEK_SET)              = 964425
+lseek(4, 638, SEEK_CUR)                 = 965063
+lseek(4, 0, SEEK_CUR)                   = 965063
+read(4, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(4, 965077, SEEK_SET)              = 965077
+lseek(4, 0, SEEK_CUR)                   = 965077
+read(4, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(4, 965084, SEEK_SET)              = 965084
+lseek(4, 2839, SEEK_CUR)                = 967923
+lseek(4, 0, SEEK_CUR)                   = 967923
+read(4, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(4, 967942, SEEK_SET)              = 967942
+lseek(4, 0, SEEK_CUR)                   = 967942
+read(4, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(4, 967949, SEEK_SET)              = 967949
+lseek(4, 4356, SEEK_CUR)                = 972305
+lseek(4, 0, SEEK_CUR)                   = 972305
+read(4, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(4, 972318, SEEK_SET)              = 972318
+lseek(4, 0, SEEK_CUR)                   = 972318
+read(4, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(4, 972325, SEEK_SET)              = 972325
+lseek(4, 1865, SEEK_CUR)                = 974190
+lseek(4, 0, SEEK_CUR)                   = 974190
+read(4, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(4, 974204, SEEK_SET)              = 974204
+lseek(4, 0, SEEK_CUR)                   = 974204
+read(4, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(4, 974211, SEEK_SET)              = 974211
+lseek(4, 6757, SEEK_CUR)                = 980968
+lseek(4, 0, SEEK_CUR)                   = 980968
+read(4, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(4, 980975, SEEK_SET)              = 980975
+lseek(4, 0, SEEK_CUR)                   = 980975
+read(4, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(4, 980981, SEEK_SET)              = 980981
+lseek(4, 307, SEEK_CUR)                 = 981288
+lseek(4, 0, SEEK_CUR)                   = 981288
+read(4, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(4, 981295, SEEK_SET)              = 981295
+lseek(4, 0, SEEK_CUR)                   = 981295
+read(4, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(4, 981302, SEEK_SET)              = 981302
+lseek(4, 15208, SEEK_CUR)               = 996510
+lseek(4, 0, SEEK_CUR)                   = 996510
+read(4, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(4, 996518, SEEK_SET)              = 996518
+lseek(4, 0, SEEK_CUR)                   = 996518
+read(4, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(4, 996525, SEEK_SET)              = 996525
+lseek(4, 7669, SEEK_CUR)                = 1004194
+lseek(4, 0, SEEK_CUR)                   = 1004194
+read(4, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(4, 1004203, SEEK_SET)             = 1004203
+lseek(4, 0, SEEK_CUR)                   = 1004203
+read(4, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(4, 1004210, SEEK_SET)             = 1004210
+lseek(4, 1002, SEEK_CUR)                = 1005212
+lseek(4, 0, SEEK_CUR)                   = 1005212
+read(4, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(4, 1005223, SEEK_SET)             = 1005223
+lseek(4, 0, SEEK_CUR)                   = 1005223
+read(4, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(4, 1005230, SEEK_SET)             = 1005230
+lseek(4, 3383, SEEK_CUR)                = 1008613
+lseek(4, 0, SEEK_CUR)                   = 1008613
+read(4, "", 256)                        = 0
+lseek(4, 1008613, SEEK_SET)             = 1008613
+close(4)                                = 0
+open("../../lib//Multigate/Config.pm", O_RDONLY) = 4
+write(1, "use ::Multigate::Config;    #per"..., 38) = 38
+fstat64(4, {st_mode=S_IFREG|0755, st_size=3924, ...}) = 0
+old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40016000
+read(4, "#\n# Config file stuff\n#\n# (C) 20"..., 4096) = 3924
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+brk(0x825a000)                          = 0x825a000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+brk(0x825b000)                          = 0x825b000
+brk(0x825c000)                          = 0x825c000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("./lib/Multigate/Debug.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 5
+lseek(5, 671652, SEEK_SET)              = 671652
+lseek(5, 0, SEEK_CUR)                   = 671652
+read(5, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(5, 671662, SEEK_SET)              = 671662
+lseek(5, 0, SEEK_CUR)                   = 671662
+read(5, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(5, 671669, SEEK_SET)              = 671669
+lseek(5, 2238, SEEK_CUR)                = 673907
+lseek(5, 0, SEEK_CUR)                   = 673907
+read(5, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(5, 673915, SEEK_SET)              = 673915
+lseek(5, 0, SEEK_CUR)                   = 673915
+read(5, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(5, 673922, SEEK_SET)              = 673922
+lseek(5, 1424, SEEK_CUR)                = 675346
+lseek(5, 0, SEEK_CUR)                   = 675346
+read(5, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(5, 675366, SEEK_SET)              = 675366
+lseek(5, 0, SEEK_CUR)                   = 675366
+read(5, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(5, 675373, SEEK_SET)              = 675373
+lseek(5, 9237, SEEK_CUR)                = 684610
+lseek(5, 0, SEEK_CUR)                   = 684610
+read(5, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(5, 684618, SEEK_SET)              = 684618
+lseek(5, 0, SEEK_CUR)                   = 684618
+read(5, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(5, 684626, SEEK_SET)              = 684626
+lseek(5, 40318, SEEK_CUR)               = 724944
+lseek(5, 0, SEEK_CUR)                   = 724944
+read(5, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(5, 724952, SEEK_SET)              = 724952
+lseek(5, 0, SEEK_CUR)                   = 724952
+read(5, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(5, 724959, SEEK_SET)              = 724959
+lseek(5, 65908, SEEK_CUR)               = 790867
+lseek(5, 0, SEEK_CUR)                   = 790867
+read(5, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(5, 790881, SEEK_SET)              = 790881
+lseek(5, 0, SEEK_CUR)                   = 790881
+read(5, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(5, 790888, SEEK_SET)              = 790888
+lseek(5, 6878, SEEK_CUR)                = 797766
+lseek(5, 0, SEEK_CUR)                   = 797766
+read(5, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(5, 797776, SEEK_SET)              = 797776
+lseek(5, 0, SEEK_CUR)                   = 797776
+read(5, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(5, 797783, SEEK_SET)              = 797783
+lseek(5, 61376, SEEK_CUR)               = 859159
+lseek(5, 0, SEEK_CUR)                   = 859159
+read(5, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(5, 859170, SEEK_SET)              = 859170
+lseek(5, 0, SEEK_CUR)                   = 859170
+read(5, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(5, 859178, SEEK_SET)              = 859178
+lseek(5, 31353, SEEK_CUR)               = 890531
+lseek(5, 0, SEEK_CUR)                   = 890531
+read(5, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(5, 890540, SEEK_SET)              = 890540
+lseek(5, 0, SEEK_CUR)                   = 890540
+read(5, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(5, 890547, SEEK_SET)              = 890547
+lseek(5, 1127, SEEK_CUR)                = 891674
+lseek(5, 0, SEEK_CUR)                   = 891674
+read(5, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(5, 891685, SEEK_SET)              = 891685
+lseek(5, 0, SEEK_CUR)                   = 891685
+read(5, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(5, 891691, SEEK_SET)              = 891691
+lseek(5, 467, SEEK_CUR)                 = 892158
+lseek(5, 0, SEEK_CUR)                   = 892158
+read(5, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(5, 892167, SEEK_SET)              = 892167
+lseek(5, 0, SEEK_CUR)                   = 892167
+read(5, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(5, 892174, SEEK_SET)              = 892174
+lseek(5, 1276, SEEK_CUR)                = 893450
+lseek(5, 0, SEEK_CUR)                   = 893450
+read(5, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(5, 893463, SEEK_SET)              = 893463
+lseek(5, 0, SEEK_CUR)                   = 893463
+read(5, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(5, 893470, SEEK_SET)              = 893470
+lseek(5, 1953, SEEK_CUR)                = 895423
+lseek(5, 0, SEEK_CUR)                   = 895423
+read(5, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(5, 895438, SEEK_SET)              = 895438
+lseek(5, 0, SEEK_CUR)                   = 895438
+read(5, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(5, 895445, SEEK_SET)              = 895445
+lseek(5, 1794, SEEK_CUR)                = 897239
+lseek(5, 0, SEEK_CUR)                   = 897239
+read(5, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(5, 897260, SEEK_SET)              = 897260
+lseek(5, 0, SEEK_CUR)                   = 897260
+read(5, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(5, 897267, SEEK_SET)              = 897267
+lseek(5, 3542, SEEK_CUR)                = 900809
+lseek(5, 0, SEEK_CUR)                   = 900809
+read(5, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(5, 900824, SEEK_SET)              = 900824
+lseek(5, 0, SEEK_CUR)                   = 900824
+read(5, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(5, 900831, SEEK_SET)              = 900831
+lseek(5, 8564, SEEK_CUR)                = 909395
+lseek(5, 0, SEEK_CUR)                   = 909395
+read(5, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(5, 909427, SEEK_SET)              = 909427
+lseek(5, 0, SEEK_CUR)                   = 909427
+read(5, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(5, 964051, SEEK_SET)              = 964051
+lseek(5, 352, SEEK_CUR)                 = 964403
+lseek(5, 0, SEEK_CUR)                   = 964403
+read(5, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(5, 964419, SEEK_SET)              = 964419
+lseek(5, 0, SEEK_CUR)                   = 964419
+read(5, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(5, 964425, SEEK_SET)              = 964425
+lseek(5, 638, SEEK_CUR)                 = 965063
+lseek(5, 0, SEEK_CUR)                   = 965063
+read(5, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(5, 965077, SEEK_SET)              = 965077
+lseek(5, 0, SEEK_CUR)                   = 965077
+read(5, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(5, 965084, SEEK_SET)              = 965084
+lseek(5, 2839, SEEK_CUR)                = 967923
+lseek(5, 0, SEEK_CUR)                   = 967923
+read(5, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(5, 967942, SEEK_SET)              = 967942
+lseek(5, 0, SEEK_CUR)                   = 967942
+read(5, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(5, 967949, SEEK_SET)              = 967949
+lseek(5, 4356, SEEK_CUR)                = 972305
+lseek(5, 0, SEEK_CUR)                   = 972305
+read(5, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(5, 972318, SEEK_SET)              = 972318
+lseek(5, 0, SEEK_CUR)                   = 972318
+read(5, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(5, 972325, SEEK_SET)              = 972325
+lseek(5, 1865, SEEK_CUR)                = 974190
+lseek(5, 0, SEEK_CUR)                   = 974190
+read(5, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(5, 974204, SEEK_SET)              = 974204
+lseek(5, 0, SEEK_CUR)                   = 974204
+read(5, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(5, 974211, SEEK_SET)              = 974211
+lseek(5, 6757, SEEK_CUR)                = 980968
+lseek(5, 0, SEEK_CUR)                   = 980968
+read(5, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(5, 980975, SEEK_SET)              = 980975
+lseek(5, 0, SEEK_CUR)                   = 980975
+read(5, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(5, 980981, SEEK_SET)              = 980981
+lseek(5, 307, SEEK_CUR)                 = 981288
+lseek(5, 0, SEEK_CUR)                   = 981288
+read(5, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(5, 981295, SEEK_SET)              = 981295
+lseek(5, 0, SEEK_CUR)                   = 981295
+read(5, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(5, 981302, SEEK_SET)              = 981302
+lseek(5, 15208, SEEK_CUR)               = 996510
+lseek(5, 0, SEEK_CUR)                   = 996510
+read(5, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(5, 996518, SEEK_SET)              = 996518
+lseek(5, 0, SEEK_CUR)                   = 996518
+read(5, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(5, 996525, SEEK_SET)              = 996525
+lseek(5, 7669, SEEK_CUR)                = 1004194
+lseek(5, 0, SEEK_CUR)                   = 1004194
+read(5, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(5, 1004203, SEEK_SET)             = 1004203
+lseek(5, 0, SEEK_CUR)                   = 1004203
+read(5, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(5, 1004210, SEEK_SET)             = 1004210
+lseek(5, 1002, SEEK_CUR)                = 1005212
+lseek(5, 0, SEEK_CUR)                   = 1005212
+read(5, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(5, 1005223, SEEK_SET)             = 1005223
+lseek(5, 0, SEEK_CUR)                   = 1005223
+read(5, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(5, 1005230, SEEK_SET)             = 1005230
+lseek(5, 3383, SEEK_CUR)                = 1008613
+lseek(5, 0, SEEK_CUR)                   = 1008613
+read(5, "", 256)                        = 0
+lseek(5, 1008613, SEEK_SET)             = 1008613
+close(5)                                = 0
+open("./lib/Multigate/Debug.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("../../lib//Multigate/Debug.pmc", 0xbffff0b4) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 5
+lseek(5, 671652, SEEK_SET)              = 671652
+lseek(5, 0, SEEK_CUR)                   = 671652
+read(5, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(5, 671662, SEEK_SET)              = 671662
+lseek(5, 0, SEEK_CUR)                   = 671662
+read(5, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(5, 671669, SEEK_SET)              = 671669
+lseek(5, 2238, SEEK_CUR)                = 673907
+lseek(5, 0, SEEK_CUR)                   = 673907
+read(5, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(5, 673915, SEEK_SET)              = 673915
+lseek(5, 0, SEEK_CUR)                   = 673915
+read(5, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(5, 673922, SEEK_SET)              = 673922
+lseek(5, 1424, SEEK_CUR)                = 675346
+lseek(5, 0, SEEK_CUR)                   = 675346
+read(5, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(5, 675366, SEEK_SET)              = 675366
+lseek(5, 0, SEEK_CUR)                   = 675366
+read(5, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(5, 675373, SEEK_SET)              = 675373
+lseek(5, 9237, SEEK_CUR)                = 684610
+lseek(5, 0, SEEK_CUR)                   = 684610
+read(5, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(5, 684618, SEEK_SET)              = 684618
+lseek(5, 0, SEEK_CUR)                   = 684618
+read(5, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(5, 684626, SEEK_SET)              = 684626
+lseek(5, 40318, SEEK_CUR)               = 724944
+lseek(5, 0, SEEK_CUR)                   = 724944
+read(5, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(5, 724952, SEEK_SET)              = 724952
+lseek(5, 0, SEEK_CUR)                   = 724952
+read(5, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(5, 724959, SEEK_SET)              = 724959
+lseek(5, 65908, SEEK_CUR)               = 790867
+lseek(5, 0, SEEK_CUR)                   = 790867
+read(5, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(5, 790881, SEEK_SET)              = 790881
+lseek(5, 0, SEEK_CUR)                   = 790881
+read(5, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(5, 790888, SEEK_SET)              = 790888
+lseek(5, 6878, SEEK_CUR)                = 797766
+lseek(5, 0, SEEK_CUR)                   = 797766
+read(5, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(5, 797776, SEEK_SET)              = 797776
+lseek(5, 0, SEEK_CUR)                   = 797776
+read(5, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(5, 797783, SEEK_SET)              = 797783
+lseek(5, 61376, SEEK_CUR)               = 859159
+lseek(5, 0, SEEK_CUR)                   = 859159
+read(5, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(5, 859170, SEEK_SET)              = 859170
+lseek(5, 0, SEEK_CUR)                   = 859170
+read(5, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(5, 859178, SEEK_SET)              = 859178
+lseek(5, 31353, SEEK_CUR)               = 890531
+lseek(5, 0, SEEK_CUR)                   = 890531
+read(5, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(5, 890540, SEEK_SET)              = 890540
+lseek(5, 0, SEEK_CUR)                   = 890540
+read(5, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(5, 890547, SEEK_SET)              = 890547
+lseek(5, 1127, SEEK_CUR)                = 891674
+lseek(5, 0, SEEK_CUR)                   = 891674
+read(5, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(5, 891685, SEEK_SET)              = 891685
+lseek(5, 0, SEEK_CUR)                   = 891685
+read(5, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(5, 891691, SEEK_SET)              = 891691
+lseek(5, 467, SEEK_CUR)                 = 892158
+lseek(5, 0, SEEK_CUR)                   = 892158
+read(5, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(5, 892167, SEEK_SET)              = 892167
+lseek(5, 0, SEEK_CUR)                   = 892167
+read(5, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(5, 892174, SEEK_SET)              = 892174
+lseek(5, 1276, SEEK_CUR)                = 893450
+lseek(5, 0, SEEK_CUR)                   = 893450
+read(5, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(5, 893463, SEEK_SET)              = 893463
+lseek(5, 0, SEEK_CUR)                   = 893463
+read(5, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(5, 893470, SEEK_SET)              = 893470
+lseek(5, 1953, SEEK_CUR)                = 895423
+lseek(5, 0, SEEK_CUR)                   = 895423
+read(5, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(5, 895438, SEEK_SET)              = 895438
+lseek(5, 0, SEEK_CUR)                   = 895438
+read(5, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(5, 895445, SEEK_SET)              = 895445
+lseek(5, 1794, SEEK_CUR)                = 897239
+lseek(5, 0, SEEK_CUR)                   = 897239
+read(5, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(5, 897260, SEEK_SET)              = 897260
+lseek(5, 0, SEEK_CUR)                   = 897260
+read(5, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(5, 897267, SEEK_SET)              = 897267
+lseek(5, 3542, SEEK_CUR)                = 900809
+lseek(5, 0, SEEK_CUR)                   = 900809
+read(5, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(5, 900824, SEEK_SET)              = 900824
+lseek(5, 0, SEEK_CUR)                   = 900824
+read(5, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(5, 900831, SEEK_SET)              = 900831
+lseek(5, 8564, SEEK_CUR)                = 909395
+lseek(5, 0, SEEK_CUR)                   = 909395
+read(5, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(5, 909427, SEEK_SET)              = 909427
+lseek(5, 0, SEEK_CUR)                   = 909427
+read(5, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(5, 964051, SEEK_SET)              = 964051
+lseek(5, 352, SEEK_CUR)                 = 964403
+lseek(5, 0, SEEK_CUR)                   = 964403
+read(5, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(5, 964419, SEEK_SET)              = 964419
+lseek(5, 0, SEEK_CUR)                   = 964419
+read(5, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(5, 964425, SEEK_SET)              = 964425
+lseek(5, 638, SEEK_CUR)                 = 965063
+lseek(5, 0, SEEK_CUR)                   = 965063
+read(5, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(5, 965077, SEEK_SET)              = 965077
+lseek(5, 0, SEEK_CUR)                   = 965077
+read(5, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(5, 965084, SEEK_SET)              = 965084
+lseek(5, 2839, SEEK_CUR)                = 967923
+lseek(5, 0, SEEK_CUR)                   = 967923
+read(5, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(5, 967942, SEEK_SET)              = 967942
+lseek(5, 0, SEEK_CUR)                   = 967942
+read(5, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(5, 967949, SEEK_SET)              = 967949
+lseek(5, 4356, SEEK_CUR)                = 972305
+lseek(5, 0, SEEK_CUR)                   = 972305
+read(5, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(5, 972318, SEEK_SET)              = 972318
+lseek(5, 0, SEEK_CUR)                   = 972318
+read(5, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(5, 972325, SEEK_SET)              = 972325
+lseek(5, 1865, SEEK_CUR)                = 974190
+lseek(5, 0, SEEK_CUR)                   = 974190
+read(5, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(5, 974204, SEEK_SET)              = 974204
+lseek(5, 0, SEEK_CUR)                   = 974204
+read(5, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(5, 974211, SEEK_SET)              = 974211
+lseek(5, 6757, SEEK_CUR)                = 980968
+lseek(5, 0, SEEK_CUR)                   = 980968
+read(5, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(5, 980975, SEEK_SET)              = 980975
+lseek(5, 0, SEEK_CUR)                   = 980975
+read(5, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(5, 980981, SEEK_SET)              = 980981
+lseek(5, 307, SEEK_CUR)                 = 981288
+lseek(5, 0, SEEK_CUR)                   = 981288
+read(5, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(5, 981295, SEEK_SET)              = 981295
+lseek(5, 0, SEEK_CUR)                   = 981295
+read(5, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(5, 981302, SEEK_SET)              = 981302
+lseek(5, 15208, SEEK_CUR)               = 996510
+lseek(5, 0, SEEK_CUR)                   = 996510
+read(5, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(5, 996518, SEEK_SET)              = 996518
+lseek(5, 0, SEEK_CUR)                   = 996518
+read(5, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(5, 996525, SEEK_SET)              = 996525
+lseek(5, 7669, SEEK_CUR)                = 1004194
+lseek(5, 0, SEEK_CUR)                   = 1004194
+read(5, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(5, 1004203, SEEK_SET)             = 1004203
+lseek(5, 0, SEEK_CUR)                   = 1004203
+read(5, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(5, 1004210, SEEK_SET)             = 1004210
+lseek(5, 1002, SEEK_CUR)                = 1005212
+lseek(5, 0, SEEK_CUR)                   = 1005212
+read(5, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(5, 1005223, SEEK_SET)             = 1005223
+lseek(5, 0, SEEK_CUR)                   = 1005223
+read(5, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(5, 1005230, SEEK_SET)             = 1005230
+lseek(5, 3383, SEEK_CUR)                = 1008613
+lseek(5, 0, SEEK_CUR)                   = 1008613
+read(5, "", 256)                        = 0
+lseek(5, 1008613, SEEK_SET)             = 1008613
+close(5)                                = 0
+open("../../lib//Multigate/Debug.pm", O_RDONLY) = 5
+write(1, "use ::Multigate::Debug;    #perl"..., 37) = 37
+fstat64(5, {st_mode=S_IFREG|0755, st_size=886, ...}) = 0
+old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000
+read(5, "#\n# Debug\n#\n# (C) 2002 Wieger Op"..., 4096) = 886
+brk(0x825d000)                          = 0x825d000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+brk(0x825e000)                          = 0x825e000
+brk(0x825f000)                          = 0x825f000
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0x40017000, 4096)                = 0
+brk(0x8260000)                          = 0x8260000
+brk(0x8261000)                          = 0x8261000
+brk(0x8262000)                          = 0x8262000
+brk(0x8263000)                          = 0x8263000
+brk(0x8264000)                          = 0x8264000
+brk(0x8265000)                          = 0x8265000
+brk(0x8266000)                          = 0x8266000
+brk(0x8267000)                          = 0x8267000
+read(4, "", 4096)                       = 0
+close(4)                                = 0
+munmap(0x40016000, 4096)                = 0
+write(2, "Setting debug: Config\n", 22) = 22
+brk(0x8268000)                          = 0x8268000
+brk(0x8269000)                          = 0x8269000
+brk(0x826a000)                          = 0x826a000
+brk(0x826b000)                          = 0x826b000
+brk(0x826c000)                          = 0x826c000
+read(3, " $dbh->selectrow_array( <<\'EOT\',"..., 4096) = 4096
+brk(0x826d000)                          = 0x826d000
+brk(0x826e000)                          = 0x826e000
+brk(0x826f000)                          = 0x826f000
+brk(0x8270000)                          = 0x8270000
+brk(0x8271000)                          = 0x8271000
+brk(0x8272000)                          = 0x8272000
+brk(0x8273000)                          = 0x8273000
+read(3, "and $protocol and $address;\n    "..., 4096) = 4096
+brk(0x8274000)                          = 0x8274000
+brk(0x8275000)                          = 0x8275000
+brk(0x8276000)                          = 0x8276000
+brk(0x8277000)                          = 0x8277000
+brk(0x8278000)                          = 0x8278000
+brk(0x8279000)                          = 0x8279000
+brk(0x827a000)                          = 0x827a000
+brk(0x827b000)                          = 0x827b000
+brk(0x827c000)                          = 0x827c000
+read(3, "  prefprot\nWHERE\n  protocol LIKE"..., 4096) = 330
+brk(0x827d000)                          = 0x827d000
+brk(0x827e000)                          = 0x827e000
+read(3, "", 4096)                       = 0
+close(3)                                = 0
+munmap(0x40015000, 4096)                = 0
+brk(0x827f000)                          = 0x827f000
+brk(0x8280000)                          = 0x8280000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("./lib/DBD/mysql.pmc", 0xbffff794) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 3
+lseek(3, 671652, SEEK_SET)              = 671652
+lseek(3, 0, SEEK_CUR)                   = 671652
+read(3, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(3, 671662, SEEK_SET)              = 671662
+lseek(3, 0, SEEK_CUR)                   = 671662
+read(3, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(3, 671669, SEEK_SET)              = 671669
+lseek(3, 2238, SEEK_CUR)                = 673907
+lseek(3, 0, SEEK_CUR)                   = 673907
+read(3, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(3, 673915, SEEK_SET)              = 673915
+lseek(3, 0, SEEK_CUR)                   = 673915
+read(3, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(3, 673922, SEEK_SET)              = 673922
+lseek(3, 1424, SEEK_CUR)                = 675346
+lseek(3, 0, SEEK_CUR)                   = 675346
+read(3, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(3, 675366, SEEK_SET)              = 675366
+lseek(3, 0, SEEK_CUR)                   = 675366
+read(3, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(3, 675373, SEEK_SET)              = 675373
+lseek(3, 9237, SEEK_CUR)                = 684610
+lseek(3, 0, SEEK_CUR)                   = 684610
+read(3, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(3, 684618, SEEK_SET)              = 684618
+lseek(3, 0, SEEK_CUR)                   = 684618
+read(3, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(3, 684626, SEEK_SET)              = 684626
+lseek(3, 40318, SEEK_CUR)               = 724944
+lseek(3, 0, SEEK_CUR)                   = 724944
+read(3, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(3, 724952, SEEK_SET)              = 724952
+lseek(3, 0, SEEK_CUR)                   = 724952
+read(3, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 724959, SEEK_SET)              = 724959
+lseek(3, 65908, SEEK_CUR)               = 790867
+lseek(3, 0, SEEK_CUR)                   = 790867
+read(3, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(3, 790881, SEEK_SET)              = 790881
+lseek(3, 0, SEEK_CUR)                   = 790881
+read(3, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(3, 790888, SEEK_SET)              = 790888
+lseek(3, 6878, SEEK_CUR)                = 797766
+lseek(3, 0, SEEK_CUR)                   = 797766
+read(3, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(3, 797776, SEEK_SET)              = 797776
+lseek(3, 0, SEEK_CUR)                   = 797776
+read(3, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 797783, SEEK_SET)              = 797783
+lseek(3, 61376, SEEK_CUR)               = 859159
+lseek(3, 0, SEEK_CUR)                   = 859159
+read(3, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(3, 859170, SEEK_SET)              = 859170
+lseek(3, 0, SEEK_CUR)                   = 859170
+read(3, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(3, 859178, SEEK_SET)              = 859178
+lseek(3, 31353, SEEK_CUR)               = 890531
+lseek(3, 0, SEEK_CUR)                   = 890531
+read(3, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(3, 890540, SEEK_SET)              = 890540
+lseek(3, 0, SEEK_CUR)                   = 890540
+read(3, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(3, 890547, SEEK_SET)              = 890547
+lseek(3, 1127, SEEK_CUR)                = 891674
+lseek(3, 0, SEEK_CUR)                   = 891674
+read(3, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(3, 891685, SEEK_SET)              = 891685
+lseek(3, 0, SEEK_CUR)                   = 891685
+read(3, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(3, 891691, SEEK_SET)              = 891691
+lseek(3, 467, SEEK_CUR)                 = 892158
+lseek(3, 0, SEEK_CUR)                   = 892158
+read(3, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(3, 892167, SEEK_SET)              = 892167
+lseek(3, 0, SEEK_CUR)                   = 892167
+read(3, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(3, 892174, SEEK_SET)              = 892174
+lseek(3, 1276, SEEK_CUR)                = 893450
+lseek(3, 0, SEEK_CUR)                   = 893450
+read(3, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(3, 893463, SEEK_SET)              = 893463
+lseek(3, 0, SEEK_CUR)                   = 893463
+read(3, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(3, 893470, SEEK_SET)              = 893470
+lseek(3, 1953, SEEK_CUR)                = 895423
+lseek(3, 0, SEEK_CUR)                   = 895423
+read(3, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(3, 895438, SEEK_SET)              = 895438
+lseek(3, 0, SEEK_CUR)                   = 895438
+read(3, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(3, 895445, SEEK_SET)              = 895445
+lseek(3, 1794, SEEK_CUR)                = 897239
+lseek(3, 0, SEEK_CUR)                   = 897239
+read(3, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(3, 897260, SEEK_SET)              = 897260
+lseek(3, 0, SEEK_CUR)                   = 897260
+read(3, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(3, 897267, SEEK_SET)              = 897267
+lseek(3, 3542, SEEK_CUR)                = 900809
+lseek(3, 0, SEEK_CUR)                   = 900809
+read(3, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(3, 900824, SEEK_SET)              = 900824
+lseek(3, 0, SEEK_CUR)                   = 900824
+read(3, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(3, 900831, SEEK_SET)              = 900831
+lseek(3, 8564, SEEK_CUR)                = 909395
+lseek(3, 0, SEEK_CUR)                   = 909395
+read(3, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(3, 909427, SEEK_SET)              = 909427
+lseek(3, 0, SEEK_CUR)                   = 909427
+read(3, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(3, 964051, SEEK_SET)              = 964051
+lseek(3, 352, SEEK_CUR)                 = 964403
+lseek(3, 0, SEEK_CUR)                   = 964403
+read(3, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(3, 964419, SEEK_SET)              = 964419
+lseek(3, 0, SEEK_CUR)                   = 964419
+read(3, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(3, 964425, SEEK_SET)              = 964425
+lseek(3, 638, SEEK_CUR)                 = 965063
+lseek(3, 0, SEEK_CUR)                   = 965063
+read(3, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(3, 965077, SEEK_SET)              = 965077
+lseek(3, 0, SEEK_CUR)                   = 965077
+read(3, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(3, 965084, SEEK_SET)              = 965084
+lseek(3, 2839, SEEK_CUR)                = 967923
+lseek(3, 0, SEEK_CUR)                   = 967923
+read(3, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(3, 967942, SEEK_SET)              = 967942
+lseek(3, 0, SEEK_CUR)                   = 967942
+read(3, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(3, 967949, SEEK_SET)              = 967949
+lseek(3, 4356, SEEK_CUR)                = 972305
+lseek(3, 0, SEEK_CUR)                   = 972305
+read(3, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(3, 972318, SEEK_SET)              = 972318
+lseek(3, 0, SEEK_CUR)                   = 972318
+read(3, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(3, 972325, SEEK_SET)              = 972325
+lseek(3, 1865, SEEK_CUR)                = 974190
+lseek(3, 0, SEEK_CUR)                   = 974190
+read(3, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(3, 974204, SEEK_SET)              = 974204
+lseek(3, 0, SEEK_CUR)                   = 974204
+read(3, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(3, 974211, SEEK_SET)              = 974211
+lseek(3, 6757, SEEK_CUR)                = 980968
+lseek(3, 0, SEEK_CUR)                   = 980968
+read(3, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(3, 980975, SEEK_SET)              = 980975
+lseek(3, 0, SEEK_CUR)                   = 980975
+read(3, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(3, 980981, SEEK_SET)              = 980981
+lseek(3, 307, SEEK_CUR)                 = 981288
+lseek(3, 0, SEEK_CUR)                   = 981288
+read(3, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(3, 981295, SEEK_SET)              = 981295
+lseek(3, 0, SEEK_CUR)                   = 981295
+read(3, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 981302, SEEK_SET)              = 981302
+lseek(3, 15208, SEEK_CUR)               = 996510
+lseek(3, 0, SEEK_CUR)                   = 996510
+read(3, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(3, 996518, SEEK_SET)              = 996518
+lseek(3, 0, SEEK_CUR)                   = 996518
+read(3, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(3, 996525, SEEK_SET)              = 996525
+lseek(3, 7669, SEEK_CUR)                = 1004194
+lseek(3, 0, SEEK_CUR)                   = 1004194
+read(3, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(3, 1004203, SEEK_SET)             = 1004203
+lseek(3, 0, SEEK_CUR)                   = 1004203
+read(3, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(3, 1004210, SEEK_SET)             = 1004210
+lseek(3, 1002, SEEK_CUR)                = 1005212
+lseek(3, 0, SEEK_CUR)                   = 1005212
+read(3, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(3, 1005223, SEEK_SET)             = 1005223
+lseek(3, 0, SEEK_CUR)                   = 1005223
+read(3, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(3, 1005230, SEEK_SET)             = 1005230
+lseek(3, 3383, SEEK_CUR)                = 1008613
+lseek(3, 0, SEEK_CUR)                   = 1008613
+read(3, "", 256)                        = 0
+lseek(3, 1008613, SEEK_SET)             = 1008613
+close(3)                                = 0
+open("./lib/DBD/mysql.pm", O_RDONLY)    = -1 ENOENT (No such file or directory)
+stat64("../../lib//DBD/mysql.pmc", 0xbffff794) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 3
+lseek(3, 671652, SEEK_SET)              = 671652
+lseek(3, 0, SEEK_CUR)                   = 671652
+read(3, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(3, 671662, SEEK_SET)              = 671662
+lseek(3, 0, SEEK_CUR)                   = 671662
+read(3, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(3, 671669, SEEK_SET)              = 671669
+lseek(3, 2238, SEEK_CUR)                = 673907
+lseek(3, 0, SEEK_CUR)                   = 673907
+read(3, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(3, 673915, SEEK_SET)              = 673915
+lseek(3, 0, SEEK_CUR)                   = 673915
+read(3, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(3, 673922, SEEK_SET)              = 673922
+lseek(3, 1424, SEEK_CUR)                = 675346
+lseek(3, 0, SEEK_CUR)                   = 675346
+read(3, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(3, 675366, SEEK_SET)              = 675366
+lseek(3, 0, SEEK_CUR)                   = 675366
+read(3, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(3, 675373, SEEK_SET)              = 675373
+lseek(3, 9237, SEEK_CUR)                = 684610
+lseek(3, 0, SEEK_CUR)                   = 684610
+read(3, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(3, 684618, SEEK_SET)              = 684618
+lseek(3, 0, SEEK_CUR)                   = 684618
+read(3, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(3, 684626, SEEK_SET)              = 684626
+lseek(3, 40318, SEEK_CUR)               = 724944
+lseek(3, 0, SEEK_CUR)                   = 724944
+read(3, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(3, 724952, SEEK_SET)              = 724952
+lseek(3, 0, SEEK_CUR)                   = 724952
+read(3, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 724959, SEEK_SET)              = 724959
+lseek(3, 65908, SEEK_CUR)               = 790867
+lseek(3, 0, SEEK_CUR)                   = 790867
+read(3, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(3, 790881, SEEK_SET)              = 790881
+lseek(3, 0, SEEK_CUR)                   = 790881
+read(3, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(3, 790888, SEEK_SET)              = 790888
+lseek(3, 6878, SEEK_CUR)                = 797766
+lseek(3, 0, SEEK_CUR)                   = 797766
+read(3, "mysql.so\r\n61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0"..., 256) = 256
+lseek(3, 797776, SEEK_SET)              = 797776
+lseek(3, 0, SEEK_CUR)                   = 797776
+read(3, "61376\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 797783, SEEK_SET)              = 797783
+lseek(3, 61376, SEEK_CUR)               = 859159
+lseek(3, 0, SEEK_CUR)                   = 859159
+read(3, "Config.pm\r\n-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6"..., 256) = 256
+lseek(3, 859170, SEEK_SET)              = 859170
+lseek(3, 0, SEEK_CUR)                   = 859170
+read(3, "-31353\r\n6\16\21K\f\10\27Ec\6\0\0\6\25Vk\1\32\nNe\16\31"..., 80) = 80
+lseek(3, 859178, SEEK_SET)              = 859178
+lseek(3, 31353, SEEK_CUR)               = 890531
+lseek(3, 0, SEEK_CUR)                   = 890531
+read(3, "Carp.pm\r\n-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk"..., 256) = 256
+lseek(3, 890540, SEEK_SET)              = 890540
+lseek(3, 0, SEEK_CUR)                   = 890540
+read(3, "-1127\r\n6\16\21K\f\10\27Ec\10\34\26Txgk~ced*|cyc"..., 80) = 80
+lseek(3, 890547, SEEK_SET)              = 890547
+lseek(3, 1127, SEEK_CUR)                = 891674
+lseek(3, 0, SEEK_CUR)                   = 891674
+read(3, "strict.pm\r\n-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6V"..., 256) = 256
+lseek(3, 891685, SEEK_SET)              = 891685
+lseek(3, 0, SEEK_CUR)                   = 891685
+read(3, "-467\r\n6\16\21K\f\10\27ES\35\34\17\f\6Vk~ced*|cyc~"..., 80) = 80
+lseek(3, 891691, SEEK_SET)              = 891691
+lseek(3, 467, SEEK_CUR)                 = 892158
+lseek(3, 0, SEEK_CUR)                   = 892158
+read(3, "vars.pm\r\n-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23"..., 256) = 256
+lseek(3, 892167, SEEK_SET)              = 892167
+lseek(3, 0, SEEK_CUR)                   = 892167
+read(3, "-1276\r\n6\16\21K\f\10\27EV\10\34\25Txg\23\21\30\32\7R"..., 80) = 80
+lseek(3, 892174, SEEK_SET)              = 892174
+lseek(3, 1276, SEEK_CUR)                = 893450
+lseek(3, 0, SEEK_CUR)                   = 893450
+read(3, "Exporter.pm\r\n-1953\r\n6\16\21K\f\10\27Ee\21\36\t"..., 256) = 256
+lseek(3, 893463, SEEK_SET)              = 893463
+lseek(3, 0, SEEK_CUR)                   = 893463
+read(3, "-1953\r\n6\16\21K\f\10\27Ee\21\36\t\35\6\10\23Oce\34E\7"..., 80) = 80
+lseek(3, 893470, SEEK_SET)              = 893470
+lseek(3, 1953, SEEK_CUR)                = 895423
+lseek(3, 0, SEEK_CUR)                   = 895423
+read(3, "FileHandle.pm\r\n-1794\r\n6\16\21K\f\10\27Ef\0"..., 256) = 256
+lseek(3, 895438, SEEK_SET)              = 895438
+lseek(3, 0, SEEK_CUR)                   = 895438
+read(3, "-1794\r\n6\16\21K\f\10\27Ef\0\2\3\'\23\3\5\30\fTd*\3\32"..., 80) = 80
+lseek(3, 895445, SEEK_SET)              = 895445
+lseek(3, 1794, SEEK_CUR)                = 897239
+lseek(3, 0, SEEK_CUR)                   = 897239
+read(3, "Multigate/Config.pm\r\n-3542\r\neex*"..., 256) = 256
+lseek(3, 897260, SEEK_SET)              = 897260
+lseek(3, 0, SEEK_CUR)                   = 897260
+read(3, "-3542\r\neex*gex\25A\n\5\7\10\27M,\1\5\33\7G\27\35\26S"..., 80) = 80
+lseek(3, 897267, SEEK_SET)              = 897267
+lseek(3, 3542, SEEK_CUR)                = 900809
+lseek(3, 0, SEEK_CUR)                   = 900809
+read(3, "DynaLoader.pm\r\n-8564\r\nLexP\f\f\31\4G\f"..., 256) = 256
+lseek(3, 900824, SEEK_SET)              = 900824
+lseek(3, 0, SEEK_CUR)                   = 900824
+read(3, "-8564\r\nLexP\f\f\31\4G\fN\"\26\34\f-\33\10\v\vRMcyc"..., 80) = 80
+lseek(3, 900831, SEEK_SET)              = 900831
+lseek(3, 8564, SEEK_CUR)                = 909395
+lseek(3, 0, SEEK_CUR)                   = 909395
+read(3, "auto/DynaLoader/dl_findfile.al\r\n"..., 256) = 256
+lseek(3, 909427, SEEK_SET)              = 909427
+lseek(3, 0, SEEK_CUR)                   = 909427
+read(3, "-3094\r\neO\0\2\f\35U*|cyc~"..., 80) = 80
+lseek(3, 964051, SEEK_SET)              = 964051
+lseek(3, 352, SEEK_CUR)                 = 964403
+lseek(3, 0, SEEK_CUR)                   = 964403
+read(3, "IO/Seekable.pm\r\n-638\r\neexP\f\f\31\4G\f"..., 256) = 256
+lseek(3, 964419, SEEK_SET)              = 964419
+lseek(3, 0, SEEK_CUR)                   = 964419
+read(3, "-638\r\neexP\f\f\31\4G\fN/ HW2\21\f\4\17B\32\fHc~"..., 80) = 80
+lseek(3, 964425, SEEK_SET)              = 964425
+lseek(3, 638, SEEK_CUR)                 = 965063
+lseek(3, 0, SEEK_CUR)                   = 965063
+read(3, "File/Spec.pm\r\n-2839\r\n6\16\21K\f\10\27Ef\0\2"..., 256) = 256
+lseek(3, 965077, SEEK_SET)              = 965077
+lseek(3, 0, SEEK_CUR)                   = 965077
+read(3, "-2839\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nTd*\3\32\26"..., 80) = 80
+lseek(3, 965084, SEEK_SET)              = 965084
+lseek(3, 2839, SEEK_CUR)                = 967923
+lseek(3, 0, SEEK_CUR)                   = 967923
+read(3, "File/Spec/Unix.pm\r\n-4356\r\n6\16\21K\f\10"..., 256) = 256
+lseek(3, 967942, SEEK_SET)              = 967942
+lseek(3, 0, SEEK_CUR)                   = 967942
+read(3, "-4356\r\n6\16\21K\f\10\27Ef\0\2\3UH>\21\21\nUTu\30\0\v"..., 80) = 80
+lseek(3, 967949, SEEK_SET)              = 967949
+lseek(3, 4356, SEEK_CUR)                = 972305
+lseek(3, 0, SEEK_CUR)                   = 972305
+read(3, "XSLoader.pm\r\n-1865\r\neO5E\3\n\0\4T\f\nF"..., 256) = 256
+lseek(3, 972318, SEEK_SET)              = 972318
+lseek(3, 0, SEEK_CUR)                   = 972318
+read(3, "-1865\r\neO5E\3\n\0\4T\f\nF\t\0\2\fT1<\"O\27\r\26\33"..., 80) = 80
+lseek(3, 972325, SEEK_SET)              = 972325
+lseek(3, 1865, SEEK_CUR)                = 974190
+lseek(3, 0, SEEK_CUR)                   = 974190
+read(3, "IO/Handle.pm\r\n-6757\r\nL\37\23C\6\16\25\0\0 !"..., 256) = 256
+lseek(3, 974204, SEEK_SET)              = 974204
+lseek(3, 0, SEEK_CUR)                   = 974204
+read(3, "-6757\r\nL\37\23C\6\16\25\0\0 !\\U:\f\17\20\5\nU*|cyc"..., 80) = 80
+lseek(3, 974211, SEEK_SET)              = 974211
+lseek(3, 6757, SEEK_CUR)                = 980968
+lseek(3, 0, SEEK_CUR)                   = 980968
+read(3, "IO.pm\r\n-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\n"..., 256) = 256
+lseek(3, 980975, SEEK_SET)              = 980975
+lseek(3, 0, SEEK_CUR)                   = 980975
+read(3, "-307\r\neexP\f\f\31\4G\fN/ Igk\1\32\nNx%%\34\10\20"..., 80) = 80
+lseek(3, 980981, SEEK_SET)              = 980981
+lseek(3, 307, SEEK_CUR)                 = 981288
+lseek(3, 0, SEEK_CUR)                   = 981288
+read(3, "IO.so\r\n15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0"..., 256) = 256
+lseek(3, 981295, SEEK_SET)              = 981295
+lseek(3, 0, SEEK_CUR)                   = 981295
+read(3, "15208\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 981302, SEEK_SET)              = 981302
+lseek(3, 15208, SEEK_CUR)               = 996510
+lseek(3, 0, SEEK_CUR)                   = 996510
+read(3, "Cwd.pm\r\n-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1"..., 256) = 256
+lseek(3, 996518, SEEK_SET)              = 996518
+lseek(3, 0, SEEK_CUR)                   = 996518
+read(3, "-7669\r\n6\16\21K\f\10\27Ec\36\n]e\0\10\20\1\0\35\v\0C"..., 80) = 80
+lseek(3, 996525, SEEK_SET)              = 996525
+lseek(3, 7669, SEEK_CUR)                = 1004194
+lseek(3, 0, SEEK_CUR)                   = 1004194
+read(3, "base.pm\r\n-1002\r\nLex*gexo*cdlexgk"..., 256) = 256
+lseek(3, 1004203, SEEK_SET)             = 1004203
+lseek(3, 0, SEEK_CUR)                   = 1004203
+read(3, "-1002\r\nLex*gexo*cdlexgk~ced*|cyc"..., 80) = 80
+lseek(3, 1004210, SEEK_SET)             = 1004210
+lseek(3, 1002, SEEK_CUR)                = 1005212
+lseek(3, 0, SEEK_CUR)                   = 1005212
+read(3, "fields.pm\r\n-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1"..., 256) = 256
+lseek(3, 1005223, SEEK_SET)             = 1005223
+lseek(3, 0, SEEK_CUR)                   = 1005223
+read(3, "-3383\r\n6\16\21K\f\10\27EF\0\v\n\v\1Vk~ced*|cyc"..., 80) = 80
+lseek(3, 1005230, SEEK_SET)             = 1005230
+lseek(3, 3383, SEEK_CUR)                = 1008613
+lseek(3, 0, SEEK_CUR)                   = 1008613
+read(3, "", 256)                        = 0
+lseek(3, 1008613, SEEK_SET)             = 1008613
+close(3)                                = 0
+open("../../lib//DBD/mysql.pm", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/DBD/mysql.pmc", 0xbffff794) = -1 ENOENT (No such file or directory)
+open("/home/multilink/multidev/commands/group/group", O_RDONLY) = 3
+lseek(3, 671652, SEEK_SET)              = 671652
+lseek(3, 0, SEEK_CUR)                   = 671652
+read(3, "group.pl\r\n-2238\r\neN]U\36\35]\7I\7A\26\n\0\1"..., 256) = 256
+lseek(3, 671662, SEEK_SET)              = 671662
+lseek(3, 0, SEEK_CUR)                   = 671662
+read(3, "-2238\r\neN]U\36\35]\7I\7A\26\n\0\1AY\36edU\5\fS\5"..., 80) = 80
+lseek(3, 671669, SEEK_SET)              = 671669
+lseek(3, 2238, SEEK_CUR)                = 673907
+lseek(3, 0, SEEK_CUR)                   = 673907
+read(3, "lib.pm\r\n-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21"..., 256) = 256
+lseek(3, 673915, SEEK_SET)              = 673915
+lseek(3, 0, SEEK_CUR)                   = 673915
+read(3, "-1424\r\n6\16\21K\f\10\27EL\0\f]ex\30\22\21IZ@\20F\\,_"..., 80) = 80
+lseek(3, 673922, SEEK_SET)              = 673922
+lseek(3, 1424, SEEK_CUR)                = 675346
+lseek(3, 0, SEEK_CUR)                   = 675346
+read(3, "Multigate/Users.pm\r\n-9237\r\n6\16\21K\f"..., 256) = 256
+lseek(3, 675366, SEEK_SET)              = 675366
+lseek(3, 0, SEEK_CUR)                   = 675366
+read(3, "-9237\r\n6\16\21K\f\10\27Em\34\2\22\6\25\f\25\21SU;S\23"..., 80) = 80
+lseek(3, 675373, SEEK_SET)              = 675373
+lseek(3, 9237, SEEK_CUR)                = 684610
+lseek(3, 0, SEEK_CUR)                   = 684610
+read(3, "DBI.pm\r\n-40318\r\neOVi\tUR!b @\26\2^\33A"..., 256) = 256
+lseek(3, 684618, SEEK_SET)              = 684618
+lseek(3, 0, SEEK_CUR)                   = 684618
+read(3, "-40318\r\neOVi\tUR!b @\26\2^\33AEXAY\0DYC"..., 80) = 80
+lseek(3, 684626, SEEK_SET)              = 684626
+lseek(3, 40318, SEEK_CUR)               = 724944
+lseek(3, 0, SEEK_CUR)                   = 724944
+read(3, "DBI.so\r\n65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 256) = 256
+lseek(3, 724952, SEEK_SET)              = 724952
+lseek(3, 0, SEEK_CUR)                   = 724952
+read(3, "65908\r\n\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0"..., 80) = 80
+lseek(3, 724959, SEEK_SET)              = 724959
+lseek(3, 65908, SEEK_CUR)               = 790867
+lseek(3, 0, SEEK_CUR)                   = 790867
+read(3, "DBD/mysql.pm\r\n-6878\r\neOR\0\"\32\0EB\f\2"..., 256) = 256
+lseek(3, 790881, SEEK_SET)              = 790881
+lseek(3, 0, SEEK_CUR)                   = 790881
+read(3, "-6878\r\neOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32"..., 80) = 80
+lseek(3, 790888, SEEK_SET)              = 790888
+brk(0x8282000)                          = 0x8282000
+lseek(3, 0, SEEK_CUR)                   = 790888
+read(3, "eOR\0\"\32\0EB\f\2\t\31\27\tA1\4\16\rSV\36\32\5\30\0\20"..., 6878) = 6878
+brk(0x8284000)                          = 0x8284000
+close(3)                                = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+brk(0x8285000)                          = 0x8285000
+brk(0x8286000)                          = 0x8286000
+brk(0x8287000)                          = 0x8287000
+brk(0x8288000)                          = 0x8288000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+brk(0x8289000)                          = 0x8289000
+brk(0x828a000)                          = 0x828a000
+brk(0x828b000)                          = 0x828b000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+brk(0x828c000)                          = 0x828c000
+brk(0x828d000)                          = 0x828d000
+brk(0x828e000)                          = 0x828e000
+brk(0x828f000)                          = 0x828f000
+brk(0x8290000)                          = 0x8290000
+brk(0x8291000)                          = 0x8291000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+stat64("./lib/auto/DBD/mysql", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("../../lib//auto/DBD/mysql", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE/auto/DBD/mysql", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("/tmp/auto/DBD/mysql", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("/home/multilink/multidev/commands/group/auto/DBD/mysql", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("lib\\site/auto/DBD/mysql", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("/home/multilink/multidev/commands/group/lib/5.6.1/i686-linux/auto/DBD/mysql", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("/home/multilink/multidev/commands/group/lib/5.6.1/auto/DBD/mysql", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("/home/multilink/multidev/commands/group/lib/site_perl/5.6.1/i686-linux/auto/DBD/mysql", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("/home/multilink/multidev/commands/group/lib/site_perl/5.6.1/auto/DBD/mysql", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/lib/perl5/site_perl/auto/DBD/mysql", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("./auto/DBD/mysql", 0xbffff8c0)  = -1 ENOENT (No such file or directory)
+stat64("-L./lib", 0xbffff8c0)           = -1 ENOENT (No such file or directory)
+stat64("-L../../lib/", 0xbffff8c0)      = -1 ENOENT (No such file or directory)
+stat64("-L/tmp", 0xbffff8c0)            = -1 ENOENT (No such file or directory)
+stat64("-L/home/multilink/multidev/commands/group", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("-L/home/multilink/multidev/commands/group/lib/5.6.1/i686-linux", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("-L/home/multilink/multidev/commands/group/lib/5.6.1", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("-L/home/multilink/multidev/commands/group/lib/site_perl/5.6.1/i686-linux", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("-L/home/multilink/multidev/commands/group/lib/site_perl/5.6.1", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("-L/usr/local/lib/perl5/site_perl", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("./lib", 0xbffff8c0)             = -1 ENOENT (No such file or directory)
+stat64("../../lib/", {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0
+stat64("../../lib//mysql.so", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("../../lib//mysql.so", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("../../lib//libmysql.so", 0xbffff8c0) = -1 ENOENT (No such file or directory)
+stat64("../../lib//mysql", 0xbffff8c0)  = -1 ENOENT (No such file or directory)
+stat64("PERL2EXE_STORAGE", 0xbffff8c0)  = -1 ENOENT (No such file or directory)
+stat64("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=16384, ...}) = 0
+stat64("/tmp/mysql.so", {st_mode=S_IFREG|0775, st_size=61376, ...}) = 0
+stat64("/tmp/mysql.bs", 0xbffff8b8)     = -1 ENOENT (No such file or directory)
+open("/tmp/mysql.so", O_RDONLY)         = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240,\0"..., 1024) = 1024
+fstat64(3, {st_mode=S_IFREG|0775, st_size=61376, ...}) = 0
+old_mmap(NULL, 64392, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x401b3000
+mprotect(0x401c1000, 7048, PROT_NONE)   = 0
+old_mmap(0x401c1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xd000) = 0x401c1000
+close(3)                                = 0
+open("i686/mmx/libmysqlclient.so.10", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("i686/libmysqlclient.so.10", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("mmx/libmysqlclient.so.10", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("libmysqlclient.so.10", O_RDONLY)  = -1 ENOENT (No such file or directory)
+open("./i686/mmx/libmysqlclient.so.10", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("./i686/libmysqlclient.so.10", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("./mmx/libmysqlclient.so.10", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("./libmysqlclient.so.10", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/etc/ld.so.cache", O_RDONLY)      = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=14323, ...}) = 0
+old_mmap(NULL, 14323, PROT_READ, MAP_PRIVATE, 3, 0) = 0x401c3000
+close(3)                                = 0
+open("/usr/lib/libmysqlclient.so.10", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\177"..., 1024) = 1024
+fstat64(3, {st_mode=S_IFREG|0644, st_size=217348, ...}) = 0
+old_mmap(NULL, 216928, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x401c7000
+mprotect(0x401e4000, 98144, PROT_NONE)  = 0
+old_mmap(0x401e4000, 98304, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1d000) = 0x401e4000
+close(3)                                = 0
+open("i686/mmx/libz.so.1", O_RDONLY)    = -1 ENOENT (No such file or directory)
+open("i686/libz.so.1", O_RDONLY)        = -1 ENOENT (No such file or directory)
+open("mmx/libz.so.1", O_RDONLY)         = -1 ENOENT (No such file or directory)
+open("libz.so.1", O_RDONLY)             = -1 ENOENT (No such file or directory)
+open("./i686/mmx/libz.so.1", O_RDONLY)  = -1 ENOENT (No such file or directory)
+open("./i686/libz.so.1", O_RDONLY)      = -1 ENOENT (No such file or directory)
+open("./mmx/libz.so.1", O_RDONLY)       = -1 ENOENT (No such file or directory)
+open("./libz.so.1", O_RDONLY)           = -1 ENOENT (No such file or directory)
+open("/usr/lib/libz.so.1", O_RDONLY)    = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\30"..., 1024) = 1024
+fstat64(3, {st_mode=S_IFREG|0644, st_size=54632, ...}) = 0
+old_mmap(NULL, 57756, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x401fc000
+mprotect(0x40208000, 8604, PROT_NONE)   = 0
+old_mmap(0x40208000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xb000) = 0x40208000
+close(3)                                = 0
+munmap(0x401c3000, 14323)               = 0
+brk(0x8292000)                          = 0x8292000
+brk(0x8293000)                          = 0x8293000
+brk(0x8294000)                          = 0x8294000
+brk(0x8295000)                          = 0x8295000
+brk(0x8296000)                          = 0x8296000
+brk(0x8297000)                          = 0x8297000
+rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
+chdir("../../")                         = 0
+stat64("multi.conf", {st_mode=S_IFREG|0600, st_size=1278, ...}) = 0
+open("multi.conf", O_RDONLY)            = 3
+fstat64(3, {st_mode=S_IFREG|0600, st_size=1278, ...}) = 0
+fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
+fstat64(3, {st_mode=S_IFREG|0600, st_size=1278, ...}) = 0
+old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000
+read(3, "# Multigate configuration file\n#"..., 4096) = 1278
+read(3, "", 4096)                       = 0
+close(3)                                = 0
+munmap(0x40015000, 4096)                = 0
+brk(0x8298000)                          = 0x8298000
+open("/etc/nsswitch.conf", O_RDONLY)    = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=465, ...}) = 0
+old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000
+read(3, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 465
+brk(0x8299000)                          = 0x8299000
+read(3, "", 4096)                       = 0
+close(3)                                = 0
+munmap(0x40015000, 4096)                = 0
+open("./i686/mmx/libnss_db.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("./i686/libnss_db.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("./mmx/libnss_db.so.2", O_RDONLY)  = -1 ENOENT (No such file or directory)
+open("./libnss_db.so.2", O_RDONLY)      = -1 ENOENT (No such file or directory)
+open("/etc/ld.so.cache", O_RDONLY)      = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=14323, ...}) = 0
+old_mmap(NULL, 14323, PROT_READ, MAP_PRIVATE, 3, 0) = 0x401c3000
+close(3)                                = 0
+open("/lib/libnss_db.so.2", O_RDONLY)   = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\22"..., 1024) = 1024
+fstat64(3, {st_mode=S_IFREG|0644, st_size=16944, ...}) = 0
+old_mmap(NULL, 20336, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4020b000
+mprotect(0x4020f000, 3952, PROT_NONE)   = 0
+old_mmap(0x4020f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x3000) = 0x4020f000
+close(3)                                = 0
+open("./i686/mmx/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("./i686/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("./mmx/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("./libnss_files.so.2", O_RDONLY)   = -1 ENOENT (No such file or directory)
+open("/lib/libnss_files.so.2", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\35\0\000"..., 1024) = 1024
+fstat64(3, {st_mode=S_IFREG|0644, st_size=32668, ...}) = 0
+old_mmap(NULL, 36112, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40210000
+mprotect(0x40218000, 3344, PROT_NONE)   = 0
+old_mmap(0x40218000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x7000) = 0x40218000
+close(3)                                = 0
+open("./i686/mmx/libdb3.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("./i686/libdb3.so.3", O_RDONLY)    = -1 ENOENT (No such file or directory)
+open("./mmx/libdb3.so.3", O_RDONLY)     = -1 ENOENT (No such file or directory)
+open("./libdb3.so.3", O_RDONLY)         = -1 ENOENT (No such file or directory)
+open("/usr/lib/libdb3.so.3", O_RDONLY)  = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\311\0"..., 1024) = 1024
+fstat64(3, {st_mode=S_IFREG|0644, st_size=684092, ...}) = 0
+old_mmap(NULL, 687628, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40219000
+mprotect(0x402c0000, 3596, PROT_NONE)   = 0
+old_mmap(0x402c0000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xa6000) = 0x402c0000
+close(3)                                = 0
+munmap(0x401c3000, 14323)               = 0
+open("/var/lib/misc/services.db", O_RDWR|O_LARGEFILE) = -1 ENOENT (No such file or directory)
+open("/var/lib/misc/services.db", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
+open("/etc/services", O_RDONLY)         = 3
+fcntl64(3, F_GETFD)                     = 0
+fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
+fstat64(3, {st_mode=S_IFREG|0644, st_size=16126, ...}) = 0
+old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000
+read(3, "# /etc/services:\n# $Id: services"..., 4096) = 4096
+read(3, "209/udp\t\t\t\t# The Quick Mail Tran"..., 4096) = 4096
+read(3, "CM SC-104 IANA 1/29/99\nrtcm-sc10"..., 4096) = 4096
+close(3)                                = 0
+munmap(0x40015000, 4096)                = 0
+rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
+socket(PF_UNIX, SOCK_STREAM, 0)         = 3
+fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
+connect(3, {sin_family=AF_UNIX, path="/var/run/mysqld/mysqld.sock"}, 110) = 0
+brk(0x829c000)                          = 0x829c000
+setsockopt(3, SOL_IP, IP_TOS, [8], 4)   = -1 EOPNOTSUPP (Operation not supported)
+setsockopt(3, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
+read(3, ",\0\0\0", 4)                   = 4
+read(3, "\n3.23.49-log\0\3\32\0\0U7Po[\\= $adminlevel );
+            exit 1;
+        }
+        unless ( ( $userlevel >= $adminlevel ) or ( get_group_admin_flag( $rest, $realuser ) eq "yes" ) ) {
+            print "You are not an admin for $rest";
+            exit 1;
+        }
+
+        my @members = ();
+        foreach my $member ( get_group_members($rest) ) {
+            if ( get_group_admin_flag( $rest, $member ) eq 'yes' ) {
+                push @members, "$member (admin)";
+            } else {
+                push @members, $member;
+            }
+        }
+        print join ", ", @members;
+    } else {
+        print "list what?\n";
+    }
+} elsif ( lc($command) eq "add" ) {
+    my ( $group, $user ) = split " ", $rest, 2;
+    my $protocol;
+
+    if ( $user =~ /(\w+):(\w+)/ ) {
+        $user     = $1;
+        $protocol = $2;
+    }
+
+    unless ( ( $userlevel >= $adminlevel ) or ( get_group_admin_flag( $group, $realuser ) eq "yes" ) ) {
+        print "You are not an admin for $group\n";
+        exit 1;
+    }
+    if ( user_exists($user) ) {
+        if ( add_group_member( $group, $user ) ) {
+            print "Adding $user to $group\n";
+            if ( defined $protocol ) {
+                if ( my $bla = set_group_protocol( $group, $user, $protocol ) ) {
+                    print "Setting group-protocol for $group,$user to $protocol, \"$bla\"\n";
+                } else {
+                    print "Failed setting group-protocol for $group,$user to $protocol\n";
+                }
+            }
+        } else {
+            print "Failed adding $user to $group\n";
+        }
+    } else {
+        print "usage: group add groupname username\n";
+    }
+
+} elsif ( ( lc($command) eq "remove" ) or ( lc($command) eq "del" ) ) {
+    my ( $group, $user ) = split " ", $rest, 2;
+
+    unless ( ( $userlevel >= $adminlevel ) or ( get_group_admin_flag( $group, $realuser ) eq "yes" ) ) {
+        print "You are not an admin for $group";
+        exit 1;
+    }
+
+    if ( user_in_group( $group, $user ) ) {
+        my $result = remove_group_member( $group, $user );
+        print "Removing $user from $group: $result";
+    } else {
+        print "user \"$user\" not in group \"$group\"\n";
+    }
+
+} elsif ( lc($command) eq "setadmin" ) {
+    my ( $group, $user ) = split " ", $rest, 2;
+
+    unless ( ( $userlevel >= $adminlevel ) or ( get_group_admin_flag( $group, $realuser ) eq "yes" ) ) {
+        print "You are not an admin for $group";
+        exit 1;
+    }
+
+    if ( user_exists($user) ) {
+        my $result = set_group_admin_flag( $group, $user );
+        print "Setting adminflag for $user on $group: $result";
+    } else {
+        print "usage: group setadmin groupname username\n";
+    }
+
+} elsif ( lc($command) eq "unsetadmin" ) {
+    my ( $group, $user ) = split " ", $rest, 2;
+
+    unless ( ( $userlevel >= $adminlevel ) or ( get_group_admin_flag( $group, $realuser ) eq "yes" ) ) {
+        print "You are not an admin for $group";
+        exit 1;
+    }
+
+    if ( user_exists($user) ) {
+        my $result = unset_group_admin_flag( $group, $user );
+        print "Removing adminflag for $user on $group: $result";
+    } else {
+        print "usage: group setadmin groupname username\n";
+    }
+
+} elsif ( lc($command) eq "listgroups" ) {
+    if ( $userlevel >= $adminlevel ) {
+        print join ", ", list_groups();
+    }
+} else {
+    print "unknown option: $command\n";
+}
+
+Multigate::Users::cleanup_users_module();
diff --git a/group/help.txt b/group/help.txt
new file mode 100644
index 0000000..098461f
--- /dev/null
+++ b/group/help.txt
@@ -0,0 +1 @@
+group (list|add|remove|setadmin|unsetadmin) groupname [username]
\ No newline at end of file
diff --git a/gt/command.cfg b/gt/command.cfg
new file mode 100644
index 0000000..30a90df
--- /dev/null
+++ b/gt/command.cfg
@@ -0,0 +1,2 @@
+level = 50
+cache = 3600
\ No newline at end of file
diff --git a/gt/gt.elz b/gt/gt.elz
new file mode 100644
index 0000000..c4e1743
--- /dev/null
+++ b/gt/gt.elz
@@ -0,0 +1,42 @@
+#translates text via babelfish
+# (-t) text is text to translate
+# (-l) lang is one of: 
+# en|fr
+# en|de
+# en|it
+# en|pt
+# en|es
+# fr|en
+# de|en
+# it|en
+# pt|en
+# es|en
+# de|fr
+# fr|de
+# ru|en
+
+var onerror = continue
+var dumprequest = on
+var dumpheaders = on
+var dumpbody = on
+#var shout = verbose
+var shout = silent
+var proxy = proxy.utwente.nl 3128
+
+var text = %%cmdoptt%%
+var lang = %%cmdoptl%%
+
+get url http://www.google.com/language_tools?hl=en
+
+field %ALL% $
+field langpair = %%lang%%
+field text = %%text%%
+
+post url http://translate.google.com/translate_t
+#print %%body%% 
+
+var result from text @ textarea name q
+
+# 
+#var result between name="q" 
+print %%result%%
diff --git a/gt/gt.pl b/gt/gt.pl
new file mode 100755
index 0000000..ea51865
--- /dev/null
+++ b/gt/gt.pl
@@ -0,0 +1,60 @@
+#!/usr/bin/perl -w
+use strict;
+use LWP::UserAgent;
+use URI::Escape;
+
+my %languages = (
+    eg => 'en|de',
+    es => 'en|es',
+    ef => 'en|fr',
+    ei => 'en|it',
+    ep => 'en|pt',
+    ge => 'de|en',
+    gf => 'de|fr',
+    se => 'es|en',
+    sf => 'es|fr',
+    fe => 'fr|en',
+    fg => 'fr|de',
+    fs => 'fr|es',
+    ie => 'it|en',
+    pe => 'pt|en'
+);
+
+if ( @ARGV < 1 ) { print "Syntax: gt [fromto] [text to translate]\n" }
+else {
+    my $lang;
+    my $text = join " ", @ARGV;
+    ( $lang, $text ) = split /\s/, $text, 2;
+    if ( !defined( $languages{$lang} ) ) {
+        print
+          "This translation is not supported. Supported translations from->to are: eg, es, ef, ei, ep, ge, gf, se, sf, fe, fg, fs, ie, pe\n";
+    } else {
+
+        $text = uri_escape($text);
+        $text =~ s/\+/%2B/g;
+        $text =~ s/%20/+/g;
+
+        $lang = $languages{$lang};
+
+        my $ua = new LWP::UserAgent;
+
+        #Set agent name, we are not a script! :)
+        my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)";
+        $ua->agent($agent);
+
+        my $request =
+          new HTTP::Request( 'GET', "http://translate.google.com/translate_t?text=$text&langpair=$lang&hl=en&ie=UTF-8&safe=off" );
+        my $content = $ua->request($request)->content;
+
+        my @lines = split /^/m, $content;
+
+        foreach my $line (@lines) {
+            if ( $line =~ /textarea name=q rows=5 cols=45 wrap=PHYSICAL>(.*?)<\/textarea>/ ) {
+                print $1 , "\n";
+                exit 0;
+            }
+        }
+        print "Sorry, translation did not succeed\n";
+
+    }
+}
diff --git a/gt/help.txt b/gt/help.txt
new file mode 100644
index 0000000..2169b4a
--- /dev/null
+++ b/gt/help.txt
@@ -0,0 +1 @@
+gt from_to text: google translation of text (from_to: eg, es, ef, ei, ep, ge, gf, se, sf, fe, fg, fs, ie, pe)
diff --git a/gt/level b/gt/level
new file mode 100644
index 0000000..e373ee6
--- /dev/null
+++ b/gt/level
@@ -0,0 +1 @@
+50
diff --git a/haxor/command.cfg b/haxor/command.cfg
new file mode 100644
index 0000000..3a2c67a
--- /dev/null
+++ b/haxor/command.cfg
@@ -0,0 +1 @@
+level = 50
diff --git a/haxor/haxor.pl b/haxor/haxor.pl
new file mode 100755
index 0000000..77f1199
--- /dev/null
+++ b/haxor/haxor.pl
@@ -0,0 +1,18 @@
+#!/usr/bin/perl -w
+
+$commandline = join " ", @ARGV;
+$commandline =~ tr/abceiklstABCEIKLST/48\(3\!x15748\(3\!X157/;
+print "$commandline\n";
+
+# For historical reasons:
+#%map = (
+#  'a' => '4',
+#  'b' => '8',
+#  'c' => '(',
+#  'e' => '3',
+#  'i' => '!',
+#  'k' => 'x',
+#  'l' => '1',
+#  's' => '5',
+#  't' => '7',
+#);
diff --git a/haxor/help.txt b/haxor/help.txt
new file mode 100644
index 0000000..e3389b1
--- /dev/null
+++ b/haxor/help.txt
@@ -0,0 +1,3 @@
+Translates a string from plaintext to haxor.
+Syntax: haxor 
+Example: Example will be translated to 3x4mpl3
diff --git a/haxor/level b/haxor/level
new file mode 100644
index 0000000..c5b431b
--- /dev/null
+++ b/haxor/level
@@ -0,0 +1 @@
+50
\ No newline at end of file
diff --git a/heen/command.cfg b/heen/command.cfg
new file mode 100644
index 0000000..b6f27aa
--- /dev/null
+++ b/heen/command.cfg
@@ -0,0 +1,2 @@
+level = 0
+cache = 300
\ No newline at end of file
diff --git a/heen/heen.pl b/heen/heen.pl
new file mode 100755
index 0000000..335560f
--- /dev/null
+++ b/heen/heen.pl
@@ -0,0 +1,35 @@
+#!/usr/bin/perl -w
+# Casper Joost Eyckelhof (Titanhead)
+# casper@joost.student.utwente.nl
+
+use LWP::UserAgent;
+use HTTP::Cookies;
+
+$ua = new LWP::UserAgent;
+
+#### allerlei fijne definities en initialisaties ########
+
+@agents = (
+    "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)",
+    "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
+);
+
+$agent = @agents[ int( rand(@agents) ) ];
+$ua->agent($agent);
+
+$request = new HTTP::Request( 'GET', "http://www.knmi.nl/voorl/weer/weermain.html" );
+$request->referer("http://www.knmi.nl/voorl/weer/");
+$response = $ua->request($request);
+$html     = $response->content;
+#$html =~ s/\n/ /g;
+
+$html =~ m/Het weer.*?//;
+$weer =~ s/<.*?>//g;
+$weer =~ s/^.*?>//;
+$weer =~ s/\n/ /g;
+$weer =~ s/\r//g;
+$weer =~ s/(\s+)/ /g;
+$weer =~ s/\.\.\.//;
+print reverse($weer)." (Bron: KNMI)\n";
diff --git a/heen/help.txt b/heen/help.txt
new file mode 100644
index 0000000..b78d184
--- /dev/null
+++ b/heen/help.txt
@@ -0,0 +1 @@
+heen: omgekeerde van weer :)
\ No newline at end of file
diff --git a/heen/level b/heen/level
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/heen/level
@@ -0,0 +1 @@
+0
diff --git a/help/command.cfg b/help/command.cfg
new file mode 100644
index 0000000..925da72
--- /dev/null
+++ b/help/command.cfg
@@ -0,0 +1,2 @@
+level = 0
+user = 0
diff --git a/help/help.pl b/help/help.pl
new file mode 100755
index 0000000..2d4e176
--- /dev/null
+++ b/help/help.pl
@@ -0,0 +1,72 @@
+#!/usr/bin/perl -w
+#
+# Gives help on commands that the calling user has rights for
+# Some magic with paths to keep things working    *bah*
+# Maybe we need some magic in the .pm's instead?
+# 
+# Casper Joost Eyckelhof , 2002 
+
+use strict;
+use Cwd;
+
+use lib '../../lib/';
+use Multigate::Config qw (read_commandconfig);
+
+my $dirname = "..";
+my ( $helpfile, $dummy );
+
+if (@ARGV) {
+    ( $helpfile, $dummy ) = split /\s/, shift @ARGV, 2;
+}
+my @topics = ();
+my $file;
+
+my $pwd = cwd();
+
+chdir "../../";
+my $level = $ENV{'MULTI_USERLEVEL'};
+
+opendir( DIR, "$pwd/$dirname" ) or die "can't opendir $pwd/$dirname: $!";
+while ( defined( $file = readdir(DIR) ) ) {
+    if ( ( -T "$pwd/$dirname/$file/help.txt" ) && ( $file !~ /^\.{1,2}$/ ) ) {
+        my %config = read_commandconfig($file);
+        if ( $level >= $config{level} ) {
+            push @topics, $file;
+        }
+    }
+}
+closedir(DIR);
+
+if ( ( defined $helpfile ) && ( $helpfile =~ /\w+/ ) ) {
+    $helpfile = lc($helpfile);
+    if ( -T "$pwd/$dirname/$helpfile/help.txt" ) {
+        my %config = read_commandconfig($helpfile);
+        if ( $level >= $config{level} ) {
+            open( HELP, "<$pwd/$dirname/$helpfile/help.txt" );
+            my @help = ;
+            close(HELP);
+            my $helptext = join '', @help;
+            chomp $helptext;
+
+            # Add command author to end of helptext, if we know it
+            if ( defined $config{'author'} ) {
+                $helptext .= " (Author: $config{'author'})";
+            }
+
+            print $helptext, "\n";
+        } else {
+            print "Sorry, user level not sufficient\n";
+        }
+    } else {
+        print "Sorry, no help available on $helpfile\n";
+    }
+} else {
+    print "Help available on the following commands, use !help  for more info:\n";
+    my $topic;
+    foreach $topic ( sort @topics ) {
+        print $topic. " ";
+    }
+    print "\n";
+}
+
+chdir $pwd;
diff --git a/help/help.txt b/help/help.txt
new file mode 100644
index 0000000..783d66d
--- /dev/null
+++ b/help/help.txt
@@ -0,0 +1 @@
+help  : geeft help voor 
diff --git a/help/level b/help/level
new file mode 100644
index 0000000..c5b431b
--- /dev/null
+++ b/help/level
@@ -0,0 +1 @@
+50
\ No newline at end of file
diff --git a/help/missinghelp.pl b/help/missinghelp.pl
new file mode 100755
index 0000000..f300a64
--- /dev/null
+++ b/help/missinghelp.pl
@@ -0,0 +1,46 @@
+#!/usr/bin/perl -w
+#
+# Gives help on commands that the calling user has rights for
+# Some magic with paths to keep things working    *bah*
+# Maybe we need some magic in the .pm's instead?
+# 
+# Casper Joost Eyckelhof , 2002 
+
+use strict;
+use Cwd;
+
+use lib '../../lib/';
+use Multigate::Config qw (read_commandconfig);
+use Multigate::Users;
+
+my $dirname = "..";
+my ( $user, $helpfile, $dummy );
+
+if (@ARGV) {
+    ( $user, $helpfile, $dummy ) = split /\s/, shift @ARGV, 3;
+}
+my @topics = ();
+my $file;
+
+my $pwd = cwd();
+
+chdir "../../";
+Multigate::Users::init_users_module();
+my $level = Multigate::Users::get_userlevel($user);
+Multigate::Users::cleanup_users_module();
+
+opendir( DIR, "$pwd/$dirname" ) or die "can't opendir $pwd/$dirname: $!";
+while ( defined( $file = readdir(DIR) ) ) {
+    if ( !( -T "$pwd/$dirname/$file/help.txt" ) ) {
+        push @topics, $file;
+    }
+}
+closedir(DIR);
+
+print "Help missing on the following commands:\n";
+my $topic;
+foreach $topic ( sort @topics ) {
+    print $topic. " ";
+}
+print "\n";
+chdir $pwd;
diff --git a/helpdesk/command.cfg b/helpdesk/command.cfg
new file mode 100644
index 0000000..5d439f1
--- /dev/null
+++ b/helpdesk/command.cfg
@@ -0,0 +1 @@
+level = 100
diff --git a/helpdesk/helpdesk.pl b/helpdesk/helpdesk.pl
new file mode 100755
index 0000000..e75aec5
--- /dev/null
+++ b/helpdesk/helpdesk.pl
@@ -0,0 +1,7 @@
+#! /usr/bin/perl
+
+if ($ARGV[0]) {
+   print "Dit is niet de helpdesk voor $ARGV[0]!\n"; 
+} else {
+   print "Dit is niet de helpdesk voor ...\n";
+}
\ No newline at end of file
diff --git a/history/command.cfg b/history/command.cfg
new file mode 100644
index 0000000..1b82741
--- /dev/null
+++ b/history/command.cfg
@@ -0,0 +1,2 @@
+cache = 0
+level = 50
\ No newline at end of file
diff --git a/history/help.txt b/history/help.txt
new file mode 100644
index 0000000..bf91a74
--- /dev/null
+++ b/history/help.txt
@@ -0,0 +1 @@
+history [query]: geeft een random feit uit de wereldgeschiedenis t/m 1993 
\ No newline at end of file
diff --git a/history/history.pl b/history/history.pl
new file mode 100755
index 0000000..ab99418
--- /dev/null
+++ b/history/history.pl
@@ -0,0 +1,26 @@
+#!/usr/bin/perl -w
+use strict;
+
+open HIST, ";
+close HIST;
+
+my $result;
+
+if ( !$ARGV[0] eq "" ) {
+    my @subhistory = grep /\Q$ARGV[0]\E/i, @history;
+    my $count = @subhistory;
+    if ( $count == 0 ) {
+        $result = "Geen gegevens gevonden\n";
+    } elsif ( $count == 1 ) {
+        $result = $subhistory[0];
+    } else {
+        print "$count resultaten gevonden. Een ervan is:\n";
+        $result = $subhistory[ rand(@subhistory) ];
+    }
+} else {
+    $result = $history[ rand(@history) ];
+}
+
+$result =~ s/\s+/ /g;
+print $result , "\n";
diff --git a/history/history.txt b/history/history.txt
new file mode 100755
index 0000000..c4fee6a
--- /dev/null
+++ b/history/history.txt
@@ -0,0 +1,5544 @@
+40000 B.C.  	Cro-Magnon man (homo sapiens) is active in Europe and the Middle East.
+30000 B.C.  	Prehistoric art appears about this time.
+20000 B.C.  	Early humans cross the Bering Land Bridge from Asia to the Americas.
+12000 B.C.  	Early humans domesticate wild dogs about this time.
+11000 B.C.  	Flint-edged wooden sickles are used to gather wild grains.
+10000 B.C.  	Jericho, the oldest known city, is built in the Middle East.
+10000 B.C.  	Metallurgy is practiced in Anatolia.
+9000 B.C.  	Plant cultivation begins in the Fertile Crescent region of the Middle East.
+9000 B.C.  	Sheep are domesticated in the Middle East.
+9000 B.C.  	The Folsom culture emerges in North America about this time.
+8000 B.C.  	The Jomon culture begins to emerge in Japan.
+7500 B.C.  	The Neolithic settlement of Catal Huyuk is founded in Turkey.
+7000 B.C.  	Fired-clay pottery is made about this time.
+7000 B.C.  	Mesoamerican peoples begin domesticating plants.
+5000 B.C.  	The Egyptians begin irrigating crops.
+5000 B.C.  	The Egyptians use balances for weighing by this time.
+5000 B.C.  	The Ertebolle culture begins to flourish in Denmark.
+5000 B.C.  	The Sumerian civilization begins to develop in Mesopotamia.
+5000 B.C.  	The Yang-shao and Lung-shan cultures are established in China by this time.
+5000 B.C.  	The earliest ziggurat (temple tower) is built at the Sumerian city of Eridu.
+4500 B.C.  	The Danubian culture begins in eastern and central Europe about this time.
+4000 B.C.  	Cattle are domesticated about this time.
+4000 B.C.  	The first megaliths are erected in Brittany.
+4000 B.C.  	The wheel is developed in Mesopotamia.
+3800 B.C.  	The earliest known copper artifacts are produced at Tepe Yahya in Iran.
+3500 B.C.  	Bread making probably originates in Egypt about this time.
+3100 B.C.  	King Menes unites Upper and Lower Egypt; the Early Dynastic Period begins.
+3000 B.C.  	Beeswax candles are in use in Egypt and Crete.
+3000 B.C.  	Bronze implements are in common use in the Middle East.
+3000 B.C.  	Chariots are in use in Mesopotamia.
+3000 B.C.  	Cuneiform writing originates in Sumer about this time.
+3000 B.C.  	Galleys propelled by oars and sails are in use around the Mediterranean.
+3000 B.C.  	The Beaker culture begins to develop in Central Europe.
+3000 B.C.  	The Denbigh Flint Complex is established by pre-Eskimo peoples in Alaska.
+3000 B.C.  	The Minoan civilization begins to flourish on the island of Crete.
+3000 B.C.  	The Phoenician city of Byblos becomes an active seaport and trade center.
+3000 B.C.  	The city of Troy is first inhabited about this time.
+3000 B.C.  	The lyre is developed in Sumeria about this time.
+3000 B.C.  	The site of Athens is inhabited by this time in present day Greece.
+2800 B.C.  	Building of Stonehenge begins in Britain.
+2800 B.C.  	Lagash becomes the largest city in Sumer about this time.
+2700 B.C.  	The Indus civilization begins to emerge around the Indus valley in southern Asia.
+2686 B.C.  	The Egyptian Old Kingdom begins.
+2650 B.C.  	The oldest pyramid, the Step Pyramid of King Zoser, is built at Saqqara in Egypt.
+2500 B.C.  	A Mayan settlement is established at Cuello in present day Belize.
+2500 B.C.  	Corn (zea mays) is domesticated in Mesoamerica.
+2500 B.C.  	The city of Ur becomes the capital of Sumer.
+2500 B.C.  	The largest pyramid in the world is built for the Egyptian king Khufu at Giza.
+2400 B.C.  	The Egyptians begin to use papyrus as a writing material about this time.
+2333 B.C.  	Legendary figure Tangun is said to have established the first Korean kingdom.
+2300 B.C.  	The Hittites enter Anatolia about this time.
+2133 B.C.  	Egypt is reunited during the 11th dynasty of the Middle Kingdom.
+2000 B.C.  	Megalith stone alignments are erected at Carnac in present day France.
+2000 B.C.  	The Akkadian poem the Epic of Gilgamesh is composed about this time.
+2000 B.C.  	The Avebury Circle is built in England.
+2000 B.C.  	The Celts emerge in Europe about this time.
+1991 B.C.  	Amenemhet I overthrows the Theban rulers of Egypt to found the 12th Dynasty.
+1900 B.C.  	Minoan Linear A script writing develops on Crete.
+1900 B.C.  	The Assyrians are unified in Mesopotamia during the Old Assyrian period.
+1900 B.C.  	The Hittites begin smelting iron about this time.
+1900 B.C.  	The cities of Sodom and Gomorrah are devastated by an earthquake.
+1800 B.C.  	Bronze metalworking begins to spread throughout Europe.
+1800 B.C.  	The Assyrians are driven out of Anatolia by the Hittites.
+1800 B.C.  	The Huastec tribe splits from the Maya in Mesoamerica about this time.
+1800 B.C.  	The Wessex culture is established in Britain about this time.
+1792 B.C.  	Hammurabi begins his reign as king of Babylonia.
+1766 B.C.  	The Shang dynasty begins in the Hwang Ho valley in China.
+1750 B.C.  	The Hittite kingdom is established with Hattusas (modern Bogazkoy) as its capital.
+1750 B.C.  	The Indus civilization goes into decline about this time.
+1700 B.C.  	The palaces at Knossos and Phaistos on Crete are destroyed by fire about this time.
+1674 B.C.  	Egypt comes under the rule of foreign Hyksos kings.
+1650 B.C.  	The Rhind papyrus, the earliest surviving mathematical text, is produced.
+1600 B.C.  	Greek hoplites (foot-soldiers) begin using protective armor in battle.
+1600 B.C.  	Oracle bones are used for divination by the Shang in China.
+1600 B.C.  	The Ebers papyrus documents medical treatment in Egypt.
+1600 B.C.  	The city of Mycenae develops in Greece.
+1600 B.C.  	The clepsydra, a water clock, is invented in Egypt.
+1570 B.C.  	Egyptian expansion begins under the New Kingdom pharaohs.
+1570 B.C.  	Temple complexes are built at Karnak and Luxor in Egypt.
+1567 B.C.  	King Ahmose I expels the Hyksos from Egypt.
+1550 B.C.  	Assyria becomes part of the Kingdom of Mitanni.
+1512 B.C.  	Thutmose I is the first pharaoh to be buried in the Valley of the Kings.
+1503 B.C.  	Queen Hatshepsut becomes the only woman to rule Egypt as pharaoh.
+1500 B.C.  	Glassmaking is perfected in Egypt and the Near East.
+1500 B.C.  	Minoan settlements on Thera are buried by a volcanic eruption.
+1500 B.C.  	Sundials are in use in Egypt about this time.
+1500 B.C.  	The Kingdom of Mitanni flourishes in northern Mesopotamia.
+1500 B.C.  	The Phoenicians found the city of Tangier in North Africa.
+1500 B.C.  	Writing of the Hindu Vedas begin in India about this time.
+1450 B.C.  	Mycenaeans dominate the Aegean.
+1450 B.C.  	The Minoan civilization on Crete is overrun by invaders from the Greek mainland.
+1400 B.C.  	Anyang becomes the capital of the Shang dynasty about this time.
+1400 B.C.  	Minoan Linear A script writing is replaced by Linear B script.
+1400 B.C.  	The city of Ravenna is founded by Italic tribes about this time.
+1380 B.C.  	Akhenaten rules Egypt with Nefertiti as his queen-consort.
+1370 B.C.  	The Sea Peoples destroy the ancient city of Ugarit about this time.
+1365 B.C.  	Assyria regains its independence from Mitanni.
+1361 B.C.  	Tutankhamen becomes king of Egypt at age nine.
+1350 B.C.  	Hittite invaders destroy the Kingdom of Mitanni in Mesopotamia.
+1304 B.C.  	Ramses II becomes pharaoh of Egypt; he begins building the temples at Abu Simbel.
+1300 B.C.  	Sidon becomes a prominent Phoenician trading center.
+1300 B.C.  	The Hittites are dominant in the Near East after they defeat the Egyptians at Kadesh.
+1265 B.C.  	The Elamite king Untashgal begins his reign.
+1250 B.C.  	Shalmaneser I founds the Assyrian city of Nimrud.
+1200 B.C.  	Moses leads the Israelites from Egypt toward Canaan.
+1200 B.C.  	The Chavin culture begins to develop in Peru.
+1200 B.C.  	The Olmec civilization begins to develop at San Lorenzo in Mesoamerica.
+1200 B.C.  	The Sea Peoples overrun the Hittite kingdom.
+1200 B.C.  	The art of iron smelting is perfected by this time.
+1190 B.C.  	The Trojan War occurs about this time.
+1130 B.C.  	Babylonians raid the kingdom of Elam.
+1100 B.C.  	The Phoenicians found Cadiz in Spain.
+1100 B.C.  	The city of Mycenae falls to invasion in Greece.
+1100 B.C.  	The sheng mouth organ is developed in China.
+1085 B.C.  	Egypt is split in two during the Late Dynastic Period.
+1027 B.C.  	The Shang are overthrown in China; the Chou dynasty begins.
+1020 B.C.  	The Israelite tribes form a kingdom under Saul.
+1000 B.C.  	David defeats the Philistines; Jerusalem is established as the capital of Israel.
+1000 B.C.  	Saul commits suicide after defeat by the Philistines; he is succeeded by David.
+1000 B.C.  	The Dorians invade the island of Rhodes.
+1000 B.C.  	The Gezer calendar, the earliest known Hebrew inscription, dates from this time.
+1000 B.C.  	The Mound Builders are active in North America about this time.
+972 B.C.   	Solomon succeeds David as king of Israel.
+935 B.C.   	Sheshonk I becomes the first king of Egypt's 22nd dynasty.
+922 B.C.   	Jeroboam becomes the first king of Israel; war begins between Judah and Israel.
+922 B.C.   	The Hebrew kingdom is divided into Israel and Judah after the death of Solomon.
+900 B.C.   	The Andean culture of Paracas begins to flourish about this time.
+900 B.C.   	The Celts begin to inhabit Gaul.
+900 B.C.   	The Olmec seat of power shifts from San Lorenzo to La Venta in Mesoamerica.
+887 B.C.   	The city of Canton is founded in China.
+883 B.C.   	Ashurnasirpal II begins to expand the Assyrian empire.
+870 B.C.   	King Ahab of Israel marries the Phoenician princess Jezebel.
+850 B.C.   	The Villanovan culture begins to develop in the Tuscany region of Italy about this time.
+842 B.C.   	Jehu overthrows Ahab to become king of Israel.
+814 B.C.   	The Phoenicians found the city of Carthage about this time.
+800 B.C.   	The Greek city of Corinth is founded about this time.
+776 B.C.   	The first Olympic Games are held in Greece.
+753 B.C.   	Romulus and Remus found the city of Rome.
+750 B.C.   	Greek author Homer is active about this time according to some scholars.
+750 B.C.   	The Etruscans begins to expand their colonies in Italy about this time.
+750 B.C.   	The earliest Greek colony in Italy is founded at Cumae about this time.
+745 B.C.   	King Tiglath-Pileser III begins the restoration of Assyrian imperial power.
+735 B.C.   	Ahaz becomes king of Judah.
+734 B.C.   	The Corinthians settle the island of Corfu.
+732 B.C.   	Assyrian king Tiglath-Pileser III captures Damascus and makes Israel a vassal state.
+729 B.C.   	The Assyrians seize the throne of Babylon.
+722 B.C.   	Peking (Beijing) becomes the capital of the Yen Kingdom in China.
+722 B.C.   	The Assyrians conquer the kingdom of Israel.
+721 B.C.   	Sargon II founds the last Assyrian dynasty.
+716 B.C.   	Egypt is conquered by the rulers of Cush, who found the 25th dynasty.
+715 B.C.   	Sparta conquers Messenia in the First Messenian War.
+704 B.C.   	King Sennacherib establishes Nineveh as the capital of Assyria.
+700 B.C.   	Bireme galleys with two banks of oars are developed.
+700 B.C.   	Iron implements begin to replace copper during the Hallstatt Period in Europe.
+700 B.C.   	The Lydians begin using coins as currency.
+700 B.C.   	The saddle is developed by the Scythians about this time.
+691 B.C.   	The Assyrians build an early aqueduct, transporting water 34 miles to Nineveh.
+689 B.C.   	The Assyrians suppress a Babylonian revolt and destroy the city of Babylon.
+688 B.C.   	The sport of boxing is included in the Olympic Games.
+681 B.C.   	King Sennacherib of Assyria is assassinated; Esarhaddon succeeds him.
+671 B.C.   	The Assyrians capture Memphis and rule part of Egypt.
+664 B.C.   	Psamtik I founds the 26th dynasty and begins to reunite Egypt.
+663 B.C.   	Assyria reaches its greatest extent under king Ashurbanipal.
+661 B.C.   	The Egyptian city of Thebes is sacked by the Assyrians.
+660 B.C.   	According to legend the Japanese state is founded by emperor Jimmu.
+660 B.C.   	The city of Byzantium (Istanbul) is founded.
+646 B.C.   	Assyrian ruler Ashurbanipal captures and burns Susa, ending the Elamite kingdom.
+640 B.C.   	Josiah becomes king of Judah.
+640 B.C.   	Perdiccas I establishes the Kingdom of Macedonia about this time.
+630 B.C.   	The Cimmerians are conquered by the Scythians in European Russia.
+625 B.C.   	King Cyaxares unifies the Median tribes in western Asia.
+625 B.C.   	Periander succeeds his father Cypselus as tyrant of Corinth.
+624 B.C.   	Horse racing becomes an event in the Olympic Games.
+616 B.C.   	The Etruscan king Tarquinius Priscus rules Rome.
+612 B.C.   	The Medes and Babylonians sack Nineveh; the Assyrian Empire collapses.
+609 B.C.   	Necho II succeeds his father Psamtik I as pharaoh of Egypt.
+600 B.C.   	Building of a Doric temple begins at the sacred sanctuary of Olympia in Greece.
+600 B.C.   	The Greek colony of Poseidonia (Paestum) is founded in Italy.
+600 B.C.   	The Greeks found Massilia (Marseille) on the Mediterranean coast.
+600 B.C.   	The religion of Zoroastrianism develops in Iran about this time.
+597 B.C.   	Zedekiah, the last king of Judah, begins his reign.
+594 B.C.   	The archon Solon makes sweeping social reforms in Athens.
+586 B.C.   	The Chaldeans under Nebuchadnezzar II destroy the Hebrew capital of Jerusalem.
+586 B.C.   	The Jews begin their Babylonian captivity.
+585 B.C.   	Greek philosopher and scientist Thales of Miletus predicts an eclipse of the Sun.
+570 B.C.   	Ahmose II becomes king of Egypt.
+570 B.C.   	Cleitias, a Greek vase painter of the Black Figure style, is active about this time.
+561 B.C.   	Peisistratus becomes tyrant of Athens.
+560 B.C.   	Croesus succeeds his father Alyattes as king of Lydia.
+550 B.C.   	Cyrus the Great conquers the Medes and founds the Achaemenid Persian empire.
+550 B.C.   	Lao-Tzu develops the Tao Te Ching, outlining the philosophy of Taoism.
+550 B.C.   	The first plays are performed in Greece about this time.
+547 B.C.   	Cyrus the Great defeats King Croesus and captures the Lydian capital of Sardis.
+546 B.C.   	Greek philosopher and scientist Thales of Miletus dies about this time.
+543 B.C.   	Colombo is settled in Sri Lanka.
+539 B.C.   	The Persians under Cyrus the Great conquer Babylon.
+537 B.C.   	The Persians free the Jews from Babylonian rule.
+534 B.C.   	The actor Thespis wins first prize in a tragedy competition held in Athens.
+530 B.C.   	Cyrus the Great is killed in battle; he is succeeded by his son Cambyses II.
+525 B.C.   	The Persians under Cambyses II conquer Egypt.
+520 B.C.   	Epictetus, a Red Figure style painter of Greek vases, is active about this time.
+518 B.C.   	Darius I begins building the city of Persepolis as the Persian royal residence.
+512 B.C.   	Darius I conquers the city of Byzantium.
+510 B.C.   	Spartan king Cleomenes I overthrows the Athenian tyrant Hippias.
+510 B.C.   	The last Roman king Tarquinius Superbus is expelled.
+509 B.C.   	Rome becomes a republic.
+507 B.C.   	Cleisthenes introduces democracy to Athens.
+500 B.C.   	Etruscan king Lars Porsena besieges Rome.
+500 B.C.   	The Adena mound complexes are built in the Ohio Valley in North America.
+500 B.C.   	The Zapotec found the city of Monte Alban in Mesoamerica.
+500 B.C.   	The earliest known hand-knotted carpet is buried in a tomb at Pazyryk in Siberia.
+494 B.C.   	Cleomenes I of Sparta defeats the city of Argos in Greece.
+493 B.C.   	Rome concludes an alliance with the Latin League.
+491 B.C.   	Gelon becomes ruler of Sicily after the death of Hippocrates, the tyrant of Gela.
+490 B.C.   	The Greeks defeat the Persians at the Battle of Marathon.
+480 B.C.   	Greek philosopher Heraclitus of Ephesus is active about this time.
+480 B.C.   	Greek philosopher Pythagoras of Samos dies about this time.
+480 B.C.   	Siddhartha Gautam, the Buddha, dies about this time in India.
+480 B.C.   	The Greeks defeat the Persian navy at Salamis; over 1,000 triremes are used.
+480 B.C.   	The Persians defeat the Greeks at Thermopylae; Athens is burned.
+479 B.C.   	The Greeks under Aristides and Pausanias defeat the Persians at Plataea.
+478 B.C.   	The Delian League is established under the leadership of Athens.
+472 B.C.   	Aeschylus' earliest preserved play The Persians is performed.
+465 B.C.   	Xerxes is assassinated; he is succeeded by his son Artaxerxes I as king of Persia.
+460 B.C.   	Pericles becomes the political leader of Athens about this time.
+450 B.C.   	The La Tene Period begins in Central Europe.
+447 B.C.   	Building of the Parthenon begins in Athens.
+445 B.C.   	The ban on marriage between patricians and plebeians is removed in Rome.
+431 B.C.   	The Peloponnesian War begins between Athens and Sparta.
+430 B.C.   	Herodotus writes The History of the Persian Wars about this time.
+425 B.C.   	Sophocles' play Oedipus Rex is completed about this time.
+415 B.C.   	Euripides' play The Trojan Women is performed for the first time.
+411 B.C.   	Aristophanes' play Lysistrata is performed for the first time.
+411 B.C.   	Athenian historian Thucydides ends his History of the Peloponnesian War.
+411 B.C.   	Athenian historian Xenophon begins to write the Hellenica, a history of Greece.
+405 B.C.   	Spartan general Lysander defeats the Athenian fleet at Aegospotami.
+404 B.C.   	Egypt becomes independent from Persia.
+404 B.C.   	Sparta conquers Athens and assumes the leadership of all Greece.
+403 B.C.   	Ssu-ma Kuang begins compiling the Chinese history the Tzu-chih t'ung-chien.
+401 B.C.   	Persian king Artaxerxes II defeats and kills his brother Cyrus the Younger at Cunaxa.
+400 B.C.   	Construction of the hill fort at Maiden Castle begins in England about this time.
+400 B.C.   	Greek philosopher Democritus is active about this time.
+400 B.C.   	Greek physician Hippocrates is active about this time.
+399 B.C.   	Socrates is executed for impiety and corrupting the youth of Athens.
+396 B.C.   	Spartan king Agesilaus II defeats the Persian satrap Tissaphernes.
+396 B.C.   	The Etruscan city of Veii is conquered by Rome after a 10-year siege.
+390 B.C.   	Gallic king Brennus sacks Rome.
+387 B.C.   	Plato founds the Academy in Athens about this time.
+386 B.C.   	The Thebans and Athenians renew the war against Sparta.
+371 B.C.   	Epaminondas defeats the Spartans at Leuctra; Thebes is dominant in Greece.
+370 B.C.   	Greek philosopher Plato writes The Republic.
+359 B.C.   	Philip II becomes king of Macedonia.
+354 B.C.   	Greek historian Xenophon dies about this time.
+350 B.C.   	Praxiteles completes the sculpture Hermes Holding the Infant Dionysus.
+341 B.C.   	The Persians reconquer Egypt.
+340 B.C.   	Greek sculptor Lysippus completes the bronze statue of the Farnese Heracles.
+339 B.C.   	Philip II of Macedonia defeats the forces of Athens and Thebes at Chaeronea.
+338 B.C.   	Rome defeats the Latin League in the Latin Wars.
+336 B.C.   	Philip II is assassinated; Alexander the Great succeeds him as king of Macedonia.
+333 B.C.   	Alexander conquers Syria, Phoenicia, and Egypt.
+333 B.C.   	Alexander defeats the Persian king Darius III at the Battle of Issus.
+332 B.C.   	Alexander founds Alexandria in Egypt.
+331 B.C.   	Alexander defeats the Persian king Darius III at Gaugamela.
+327 B.C.   	Alexander invades India.
+323 B.C.   	Alexander dies at Babylon; the Diadochi seek control of the Macedonian empire.
+323 B.C.   	Alexander's general Ptolemy I inherits Egypt and Palestine.
+321 B.C.   	Chandragupta Maurya founds the Maurya dynasty of India.
+320 B.C.   	A portrait of Aristotle, the first example of true portraiture, is painted in Greece.
+312 B.C.   	The Romans begin building the Via Appia (the Appian Way).
+305 B.C.   	Seleucus I Nicator (the Conqueror) becomes king of Macedonia.
+300 B.C.   	Greek mathematician Euclid is active about this time.
+300 B.C.   	The Okvik prehistoric Eskimo culture develops in Alaska.
+300 B.C.   	The Sarmatians displace the Scythians in European Russia about this time.
+290 B.C.   	Rome defeats the Samnites, ending the Samnite Wars.
+290 B.C.   	The Sabines are granted Roman citizenship.
+282 B.C.   	Greek king Pyrrhus of Epirus aids the Tarentines in their war against Rome.
+280 B.C.   	The Pharos lighthouse, one of the Seven Wonders of the World, is built at Alexandria.
+279 B.C.   	The Greeks block the advance of the Gauls at Thermopylae.
+275 B.C.   	The Gauls settle Galatia in central Anatolia.
+273 B.C.   	The Romans and their allies conquer the Etruscan city of Caere.
+264 B.C.   	Carthage occupies Sicily, beginning the First Punic War with Rome.
+264 B.C.   	Contests between gladiators are held in Rome by this time.
+256 B.C.   	The Romans under Marcus Atilius Regulus beseige Carthage but are defeated.
+250 B.C.   	Indian emperor Asoka makes Buddhism the state religion about this time.
+247 B.C.   	The Carthaginians under Hamilcar Barca renew their attack on Sicily.
+246 B.C.   	Ptolemy III succeeds his father Ptolemy II as king of Egypt.
+241 B.C.   	Rome defeats the Carthaginians, ending the First Punic War.
+240 B.C.   	Eratosthenes of Cyrene calculates the circumference of the Earth about this time.
+240 B.C.   	Livius Andronicus produces the first Latin literature in Rome.
+239 B.C.   	The appearance of Halley's comet is recorded for the first time.
+238 B.C.   	The Romans seize Sardinia and Corsica from Carthage.
+237 B.C.   	Carthaginian generals Hasdrubal and Hannibal conquer large areas of Spain.
+230 B.C.   	Epigonus of Pergamum sculpts the bronze statue The Dying Gaul.
+230 B.C.   	The Buddhist Andhra dynasty rules in Andhra Pradesh, India.
+228 B.C.   	King Attalus I of Pergamum conquers most of Seleucid Anatolia.
+227 B.C.   	Spartan king Cleomenes III defeats the Achaean League.
+222 B.C.   	Macedonian king Antigonus III assists the Achaean League in defeating the Spartans.
+221 B.C.   	China is unified under Shih Huang-ti (First Emperor) of the Ch'in dynasty.
+221 B.C.   	Philip V succeeds Antigonus III as king of Macedonia.
+219 B.C.   	Carthaginian general Hannibal attacks the Romans at Saguntum (Sagunto) in Spain.
+218 B.C.   	Carthaginian general Hannibal leads his army across the Alps to invade Italy.
+218 B.C.   	Rome declares war on Spain; the Second Punic War begins.
+216 B.C.   	Hannibal defeats four Roman legions at Cannae.
+215 B.C.   	Construction of The Great Wall of China begins about this time.
+212 B.C.   	The mathematician Archimedes is killed during the Roman conquest of Syracuse.
+210 B.C.   	Chinese emperor Shih Huang-ti dies; he is buried with a life-sized pottery army.
+206 B.C.   	Roman general Scipio Africanus Major defeats the Carthaginians in Spain.
+206 B.C.   	Seleucid king Antiochus III conquers Armenia, Parthia and Bactria.
+204 B.C.   	Roman general Scipio Africanus Major invades North Africa.
+202 B.C.   	The Han dynasty begins in China under Liu Pang, ending the Ch'in dynasty.
+202 B.C.   	The Romans defeat Hannibal at Zama; Carthage became a Roman dependency.
+202 B.C.   	The Seleucid king Antiochus III begins his conquest of Syria and Palestine.
+201 B.C.   	Masinissa founds the kingdom of Numidia in North Africa.
+201 B.C.   	Rome unites with Pergamum and Rhodes against Philip V of Macedonia.
+200 B.C.   	Gauls of the Parisii tribe establish a settlement on the site of Paris.
+200 B.C.   	Iron horseshoes came into use about this time.
+200 B.C.   	Parchment comes into wide use about this time.
+200 B.C.   	Roman comic dramatist Plautus writes the play Stichus.
+200 B.C.   	Stirrups are probably in use in China by this date.
+200 B.C.   	The Nazca culture begins to flourish in Peru about this time.
+200 B.C.   	The Sadducees Jewish religious sect begins to flourish about this time.
+197 B.C.   	Roman general Titus Quinctius Flamininus defeats Philip V at Cynoscephalae.
+196 B.C.   	The Seleucid king Antiochus III invades Thrace.
+191 B.C.   	Antiochus III is defeated by the Romans at Thermopylae.
+186 B.C.   	The Roman festival of Bacchanalia is prohibited.
+185 B.C.   	The Maurya dynasty ends in India with the assassination of Brihadnatha.
+184 B.C.   	Cato becomes the censor of Rome.
+183 B.C.   	Hannibal commits suicide to avoid surrendering to Rome.
+179 B.C.   	Perseus succeeds his father Philip V as king of Macedonia.
+175 B.C.   	The Hellenistic sculpture the Laocoon is begun about this time.
+174 B.C.   	Building of the colossal temple of Zeus Olympius begins in Athens.
+168 B.C.   	Jews under the Maccabees revolt against Seleucid rule in Palestine.
+168 B.C.   	The Romans defeat King Perseus and abolish the Macedonian monarchy.
+165 B.C.   	Jews, assisted by the Hasideans, occupy Jerusalem and reconsecrate the Temple.
+150 B.C.   	Hipparchus of Rhodes compiles the first star catalog.
+149 B.C.   	The Third Punic War begins when Carthage attacks Numidia, an ally of Rome.
+146 B.C.   	Roman general Scipio Africanus Minor destroys Carthage after a 3-year siege.
+146 B.C.   	The Romans destroy the Achaean League in Greece.
+145 B.C.   	Ptolemy VIII assassinates Ptolemy VII to become sole ruler of Egypt.
+140 B.C.   	Wu Ti (martial emperor) rules the Han dynasty in China.
+139 B.C.   	Independence of the Jewish state is recognized by Roman decree.
+139 B.C.   	The Romans defeat the Celts in the Iberian Peninsula and found Lusitania.
+130 B.C.   	The poet Antipater of Sidon lists the Seven Wonders of the World about this time.
+127 B.C.   	Ptolemy begins his book of astronomical phenomena Almagest about this time.
+121 B.C.   	The Gallic settlement at Nimes comes under Roman control.
+120 B.C.   	Mithradates VI succeeds his father as king of Pontus.
+111 B.C.   	Han dynasty China annexes Annam (northern Vietnam).
+106 B.C.   	The Gallic city of Tolosa (Toulouse) is conquered by the Romans.
+105 B.C.   	Rome defeats king Jugurtha; Numidia becomes part of the Roman Empire.
+101 B.C.   	Roman leaders Catulus, Marius and Sulla defeat the Cimbri at the Po River.
+100 B.C.   	Bog burials are made in northern Europe about this time.
+100 B.C.   	Greek grammarian Dionysius Thrax writes the Art of Grammar about this time.
+100 B.C.   	Shadow puppets develop in China about this time.
+100 B.C.   	The Anasazi culture begins to flourish in North America about this time.
+95 B.C.   	The Scythians conquer Gandhara in present day Pakistan.
+95 B.C.   	Tigranes I becomes king of Armenia and begins the expansion of his empire.
+91 B.C.   	Marcus Livius Drusus is murdered; Rome and its allies begin the Social War.
+89 B.C.   	The right to Roman citizenship is extended throughout Italy.
+88 B.C.   	Sulla leads the Roman forces against Mithradates VI in the first Mithradatic War.
+87 B.C.   	Gaius Marius and Lucius Cornelius Cinna capture Rome in the civil war.
+82 B.C.   	Roman general Sulla captures Rome and becomes dictator.
+82 B.C.   	The Romans occupy Tingis (Tangier) in North Africa.
+80 B.C.   	Sulla devastates the Etruscan cities; the Etruscans become Roman citizens.
+77 B.C.   	Pliny the Elder completes his Historia naturalis, the earliest encyclopedic work.
+73 B.C.   	The gladiator Spartacus leads an uprising of fugitive slaves in Italy.
+71 B.C.   	Roman general Marcus Licinius Crassus defeats and kills Spartacus at Lucania.
+66 B.C.   	The Romans defeat King Tigranes I; Armenia becomes a tributary of Rome.
+63 B.C.   	Lucullus and Pompey defeat Mithradates VI in the third Mithradatic War.
+63 B.C.   	Roman general Pompey conquers Palestine and captures Jerusalem.
+60 B.C.   	Pompey, Crassus and Julius Caesar form the first Roman Triumvirate.
+59 B.C.   	The Acta diurna, a type of news gazette, is published in Rome.
+58 B.C.   	The Gallic Wars begin when Julius Ceasar invades Gaul.
+58 B.C.   	The island of Cyprus is annexed by Rome.
+57 B.C.   	Julius Caesar conquers the Belgae in present day Belgium.
+57 B.C.   	The kingdom of Silla is established in Korea.
+55 B.C.   	Julius Caesar's Roman legions invade Britain.
+55 B.C.   	Pompey's Theater, the first permanent Roman playhouse, is built.
+52 B.C.   	Vercingetorix unites the Gallic tribes to resist Rome.
+51 B.C.   	Julius Caesar conquers Gaul, ending the Gallic Wars.
+50 B.C.   	Glassblowing is discovered about this time in Phoenicia.
+50 B.C.   	Roman philosopher-poet Lucretius writes De rerum natura about this time.
+49 B.C.   	Julius Caesar crosses the Rubicon into Italy and begins a civil war.
+48 B.C.   	Caesar defeats Pompey at Pharsalus; Pompey is assassinated in Egypt.
+48 B.C.   	Civil war breaks out in Egypt between Ptolemy XIII and his sister Cleopatra.
+47 B.C.   	Caesar's Roman army arrives in Egypt; Cleopatra becomes Caesar's mistress.
+47 B.C.   	Caesar's army defeats and kills Ptolemy XIII.
+46 B.C.   	Caesar is appointed dictator of Rome.
+44 B.C.   	Marcus Junius Brutus and Gaius Cassius Longinus assassinate Julius Caesar.
+43 B.C.   	Mark Antony, Octavian (Augustus) and Lepidus form the Second Triumvirate in Rome.
+42 B.C.   	Octavian and Mark Antony defeat Brutus and Cassius Longinus at Philippi.
+42 B.C.   	Queen Cleopatra of Egypt becomes Mark Antony's mistress.
+37 B.C.   	Herod the Great rules Judea under Roman appointment.
+37 B.C.   	Marcus Agrippa's Roman fleet defeats Sextus Pompeius at Mylae.
+31 B.C.   	Octavian defeats Mark Antony and Cleopatra at the Battle of Actium.
+30 B.C.   	Cleopatra and Mark Antony commit suicide.
+30 B.C.   	Egypt is declared a Roman province, ending the Ptolemaic dynasty.
+29 B.C.   	Roman poet Vergil begins the Aeneid.
+27 B.C.   	Octavian becomes the first Roman emperor; the Senate names him Augustus.
+27 B.C.   	Roman emperor Augustus establishes the Praetorian guard.
+23 B.C.   	Roman lyric poet Horace writes his three books of 88 Odes.
+20 B.C.   	Marcus Verrius Flaccus compiles the first general dictionary.
+19 B.C.   	The Romans build the Pont du Gard at Nimes in Gaul (now France).
+19 B.C.   	The Romans complete their conquest of the Iberian Peninsula.
+18 B.C.   	The Kingdom of Paekche is established in Korea.
+16 B.C.   	The Maison Carree temple is donated to the city of Nimes by Marcus Agrippa.
+12 B.C.   	The Romans begin an attempt to conquer Germany.
+6 B.C.    	Jesus Christ is born in Bethlehem at about this time.
+6 B.C.    	Judea comes under the direct control of Roman procurators.
+4 B.C.    	Herod the Great dies; Emperor Augustus divides Herod's kingdom among his sons.
+1 B.C.    	Roman poet Ovid writes the Art of Love.
+4         	Roman emperor Augustus adopts Tiberius and recognizes him as his successor.
+6         	Judea becomes a province of Rome.
+8         	Roman poet Ovid completes his greatest poetic achievement Metamorphoses.
+9         	Chinese emperor Wang Mang founds the Hsin dynasty, ending the Former Han dynasty.
+9         	German leader Arminius defeats three Roman legions in the Battle of Teutoburg Forest.
+14        	Augustus dies; he is succeeded by Tiberius as emperor of Rome.
+23        	Chinese emperor Wang Mang dies.
+25        	The Later Han dynasty is established in China.
+27        	Jesus Christ is baptized by John the Baptist and begins his ministry.
+28        	John the Baptist is executed by Herod Antipas.
+30        	Jesus Christ is crucified by order of Pontius Pilate, Roman governor of Judea.
+32        	St. Paul is converted to Christianity.
+37        	Tiberius dies; he is succeeded by Caligula as emperor of Rome.
+39        	The Roman encyclopedist Celsus dies.
+40        	An early Christian church is erected at Corinth.
+41        	Caligula is assassinated; Claudius becomes emperor of Rome.
+43        	The Romans invade Britain.
+43        	The city of Londinium (London) is founded.
+45        	St. Paul begins his Christian missionary travels.
+45        	The Epistle of James is begun about this time.
+46        	Thrace becomes a Roman province.
+48        	Gallic nobles are admitted to the Roman Senate.
+50        	Cologne is founded about this time in present day Germany.
+50        	The expansion of the kingdom of Aksum begins in present day Ethiopia.
+50        	The first Roman colony in Britain is founded at Colchester.
+54        	Claudius is murdered; Nero becomes emperor of Rome.
+57        	St. Paul writes his Epistles to the Corinthians.
+60        	Boadicea, queen of the Iceni tribe, rebels against Roman rule in Britain
+62        	St. James (the brother of Jesus Christ) is stoned to death.
+64        	Rome is devastated by fire; the Christians are blamed and persecuted.
+64        	The Kushans sack the city of Taxila in present day Pakistan.
+65        	Roman philosopher Seneca commits suicide.
+65        	Writing of The Gospel According to Mark is begun.
+66        	A Jewish revolt against Roman rule begins in Judea.
+66        	Roman writer Petronius Arbiter, the reputed author of the Satyricon, dies.
+67        	St. Peter and St. Paul are martyred in Rome.
+68        	Buddhism is introduced into China.
+68        	Roman emperor Nero commits suicide.
+69        	Vespasian becomes emperor of Rome and founds the Flavian dynasty.
+70        	Roman general Titus suppresses a Jewish revolt and captures Jerusalem.
+70        	The Herod dynasty ends in Judea.
+70        	Writing of the Acts of the Apostles begins.
+73        	The Romans conquer Masada, the last Jewish stronghold.
+75        	Josephus begins his history of the Jewish War.
+77        	Pliny the Elder writes his Historia naturalis.
+78        	Roman general Agricola becomes governor of Britain.
+79        	Mount Vesuvius erupts, burying the Roman city of Pompeii.
+80        	The Gospel According to Luke and The Gospel According to Matthew are begun.
+80        	The building of the Colosseum is completed in Rome.
+81        	The Arch of Titus is erected in Rome.
+81        	Titus dies; he is succeeded by Domitian as emperor of Rome.
+92        	St. Clement becomes Bishop of Rome.
+97        	St. Timothy is martyred at Ephesus.
+98        	Nerva dies; he is succeeded by Trajan as emperor of Rome.
+100       	Teotihuacan in central Mexico has a population of 50,000.
+100       	The compilation of the Kamasutra is begun in India.
+100       	The earliest Chinese dictionary the Shuo Wen is compiled about this time.
+105       	Paper is invented in China.
+106       	The city of Petra is conquered by the Roman emperor Trajan.
+113       	Emperor Trajan's column is built to glorify his military victories.
+115       	Greek writer Lucian's The True History describes a fantasy trip to the moon.
+117       	The Roman Empire is at the height of its territorial power.
+117       	Trajan dies; he is succeeded by Hadrian as emperor of Rome.
+118       	Construction of the Pantheon begins in Rome.
+122       	Construction of Hadrian's Wall is begun to protect Britain from northern tribes.
+130       	The Taoist religion is accepted in China.
+132       	The Jewish Bar Kochba revolt begins against the Romans.
+135       	Suppression of the Jewish revolt leads to the diaspora (dispersion) of the Jews.
+150       	Apuleius, author of the Latin tale The Golden Ass, dies.
+150       	Greek astronomer Ptolemy writes his Almagest and Geography.
+150       	The Niger region is dominated by Berber and Mandingo tribes.
+150       	The earliest surviving Sanskrit inscriptions are made in India.
+161       	Marcus Aurelius, author of the Meditations, becomes emperor of Rome.
+170       	Pausanias writes his Description of Greece, a contemporary guide book.
+170       	Persecution of the Christians increases in Rome.
+180       	Bronze equestrian statue of Marcus Aurelius is completed in Rome.
+189       	The reign of the last Han Emperor Hsien-Ti begins.
+190       	Alexandrian surgeon Galen compiles his writings on medical treatments.
+190       	The abacus is used for numerical calculation in China.
+196       	Roman emperor Septimius Severus sacks the city of Byzantium (Istanbul).
+200       	Buddhism is established as a vital force in China.
+200       	Carthage in North Africa becomes a world metropolis under Roman rule
+201       	Empress Jingo reigns as regent in Japan.
+206       	The building of the Baths of Caracalla is begun in Rome by Septimius Severus.
+212       	Emperor Caracalla grants citizenship to all freemen of the empire.
+220       	The Goths invade Asia Minor and the Balkan Peninsula.
+220       	The Han dynasty ends in China.
+224       	Sassanians under Ardashir defeat the Arascid dynasty in Persia.
+250       	Diophantus of Alexandria writes the first book on algebra.
+250       	Emperor Decius persecutes the Christians and makes emperor-worship compulsory.
+250       	The Classical period of the Maya begins in Mesoamerica.
+250       	The Kingdom of Aksum gains control of the Red Sea trade.
+254       	Plotinus the founder of neoplatonism begins writing his discourses.
+257       	The Franks invade Spain.
+257       	The Visigoths and Ostrogoths invade the Black Sea region.
+260       	Persians under Shapur I defeat the Roman army and capture Emperor Valerian.
+265       	The reign of the first Chin dynasty begins in China.
+268       	The Goths attack Athens, Sparta, and Corinth.
+269       	Egypt is occupied by Zenobia, queen of Palmyra; the library at Alexandria is burnt.
+270       	The first compass is used in China about this time.
+276       	Mani, founder of Manichean sect, is crucified in Persia.
+284       	Emperor Diocletian bans alchemical books.
+285       	Confucianism is introduced into Japan.
+286       	Diocletian rules the eastern Roman Empire; Maximian rules the western empire.
+286       	Saint Maurice and the Theban legion are massacred by Emperor Maximian.
+295       	Diocletian's Palace is built on the Dalmatian coast of Yugoslavia.
+297       	Rome recaptures Armenia and Mesopotamia.
+300       	St. Anthony forms Christian hermit communities in the Egyptian desert.
+305       	Roman emperor Diocletian abdicates in the East; Maximian abdicates in the West
+306       	Constantine becomes Emperor of the West.
+311       	The final persecution of the Christians begins in Rome.
+312       	Emperor Constantine is converted to Christianity.
+312       	The Edict of Toleration at Milan legalizes Christianity.
+313       	The Koguryo Kingdom expels the Chinese from Korea.
+316       	The Huns (Hsuiung-nu) invade northern China.
+320       	Chandragupta I founds the Gupta dynasty in northern India.
+324       	Constantine defeats Licinius, the former Emperor of the East, at Adrianople (now Edirne).
+325       	The council of bishops at Nicaea decide that God and Christ are one.
+330       	St. Peter's Church in Rome is designed for Christian worship.
+330       	The Roman capital moves to Constantinople (now Instanbul); the Byzantine Empire begins.
+350       	A school of church song (Schola Cantorum) is founded in Rome.
+350       	Aksum destroys the kingdom of Meroe.
+350       	The Huns invade Persia and India.
+350       	The Persians regain Armenia from Rome.
+360       	The Japanese invade Korea.
+360       	The Picts and Scots cross Hadrian's Wall and attack Roman Britain.
+360       	Vellum books begin to replace scrolls.
+364       	Valentinian becomes Emperor of the West; Valens becomes Emperor of the East.
+370       	The Huns appear in Europe for the first time.
+370       	Theodosius drives the Picts and Scots out of Britain.
+372       	Buddhism is introduced into Korea.
+376       	The Huns invade Russia.
+378       	Emperor Valens is killed by the Visigoths at the Battle of Adrianople (now Edirne).
+378       	St. Ursus builds a cathedral at Ravenna.
+380       	Chandragupta II heads the Gupta Empire.
+383       	The Roman army begins the evacuation of Britain.
+386       	Hymn singing is introduced by Ambrose, Bishop of Milan.
+386       	St. Augustine converts to Christianity.
+395       	Theodosius dies; the Roman Empire is permanently divided into East and West.
+396       	Alaric king of the Visigoths plunders Athens
+401       	Pope Innocent I claims universal power over the Roman church.
+401       	The Visigoths invade Italy.
+406       	The Vandals invade Gaul; Roman legions are withdrawn from Britain.
+407       	The first Mongol empire is founded by the Avars.
+409       	The Vandals invade Spain.
+410       	Alchemists begin to search for the Philosopher's Stone.
+410       	The Visigoths under Alaric destroy Rome.
+411       	St. Augustine writes The City of God.
+425       	Constantinople University is founded.
+425       	Vandals, Ostrogoths and Visigoths settle in former Roman provinces.
+429       	Vandals under Gaiseric establish a kingdom in North Africa.
+432       	St. Patrick's Christian mission reaches Ireland.
+433       	Attila becomes the ruler of the Huns.
+439       	The Vandals capture Carthage.
+449       	Jutes, Angles, and Saxons begin the conquest of Britain.
+450       	The Basket Maker III period of the Anasazi culture begins in North America.
+451       	Attila the Hun invades Gaul but is repulsed at the Battle of Chalons.
+452       	Attila the Hun invades Italy.
+452       	Venice is founded by refugees from the Huns.
+455       	Skandagupta defeats a Hun invasion and becomes emperor of India.
+455       	The Vandals under Gaiseric sack Rome.
+470       	Mayan urban civilization flourishes in southern Mexico.
+470       	The Huns withdraw from Europe.
+471       	Theodoric the Great becomes king of the Ostrogoths.
+476       	Germanic king Odoacer occupies Rome, ending the Roman Empire of the West.
+478       	The first Shinto shrines are built in Japan.
+480       	The Gupta Empire begins to decline after an invasion by White Huns.
+486       	Frankish king Clovis defeats the Romans in Gaul and founds the Merovingian dynasty.
+493       	Frankish king Clovis becomes the first barbarian ruler to be baptized.
+493       	Theodoric King of the Ostrogoths becomes ruler of all Italy
+500       	Modern forms of harness for draft animals appear in China about this time.
+500       	The Lex Salica Germanic law is composed.
+500       	The colonial period of the Hohokam culture begins in North America about this time.
+501       	Gundobad king of the Burgundians establishes judicial duel or trial by combat.
+507       	The Franks conquer the Visigoths; Alaric II is killed by Clovis.
+511       	Clovis king of the Franks dies; his kingdom is divided among his four sons.
+520       	King Arthur is said to have organized the Celtic defence against Saxon invaders.
+523       	Hilderic becomes the Vandal king of North Africa.
+523       	Roman scholar Boethius writes On the Consolation of Philosophy.
+525       	Theodora marries Justinian, the future Byzantine Emperor.
+526       	Theodoric, king of the Ostrogoths and ruler of Italy, dies.
+527       	Justinian becomes emperor of Byzantium.
+529       	St. Benedict founds the Benedictine order and builds an abbey at Monte Cassino, Italy.
+531       	Khosru I becomes king of Persia; the Sassanian Empire is at its greatest extent.
+534       	Byzantine general Belisarius reconquers North Africa.
+534       	Roman Law is codified under Justinian as the Body of Civil Law.
+535       	A 12-story pagoda is built in China.
+537       	The church of Hagia Sophia is completed in Constantinople (Istanbul).
+538       	Buddhism is introduced into Japan from Korea.
+541       	A Bubonic Plague ravages Europe.
+547       	The Byzantine church of San Vitale is built at Ravenna in Italy.
+550       	The crucifix develops as an ornament about this time.
+552       	Persian monks smuggle Chinese silkworms into Constantinople (Istanbul).
+553       	Justinian reconquers Italy from the Ostrogoths.
+560       	The Mediterranean seaboard falls under Byzantine control.
+562       	The Silla kingdom expels the Japanese from Korea.
+563       	St. Columba establishes an Irish monastery on the island of Iona.
+565       	The first recorded sighting of the legendary Loch Ness monster is made in Scotland.
+568       	The Lombards invade northern Italy.
+570       	The prophet Muhammad is born at Mecca.
+572       	War begins between Persia and Byzantium.
+581       	Wen Ti founds the Sui dynasty and reunites China.
+586       	The earliest known depiction of Christ on the cross is made.
+589       	The Visigoths in Spain are converted to Christianity.
+590       	Gregory I becomes the first monk to be elected as Pope.
+594       	The plague that began in 541 ends, after halving the population of Europe.
+597       	St. Augustine begins his Christian mission to England at Canterbury.
+600       	A Mayan center is established at Bonampak in Mexico about this time.
+600       	Irish missionaries work in Scotland and Germany.
+600       	Pope Gregory I supervises the compiling of plainsong (Gregorian chants).
+600       	Smallpox spreads from India to Europe.
+600       	The Anglo-Saxons are dominant in Britain; romanized Britons survive in the west.
+600       	The city of Huari is established in central Peru about this time.
+600       	The game of chess is invented in India about this time.
+600       	The kettledrum originates in the Near East about this time.
+600       	Windmills are in use in Persia for irrigation.
+607       	The first Buddhist temple is built at Nara in Japan.
+610       	Muhammad, the founder of Islam, receives his first prophetic message.
+614       	Persian armies overrun Asia Minor and capture Jerusalem.
+618       	The T'ang dynasty in China establishes an imperial bureaucracy.
+619       	The Persians conquer Egypt
+620       	Lyric poetry of the T'ang dynasty promotes the use of the Chinese language.
+622       	The Muslim era begins with the flight of Muhammad from Mecca to Medina.
+627       	The Byzantines under Heraclius defeat the Persians at Nineveh.
+629       	The Visigoths drive the Byzantines from Spain.
+630       	A holy war (jihad) by Muslims leads to the conquest of Mecca.
+630       	The Sutton Hoo treasure is buried in a grave of an Anglo-Saxon king in England.
+632       	Muhammad dies; he is succeeded by the first caliph (successor) Abu Bakr.
+637       	Arab armies destroy the Sassanian Empire.
+642       	The Arabs conquer Syria, Mesopotamia, and Egypt.
+645       	Buddhism reaches Tibet from India.
+645       	T'ang dynasty artist Yen Li-Pen is active about this time.
+646       	The Taika Reform remodels Japanese imperial authority on Chinese lines.
+650       	Coptic art in Egypt incorporates Christian and Arab influences.
+650       	Teotihuacan falls into decline in central Mexico; the city is looted and burned.
+651       	The Koran, sacred book of Islam, reaches its final form.
+658       	Chinese power in Central Asia reaches its maximum extent.
+661       	Classical Arab music evolves under the Umayyad caliphs (leaders).
+661       	The schism of Islam into Shiite and Sunnite factions begins.
+664       	The Arabs conquer the city of Kabul in present day Afghanistan.
+668       	Korea is unified under the kingdom of Silla.
+670       	The first English poet Caedmon writes Christian verse.
+673       	Greek fire is used against the Muslims during the siege of Constantinople (Istanbul).
+674       	The Arab eastward conquest reaches the Indus River.
+678       	A Muslim blockade of Constantinople fails; the Byzantines and Arabs establish a truce.
+680       	The Bulgars invade the Balkans
+688       	Construction begins of the Dome of the Rock mosque in Jerusalem.
+695       	The Jews are persecuted in Spain.
+697       	The Arabs begin the permanent destruction of Carthage.
+698       	The Lindisfarne Gospels are produced in England.
+700       	Arabic becomes the official language of Egypt.
+700       	Chichen Itza becomes an important Mayan center in the Yucatan (Mexico).
+700       	First Pueblo period begins in North America; above-ground adobe dwellings are built.
+700       	The Anglo-Saxon epic poem Beowulf is composed.
+700       	The Arabs capture Tunis, exterminating Christianity in North Africa.
+700       	The Mississippian culture is founded in North America; the Cahokia Mounds are begun.
+700       	The Mochica culture declines about this time in Peru.
+700       	The Zapotec center at Monte Alban in Mexico is abandoned about this time.
+700       	The rise of the empire of Ghana begins in Africa.
+700       	Waterwheels are in use throughout Europe.
+706       	The city of Nara is founded as the first capital of Japan.
+711       	The Moors (Arabs and Berbers) invade Spain.
+712       	The Arabs establish a state in Sind in present day Pakistan.
+712       	The earliest Japanese history the Kojiki (Record of Ancient Matters) is written.
+718       	Emperor Leo III defeats the Arab siege of Constantinople (Istanbul).
+725       	The Arabs introduce the lute into Spain.
+726       	Byzantine ruler Leo III forbids the worship of icons.
+730       	Printing begins in China.
+731       	The Venerable Bede writes a history of the English church.
+732       	The Franks defeat the Moors at Tours and halt Arab expansion into Europe.
+743       	Buddhism becomes a state cult in Japan.
+744       	The Uighurs seize Mongolia.
+748       	The first printed newspaper appears in China.
+749       	The Abbasid caliphate deposes the Umayyads.
+750       	The Buddhist Pala dynasty is founded in Bengal (India) about this time.
+750       	The Hindu temple complex at Bhubaneswar is begun about this time in India.
+750       	The city of Granada is founded in Spain.
+751       	An Arab paper mill is established in Samarkand using Chinese paper-makers.
+751       	The Lombards capture Ravenna, the last Byzantine stronghold in northern Italy.
+751       	The Merovingian dynasty ends; Pepin begins the Carolingian dynasty.
+755       	The formation of the Papal States begins in Italy.
+770       	Block printing develops in Japan; 1 million copies of a prayer paper are produced.
+771       	Charlemagne becomes the sole king of the Franks.
+774       	Charlemagne expels the Lombards from Italy.
+780       	Lu Yu's The Classic of Tea, the first handbook on tea, is published in China.
+782       	Charlemagne invites Alcuin of York to lead a cultural revival in Aix-la-Chapelle (Aachen).
+785       	The Arabs begin the construction of the Great Mosque at Cordoba in Spain.
+786       	The golden age of Arab music begins under caliph Harun al-Rashid.
+787       	Byzantine empress Irene convenes the Second Council of Nicaea to rule on iconoclasm.
+787       	The city of Bremen is founded in Germany.
+789       	Vikings begin their attacks on England.
+790       	The city of Fez is founded in Morocco.
+792       	Charlemagne begins building his Chapel at Aix-la-Chapelle (Aachen).
+794       	The Japanese capital moves from Nara to Kyoto.
+799       	The Book of Kells is completed about this time.
+800       	Irish monks reach Iceland.
+800       	Mayan murals are completed at Bonampak in Mexico.
+800       	Pope Leo III crowns Charlemagne as the first European emperor since the Romans.
+800       	The Kanem-Bornu Empire is founded about this time in West Africa.
+800       	The Mayan center of Palenque begins to decline in Mexico.
+800       	The Oseberg Viking longship is buried about this time
+800       	The Srivijaya Empire is dominant in the Straits of Malacca.
+800       	The temple of Borobudur is constructed in Java.
+812       	The Chinese government issues paper bank drafts as money.
+814       	Construction of the Doge's Palace begins in Venice.
+814       	The Arabs adopt Indian numerals (1-9).
+838       	The Arabs sack Marseille and settle in southern Italy.
+840       	Viking settlers found the city of Dublin in Ireland.
+843       	The Carolingian Empire is partitioned by the Treaty of Verdun.
+844       	A Viking raid on Seville is repulsed.
+845       	The Vikings sack Paris.
+846       	The Arabs sack Rome and destroy the Venetian fleet.
+849       	The city of Pagan is founded in Burma.
+850       	Sian, capital of the T'ang Empire, has a population of over 1 million inhabitants.
+850       	The Acropolis of Zimbabwe is built in Africa.
+851       	An earthquake devastates Rome.
+860       	Rus Vikings attack Constantinople (Istanbul).
+860       	The Cyrillic alphabet is developed in eastern Europe about this time.
+862       	Novgorod in Russia is founded by the Rus Viking, Ulrich.
+866       	Danish Vikings establish a kingdom in York, England.
+867       	Byzantine mosaics are created in the church of Hagia Sophia in Constantinople.
+867       	Photius, the patriarch of Constantinople, initiates a schism with the church of Rome.
+868       	The earliest known woodcut illustration is made in China.
+870       	The Vikings found settlements on Iceland about this time.
+871       	Alfred the Great becomes king of Wessex; the Danish advance is halted in England.
+872       	Harold I gains control of Norway.
+879       	Rurik establishes Kiev as the center of the Kievan Rus' domains.
+880       	Angkor is founded as the capital city of the Khmer Empire in Cambodia (Kampuchea).
+880       	Byzantine emperor Basil I drives the Arabs from Italy.
+884       	Charles III becomes king of France and reunites the Frankish Empire.
+886       	Alfred divides England with the Danes under the Danelaw pact.
+887       	Arnulf deposes Charles III to become the last Carolingian Frankish emperor.
+895       	The Fujiwaras become rulers of Japan.
+896       	The Magyars migrate to the Danube region.
+900       	Cordoba in Spain becomes the center of Islamic science.
+900       	The Second Pueblo period begins in North America.
+900       	The Vikings raid along the Mediterranean coast.
+900       	The windmill arrives in Muslim Spain from Persia.
+906       	The last T'ang emperor is deposed; civil war begins in China.
+909       	A Benedictine abbey is founded at Cluny in France.
+910       	The mystical Islamic religion Sufism flourishes.
+911       	The Viking chief Rollo is granted land by the Franks and founds Normandy in France.
+915       	Fatimid armies invade Egypt.
+918       	The state of Koryo is founded in Korea.
+920       	The golden age of the Empire of Ghana begins in Africa.
+922       	The Fatimid dynasty conquers Morocco.
+936       	Otto I becomes king of Germany.
+939       	The Annamese drive the Chinese out of Vietnam.
+939       	The Kingdom of Leon captures Madrid from the Arabs.
+941       	Rus Vikings attack Constantinople (Istanbul).
+947       	The Liao dynasty is established in China with its capital at Peking.
+950       	Al-Farabi, Arab philosopher and author of the Grand Book of Music, dies.
+950       	Organs are installed in European abbeys and cathedrals.
+950       	The Arabs import drums and trumpets into Europe.
+950       	The Classical Mayan period ends about this time.
+950       	The Ottonian art period begins.
+950       	The building of the temple complex at Khajuraho begins in India.
+950       	Tula is established as the capital of Toltec power in Mexico.
+955       	Otto I defeats the Magyars at Lechfeld.
+960       	The Piasts found the first Polish dynasty.
+960       	The Sung dynasty begins in China.
+962       	Pope John XII crowns Otto I as Holy Roman Emperor.
+966       	Fujiwara domination of Japan is at its height.
+966       	The Poles convert to Christianity
+969       	The Fatimids conquer Egypt and found Cairo.
+975       	The Arabs introduce arithmetical notation into Europe.
+979       	The Sung dynasty reunites China.
+980       	Arabs settle along the east coast of Africa.
+980       	Danish raids on England are renewed.
+981       	Viking leader Eric the Red discovers Greenland.
+982       	Otto II is defeated by the Saracens in southern Italy.
+985       	Venice and Genoa trade between Asia and western Europe.
+986       	Viking ships sail in Newfoundland waters.
+987       	The Carolingian dynasty ends; the Capetians rule France.
+987       	The Toltecs capture Chichen Itza from the Mayas in Mexico.
+988       	Vladimir I of Kiev introduces Eastern Christianity to Russia.
+991       	AEthelred II pays the first Danegeld ransom to stop Danish attacks on England.
+991       	Japanese poet Sei Shonagon begins her diary The Pillow Book.
+995       	Olaf I conquers Norway and proclaims it a Christian kingdom.
+996       	Cane sugar arrives in Venice from Egypt.
+999       	Baguda becomes the first king of Kano in Nigeria.
+1000      	Christianity reaches Greenland and Iceland.
+1000      	Eilmer of Malmesbury makes a glider flight from Malmesbury Abbey in England.
+1000      	Leif Eriksson, son of Eric the Red, explores the coast of North America.
+1000      	Olaf I dies; Norway is ruled by the Danes.
+1000      	Sancho III rules all of Christian Spain.
+1000      	Stephen I is crowned as the first king of Hungary.
+1000      	The canonization of saints is formalized by the Christian church.
+1000      	The frame harp is in use in Ireland about this time.
+1000      	Venice has domain over the Dalmatian coast and the Adriatic Sea.
+1000      	Zanzibar is settled about this time in Africa.
+1001      	Mahmud of Ghazni begins a holy war to conquer India for Islam.
+1002      	Brian Boru defeats the Norse and becomes the king of Ireland.
+1004      	Henry II of Germany is crowned king of Lombardy.
+1010      	Persian poet Firdawsi completes the Shah Namah (Book of Kings).
+1010      	Viking explorer Thorfinn Karlsefni attempts to found a settlement in North America.
+1013      	The Danes conquer England; AEthelred flees to Normandy.
+1014      	Henry II is crowned Holy Roman Emperor.
+1015      	Vikings abandon the Vinland settlement on the coast of North America.
+1016      	Olaf II regains Norway from the Danes.
+1016      	The Danes under Canute rule England.
+1017      	Fatimid caliph al-Hakim founds the Druze religion.
+1018      	The Byzantine Empire annexes Bulgaria.
+1020      	Female Japanese author Murasaki Shikibu completes The Tale of Genji.
+1025      	Guido d'Arezzo invents the use of the staff in musical notation.
+1025      	Poland is divided after the death of Boleslaw I.
+1025      	The Cholas invade Bengal, Ceylon (Sri Lanka) and Java.
+1027      	Conrad II becomes Holy Roman Emperor, founding the Franconian dynasty.
+1028      	Canute, king of England and Denmark, conquers Norway.
+1030      	The Cumans begin their conquest of southern Russia.
+1031      	The caliphate of Cordoba collapses in Spain.
+1035      	Aragon and Castile become separate kingdoms in Spain.
+1037      	Avicenna, Muslim philosopher and physician, dies.
+1039      	The camera obscure is described for the first time.
+1040      	Macbeth kills Duncan I and becomes king of Scotland.
+1042      	Edward the Confessor rules England with the support of the Danes.
+1044      	The first Burmese state is established by Anawratha at Pagan.
+1046      	Henry III is crowned as Holy Roman Emperor.
+1050      	Chinese books are printed with movable wooden type.
+1050      	Edward the Confessor begins the construction of Westminster Abbey.
+1050      	Polyphonic singing replaces Gregorian chants.
+1050      	The city of Oslo is founded in Norway.
+1050      	Timbuktu is founded in North Africa by the Tuaregs.
+1051      	Isfahan becomes the capital of the Seljuk Empire.
+1054      	A supernova or guest star (the Crab Nebula) is reported by the Chinese.
+1054      	The Great Schism begins between the Orthodox church and the Roman Church.
+1055      	The Seljuk Turks occupy Baghdad.
+1056      	The Almoravids conquer North Africa
+1057      	Malcolm III kills Macbeth and becomes king of Scotland.
+1059      	The Florence Baptistery is consecrated.
+1062      	The city of Marrakech is founded in Morocco.
+1063      	The building of Pisa Cathedral is begun.
+1064      	The Hungarians seize Belgrade from the Byzantines.
+1064      	The Seljuks under Alp-Arslan conquer Armenia.
+1066      	William duke of Normandy defeats the Saxon king Harold at the Battle of Hastings.
+1071      	The Seljuks under Alp-Arslan defeat the Byzantines at the Battle of Manzikert.
+1072      	Alfonso VI becomes king of Leon and Castile.
+1072      	The Normans under Robert Guiscard conquer much of Byzantine Italy.
+1073      	Pope Gregory VII removes the power of investiture from the state.
+1075      	Persian poet Omar Khayyam writes the Rubaiyat.
+1076      	Holy Roman Emperor Henry IV tries to depose Pope Gregory VII.
+1077      	The Almoravids are dominant in Ghana, Africa.
+1078      	The Building of the Tower of London begins in England.
+1079      	The Building of Winchester Cathedral begins in England.
+1080      	The Bayeux Tapestry depicts the Norman victory at the Battle of Hastings.
+1080      	The city of Newcastle is founded in England.
+1083      	Emperor Henry IV storms Rome and installs the antipope Clement III.
+1085      	Alfonso VI captures Toledo from the Moors.
+1086      	Over 5,000 waterwheels are in use in England according to the Domesday Book.
+1086      	The Almoravids cross into Spain and defeat the Christian army of reconquest.
+1086      	The Domesday Book records land use and tenure in England.
+1091      	Byzantine emperor Alexius I defeats the Normans and the Pechnegs.
+1091      	Ladislas I unites Hungary and Croatia.
+1093      	Saint Mark's Basilica is completed in Venice.
+1094      	Spanish leader El Cid takes Valencia from the Moors.
+1094      	The sect of the Assassins is established.
+1096      	The Almoravids rule Muslim Spain.
+1096      	The First Christian Crusade begins against the Muslims.
+1098      	St. Anselm writes Why God Became Man.
+1098      	The first Cistercian monastery is founded by St. Robert.
+1099      	The Crusaders capture Jerusalem and establish the Latin Kingdom of Jerusalem.
+1100      	Kano becomes an important Hausa city state in Nigeria about this time.
+1100      	The Temne probably inhabit present-day Sierra Leone by this date.
+1100      	The Third Pueblo period begins in southwest North America.
+1100      	The epic poem Chanson de Roland celebrates the Age of Charlemagne.
+1105      	Holy Roman Emperor Henry IV is captured and forced to abdicate by his son Henry V.
+1108      	Louis VI succeeds his father Philip I as king of France.
+1114      	Chichester Cathedral is founded in England.
+1117      	The first reference of a compass used for navigation at sea is made in China.
+1118      	The Knights Templar military and religious order is founded.
+1119      	French theologian Peter Abelard becomes a monk after his love affair with Heloise.
+1120      	Ibn Tumart declares himself the mahdi and founds the Almohad dynasty.
+1121      	Peter Abelard's teachings on the Trinity are condemned by the Council of Soissons.
+1122      	The Concordat of Worms ends the investiture controversy over church and state powers.
+1130      	Stained glass is used to decorate church windows for the first time.
+1130      	The Almohad dynasty is established in Morocco.
+1135      	Geoffrey of Monmouth begins his History of Britain.
+1135      	The Almohads are dominant in northwestern Africa and Muslim Spain.
+1137      	Louis VII becomes king of France.
+1137      	The building of Saint-Denis Church in Paris marks the beginning of the Gothic art period.
+1137      	Wena (Vienna) is chartered as a city.
+1138      	The Hohenstaufen dynasty begins its domain over the Holy Roman Empire.
+1139      	Roger II, the Norman ruler of Sicily, founds the Kingdom of Naples.
+1145      	The legendary Christian king Prester John is mentioned for the first time.
+1147      	The Almohads kill the last Almoravid ruler in Marrakech.
+1147      	The Moors are expelled from Lisbon by the Christian Portuguese.
+1147      	The first reference is made to the city of Moscow.
+1150      	A medical school is established at Bologna University.
+1150      	Europe's first paper mill is established at Jativa, Spain.
+1150      	Oxford University is founded in England about this time.
+1150      	The Chinese develop the first rockets.
+1150      	The Yoruba city states begin to flourish in Nigeria.
+1150      	The destruction of Tula marks the end of the Toltec empire.
+1150      	The temple of Angkor Wat is built in Cambodia (Kampuchea).
+1152      	Eleanor of Aquitane marries Henry of Anjou.
+1152      	Louis VII the king of France annuls his marriage to Eleanor of Aquitane.
+1153      	Parakrama Bahu I begins his reign at Plonnaruwa, capital of Lanka (Sri Lanka).
+1154      	Henry of Anjou is crowned Henry II of England -- the first Plantagenet king.
+1154      	Muslim ruler Nur al-Din captures Damascus from the Seljuk Turks.
+1155      	Frederick I (Frederick Barbarossa) is crowned as Holy Roman Emperor.
+1159      	Civil war between the Taira and Minamoto samurai ravages Japan.
+1160      	French court poet Chretien de Troyes is active about this time.
+1160      	The Almohads drive the Almoravid Muslims from Spain and North Africa.
+1160      	The Rolls of Oleron (maritime laws) are proclaimed in France.
+1163      	Notre Dame Cathedral is begun; flying buttresses are used for the first time.
+1168      	The Jewish philosopher Maimonides completes the Mishnah Torah.
+1170      	A military faction seizes control in Korea and suppresses Buddhism.
+1170      	Archbishop Thomas Becket is murdered after a quarrel with King Henry II.
+1170      	The University of Paris is founded.
+1171      	King Henry II of England annexes Ireland.
+1171      	Saladin defeats the Fatimids and conquers Egypt.
+1174      	The building of the Leaning Tower of Pisa begins in Italy.
+1174      	The first public horse race course is constructed in London.
+1175      	The building of Strasbourg Cathedral begins in Germany.
+1175      	The first version of the French fable Reynard the Fox is written.
+1176      	The Lombard League defeats Emperor Frederick I at Legnano.
+1176      	The building of Old London Bridge is begun.
+1177      	The city of Belfast is founded in Ireland.
+1180      	Japanese warrior Minamoto no Yoritomo begins the 5-year Gempei War.
+1180      	Spanish Arab philosopher Averroes writes The Incoherence of the Incoherence.
+1180      	The Khmer Empire is at its greatest extent in Cambodia (Kampuchea).
+1185      	Minamoto no Yoritomo establishes the Kamakura shogunate in Japan.
+1186      	Bulgaria reestablishes its independence from the Byzantine Empire.
+1187      	Saladin recaptures Jerusalem from the Crusaders.
+1187      	The Toltecs are deposed at Chichen Itza in Mexico.
+1188      	The Third Crusade begins.
+1190      	Frederick I drowns enroute to the Crusades; Henry VI becomes Holy Roman Emperor (1191).
+1190      	King Philip Augustus grants a charter to the perfumers of Paris.
+1190      	The Mongol empire begins to expand in eastern Asia.
+1190      	The order of the Teutonic Knights is founded during the Third Crusade.
+1190      	Zen Buddhism is introduced into Japan.
+1191      	King Richard I of England captures Cyprus.
+1192      	King Richard I of England is captured by Duke Leopold of Austria.
+1192      	Minamoto no Yoritomo rules as the shogun of Japan.
+1194      	A Gothic cathedral is begun at Chartres, replacing an earlier structure.
+1194      	King Richard I is released from imprisonment after a ransom is paid.
+1194      	The Kingdom of Naples and Sicily become part of the Holy Roman Empire under Henry VI.
+1197      	Henry VI is succeeded by Otto IV as Holy Roman Emperor.
+1199      	Richard I is killed in battle in France; he is succeeded by John as king of England.
+1200      	Cambridge University is founded in England.
+1200      	The German epic Nibelungenlied is composed.
+1200      	The Jewish kabbalistic philosophy develops.
+1200      	The empire of Mali begins to flourish in west Africa.
+1200      	Troubadour performances are at their height in Europe.
+1202      	Italian mathematician Leonardo Pisano uses 0 (zero) for the first time in Europe.
+1202      	The Fourth Crusade begins.
+1204      	The Crusaders capture Constantinoplem (Istanbul) and found the Latin Empire.
+1204      	The city of Amsterdam is founded in Holland.
+1206      	Mongol tribal chief Temujin is proclaimed as Genghis Khan (universal ruler).
+1206      	The Delhi Sultanate is established in India.
+1207      	The city of Liverpool is settled in England.
+1209      	Pope Innocent III instigates a crusade against the Albigenses in southern France.
+1210      	St. Francis of Assisi founds the Franciscan order.
+1210      	The Mongols begin to invade China.
+1211      	The building of St. James' Cathedral is begun in Santiago, Spain.
+1212      	Castile defeats the Muslim Almohads in Spain.
+1212      	The Children's Crusade begins.
+1214      	Philip II defeats Emperor Otto IV and King John of England at the Battle of Bouvines.
+1215      	King John of England signs the Magna Carta.
+1215      	The Mongols defeat the Chin empire and occupy Peking.
+1217      	The Fifth Crusade begins with an attack on Egypt.
+1217      	The Kingdom of Serbia is founded.
+1219      	Denmark institutes a national flag, the oldest in Europe.
+1219      	The city of Samarkand is conquered by Ghengis Khan.
+1220      	The building of Salisbury Cathedral is begun in England.
+1222      	The University of Padua is founded in Italy.
+1223      	The Khanate of the Golden Horde is established in Russia by the Mongols.
+1225      	French poet Guillaume de Lorris writes the Romance of the Rose.
+1227      	Ghengis Khan dies; the Mongol empire is divided among his 4 sons.
+1227      	The building of Toledo Cathedral is begun in Spain.
+1229      	James I of Aragon captures Majorca from the Moors.
+1230      	The Qutb Minar minaret is built near present-day New Delhi, India
+1231      	Jalal al-Din al-Rumi founds the Sufi order known as Whirling Dervishes.
+1231      	Pope Gregory IX institutes the papal Inquisition.
+1234      	The printing of Buddhist texts using movable wooden type begins in Korea.
+1240      	Russian prince Alexander Nevsky defeats the Swedes at the Battle of Neva.
+1240      	The Mongol Golden Horde conquers Kievan Russia.
+1241      	The Mongols invade Hungary.
+1242      	English monk Roger Bacon describes a formula for making gunpowder.
+1244      	The city of Berlin is mentioned for the first time.
+1245      	Pope Innocent IV sends the Franciscan friar Carpini to the Mongols as a missionary.
+1248      	The Christian reconquest of Spain is almost complete; the Muslims still hold Granada.
+1248      	The building of Cologne Cathedral is begun in Germany.
+1249      	Alfonso III drives the Moors from Portugal.
+1250      	Albertus Magnus describes a method for manufacturing arsenic.
+1250      	Egyptian Mamelukes overthrow the Ayyubid dynasty.
+1250      	Frederick II's death leads to an Interregnum in Germany and a struggle for the crown.
+1250      	Louis IX of France is captured by the Muslims during the Seventh Crusade.
+1250      	Naval warfare in the Mediterranean is dominated by galleys.
+1250      	Vincent of Beauvais publishes the Greater Mirror, a contemporary encyclopedia.
+1252      	The city of Stockholm is founded in Sweden.
+1256      	The Order of Augustinian Hermits is founded.
+1257      	The Sorbonne theological college is founded at the University of Paris.
+1258      	The Mongols sack Baghdad, ending the Abbasid caliphate.
+1260      	Kublai Khan is proclaimed as the Mongol emperor.
+1260      	Paris becomes the center of tapestry weaving.
+1260      	The first flagellant movements appear in Italy.
+1260      	Venetian merchants Nicolo and Maffeo Polo begin their journey to China.
+1261      	Michael VIII regains Constantinople (Istanbul) and refounds the Byzantine Empire.
+1263      	Norway gains control of Iceland.
+1264      	Simon de Montfort and the English barons defeat Henry III at the Battle of Lewes.
+1265      	Simon de Montfort is killed at the Battle of Evesham.
+1266      	Charles I of Anjou becomes king of Naples and Sicily.
+1266      	Norway surrenders the Hebrides to Scotland.
+1268      	The Angevins and Guelphs defeat the Ghibellines at Tagliacozzo in Italy.
+1269      	The Mamelukes seize Mecca.
+1271      	Venetian merchant Marco Polo begins his journey to the court of Kublai Khan in China.
+1273      	Dominican theologian Thomas Aquinas completes his Summa Theologiae.
+1273      	Rudolf I becomes king of Germany, establishing the Habsburg dynasty.
+1274      	The Mongols invade Japan.
+1277      	Ottone Visconti rules Milan and founds the Visconti dynasty.
+1279      	Kublai Khan establishes the Yuan dynasty in China.
+1280      	Syrian scholar al-Hassan-al-Rammah describes "Chinese Arrows" (rockets).
+1282      	Sicilians revolt against the French during the Sicilian Vespers.
+1282      	Sicily splits from the Kingdom of Naples; Peter III of Aragon is elected to the throne.
+1284      	The Genoese fleet defeats Pisa to become dominant in the Mediterranean.
+1284      	The Pied Piper of Hamelin is alleged to have appeared about this time.
+1285      	Sienese artist Duccio paints the Rucellai Madonna in Florence.
+1287      	Pagan is conquered by the Mongols in Burma.
+1290      	Edward I expels the Jews from England.
+1290      	Florentine artist Cimabue paints the Crucifix.
+1290      	Moses de Leon composes the Kabbalistic work Zohar.
+1290      	Osman I founds the dynasty of the Ottoman Turks.
+1291      	The Mamelukes capture Acre, ending the Latin Kingdom of Jerusalem.
+1291      	The Swiss Confederation (Switzerland) is formed.
+1293      	Italian poet Dante writes his first book La vita nuova (The New Life).
+1293      	The Majapahit Empire is founded in Java.
+1294      	Philip IV of France institutes sumptuary laws against extravagant costumes.
+1294      	The building of Florence Cathedral is begun in Italy.
+1295      	Marco Polo brings a pasta recipe to Italy from Asia.
+1297      	The Genoese defeat the Venetian fleet at Curzola.
+1297      	William Wallace expels the English from Scotland.
+1298      	English king Edward I defeats William Wallace and reconquers Scotland.
+1298      	Marco Polo dictates the memoirs of his Travels from a prison in Genoa.
+1300      	Apothecaries become popular in Germany.
+1300      	The Forbidden City is built in Peking about this time.
+1300      	The city of Cholula regains prominence under the Mixtecs in Mexico.
+1300      	The first mechanical clocks appear in Europe.
+1300      	The spinning wheel is in use in Europe.
+1300      	The use of eyeglasses (spectacles) becomes common.
+1303      	Philip IV of France tries to abduct Pope Boniface VIII.
+1305      	Florentine painter Giotto begins his frescoes in the Arena Chapel in Padua.
+1306      	Philip IV expels the Jews from France.
+1306      	Robert the Bruce leads the Scots in a rebellion against English rule.
+1307      	Italian poet Dante begins his masterwork The Divine Comedy.
+1308      	Charles I becomes the first Angevin king of Hungary.
+1309      	Pope Clement V moves the papal court from Rome to Avignon in France.
+1312      	Henry VII is crowned Holy Roman Emperor but dies one year later.
+1312      	Mansa Musa becomes emperor of Mali in West Africa.
+1314      	Louis of Bavaria and Frederick of Austria contest the rule of the Holy Roman Empire.
+1314      	The Scots defeat the English at the Battle of Bannockburn.
+1320      	Poland is reunited under King Wladyslaw I.
+1322      	English folk hero Robin Hood is first mentioned.
+1322      	Louis IV defeats Frederick of Austria at the Battle of Muhldorf.
+1325      	Arab geographer Ibn Battuta begins his explorations.
+1326      	Edward II of England is deposed by Queen Isabella and Roger Mortimer.
+1327      	Louis IV king of Germany invades Italy.
+1327      	The city of Munich is destroyed by fire.
+1328      	Louis IV crowns himself as Holy Roman Emperor and installs an antipope.
+1328      	Sienese artist Simone Martini portrays the warlord Guidoriccio da Fogliano.
+1331      	The Moscow Kremlin (fortress) is mentioned for the first time.
+1333      	The Minamoto shogunate comes to an end; civil war breaks out in Japan.
+1337      	The Hundred Years' War begins between England and France.
+1338      	The Ashikaga shogunate begins in Japan.
+1340      	A British fleet defeats the French at Sluys.
+1341      	The Muslims rule Kashmir in India.
+1342      	Italian poet Petrarch writes his Canzoniere love lyrics.
+1345      	The Aztecs found Tenochtitlan (now Mexico City).
+1345      	The building of the present Doge's Palace begins in Venice.
+1346      	English archers defeat the French at Crecy; cannons (bombards) are used in the battle.
+1346      	Louis IV is deposed by Charles IV as king of Germany.
+1346      	Stephen Dusan crowns himself emperor of Serbia and the Greeks.
+1347      	The Black Death (bubonic plague) arrives in Europe, killing a third of the population.
+1347      	The English capture the French port of Calais.
+1348      	Italian writer Boccaccio begins the Decameron.
+1348      	Prague University is founded in Czechoslovakia.
+1350      	No drama develops in Japan about this time.
+1351      	Zurich joins the Swiss Confederation.
+1352      	Arab geographer Ibn Battuta explores Nigeria.
+1354      	The Shroud of Turin is mentioned for the first time.
+1355      	Charles IV is crowned Holy Roman Emperor.
+1356      	Charles IV establishes the Golden Bull constitution for the Holy Roman Empire.
+1356      	Edward the Black Prince defeats the French at Poitiers and captures King John II.
+1358      	Lubeck becomes headquarters of the Hanseatic League.
+1360      	Sir John Hawkwood leads his White Company of mercenaries into Italy.
+1360      	The Treaty of Bretigny ends the first phase of The Hundred Years' War.
+1362      	According to the Kensington Rune Stone, the Vikings reach Minnesota in America.
+1362      	English poet William Langland writes Piers Plowman.
+1364      	Polish king Casimir III founds Krakow University.
+1368      	The Ming dynasty begins in China.
+1369      	The French renew the war against England and recapture most of Aquitaine.
+1370      	Mongol leader Timur (Tamerlane) begins his wars of conquest in Asia.
+1370      	The building of the Bastille fortress begins in Paris.
+1370      	The death of Casimir III ends the Piast dynasty in Poland.
+1370      	The first modern perfume Hungary Water is made for Queen Elizabeth of Hungary.
+1377      	Playing cards are described for the first time.
+1377      	Pope Gregory XI returns the papacy to Rome.
+1378      	The Great Schism begins; 2 Popes reign from Rome and Avignon.
+1379      	Italian historian Muraroti describes the use of rockets during the siege of Chiozzia, Italy.
+1380      	Russian Prince Dimitry Donskoi defeats the Mongols at Kulikovo.
+1380      	Venice defeats Genoa and maintains sovereignty over the eastern Mediterranean.
+1381      	The Peasants' Revolt begins in England.
+1382      	John Wycliffe translates the Bible into English.
+1384      	The Lollard movement grows after the death of John Wycliffe.
+1386      	English poet Geoffrey Chaucer begins The Canterbury Tales.
+1386      	Heidelberg University is founded in Germany.
+1386      	Poland and Lithuania are united by marriage; the Jagello dynasty is founded.
+1387      	The Viscontis win the city-states of Verona and Vicenza from the Scala family.
+1387      	Timur (Tamerlane) conquers the city of Isfahan in Persia (Iran).
+1389      	The Ottoman Turks defeat the Hungarians at the Battle of Kosovo.
+1392      	The Yi dynasty usurps power from the Koryos in Korea.
+1394      	The Thais invade Cambodia (Kampuchea).
+1395      	Claus Sluter begins the Well of Moses sculpture at Chartreuse in France.
+1396      	A Christian army is defeated by the Ottoman Turks at Nicopolis, Bulgaria.
+1397      	The Kalmar Union unites Sweden, Denmark, and Norway.
+1398      	Timur (Tamerlane) invades India and sacks the Kingdom of Delhi.
+1399      	Bolingbroke (Henry IV) deposes Richard II and founds the House of Lancaster.
+1400      	Bedlam, England's first hospital for the mentally ill, is founded in London.
+1400      	French historian Jean Froissart completes his Chronicles.
+1400      	Norse settlers die out in Greenland.
+1400      	Owen Glendower leads a Welsh revolt against English rule.
+1400      	The Hohokam culture dies out in the American southwest.
+1400      	The first reported discovery is made of a frozen mammoth in Siberia.
+1402      	The building of Seville Cathedral begins in Spain.
+1402      	Timur (Tamerlane) defeats the Ottomans at Ankara and captures Sultan Bayezid I.
+1403      	Henry IV, King of England, defeats the Percy family at the Battle of Shrewsbury.
+1403      	Italian sculptor Lorenzo Ghiberti begins the bronze doors for the Florence Baptistery.
+1406      	The city-state of Pisa is defeated by Florence.
+1407      	The Chinese reoccupy Vietnam.
+1407      	The murder of Louis duc d'Orleans begins a civil war in France.
+1409      	Czech religious reformer John Huss (Jan Hus) lectures at Prague University.
+1410      	Flemish illuminators the Limbourg brothers begin the Belle Heures du Duc de Berry.
+1410      	The Poles and the Lithuanians defeat the Teutonic Knights at the Battle of Tannenberg.
+1411      	Open conflict breaks out between the Armagnacs and Burgundians in France.
+1415      	Henry V invades France and defeats the French at the Battle of Agincourt.
+1415      	John Huss (Jan Hus) is burned at the stake for heresy.
+1415      	The Council of Constance is convened to end the Schism caused by 2 competing popes.
+1415      	The Portuguese capture Ceuta, laying the foundations for Portugal's African Empire.
+1418      	German author Thomas a Kempis writes The Imitation of Christ.
+1418      	Prince Henry the Navigator dispatches the first Portuguese voyages of exploration.
+1418      	The earliest known European woodcut illustration is made.
+1420      	Henry V of England is acknowledged as heir to the French throne.
+1421      	The first known patent is issued in Florence.
+1425      	Florentine sculptor Donatello begins his bronze statue of David around this time.
+1427      	Masaccio completes the Expulsion of Adam and Eve fresco in the Brancacci Chapel.
+1427      	The Portuguese discover the Azores.
+1427      	The first major witch hunt takes place in Switzerland.
+1428      	Copenhagen becomes the residence of the Danish monarchs.
+1428      	Le Loi defeats the Chinese and founds the Le dynasty in Vietnam.
+1429      	The French under Joan of Arc raise the siege of Orleans and defeat the English.
+1431      	Joan of Arc is burned as a witch by the English at Rouen in France.
+1431      	Luca della Robbia sculpts the Cantoria (Singing Gallery) for Florence Cathedral.
+1431      	Tenochtitlan emerges as a dominant city-state in central Mexico under Aztec rule.
+1431      	Thai forces destroy the Khmer capital of Angkor.
+1433      	Sigismund king of Germany is crowned Holy Roman Emperor.
+1434      	Cosimo de'Medici gains control of Florence.
+1434      	Flemish artist Jan van Eyck paints the wedding portrait of Giovanni Arnolfini.
+1434      	Phnom Penh is established as the new Khmer capital.
+1434      	The Portuguese explore the African coast south of Cape Bojador.
+1435      	Italian artist Leon Battista Alberti writes on the laws of perspective.
+1436      	The French end the English occupation of Paris.
+1438      	The Inca empire is established in Peru.
+1440      	Hungary and Poland are united under Wladyslaw III to oppose the Turks.
+1440      	King Henry VI founds Eton College in England.
+1440      	The Mayan city of Mayapan is destroyed in Mexico.
+1442      	Florentine architect Filippo Brunelleschi begins work on the Pazzi Chapel.
+1442      	The Kingdom of Naples comes under Aragonnese rule.
+1443      	Flemish painter Rogier van der Weyden paints the Descent From the Cross.
+1444      	Wladyslaw III is killed by the Turks under Murad II at the Battle of Varna.
+1446      	The building of the Chapel at King's College is begun in Cambridge, England.
+1448      	The Hungarians are defeated by the Turks at the second battle of Kosovo.
+1450      	German goldsmith Johann Gutenberg perfects printing by movable metal type.
+1450      	The Arabian Nights are written about this time.
+1450      	The Portuguese begin the West African slave trade about this time.
+1450      	The Sforza family conquer the city-state of Milan.
+1450      	The Thurn and Taxis families establish a postal service for the Holy Roman Empire.
+1452      	Florentine painter Fra Filippo Lippi begins his frescoes for the Prato Cathedral.
+1452      	Frederick III is crowned as the first Habsburg Holy Roman Emperor.
+1453      	Ottoman Turks capture Constantinople (Istanbul), marking the end of the Byzantine Empire.
+1453      	The French capture Bordeaux from the English, ending the Hundred Years' War.
+1454      	The building of the Topkapi Palace begins in Constantinople (Istanbul).
+1455      	Florentine artist Paolo Uccello begins painting The Battle of San Romano.
+1455      	The Gutenberg Bible becomes the first book to be printed with movable metal type.
+1455      	The Wars of the Roses begin in England.
+1456      	Hungarians under Janos Hunyadi defeat the Turks at Belgrade.
+1456      	The Turks capture Athens.
+1456      	Vlad the Impaler becomes Prince of Walachia.
+1457      	The first printed almanac is published.
+1458      	Matthias Corvinus becomes king of Hungary.
+1458      	The building of the Pitti Palace begins in Florence.
+1459      	The Turks conquer Serbia.
+1460      	Italian artist Mantegna begins painting The Agony in the Garden.
+1460      	Richard of York defeats the royalist forces at Northampton, but is killed at Wakefield.
+1460      	Woodcuts are in use for illustrating books.
+1461      	Richard of York's son Edward IV is crowned king of England.
+1462      	Spain captures Gibraltar from the Muslims.
+1464      	Sunni Ali founds the Songhai empire in West Africa.
+1466      	West Prussia is ceded to Poland by the Treaty of Torun.
+1467      	Charles the Bold becomes the Duke of Burgundy.
+1467      	The 10-year Onin War begins in Japan.
+1469      	Ferdinand of Aragon marries Isabella of Castile.
+1469      	Henry VI and the Earl of Warwick depose Edward IV of England.
+1470      	Sir Thomas Malory completes the Morte D'arthur.
+1470      	The first ballad appears about the Swiss hero William Tell.
+1471      	Henry VI of England is murdered; Edward IV is restored to the throne.
+1471      	The Portuguese capture Tangier from the Muslims.
+1473      	The building of the Sistine Chapel begins in Rome.
+1475      	Burgundy is at the height of power under Charles the Bold.
+1475      	Stephen the Great defeats the Turks at the Battle of Vaslui.
+1475      	The English under Edward IV invade France.
+1475      	The Turks conquer the Crimea.
+1476      	Copperplate (intaglio) engravings are developed.
+1477      	Louis XI establishes a royal postal service in France.
+1477      	William Caxton prints the first book in England.
+1478      	Lorenzo de'Medici rules Florence.
+1479      	Ferdinand II becomes king of Aragon, which unites with his wife's kingdom of Castile.
+1480      	Brussels becomes the center of the European tapestry industry about this time.
+1480      	Flemish artist Hans Memling is active about this time.
+1480      	Ivan III defeats the Tartars and begins the unification of Russia.
+1480      	Ludovico Sforza becomes the Duke of Milan.
+1480      	The Spanish Inquisition is established to interrogate heretics and converted Jews.
+1481      	Edward IV establishes a postal service in England.
+1481      	Mehmed II dies; Bayezid II becomes Sultan of the Ottoman Turks.
+1482      	The Portuguese explore the Congo River and encounter the Kingdom of Kongo.
+1482      	The Portuguese settle on the African Gold Coast (Ghana).
+1483      	Artist Giovanni Bellini is appointed as painter to the Venetian Republic.
+1483      	Italian artist Leonardo da Vinci sketches an early helicopter design.
+1483      	Italian reformer Girolamo Savonarola is executed for heresy.
+1483      	Richard III usurps the throne of England; Edward V is murdered.
+1483      	Torquemada becomes the grand inquisitor of the Spanish Inquisition.
+1485      	English land owners begin enclosing their fields with hedges.
+1485      	German playing card symbols (hearts, leaves, bells and acorns) are established.
+1485      	Henry Tudor defeats Richard III at the Battle of Bosworth Field.
+1485      	Portuguese explorers discover the Kingdom of Benin.
+1485      	Sandro Botticelli paints The Birth of Venus in Florence.
+1486      	Henry VII of England unites the warring houses of York and Lancaster.
+1486      	The Aztecs found the city of Oaxaca in Mexico.
+1486      	The first major book on witchcraft Hammer of Sorceresses is published in Germany.
+1487      	Quito becomes the northern capital of the Inca empire.
+1488      	Bartolomeu Dias becomes the first European to round the Cape of Good Hope.
+1488      	Italian philosopher Pico della Mirandola is imprisoned for heresy.
+1489      	Venice gains control of the island of Cyprus.
+1490      	Ballet originates in Italy about this time.
+1490      	Italian printer Aldus Manutius establishes the Aldine Press in Venice.
+1490      	Papal singer and composer Josquin des Prez is active during this period.
+1492      	Christopher Columbus sails from Spain to the New World.
+1492      	Ferdinand II conquers Granada, ending the Muslim influence in Spain.
+1492      	German geographer Martin Benhaim makes the first terrestrial globe.
+1492      	Spanish Jews are given 3 months to become Christians or to leave the country.
+1493      	Maximilian I succeeds Frederick III as Holy Roman Emperor.
+1494      	Charles VIII of France invades Italy, beginning the Italian Wars.
+1494      	German artist Albrecht Durer travels from Nuremberg to Italy.
+1494      	German satirist Sebastian Brant writes the Ship of Fools.
+1494      	The Treaty of Tordesillas establishes a boundary between New World discoveries.
+1495      	French king Charles VIII is crowned at Naples.
+1495      	Leonardo da Vinci begins painting The Last Supper in Milan.
+1495      	Printed editions of the Greek classics becomes available in Europe.
+1495      	The Jews are expelled from Portugal.
+1496      	The first description of the tobacco plant appears in Europe.
+1497      	Italian explorer John Cabot discovers Newfoundland for England.
+1498      	Columbus lands on the coast of South America during his third voyage.
+1498      	Louis XII succeeds Charles VIII as king of France.
+1498      	Michelangelo begins sculpting the Pieta for St. Peter's Church in Rome.
+1498      	Portuguese explorer Vasco da Gama reaches India.
+1498      	The toothbrush is invented by a Chinese dentist.
+1499      	French forces under Louis XII capture Milan.
+1499      	Perkin Warbeck, pretender to the English throne, is executed by Henry VII.
+1499      	Venetian artist Giorgione paints Portrait of a Young Man.
+1500      	Dutch artist Hieronymus Bosch paints The Garden of Earthly Delights.
+1500      	Portuguese navigator Pedro Cabral lays claim to Brazil for Portugal.
+1501      	France and Spain divide the Kingdom of Naples.
+1501      	Italian navigator Amerigo Vespucci explores Brazil.
+1502      	A Portuguese trading post is established at Cochin in India.
+1502      	A peace treaty is established between Venice and the Ottoman Turks.
+1502      	Columbus sails on his fourth voyage of discovery.
+1502      	Shah Ismail founds the Safavid dynasty; Shiism becomes the religion of Persia (Iran).
+1503      	Arquebuses (handguns) help the Spanish defeat the French in Italy.
+1503      	Juan Bermudez lands on the island of Bermuda, which is named for him.
+1503      	Leonardo da Vinci begins painting the Mona Lisa.
+1503      	Spanish general Fernandez de Cordoba forces the French to abandon Naples.
+1503      	The Spanish crown approves encomienda (enforced slavery) in the American colonies.
+1504      	Babur occupies Kabul and establishes a kingdom in Afghanistan.
+1504      	Italian artist Raphael paints The Marriage of the Virgin.
+1505      	Christian king Alfonso I (Nzinga Mbemba) rules the Kingdom of Kongo.
+1505      	The Portuguese colonize Mozambique and arrive at Ceylon (Sri Lanka).
+1506      	Christopher Columbus dies in poverty.
+1506      	Italian architect Bramante begins the plans for St. Peters in Rome.
+1507      	Cartographer Martin Waldseemuller uses the word America on a map for the first time.
+1508      	Michelangelo begins painting the ceiling of the Sistine Chapel in Rome.
+1508      	The League of Cambrai is formed to oppose Venice.
+1509      	Dutch scholar Erasmus writes The Praise of Folly.
+1509      	Henry VIII succeeds his father Henry VII as king of England.
+1509      	The first sugar cane mill is established in the Americas.
+1509      	Venice is defeated by the League of Cambrai at Agnadello.
+1510      	Spain conquers Tripoli in North Africa.
+1510      	The English morality play Everyman is adapted from an earlier Dutch work.
+1510      	The Polygraphia, the first printed work on cryptology, is published in Germany.
+1510      	The Portuguese colony of Goa is founded on the coast of India.
+1511      	German artist Matthias Grunewald begins painting the Isenheim Altarpiece.
+1511      	Pope Julius II organizes a Holy League against Louis XII of France.
+1511      	The Portuguese become the first Europeans to reach Siam (Thailand).
+1511      	The Portuguese capture Malacca (now Melaka) in Malaysia.
+1512      	Albrecht Durer is appointed court painter to Holy Roman Emperor Maximilian I.
+1512      	Selim I becomes Sultan of the Ottoman Empire.
+1512      	The Habsburgs reinstate the Medicis as the rulers of Florence.
+1513      	Italian political theorist Niccolo Machiavelli writes The Prince.
+1513      	Louis XII is defeated by the Holy League; French forces are expelled from Italy.
+1513      	Spanish explorer Juan Ponce de Leon lands on the coast of Florida.
+1513      	Vasco Nunez de Balboa becomes the first European to sight the Pacific Ocean.
+1514      	Bartolome de Las Casas tries to improve the treatment of South American Indians.
+1514      	Italian artist Raphael becomes the chief architect of St. Peter's in Rome.
+1514      	Spanish conquistadors under Diego Velazquez de Cuellar conquer Cuba.
+1514      	The Turks defeat the Persians at the Battle of Chaldiran.
+1515      	Italian artist Michelangelo sculpts his monumental statue of Moses.
+1515      	The French defeat the Habsburgs and their allies at the Battle of Marignano.
+1515      	The building of Hampton Court is begun in England.
+1515      	Thomas Wolsey is appointed Lord Chancellor of England.
+1516      	Charles I succeeds Ferdinand II as king of Spain.
+1516      	English intellectual and statesman Sir Thomas More writes Utopia.
+1516      	Milan is ceded to France by the Treaty of Noyon.
+1516      	The Ottoman Turks capture Algiers in North Africa.
+1517      	Andrea del Sarto paints the Madonna of the Harpies.
+1517      	The Turks defeat the Mamelukes for possession of Syria and Egypt.
+1517      	Theologian Martin Luther displays his 95 theses at Wittenberg in Germany.
+1518      	Spanish conquistador Pedro de Alvarado explores the Yucatan Peninsula.
+1519      	Charles I of Spain succeeds Maximilian I as Holy Roman Emperor Charles V.
+1519      	Chocolate is introduced into Spain as a beverage.
+1519      	Panama City is founded by the Spanish in Central America.
+1519      	Spanish conquistador Hernan Cortes meets the Aztec leader Montezuma in Mexico.
+1519      	Ulrich Zwingli leads the Reformation in Switzerland.
+1520      	Corn (Zea mays) is imported into Spain from the West Indies.
+1520      	Francis I meets Henry VIII at the Field of the Cloth of Gold in Calais, France.
+1520      	King Christian II of Denmark conquers Sweden.
+1520      	Portuguese navigator Ferdinand Magellan discovers the Strait of Magellan.
+1520      	Suleiman I (the Magnificent) succeeds Selim I as Sultan of the Ottoman Empire.
+1520      	The earliest state lottery is organized in France.
+1521      	Martin Luther is excommunicated as a heretic at the Diet of Worms.
+1521      	Portuguese navigator Ferdinand Magellan is killed by natives in the Philippines.
+1521      	Spanish conquistador Hernan Cortes conquers the Aztec capital of Tenochtitlan.
+1522      	Jean Clouet becomes the court painter to Francis I of France.
+1522      	Magellan's crew aboard the Victoria complete the first global circumnavigation.
+1523      	Gustav I drives out the Danes to become King of Sweden.
+1523      	Spanish settlements are established in Venezuela.
+1523      	Venetian artist Titian paints Bacchus and Ariadne.
+1524      	Giovanni da Verrazano discovers New York Bay and the Hudson River.
+1524      	The Peasants' War breaks out in central Europe.
+1525      	Holy Roman Emperor Charles V defeats and captures Francis I at the Battle of Pavia.
+1526      	Babur founds the Mogul dynasty in India, ending the Delhi Sultanate.
+1526      	Correggio paints the Assumption of the Virgin in Parma Cathedral.
+1526      	The Turks defeat the Hungarians at the Battle of Mohacs; King Louis II is killed.
+1526      	The domains of Hungary and Bohemia are inherited by the Habsburgs.
+1527      	German physician Paracelsus lectures on medicine at Basel in Switzerland.
+1527      	Italian courtier Baldassare Castiglione writes The Book of the Courtier.
+1527      	Rome is sacked by the Spanish and Habsburg armies.
+1528      	The building of the Chateau de Fontainebleau is begun in France.
+1529      	Henry VIII dismisses Cardinal Wolsey for failing to secure his divorce.
+1529      	The Ottoman Turks besiege Vienna.
+1530      	Humayun succeeds Babur as Mogul emperor.
+1530      	The Hospitalers (Knights of St. John) are granted Malta by Charles V.
+1530      	The Lutheran confession of faith is issued at the Diet of Augsburg.
+1531      	Religious war begins in Switzerland; Protestant leader Zwingli is killed in battle.
+1531      	The League of Schmalkald is formed as an alliance of Protestant German rulers.
+1532      	French scholar Francois Rabelais begins the publication of Gargantua and Pantagruel.
+1532      	Thomas Cromwell becomes chief minister to Henry VIII of England.
+1533      	Catherine de Medicis introduces the Italian balleto into France as the ballet.
+1533      	Catherine de Medicis marries Henry II, the future king of France.
+1533      	Francisco Pizarro conquers the Incas in Peru; the Inca leader Atahulpa is executed.
+1533      	German artist Hans Holbein the Younger paints The Ambassadors.
+1533      	Henry VIII divorces Catherine of Aragon and marries Anne Boleyn.
+1533      	The Church of England breaks with Rome.
+1534      	Anabaptists seize the city of Munster in Germany.
+1534      	Martin Luther completes his translation of the Bible into German.
+1535      	English humanist and statesman Thomas More is executed.
+1535      	French explorer Jacques Cartier navigates the St. Lawrence River in Canada.
+1535      	Spanish conquistador Diego de Almagro discovers Chile.
+1535      	Spanish conquistador Francisco Pizarro founds the city of Lima in Peru.
+1535      	Suleiman I completes the conquest of the last Arab domains in Mesopotamia.
+1535      	The Spanish discover the Galapagos Islands.
+1536      	Christian III establishes the state Lutheran church of Denmark and Norway.
+1536      	Dissolution of the monasteries and nunneries begins in England.
+1536      	English reformer William Tyndale is burned at the stake for heresy.
+1536      	French theologian John Calvin publishes his Institutes of the Christian Religion.
+1536      	Henry VIII executes Anne Boleyn and marries Jane Seymour.
+1536      	Spanish conquistador Pedro de Mendoza founds Buenos Aries in Argentina.
+1537      	Kempe Gowda founds the city of Bangalore in India.
+1537      	Niccolo Tartaglia publishes his work on ballistics The New Science.
+1538      	Italian artist Benvenuto Cellini begins his Autobiography.
+1538      	The Spanish found the city of Bogota in Columbia.
+1539      	Afghan ruler Sher Shah defeats the Mogul emperor Humayun.
+1540      	Coronado explores the American southwest in search of the fabled cities of Cibola.
+1540      	Henry VIII executes his principal minister Thomas Cromwell.
+1540      	Henry VIII marries Anne of Cleves; he is divorced and marries Catherine Howard.
+1540      	Hernando de Soto defeats the Choctaw Indians under Chief Tuscaloosa.
+1540      	The Grand Canyon is discovered by Garcia Lopez de Cardenas.
+1540      	The Order of Jesuits is inaugurated under Ignatius Loyola.
+1541      	Geneva becomes the center of Calvinism.
+1541      	Spanish conquistador Pedro de Valdivia founds the city of Santiago in Chile.
+1541      	Spanish explorer Hernando de Soto discovers the Mississippi River.
+1542      	Catherine Howard is executed by Henry VIII.
+1542      	Spanish explorer Francisco de Orellana discovers the Amazon River.
+1542      	The infant Mary Stuart succeeds James V as queen of Scotland.
+1543      	Anatomist Andreas Vesalius publishes On the Structure of the Human Body.
+1543      	Henry VIII marries Catherine Parr, his sixth wife.
+1543      	Nicolaus Copernicus' On the Revolutions of the Heavenly Spheres is published.
+1543      	Portuguese explorers land in Japan.
+1543      	The first botanical garden is founded in Pisa.
+1543      	The first single-cast cannon is made in England.
+1544      	French surgeon Ambroise Pare publishes his book on surgical treatments.
+1545      	Henry VIII's warship the Mary Rose sinks near Portsmouth in England.
+1545      	Mathematician Gerolamo Cardano publishes his treatise The Great Art.
+1545      	Pope Paul III opens the Council of Trent to reform the Catholic Church.
+1545      	Silver mines are discovered in Bolivia; the city of Potosi is founded.
+1546      	Francis I commissions Pierre Lescot to begin the design of the Louvre art museum.
+1546      	German physician Georgius Agricola publishes On the Nature of Fossils.
+1546      	Physician Girolamo Fracastoro describes the transmission of disease by living germs.
+1546      	Turkish pirate leader Barbarossa dies.
+1547      	Antonio Torquemada publishes the first book on the game of checkers.
+1547      	Henry II succeeds Francis I as king of France.
+1547      	Henry VIII dies and is succeeded by Edward VI as king of England.
+1547      	Ivan IV (the Terrible) is crowned tsar of Russia.
+1548      	Francis Xavier founds the Jesuit mission in Japan.
+1548      	Sigismund II is crowned King of Poland.
+1548      	The Spanish found the city of La Paz in Bolivia.
+1548      	Venetian artist Tintoretto paints the Miracle of the Slave.
+1549      	English theologian Thomas Cranmer promotes the Book of Common Prayer.
+1550      	Commedia dell'arte performances evolve in Italy about this time.
+1550      	King Gustav I founds the city of Helsinki in Finland.
+1550      	Pedro de Valdivia founds the city of Concepcion in Chile.
+1550      	The sport of curling becomes popular in Scotland about his time.
+1550      	The violin evolves about this time from the medieval fiddle.
+1550      	Tobacco smoking is introduced into Spain and Portugal.
+1550      	Vasari writes the Lives of Most Eminent Painters, Sculptors, and Architects.
+1550      	Virtually all of Italy comes under the rule of Habsburg emperor Charles V.
+1551      	Italian architect Andrea Palladio completes the design of the Villa Rotunda.
+1551      	The University of Mexico is founded.
+1552      	Ivan IV conquers the Tatar khanate of Kazan.
+1553      	Edward VI dies; Lady Jane Grey rules England but is deposed after 9 days.
+1553      	Mary I (Bloody Mary) becomes queen of England.
+1553      	The Araucanian Indian Lautaro kills Pedro de Valdivia during an uprising in Chile.
+1553      	The English Muscovy Company begin the search for a Northeast Passage to the Indies.
+1553      	Venetian artist Paolo Veronese paints the ceiling panels of the Doge's Palace.
+1554      	Italian composer Palestrina dedicates his Masses to Pope Julius III.
+1554      	Mary I, Queen of England, marries Philip, heir to the Spanish throne.
+1554      	The Catholic restoration begins in England under Mary I.
+1554      	The Turks conquer the Barbary States along the North African coast.
+1554      	Tomatoes from South America are cultivated in Europe.
+1555      	300 English Protestants are burned at the stake.
+1555      	French astrologer Nostradamus publishes the Centuries, a book of predictions.
+1555      	The Peace of Augsburg gives German princes a right to chose Catholicism or Lutheranism.
+1555      	The building of St. Basil's Cathedral is begun in Moscow.
+1556      	Agricola's treatise on mining and metallurgy De re mettalica is published.
+1556      	Akbar succeeds Humayun as Mogul emperor.
+1556      	An earthquake in China is the worst in history with a death toll of 830,000.
+1556      	Charles V abdicates; the Holy Roman Empire is divided between Philip II and Ferdinand I.
+1556      	Protestant theologian Thomas Cranmer is executed by Mary I.
+1556      	Turkish architect Sinan builds the Suleimaniye Mosque in Constantinople (Istanbul).
+1557      	Philip II of Spain defeats the French at Saint Quentin.
+1557      	The Portuguese establish a settlement at Macao in China.
+1557      	The equals symbol (=) is first used.
+1558      	Elizabeth I succeeds Mary I as queen of England.
+1558      	Ferdinand I is crowned Holy Roman Emperor.
+1558      	Mary, Queen of Scots, marries the French dauphin Francis II.
+1558      	The English lose Calais, their last French possession.
+1558      	The Trinh and Nguyen divide the Kingdom of Vietnam.
+1559      	Calvinist preacher John Knox returns to Scotland to lead the Protestant struggle.
+1559      	Pope Paul IV issues the first index of forbidden books.
+1559      	The Treaty of Cateau-Cambresis ends the Italian Wars between France and Spain.
+1560      	Puritanism begins in England about this time.
+1560      	The building of the Uffizi Palace is begun in Florence.
+1560      	Tulips are imported into Europe from Turkey about this time.
+1561      	Mary, Queen of Scots, returns from France to Scotland.
+1561      	Philip II makes Madrid the capital of Spain.
+1561      	Ruy Lopez de Segura analyzes chess movements.
+1561      	The building of the tomb of Humayun begins in Dehli.
+1562      	French Huguenots attempt to colonize Florida.
+1562      	Giuseppe Arcimboldo becomes court painter to Maximilian II.
+1562      	Religious wars break out in France between Protestant Huguenots and Catholics.
+1562      	Sir John Hawkins begins the slave trade between Africa and the West Indies.
+1563      	Vientiane becomes the capital of the Lao kingdom (Laos).
+1564      	Ivan IV begins a reign of terror in Russia.
+1564      	Maximilian II succeeds Ferdinand I as Holy Roman Emperor.
+1564      	Spain founds the first European settlement in the U.S. at Saint Augustine in Florida.
+1564      	The Spanish found their first colony in the Philippines at Cebu.
+1564      	The first horse-drawn coaches come to England from Holland.
+1564      	The manufacture of lead (graphite) pencils begins in England.
+1565      	Muslims destroy the Hindu capital of Vijayanagar in southern India.
+1565      	The Spanish massacre French Huguenot settlers in Florida.
+1566      	A revolt begins in the Netherlands against Spanish rule.
+1567      	Mary, Queen of Scots, is forced to abdicate in favor of her son James VI.
+1567      	The Duque de Alba is sent to the Netherlands to quell the Dutch Revolt.
+1567      	The Portuguese oust Huguenot settlers and found the city of Rio de Janeiro in Brazil.
+1568      	Flemish painter Bruegel the Elder paints The Blind Leading the Blind.
+1568      	Mary, Queen of Scots, is imprisoned in England for 19 years by Elizabeth I.
+1568      	Nobunaga seizes Kyoto and begins the reunification of Japan.
+1569      	Cartographer Gerardus Mercator uses the first cylindrical projection for a world map.
+1569      	Jacques Besson develops the first screw-cutting lathe.
+1569      	Mogul emperor Akbar establishes a new capital at Fatehpur Sikri in India.
+1569      	The Union of Lublin unites the Polish states under Sigismund II.
+1570      	Italian architect Andrea Palladio publishes The Four Books of Architecture.
+1570      	Nicholas Hilliard paints a miniature portrait of Elizabeth I.
+1570      	The Kanem-Bornu empire flourishes in West Africa.
+1571      	A calligraphy manual The Useful Writer is published in Italy.
+1571      	The Spanish found the city of Manila in the Philippines.
+1571      	The Turks conquer the island of Cyprus.
+1571      	The allied fleet of Spain, Venice, and the papacy destroys the Turks at Lepanto.
+1572      	Bogota University is founded in Columbia.
+1572      	Francisco de Toledo executes Tupac Amaru, ending Inca resistance in Peru.
+1572      	Huguenots are massacred in France on St. Bartholomew's Day.
+1572      	Sigismund II dies, ending the Jagello dynasty in Poland.
+1572      	The Gujarat state is annexed by the Moguls in India.
+1573      	An era of castle building begins in Japan during the Momoyama period.
+1573      	The potato is brought back from the Americas and cultivated in Spain.
+1574      	Henry III is crowned king of France.
+1574      	The Turks regain Tunis in North Africa from Spain.
+1575      	Indian leader Hiawatha allegedly founds the Iroquois League.
+1575      	Stephen Bathory is elected king of Poland.
+1576      	Danish astronomer Tycho Brahe builds an observatory on the island of Ven.
+1576      	Henry III outlaws Protestantism in France.
+1576      	Martin Frobisher commands an expedition to search for a Northwest Passage.
+1576      	Rudolf II is crowned Holy Roman Emperor; the imperial court moves to Prague.
+1576      	The Dutch provinces unite to drive out the Spanish.
+1576      	The first playhouse, the Theater, is erected by actor James Burbage in London.
+1577      	English explorer Francis Drake begins his voyage of circumnavigation.
+1577      	Ram Das founds the city of Amritsar, a Sikh religious center.
+1578      	English dramatist John Lyly writes Euphues, the Anatomy of Wit.
+1578      	King Sebastian of Portugal is killed by Muslims at Alcazrquivir in Morocco.
+1578      	The Christian catacombs are rediscovered in Rome.
+1579      	English explorer Francis Drake discovers San Francisco Bay.
+1580      	French writer Michel de Montaigne publishes his Essays.
+1580      	Philip II of Spain invades Portugal.
+1580      	Witches are persecuted throughout western Europe.
+1581      	Beaujoyeux's Ballet Comique de la Reigne is performed in Paris.
+1581      	The Dutch Republic is founded after the Union of Utrecht.
+1581      	The Russian conquest of Siberia begins with the expedition of Yermak Timofeyevich.
+1582      	Geographer Richard Hakluyt publishes an account of the discovery of America.
+1582      	The Gregorian calendar is introduced into Catholic countries by Pope Gregory XIII.
+1583      	Edinburgh University is founded in Scotland.
+1583      	Japanese leader Hideyoshi builds Osaka castle.
+1583      	Sir Humphrey Gilbert claims Newfoundland for England.
+1584      	Russian tsar Ivan the Terrible dies.
+1584      	Walter Raleigh and Richard Grenville organize English colonizing ventures to North America.
+1584      	William I, leader of the Dutch Revolt, is assassinated.
+1585      	England is at war with Spain (until 1604).
+1585      	John Davis discovers Davis Strait between Greenland and North America.
+1585      	Roanoke Island in North Carolina is settled as the first English colony in Virginia.
+1586      	Mary, Queen of Scots, is found guilty of treason and executed (1587).
+1586      	Pipe smoking is introduced into England.
+1587      	Francis Drake attacks the Spanish fleet in Cadiz harbor.
+1587      	Japanese leader Hideyoshi bans Christian missionaries.
+1588      	Christian IV succeeds Frederick II as king of Denmark.
+1588      	The Catholic League expels Henry III from Paris.
+1588      	The Spanish Armada is defeated by the English navy.
+1588      	Timothy Bright composes the first manual of shorthand.
+1589      	Galileo Galilei is made professor of mathematics at Pisa.
+1589      	Henry III is assassinated; he is succeeded by Henry IV as king of France.
+1590      	Christopher Marlowe's drama Tamburlaine the Great is published in London.
+1590      	English poet Edmund Spenser begins The Faerie Queene.
+1590      	Hideyoshi completes the unification of Japan.
+1590      	Viete, inventor of symbolic algebra, writes his Introduction to the Analytic Art.
+1590      	William Shakespeare begins writing plays about this time.
+1591      	The Roanoke colony dies out in North Carolina.
+1591      	The Songhai Empire is destroyed by the Moroccan army.
+1592      	Elizabeth I founds Trinity College in Dublin.
+1592      	Italian philosopher Giordano Bruno is imprisoned for heresy.
+1592      	London theaters are closed because of the plague.
+1592      	Playwright Christopher Marlowe writes Doctor Faustus.
+1592      	Thomas Kyd writes his revenge play The Spanish Tragedy.
+1593      	English theologian Richard Hooker publishes his Laws of Ecclesiastical Polity.
+1593      	Henry IV of France converts to Catholicism.
+1594      	Henry IV of France captures Paris.
+1594      	Jacopo Peri's Dafne, the first opera, is performed in Italy about this time.
+1595      	Hugh O'Neill leads a rebellion against the English in Ireland.
+1596      	Warsaw is established as the capital of Poland.
+1597      	English composer John Dowland publishes his First Booke of Songes.
+1597      	Spanish artist El Greco paints The Agony in the Garden.
+1598      	Abbas I of Persia (Iran) defeats the Uzbeks at Herat.
+1598      	Boris Godunov becomes tsar of Russia; the Time of Troubles begin.
+1598      	English playwright Ben Jonson writes Every Man in His Humour.
+1598      	John Florio produces an Italian-English dictionary.
+1598      	Philip III succeeds Philip II as king of Spain.
+1598      	The Edict of Nantes grants French Huguenots equal rights with Catholics.
+1599      	The Earl of Essex is imprisoned for negotiating a truce with the Irish rebels.
+1599      	The Globe theater is built in London.
+1600      	A charter is granted to the East India Company by Queen Elizabeth I.
+1600      	Giordano Bruno is burned at the stake in Rome for heretical writing.
+1600      	Hans and Zacharias Jannsen construct the first microscope about this time.
+1600      	Maurice of Nassau defeats the Austrian army at Nieuport.
+1600      	The Baroque period in art and architecture begins in Italy about this time.
+1600      	Wigs become fashionable at European courts about this time.
+1600      	William Gilbert publishes his treatise on magnetism.
+1601      	Italian artist Caravaggio paints the Conversion of St. Paul.
+1601      	Jesuit missionary Matteo Ricci arrives in Peking.
+1601      	Manchurian leader Nurhachi unites the Manchu tribes under the banner system.
+1601      	The Earl of Essex is executed by Elizabeth I after his rebellion fails.
+1601      	The Gobelins tapestry factory is established in Paris.
+1602      	Abbas I leads Persia (Iran) in a holy war against the Ottoman Turks.
+1602      	Bartholomew Gosnold explores the New England coast and names Cape Cod.
+1602      	The Bodleian Library, the first public library in Europe, opens in Oxford, England
+1602      	The Dutch East India Company is founded.
+1603      	Ieyasu founds the Tokugawa shogunate in Japan.
+1603      	Queen Elizabeth I dies; she is succeeded by James I (James IV of Scotland).
+1603      	The first Kabuki performance is given in Japan.
+1603      	William Shakespeare's play Hamlet is performed for the first time.
+1604      	A false Dmitry lays claim to the Russian throne during the "Time of Troubles."
+1604      	Charles IX is crowned king of Sweden.
+1604      	England and Spain are at peace after 19 years of war.
+1604      	Flemish artist Carel van Mander publishes a handbook for painters Het Schilderboeck.
+1604      	Hieronymus Fabricius writes De formata foctu, a study of human embryology.
+1604      	The French East India Company is founded.
+1604      	The Spanish capture the Dutch city of Ostend after a 3-year siege.
+1605      	English philosopher Francis Bacon publishes The Advancement of Learning.
+1605      	Jahangir succeeds Akbar as Mogul emperor of India.
+1605      	Spanish writer Cervantes publishes part one of Don Quixote.
+1605      	The English claim Barbados in the West Indies.
+1605      	The Gunpowder Plot to blow up the English Parliament is discovered.
+1605      	The first French settlement in North America is founded at Port Royal in Nova Scotia.
+1606      	Ben Jonson's play Volpone is performed for the first time.
+1607      	Claudio Monteverdi's first opera Orfeo is performed.
+1607      	John Smith founds the first English colony at Jamestown in Virginia.
+1608      	Emperor Rudolf II cedes Hungary to his brother Matthias.
+1608      	Girolamo Frescobaldi is appointed as organist at St. Peter's in Rome.
+1608      	Italian scientist Galileo Galilei assembles an astronomical telescope.
+1608      	Samuel de Champlain founds a French settlement in Quebec.
+1608      	The first telescope is invented by Dutch optician Hans Lippershey.
+1609      	A truce with Spain gives the United Provinces (the Netherlands) virtual independence.
+1609      	Johannes Kepler publishes his first law of planetary motion in New Astronomy.
+1609      	Spanish playwright Lope de Vega publishes The New Art of Writing Plays.
+1609      	The English colonize Bermuda.
+1609      	The Spanish found Santa Fe in New Mexico.
+1610      	Ben Jonson's play The Alchemist is performed for the first time.
+1610      	English navigator Henry Hudson becomes the first European to explore Hudson Bay.
+1610      	Galileo Galilei publishes his first stellar observations in The Starry Messenger.
+1610      	Henry IV of France is assassinated; he is succeeded by his son Louis XIII.
+1610      	Maximilian of Bavaria forms the Catholic League to oppose the Protestant Union.
+1610      	The Polish army of Sigismund III invades Russia and captures Moscow.
+1611      	An edition of the Bible authorized by King James I is completed in England.
+1611      	Christian IV of Denmark declares war on Sweden.
+1611      	English and Scottish Protestants settle in Ireland under the Ulster Plantation.
+1611      	Gustav II Adolf succeeds Charles IX as king of Sweden.
+1612      	John Webster's tragedy The White Devil is produced.
+1612      	Matthias succeeds his brother Rudolf II as Holy Roman Emperor.
+1613      	Gabor Bethlen becomes Prince of Transylvania.
+1613      	Gustav II Adolf ends the War of Kalmar with Denmark and attacks Russia.
+1613      	Michael becomes tsar of Russia, founding the Romanov dynasty.
+1613      	Virginia colonists destroy French settlements in Maine and Nova Scotia.
+1614      	James I dissolves the Addled Parliament in England.
+1614      	Pocahontas, a North American Indian princess, marries English settler John Rolfe.
+1614      	Scottish mathematician John Napier publishes Marvelous Canon of Logarithms.
+1614      	Sir Walter Raleigh writes his History of the World.
+1615      	Coffee is introduced into Italy from Turkey.
+1615      	Manchu tribes in China expand to eight banners (military regions) under Nurhachi.
+1615      	The Dutch seize the Spice Islands (the Moluccas) from the Portuguese.
+1615      	The first English language reference is made to tea.
+1616      	A smallpox epidemic decimates the Indian population in New England.
+1616      	Cardinal Richelieu becomes Minister of State for Foreign Affairs in France.
+1616      	Emperor Ieyasu of Japan dies; he is succeeded by his son Hidetada.
+1616      	The Catholic church issues an edict against Copernicanism.
+1616      	William Baffin searches for the Northwest Passage and discovers Baffin Bay.
+1617      	The Treaty of Stolbovo ends the war between Russia and Sweden.
+1617      	Tobacco is established as the major industry in North America.
+1618      	Conflict between Catholic and Protestant states begins the Thirty Years' War.
+1618      	James I orders the execution of Sir Walter Raleigh.
+1619      	Dutch ships bring the first Negro slaves to the colony of Virginia.
+1619      	Ferdinand II is elected Holy Roman Emperor and king of Bohemia.
+1619      	Inigo Jones designs the Banqueting House at Whitehall, London.
+1619      	Louis XIII of France defeats the supporters of his mother Maria de Medicis.
+1619      	Spanish artist Diego Velazquez paints The Water Seller of Seville.
+1619      	The Bohemians depose Ferdinand and elect Frederick V (Elector Palatine) as king.
+1620      	Catholic League forces under Graf von Tilly defeat the Bohemians under Frederick V.
+1620      	Cornelis Drebbel demonstrates a submarine on the River Thames.
+1620      	Ferdinand II is restored to the throne of Bohemia.
+1620      	Gustavus II Adolf begins a war with Poland and captures Livonia.
+1620      	The Pilgrim Fathers arrive at Cape Cod and found the Plymouth Colony.
+1621      	A Huguenot (Protestant) revolt begins against Louis XIII in France.
+1621      	English scholar Robert Burton publishes Anatomy of Melancholy.
+1621      	Philip IV becomes king of Spain and Portugal.
+1621      	The Dutch West India Company is founded.
+1621      	War is renewed between Spain and the United Provinces (the Netherlands).
+1622      	Indians massacre 347 settlers in Virginia.
+1623      	Abbas I, shah of Persia (Iran), captures Bagdhad from the Turks.
+1623      	Catholic League and Imperial forces overrun the Palatinate in Germany.
+1623      	Diego Velazquez is made court painter to Philip IV of Spain.
+1623      	Philosopher Francis Bacon publishes On the Dignity and Growth of Sciences.
+1623      	The first English settlement is founded in New Hampshire.
+1624      	Dutch artist Frans Hals paints the Laughing Cavalier.
+1624      	English poet John Donne publishes Devotions upon Emergent Occasions.
+1624      	Flemish chemist Johannes Baptista van Helmont names compressible fluid gas.
+1625      	Albrecht Wenzel von Wallenstein is made general of Ferdinand II's Imperial armies.
+1625      	Charles I succeeds James I as king of England.
+1625      	Flemish baroque artist Peter Paul Rubens paints The Judgement of Paris.
+1625      	Peter Minuit founds the Dutch colony of New Amsterdam (now New York).
+1625      	The Spanish capture Breda from the Dutch.
+1626      	Graf von Tilly's Catholic army routs the Danes under Christian IV.
+1626      	Imperial forces under Wallenstein defeat Graf von Mansfield at Dessau.
+1626      	The Dutch purchase Manhattan Island from the Indians for the equivalent of $24.
+1627      	Shah Jahan succeeds Jahangir as Mogul emperor of India.
+1627      	The Huguenots (Protestants) revolt against Cardinal Richelieu at La Rochelle.
+1627      	The Manchus (Ch'ing) begin their conquest of Korea.
+1628      	English physician William Harvey publishes On the Motions of the Heart and Blood.
+1628      	French philosopher Rene Descartes begins Rules For the Direction of the Mind.
+1628      	King Charles I is forced to accept Parliament's Petition of Right.
+1628      	Puritans under John Endecott settle at Salem in Massachusetts.
+1628      	The Duke of Buckingham, a supporter of the French Huguenots, is assassinated.
+1628      	The Huguenots surrender La Rochelle after a 14-month siege.
+1629      	Charles I dissolves Parliament and rules England directly.
+1629      	Ferdinand II's Edict of Restitution restores Catholic properties taken by Protestants.
+1630      	Bhutan becomes independent from Tibet about this time.
+1630      	Dutch landscape artist Salomon van Ruisdael paints River Landscape.
+1630      	Gustav II Adolf invades Germany in support of the Protestant cause.
+1630      	John Winthrop founds a Puritan settlement at Boston in Massachusetts.
+1630      	Spanish artist Francisco de Zubaran paints the Holy House of Nazareth.
+1630      	The Ottoman Turks capture Hamadan in Persia (Iran).
+1631      	Baldassarre Longhena begins building the church of Santa Maria della Salute in Venice.
+1631      	Gustav II Adolf defeats Graf von Tilly's Imperial forces at Breitenfeld.
+1631      	Marie de Medicis goes into exile after a plot to remove Cardinal Richelieu fails.
+1631      	The building of the Taj Mahal begins at Agra in India.
+1631      	The first newspaper, the Gazette de France, is published in Paris.
+1632      	Antony Van Dyck settles in London and becomes court painter to King Charles I.
+1632      	Bernal Diaz del Castillo's True Story of the Conquest of Mexico is published.
+1632      	Charles I grants a charter for the English colony of Maryland.
+1632      	Christina becomes queen of Sweden at age 6; Count Oxenstierna rules as regent.
+1632      	Dutch artist Rembrandt Harmenszoon van Rijn paints The Anatomy Lesson.
+1632      	Gustavus II Adolf defeats Wallenstein at Lutzen but is killed during the battle.
+1632      	Imperial general Graf von Tilly is mortally wounded at the Battle of Lech.
+1633      	An English colony is established in Connecticut.
+1633      	French artist Nicolas Poussin paints The Adoration of the Golden Calf.
+1633      	Galileo Galilei is imprisoned for "vehement suspicion of heresy."
+1634      	Ferdinand II declares General Wallenstein a traitor; Wallenstein is assassinated.
+1634      	French fur trader Jean Nicolet explores Wisconsin.
+1634      	Hackney carriages are in use in London for public transport.
+1634      	Imperial forces under Ferdinand III defeat the Swedes at Nordlingen.
+1635      	Cardinal Richelieu founds the Academie Francaise in Paris.
+1635      	France forms an alliance with Sweden and enters the Thirty Years' War.
+1635      	Spanish playwright Pedro Calderon de la Barca writes Life Is a Dream.
+1635      	The Dutch occupy parts of Formosa (Taiwan).
+1635      	The Peace of Prague is signed between Ferdinand II and Protestant German princes.
+1636      	Harvard University is founded in Boston.
+1636      	Radical Puritan Roger Williams establishes the town of Providence, Rhode Island.
+1636      	The Dutch settle in Ceylon (Sri Lanka).
+1637      	French dramatist Pierre Corneille writes le Cid.
+1637      	Holy Roman Emperor Ferdinand II dies; he is succeeded by his son Ferdinand III.
+1637      	Pequot Indians are decimated during the first Indian war in New England.
+1637      	Religious radical Anne Hutchinson is tried for heresy in Massachusetts.
+1637      	Rene Descartes publishes his concepts of analytic geometry Discourse on Method.
+1637      	The first opera house Teatro San Cassiano opens in Venice.
+1638      	John Davenport and Theophilus Eaton found New Haven, Connecticut.
+1638      	Swedish and Protestant forces defeat the Imperial army at Breisach.
+1638      	Swedish settlers found Fort Christina (now Wilmington) on the Delaware River.
+1638      	The Turks under Murad IV conquer Baghdad.
+1639      	Charles I concedes to Scottish demands after the First Bishops' War.
+1639      	Persia (Iran) and the Ottoman Empire sign a peace treaty.
+1639      	Spanish artist Jusepe de Ribera paints The Martyrdom of Saint Bartholomew.
+1639      	The first North American printing press is established in Cambridge, Mass..
+1639      	Tokugawa begins a period of isolation in Japan; only Nagasaki is open to foreigners.
+1640      	Coke is made from coal for the first time.
+1640      	Russian explorers cross Siberia and arrive at the Pacific Ocean.
+1640      	Scots invade England during the Second Bishops' War; Charles I sues for peace.
+1640      	The Portuguese rebel against Spanish rule; John IV is crowned king.
+1641      	Irish Catholics revolt against the Protestants in Ulster.
+1641      	The Dutch seize Melaka and deny the British access to the Moluccas.
+1642      	Cardinal Richelieu dies; he is succeeded by Cardinal Mazarin as first minister of France.
+1642      	Dutch artist Rembrandt paints the Night Watch.
+1642      	Dutch navigator Abel Tasman discovers Tasmania and New Zealand.
+1642      	English Parliamentarians close the London theaters.
+1642      	Montreal is founded by the French nobleman Sieur de Maisonneuve.
+1642      	The English Civil War begins between the Parliamentarians and the Royalists.
+1642      	The Swedes under Torstenson defeat the Imperial forces at Breitenfeld.
+1643      	Christian IV of Denmark renews the war against Sweden.
+1643      	Italian physicist Torricelli demonstrates the principles of the barometer.
+1643      	Louis XIV ascends to the French throne at age 5; Anne of Austria rules as regent.
+1643      	Roger Williams publishes A Key into the Language of America.
+1643      	The New England Confederation is formed against the Indians, Dutch and French.
+1643      	The building of the Potala palace, residence of the Dalai Lama, is begun in Lhasa, Tibet.
+1643      	The first French settlement is founded on Madagascar.
+1644      	French landscape artist Claude Lorrain paints the Embarkation of Saint Ursula.
+1644      	French philosopher Descartes proclaims Cogito, ergo sum (I think, therefore I am).
+1644      	Italian artist Giovanni Bernini sculpts the Ecstasy of St. Teresa.
+1644      	Oliver Cromwell's Model Army defeats a Royalist army at Marston Moor.
+1644      	Queen Christina begins her reign in Sweden.
+1644      	The Manchus seize Peking and establish the Ch'ing dynasty.
+1645      	Alexis succeeds Michael as the Romanov tsar of Russia.
+1645      	French philosopher and scientist Blaise Pascal invents the first adding machine.
+1645      	Oliver Cromwell defeats Charles I at the Battle of Naseby.
+1645      	The Swedes defeat Denmark and later defeat the Imperial forces at Jankau.
+1645      	William Laud archbishop of Canterbury is executed.
+1646      	Flemish painter Teniers the Younger paints the Village Fete.
+1646      	Spanish artist Bartolome Esteban Murillo paints Holy Family With a Bird.
+1646      	The English Civil War ends when Charles I surrenders to the Parliamentarians.
+1646      	The Swedes capture Prague and invade Bavaria with their French allies.
+1647      	Charles I escapes from England and concludes a treaty with the Scots.
+1647      	Peter Stuyvesant becomes governor of the Dutch colony of the New Netherlands.
+1648      	Dutch architect Jacob van Campen designs the Amsterdam City Hall.
+1648      	Frederick III succeeds Christian IV as king of Denmark.
+1648      	George Fox founds the Society of Friends (Quakers) about this time.
+1648      	Margaret Jones becomes the first person executed as a witch in North America.
+1648      	Naples is restored to Spanish rule after a brief uprising.
+1648      	Russian explorer Semyon Dezhnev discovers the Bering Strait.
+1648      	The Dutch and Swiss republics achieve independence.
+1648      	The English settle in the Bahamas.
+1648      	The Fronde revolt begins in France against Anne of Austria and Cardinal Mazarin.
+1648      	The Scots renew the Civil War but are defeated at Preston; Charles I is captured.
+1648      	The Treaty of Westphalia ends the Thirty Years' War.
+1649      	Charles I is executed; the English Commonwealth (republic) begins.
+1649      	French artist Georges de La Tour paints Saint Irene Mourning Saint Sebastian.
+1649      	Oliver Cromwell suppresses a Catholic rebellion in Ireland.
+1650      	Charles II lands in Scotland to renew the English Civil War.
+1650      	Dutch landscape artist Aelbert Cuyp paints the View of Dordrecht.
+1650      	Irish Bishop James Ussher establishes the date of creation at 4004 BC.
+1650      	Oratorios become a popular form of musical performance in Italy.
+1650      	The Holy Roman Empire and Sweden sign the Treaty of Nuremberg.
+1650      	The Ukiyo-e school of art begins to flourish in Japan about this time.
+1650      	The first coffeehouses are opened in London about this time.
+1650      	Whaling becomes an important industry in New England about this time.
+1651      	Charles II is crowned by the Scots; defeated at Worcester, he escapes to France.
+1651      	Thomas Hobbes publishes Leviathan, a defense of absolute monarchy.
+1652      	Cape Town is founded by the Dutch in South Africa.
+1652      	The English Navigation Acts (1651) lead to the first Anglo-Dutch War.
+1653      	English writer Izaak Walton publishes The Compleat Angler.
+1653      	French composer Jean Baptiste Lully writes the first minuet.
+1653      	Louis XIV becomes known as the Sun King after his role in the Ballet de la Nuit.
+1653      	Oliver Cromwell becomes the lord protector of England.
+1654      	Blaise Pascal and Pierre de Fermat collaborate on theories of probability.
+1654      	French philosopher Blaise Pascal joins the Jansenist sect at Port-Royal.
+1654      	Poland and Russia are at war over possession of the Ukraine.
+1654      	Queen Christina of Sweden abdicates and becomes a Roman Catholic.
+1654      	The Portuguese drive the Dutch from Brazil.
+1654      	The Treaty of Westminster ends the first Anglo-Dutch War.
+1655      	Dutch colonists under Peter Stuyvesant seize Swedish settlements in Delaware.
+1655      	The English capture Jamaica from Spain.
+1655      	The Little Northern War begins with Sweden invading Poland and capturing Warsaw.
+1656      	Diego Velazquez paints The Maids of Honor at the court of Spain.
+1656      	Dutch philosopher Baruch Spinoza is expelled from the synagogue at Amsterdam.
+1656      	Dutch philosopher Christiaan Huygens patents the first pendulum clock.
+1656      	England joins France in the war against Spain.
+1656      	Italian artist and architect Giovanni Bernini designs the Piazza of St. Peter's, Rome.
+1656      	The Holy Roman Empire, Russia and Denmark declare war on Sweden.
+1657      	Otto von Guericke demonstrates that it is possible for a vacuum to exist.
+1657      	The Swedes attack Denmark and besiege Copenhagen.
+1658      	Aurangzeb deposes his father Shah Jahan as Mogul emperor of India.
+1658      	Dutch genre artist Jan Vermeer paints The Milkmaid.
+1658      	Dutch naturalist Jan Swammerdam describes red blood cells.
+1658      	French colonists found the city of Saint-Louis on the Senegal River in Africa.
+1658      	Leopold I succeeds Ferdinand III as Holy Roman Emperor.
+1658      	Oliver Cromwell dies; he is succeeded by his son Richard as lord protector of England.
+1659      	French explorers Radisson and Groseilliers explore Minnesota.
+1659      	Richard Cromwell resigns as lord protector of England.
+1659      	The Peace of the Pyrenees ends a 24-year war between France and Spain.
+1660      	Charles II is restored to the English throne by Parliament.
+1660      	Dutch farmers (Boers) settle in South Africa.
+1660      	Dutch genre artist Gabriel Metsu paints The Sick Child.
+1660      	English public servant Samuel Pepys begins his Diary.
+1660      	Frederick William, Elector of Brandenburg, gains control of Prussia from Poland.
+1660      	Louis XIV of France marries Marie Therese of Spain.
+1660      	Peter Stuyvesant founds the first permanent settlement in New Jersey at Bergen (Jersey City).
+1660      	The Bambara kingdom begins to flourish on the upper Niger about this time.
+1660      	The Peace of Copenhagen ends the war between Sweden and Denmark.
+1660      	The Peace of Oliva ends the war between Sweden, Poland, Austria and Brandenburg.
+1660      	Theaters are reopened in England; the period of Restoration drama begins.
+1661      	Charles II orders that Cromwell's corpse be disinterred, hanged and beheaded.
+1661      	Chinese pirate Koxinga drives the Dutch from Formosa (Taiwan).
+1661      	Dutch-born artist Peter Lely is made court painter to Charles II.
+1661      	Emperor K'ang-hsi succeeds to the throne in China.
+1661      	The English acquire Bombay from Portugal.
+1661      	The first Bible printed in North America is John Elliot's translation into Algonquian.
+1662      	Charles II grants a charter to the Royal Society of London for Natural Knowledge.
+1662      	France purchases Dunkerque from England.
+1662      	French architect Andre Le Notre designs the gardens for the Palace of Versailles.
+1662      	Robert Boyle develops his theory of gases (now known as Boyle's Law).
+1662      	The Portuguese surrender Tangier to England.
+1662      	The Theatre Royal is built in Drury Lane, London.
+1663      	Dutch genre artist Jan Steen paints the Woman Undressing.
+1663      	The Ottoman Turks invade Hungary.
+1663      	The first turnpike (toll) roads are established in England.
+1664      	England seizes New Amsterdam from the Dutch, renaming it New York.
+1664      	The Austrians defeat the Turks at Saint Gotthard and conclude a 20-year truce.
+1664      	The French East India Company is founded.
+1664      	The Trappists order of monks is founded at La Trappe in France.
+1665      	An outbreak of the Great Plague begins in London.
+1665      	Charles II succeeds Philip IV as king of Spain.
+1665      	Dutch genre artist Gerard Ter Borch paints the Flea Hunt.
+1665      	England and Portugal defeat Spain and establish Portuguese independence.
+1665      	Jean Baptiste Colbert becomes minister of finance for Louis XIV.
+1665      	Robert Hooke publishes his microscope observations in Micrographia.
+1665      	The Portuguese invade the Kingdom of Kongo and kill the monarch Antonio I.
+1665      	The Second Anglo-Dutch War begins.
+1665      	The first horse race track in North America is constructed on Long Island.
+1666      	British scientist Isaac Newton completes his theory of fluxional calculus.
+1666      	Large sections of London are destroyed in the Great Fire.
+1666      	Moliere's play The Misanthrope is performed for the first time.
+1666      	Puritans from Connecticut settle in New Jersey.
+1666      	Sabbatai Zevi claims to be the messiah and founds a Jewish sect.
+1666      	The Alawite dynasty assumes power in Morocco.
+1666      	The French join the Dutch in the war with England.
+1667      	English poet John Milton writes Paradise Lost.
+1667      	Japanese poet Basho begins to compose his haiku poetry.
+1667      	Louis XIV begins the War of Devolution and captures the Spanish Netherlands.
+1667      	Louis XIV sponsors the first official Salon art exhibition at the Louvre.
+1667      	Mexico City Cathedral is completed.
+1667      	Suleiman succeeds Abbas II as shah of Persia (Iran).
+1667      	The Dutch acquire Suriname from the British in exchange for Manhattan.
+1667      	The Dutch destroy the English fleet at anchor in the Medway.
+1667      	The Peace of Breda ends the war between the English, French and Dutch.
+1667      	The building of the Paris Observatory is begun.
+1668      	A Triple Alliance of England, Sweden, and the Dutch Republic is formed against France.
+1668      	By the Treaty of Aix-la-Chapelle France gives up its conquests but keeps Flanders.
+1668      	By the Treaty of Lisbon Spain recognizes the independence of Portugal.
+1668      	French fabulist Jean de La Fontaine begins publishing his Fables.
+1668      	Jacques Marquette founds the first settlement in Michigan at Sault Saint Marie.
+1668      	King John II of Poland abdicates; he is succeeded by Michael Wisniowiecki.
+1669      	French courtesan Madame de Sevigne begins writing her Letters.
+1669      	German Alchemist Hennig Brandt makes phosphorus for the first time.
+1669      	Louis Le Vau begins the expansion of the Palace of Versailles for Louis XIV.
+1669      	Mount Etna erupts in Italy, killing 20,000.
+1669      	Venice surrenders Crete to the Ottoman Turks.
+1670      	English architect Sir Christopher Wren begins rebuilding Saint Paul's Cathedral.
+1670      	The Don Cossacks under Stenka Razin rebel against Russian rule.
+1670      	The English establish a settlement at Charles Towne (Charleston), South Carolina.
+1670      	The Hudson's Bay Company is founded.
+1671      	Buccaneers under Sir Henry Morgan capture the city of Panama.
+1672      	Astronomer Giovanni Cassini becomes the first director of the Paris Observatory.
+1672      	Grenades become an important weapon; the French army forms grenadier companies.
+1672      	Jean Baptiste Lully produces the first French operas.
+1672      	Sebastien Le Prestre de Vauban founds the French army engineering corps.
+1672      	The French and British declare war on the Dutch.
+1672      	William III prince of Orange leads the defense of the Netherlands.
+1673      	Leibniz begins to develop his theories of differential and integral calculus.
+1673      	Marquette and Jolliet explore the Great Lakes region and the Mississippi River.
+1673      	The Polish army under John Sobieski defeats the Turks at Cochim (Khotin).
+1673      	The Test Act excludes Catholics from public office in England.
+1673      	The first mail service in North America is established between New York and Boston.
+1674      	Early American artist the Freake limner paints portraits of the Freake family.
+1674      	Holy Roman Emperor Leopold I declares war on France.
+1674      	John Sobieski is elected as King John III of Poland.
+1674      	Maratha leader Sivaji establishes a kingdom in Maharashtra, India.
+1674      	The Dutch under William III make peace with England.
+1674      	The Treaty of Westminster establishes New Yorkers as British subjects.
+1675      	Conflict begins between the Indians under King Philip and New England settlers .
+1675      	Dutch-Jewish philosopher Baruch Spinoza finishes his Ethics.
+1675      	English dramatist William Wycherley writes The Country Wife.
+1675      	The Prussians under Frederick William defeat the Swedes at Fehrbellin.
+1675      	The Royal Observatory is established at Greenwich.
+1676      	English playwright Sir George Etherege writes Man of Mode.
+1676      	German astronomer Ole Romer discovers the velocity of light.
+1676      	Indians in New England are subdued after the year-long King Philip's War.
+1676      	The Sikhs under Guru Gobind Singh revolt against Mogul rule in India.
+1676      	The Swedes defeat the Danes at the Battle of Lunden.
+1677      	Charles II appoints Henry Purcell as court composer.
+1677      	English author John Dryden writes the tragedy All for Love.
+1677      	French dramatist Jean Racine writes the tragedy of Phedre.
+1677      	William III prince of Orange marries Mary, daughter of the Duke of York.
+1678      	Charles Le Brun designs the Hall of Mirrors for the Palace of Versailles.
+1678      	Comtesse de La Fayette writes the novel La Princesse de Cleves.
+1678      	French explorer Louis Hennepin discovers Niagara Falls.
+1678      	John Bunyan publishes the first part of The Pilgrim's Progress.
+1678      	The Hungarians rebel against Habsburg rule.
+1678      	The Treaty of Nijmegen establishes peace between France, the Dutch and Spain.
+1679      	The English Parliament passes the Habeas Corpus Act.
+1680      	Antonio Stradivari opens his violin workshop in Cremona, Italy.
+1680      	Sadler's Wells theater opens in London.
+1680      	The Comedie Francaise is founded in Paris.
+1681      	Aurangzeb suppresses a Rajput revolt and campaigns against Hindu kingdoms in India.
+1681      	English Quaker William Penn is granted the Providence of Pennsylvania.
+1681      	John Dryden publishes his satirical poem Absalom and Achitophel.
+1681      	The dodo, a large flightless bird, becomes extinct.
+1682      	Edmund Halley observes the Great Comet, which is later named for him.
+1682      	French explorer La Salle navigates the Mississippi River to the Gulf of Mexico.
+1682      	Peter the Great succeeds Fyodor III as tsar of Russia.
+1682      	The Palace of Versailles becomes the French royal residence.
+1682      	The Spanish establish the first settlement in Texas at Yselta (near El Paso).
+1682      	William Penn founds the city of Philadelphia.
+1683      	Chinese emperor K'ang-hsi conquers Formosa (Taiwan).
+1683      	Louis XIV secretly marries Madame de Maintenon .
+1683      	The Turks lay siege to Vienna but are defeated by Imperial and Polish forces.
+1683      	Van Leeuwenhoek's microscope drawings of Protozoa are published.
+1683      	William Penn makes a peace treaty with the Delaware Indians.
+1684      	England abandons Tangier to the Moroccans.
+1684      	La Salle claims Louisiana, a region from Quebec to the Gulf of Mexico, for France.
+1684      	The Dutch whaling fleet at Spitsbergen (Svalbard) numbers 246 vessels.
+1685      	Charles II of England dies; he is succeeded by his brother James II.
+1685      	Increase Mather becomes president of Harvard College.
+1685      	Japanese Bunraku (puppet theater) is performed in Osaka about this time.
+1685      	Louis XIV revokes the Edict of Nantes and exiles thousands of French Huguenots.
+1685      	Rice cultivation begins in North America.
+1685      	The Duke of Monmouth rebels against James II; he is captured and executed.
+1685      	The Huguenots begin a silk industry in London and settle in the American colonies.
+1686      	Henri de Tonty establishes the first European settlement in Arkansas.
+1686      	The League of Augsburg is formed as a coalition of European states against France.
+1686      	The Turks are expelled from Budapest by a Habsburg army.
+1687      	English actress and royal mistress Nell Gwynne dies.
+1687      	Isaac Newton publishes Principia, establishing his laws of motion and gravity.
+1687      	James II issues a Declaration of Indulgence suspending the laws against Catholics.
+1687      	The city of Lima, Peru, is virtually destroyed by an earthquake.
+1688      	English Protestants demand a Glorious Revolution against Catholicism.
+1688      	Insurance underwriters begin meeting at Lloyd's Coffee House in London.
+1688      	Louis XIV declares war on the Holy Roman Empire and captures Heidelberg.
+1688      	William of Orange is invited to England as king; James II escapes to France.
+1689      	British composer Henry Purcell writes the opera Dido and Aeneas.
+1689      	Chinese emperor K'ang-hsi establishes diplomatic relations with Russia.
+1689      	England and the Netherlands join the Grand Alliance against France.
+1689      	French and Indian allies attack English colonists during King William's War.
+1689      	William and Mary are proclaimed king and queen of England.
+1690      	Benjamin Harris publishes the first American newspaper in Boston.
+1690      	Carlos de Siguenza y Gongora publishes The Misadventures of Alfonso Ramirez.
+1690      	Jose Churriguera becomes court architect to Philip V of Spain.
+1690      	Philosopher John Locke publishes his Essay Concerning Human Understanding.
+1690      	Spain joins the War of Grand Alliance against France.
+1690      	The French defeat the English fleet at the Battle of Beachy Head.
+1690      	William III defeats James II at the Battle of the Boyne in Ireland.
+1691      	Juana Ines de la Cruz writes a defense of women's rights Reply to Sister Philotea.
+1691      	The Irish rebellion ends with the Treaty of Limerick.
+1692      	Port Royal in Jamaica is destroyed by an earthquake; the city of Kingston is founded.
+1692      	The Macdonald clan are massacred by the Campbells at Glencoe in Scotland.
+1692      	The first English patent for a wallpaper design is issued.
+1692      	Witchcraft trials are held at Salem in New England.
+1693      	James Blair founds William and Mary College in Williamsburg, Virginia.
+1693      	John Ray publishes the first major classification of animals.
+1694      	The Academie Francaise introduces the first French national dictionary.
+1694      	The Bank of England is founded.
+1696      	Russia annexes the Kamchatka Peninsula.
+1696      	Russian tsar Peter the Great captures Azov from the Turks.
+1696      	The Chinese under K'ang-hsi defeat the Dzungar Mongol chieftain Galdan.
+1696      	William III campaigns in Holland against the French.
+1697      	Augustus II elector of Saxony becomes king of Poland.
+1697      	French poet Charles Perrault publishes the Tales From Mother Goose.
+1697      	Russian tsar Peter the Great sets out to study the European way of life.
+1697      	Sir John Vanbrugh's play The Relapse is produced in London.
+1697      	The Habsburg army under Eugene of Savoy defeats the Turks at Zenta.
+1697      	The Treaty of Ryswick ends the War of the Grand Alliance.
+1698      	Calcutta is founded by the British East India Company.
+1698      	Russian tsar Peter the Great imposes a tax on beards.
+1698      	Thomas Savery invents a water pump -- the first practical application of steam power.
+1699      	Austria, Russia, Poland and Venice sign the Peace of Karlowitz treaty with Turkey.
+1699      	Francis Moore's Vox stellarum, known as Old Moore's Almanac, is published.
+1699      	Japanese master ceramicist Ogata Kenzan opens his kiln at Narutaki.
+1699      	Peter the Great changes the Russian New Year from September 1 to January 1.
+1699      	William Dampier explores the northwest coast of Australia.
+1700      	Charles II of Spain dies, ending the Spanish Habsburg line.
+1700      	Johann Denner invents the clarinet about this time.
+1700      	Kabuki Theater develops in Japan about this time.
+1700      	Peter the Great's Russian army is defeated by the Swedes at the Battle of Narva.
+1700      	Philip V, grandson of Louis XIV, becomes the first Bourbon king of Spain.
+1700      	The Great Northern War begins; Denmark, Poland and Russia attack Sweden.
+1700      	The Swedes under Charles XII defeat the Danes.
+1700      	The rococo style is introduced into French architecture about this time.
+1700      	William Congreve's comedy The Way of the World is produced in London.
+1701      	Captain Kidd is hanged for piracy.
+1701      	Frederick I Elector of Saxony proclaims himself the first king of Prussia.
+1701      	French artist Hyacinthe Rigaud paints a portrait of Louis XIV.
+1701      	The Act of Settlement in Britain establishes the Hanoverian succession to the throne.
+1701      	The War of the Spanish Succession begins.
+1701      	Yale University is founded in New Haven, Connecticut.
+1702      	Anne succeeds William III as queen of England.
+1702      	England declares war on France and Spain.
+1702      	French fur traders found Vincennes, the first permanent European settlement in Indiana.
+1702      	Queen Anne's War begins in America; the British attack Saint Augustine in Florida.
+1702      	The Camisards (French Huguenots) rebel in southern France.
+1702      	The French under the duc de Villars defeat the Grand Alliance at Friedlingen.
+1702      	The first daily newspaper The Daily Courant is published in London.
+1702      	The royal colony of New Jersey is founded in America.
+1703      	Archduke Charles of Austria claims the Spanish throne for the Habsburgs.
+1703      	Buckingham Palace is rebuilt for the Duke of Buckingham in London.
+1703      	Peter the Great lays the foundations of St. Petersburg (Leningrad).
+1704      	Augustus II is deposed; Stanislaw I is crowned king of Poland.
+1704      	Issac Newton publishes his theory of color and light in Opticks.
+1704      	John Campbell founds the Boston News-Letter, the first successful American newspaper.
+1704      	The Duke of Marlborough and Eugene of Savoy defeat the French at Blenheim.
+1704      	The English capture Gibraltar from Spain.
+1704      	The Indians and the French massacre British settlers in Deerfield, Mass.
+1705      	Edmund Halley predicts that the comet of 1682 will return in 1758.
+1705      	Nicolas Hawksmoor designs Blenheim Palace for the Duke of Marlborough.
+1705      	The English Navy occupies Barcelona.
+1706      	Eugene of Savoy defeats the French at Turin and drives them from Italy.
+1706      	George Farquhar's comedy The Recruiting Officer is produced.
+1706      	The Duke of Marlborough conquers the Spanish Netherlands.
+1707      	Emperor Aurangzeb dies; the Mogul empire begins to decline in India.
+1707      	Great Britain is formed by the Act of Union between England and Scotland.
+1707      	John V succeeds Peter II as king of Portugal.
+1707      	Mount Fuji erupts in Japan; an earthquake kills 200,000 in Tokyo.
+1707      	The British attack the French colony of Acadia (Nova Scotia).
+1707      	The Duke of Berwick routs the allied forces at Almanza in Spain.
+1708      	French forces under Vendome are defeated by Marlborough at Oudenarde.
+1708      	Sikh leader Guru Gobind Singh is assassinated; the Moguls persecute the Sikhs.
+1708      	The British capture the island of Minorca from Spain.
+1709      	Abraham Darby builds a blast furnace using coke for casting iron.
+1709      	Charles XII of Sweden flees to the Ottoman Empire.
+1709      	Italian musician Bartolommeo Cristofori invents the piano.
+1709      	Peter the Great defeats the Swedes at the Battle of Poltava.
+1709      	Steele and Addison's periodical The Tatler is published in London.
+1709      	The Duke of Marlborough defeats the French at the Battle of Malplaquet.
+1709      	The first Copyright Act becomes law in Britain.
+1710      	Augustus II regains the Polish throne.
+1710      	Charles XII persuades the Turks to attack Russia.
+1710      	French forces under Vendome defeat the allies at Villaviciosa in Spain.
+1710      	George Berkeley publishes a Treatise Concerning the Principles of Human Knowledge.
+1710      	The British seize Acadia (Nova Scotia) from the French.
+1710      	The Meissen porcelain factory is founded near Dresden in Germany.
+1711      	Joseph I dies; Charles VI is crowned Holy Roman Emperor.
+1711      	Publication of The Tatler ceases; Steele and Addison introduce The Spectator.
+1711      	The French found the first permanent settlement in Alabama at Mobile.
+1711      	The Tuscarora War begins in North Carolina when Indians massacre 130 colonists.
+1711      	The building of the baroque Zwinger complex begins in Dresden, Germany.
+1712      	Carolina is divided into north and south colonies.
+1712      	English poet Alexander Pope publishes The Rape of the Lock.
+1712      	The New England whaling industry expands rapidly with the hunting of sperm whales.
+1713      	Emperor Charles VI issues the Pragmatic Sanction, allowing for a female heir.
+1713      	France cedes Acadia (Nova Scotia) and Newfoundland to Britain.
+1713      	Frederick William I succeeds Frederick I as king of Prussia.
+1713      	Sicily is ceded to the House of Savoy; Victor Amadeus II is crowned as king.
+1713      	Spain cedes Gibraltar and Minorca to Britain.
+1713      	The Asiento Treaty establishes British rights to the African slave trade.
+1713      	The Peace of Utrecht ends the War of Spanish Succession.
+1714      	German composer George Frideric Handel makes London his permanent home.
+1714      	Grinling Gibbons is appointed as master carver in wood to George I.
+1714      	Queen Anne of England dies; she is succeeded by George I, Elector of Hanover.
+1715      	A Jacobite uprising supports James Edward as the Old Pretender to the British throne.
+1715      	French King Louis XIV dies; he is succeeded by his five-year-old great-grandson Louis XV.
+1715      	French author Alain Rene Lesage publishes the Adventures of Gil Blas.
+1715      	Japan's leading playwright Chikamatsu Monzaemon writes The Battles of Coxinga.
+1715      	Phillipe II Duc d'Orleans becomes regent of France.
+1715      	The Yamasee Indians rebel against British settlers in South Carolina.
+1716      	Emperor Charles VI declares war on the Ottoman Empire.
+1717      	Eugene of Savoy captures Belgrade from the Turks.
+1717      	French artist Antoine Watteau paints the Pilgrimage to Cythera.
+1717      	John Law forms the Mississippi Company in France.
+1717      	Spain seizes Sardinia and Sicily.
+1717      	The first freemason lodge is formed in London.
+1718      	Charles XII of Sweden is killed during a campaign against Norway.
+1718      	Spain establishes the Viceroyalty of New Granada in South America.
+1718      	Sultan Ahmed III concludes the Treaty of Passarowitz with the Holy Roman Empire.
+1718      	The English pirate Blackbeard is killed by the Virginia militia.
+1718      	The French found New Orleans in Louisiana.
+1718      	The Quadruple Alliance of Austria, Britain, France and the Dutch declare war on Spain.
+1718      	Voltaire writes the tragedy of Oedipe while imprisoned in the Bastille.
+1719      	English writer Daniel Defoe publishes Robinson Crusoe.
+1719      	James Figg becomes the first heavyweight boxing champion of England.
+1719      	Liechtenstein becomes an independent principality of the Holy Roman Empire.
+1719      	Teams from London and Kent play one of the first cricket matches.
+1720      	The Mississippi Scheme speculation craze collapses in France.
+1720      	The Quadruple Alliance defeats Spain; Spain renounces all claims to Sicily and Sardinia.
+1720      	The South Sea Bubble speculation craze collapses in England.
+1720      	Tibet becomes a protectorate of China.
+1720      	Victor Amadeus II surrenders Sicily to Austria in exchange for Sardinia.
+1721      	German composer Johann Sebastian Bach writes the Brandenburg Concertos.
+1721      	Italian composer Alessandro Scarlatti writes his opera Griselda.
+1721      	Prime minister Robert Walpole restores public confidence in Britain's finances.
+1721      	The French settle on the island of Mauritius.
+1721      	The Great Northern War ends; Sweden loses most of her overseas possessions.
+1722      	Dutch explorer Jacob Roggeveen discovers Samoa and Easter Island.
+1722      	English author Daniel Defoe publishes Moll Flanders.
+1722      	The Afghans invade Persia (Iran) and overthrow the Safavid rulers.
+1724      	The British build Fort Dummer, the first permanent European settlement in Vermont.
+1724      	The Quakers make a statement opposing slavery.
+1725      	Danish explorer Vitus Bering begins his voyage in search of a Northeast Passage.
+1725      	Francisco Romero establishes the current style of Spanish bullfighting.
+1725      	Peter the Great dies; his wife Catherine I succeeds him as Empress of Russia.
+1726      	Alexander Pope completes his translation of Homer's Odyssey.
+1726      	Cardinal Andre Fleury becomes chief advisor to Louis XV.
+1726      	English satirist Jonathan Swift publishes Gulliver's Travels.
+1726      	The Spanish found Montevideo in Uruguay.
+1727      	Catherine I dies; Peter II succeeds her as Emperor of Russia.
+1727      	George II succeeds his father George I as king of Great Britain and Ireland.
+1727      	The Spanish lay siege to Gibraltar.
+1728      	Chambers's Cyclopedia; or an Universal Dictionary of Arts and Sciences is issued.
+1728      	Danish navigator Vitus Bering explores Bering Strait.
+1728      	English poet and playwright John Gay writes The Beggar's Opera.
+1728      	James Gibbs' Book of Architecture influences Colonial American designs.
+1728      	John Harrison begins his development of an accurate chronometer.
+1729      	Corsica rebels against Genoese rule.
+1729      	Denmark assumes control of Greenland.
+1729      	English actress Kitty Clive establishes her reputation at the Drury Lane Theatre.
+1729      	The city of Baltimore is founded in Maryland.
+1729      	The city of Karachi is founded in India (now in Pakistan).
+1730      	Canaletto paints the Basin of San Marco, one of his many views of Venice.
+1730      	Construction of the Province-hall (now Independence Hall) begins in Philadelphia.
+1730      	Peter II dies; he is succeeded by Anna as Empress of Russia.
+1731      	French novelist Abbe Prevost writes Manon Lescaut.
+1731      	John Hadley invents the quadrant for navigating at sea.
+1731      	The Gentleman's Magazine, the first magazine, is published in London.
+1732      	Benjamin Franklin publishes Poor Richard's Almanack in Philadelphia.
+1732      	Covent Garden Opera House opens in London.
+1732      	Nadir Shah expels the Afghans from Persia (Iran) and reinstates Safavid rule.
+1732      	Nicola Salvi designs the Trevi Fountain in Rome.
+1732      	William Hogarth completes his series of engravings The Harlot's Progress.
+1733      	James Oglethorpe founds the colony of Georgia and the city of Savannah.
+1733      	John Kay invents the flying shuttle to increase the speed of weaving machines.
+1733      	Nadir Shah defeats the Turks and occupies Bagdhad.
+1733      	Stanislaw I is elected king of Poland with the support of Louis XV of France.
+1733      	The War of Polish Succession begins.
+1734      	Stanislaw I is deposed; Augustus III is installed as king of Poland.
+1735      	Antonio de Ulloa discovers the element platinum in South America.
+1735      	George Hadley proposes the Hadley cell, a circulation system for the atmosphere.
+1736      	Ch'ien-lung becomes emperor of China.
+1736      	French artist Maurice Quentin de La Tour paints his Portrait of Voltaire.
+1736      	Nadir assumes the title of Shah of Persia and founds the Afshar dynasty.
+1736      	Parliament passes the Gin Act to discourage public drunkenness in England.
+1736      	Swiss mathematician Leonhard Euler begins writing his Mechanica.
+1737      	William Mayo founds the city of Richmond, Virginia.
+1738      	A porcelain factory is established in France at Vincennes; it moves later to Sevres.
+1738      	Bernoulli publishes Hydrodynamica, stating his law of hydrodynamics.
+1738      	George Whitefield precipitates the Great Awakening religious revival in America.
+1738      	The Treaty of Vienna concludes the War of the Polish Succession; Stanislaw I abdicates.
+1738      	The excavation of Herculaneum begins in Italy.
+1739      	John Wesley founds the Methodist religious movement.
+1739      	Mutilation of an English sea captain by the Spanish leads to the War of Jenkins' Ear.
+1739      	The British under Admiral Vernon raid Spanish settlements in the West Indies.
+1739      	The Persians under Nadir Shah defeat the Mogul army and destroy Delhi.
+1740      	Anna Empress of Russia dies; she is succeeded by Elizabeth in 1741.
+1740      	Charles VI's daughter Maria Theresa succeeds to the Austrian Habsburg empire.
+1740      	English novelist Samuel Richardson writes Pamela; or Virtue Rewarded.
+1740      	Frederick II (Frederick the Great) assumes the Prussian throne.
+1740      	Frederick II of Prussia invades the Habsburg province of Silesia.
+1740      	Holy Roman Emperor Charles VI dies; the War of the Austrian Succession begins.
+1740      	Scottish philosopher David Hume writes his Treatise of Human Nature.
+1740      	The British under James Oglethorpe attack Spanish possessions in Florida.
+1741      	George Frideric Handel composes the Messiah.
+1741      	Prussia forms an anti-Habsburg coalition with Bavaria, Spain and France.
+1742      	A Spanish invasion of Georgia is defeated by British forces under James Oglethorpe.
+1742      	Maria Theresa makes peace with Frederick II; Silesia is ceded to Prussia.
+1742      	Swedish astronomer Anders Celsius invents the Celsius scale for temperature.
+1742      	The Anti-Habsburg coalition elects Charles VII as Holy Roman Emperor.
+1742      	The cast iron Franklin stove is invented by Benjamin Franklin.
+1743      	An English porcelain factory is established at Chelsea in London.
+1743      	The first permanent bullring is built in Madrid.
+1744      	King George's War begins in North America between Britain and France.
+1744      	Muhammad ibn Abd al-Wahhab founds the Wahhabi Muslim sect about this time.
+1745      	Charles Edward Stuart (Bonnie Prince Charlie) leads a second Jacobite rebellion.
+1745      	Giovanni Piranesi begins his etchings of Carceri d'Invenzione (Imaginary Prisons).
+1745      	Louis XV installs the Marquise de Pompadour as his official mistress.
+1745      	Maria Theresa's husband Francis succeeds Charles VII as Holy Roman Emperor.
+1745      	The British under Pepperrell capture the French fortress of Louisburg in Canada.
+1745      	The French under the Comte de Saxe defeat Austrian, English and Dutch forces at Fontenoy.
+1745      	The Treaty of Dresden confirms Prussian control of Silesia.
+1746      	Britain and France struggle for the domination of India; France seizes Madras.
+1746      	Charles Edward Stuart (Bonnie Prince Charlie) is defeated at Culloden.
+1746      	English actor David Garrick becomes the manager of the Drury Lane Theatre.
+1746      	Ferdinand VI succeeds Philip V as king of Spain.
+1746      	Princeton University is founded in New Jersey.
+1747      	Nadir Shah of Persia (Iran) is assassinated.
+1747      	The Ohio Company is formed to promote settlement west of the Appalachians.
+1747      	The Pathans defeat the Persians; Ahmad Shah Sadozai founds a new dynasty.
+1748      	English artist Thomas Gainsborough paints Robert Andrews and Mary, His Wife.
+1748      	French political philosopher Montesquieu writes The Spirit of the Laws.
+1748      	The Treaty of Aix-la-Chapelle ends the War of the Austrian Succession.
+1749      	English novelist Henry Fielding writes Tom Jones.
+1749      	Italian dramatist Carlo Goldoni writes La Putta honorata (The Respectable Girl).
+1749      	The British found Halifax in Nova Scotia as a military base.
+1750      	American frontiersman Christopher Gist explores the Ohio River region.
+1750      	Baal Shem Tov founds the Jewish sect of Hasidism about this time.
+1750      	Poona becomes the capital of the Maratha confederacy in India.
+1750      	The Afshars are replaced by the Zand dynasty in Persia (Iran); Shiraz becomes the capital.
+1750      	The Conestoga wagon develops in Pennsylvania about this time.
+1750      	The neoclassical movement in art develops in Europe about this time.
+1750      	The waltz becomes a popular dance in Europe about this time.
+1751      	English novelist Tobias Smollett writes The Expedition of Humphrey Clinker.
+1751      	English soldier Robert Clive captures Arcot in India.
+1751      	Jean Etienne Guettard produces the first geological maps of France.
+1751      	The Worcester Royal Porcelain Company is founded in England.
+1751      	The first volume of Diderot's Encyclopedie is published.
+1752      	Benjamin Franklin invents the lightning conductor.
+1752      	French artist Francois Boucher paints Mademoiselle O'Murphy.
+1752      	Italian artist Tiepolo paints the Marriage of Frederick Barbarossa.
+1753      	Swedish biologist Carolus Linnaeus publishes his system of plant classification.
+1753      	The British Museum is founded in London.
+1754      	French attacks against the English in Ohio lead to the last French and Indian War.
+1754      	Italian architect Rastrelli designs the Winter Palace in Saint Petersburg (Leningrad).
+1754      	The Royal and Ancient Golf Club is founded at Saint Andrews in Scotland.
+1754      	Thomas Chippendale publishes The Gentleman and Cabinet Maker's Directory.
+1755      	Adventurer and lover Casanova is arrested in Venice for witchcraft.
+1755      	Pasquale Paoli founds an independent state in Corsica.
+1755      	Samuel Johnson publishes his Dictionary of the English Language.
+1755      	The British under Braddock are defeated by the French at Fort Duquesne.
+1755      	The French population of Acadia (Nova Scotia) is deported by the British.
+1755      	The Lisbon earthquake kills 50,000.
+1756      	123 British soldiers are alleged to have died in the Black Hole of Calcutta in Bengal, India.
+1756      	French general Montcalm captures Fort Oswego and dominates the Great Lakes.
+1756      	The Seven Years' War begins with a Prussian attack on Austria.
+1756      	William Pitt (the Elder) becomes prime minister of Britain.
+1757      	Frederick II of Prussia defeats the Franco-Austrian army at Rossbach.
+1757      	Robert Clive defeats the nawab of Bengal at the Battle of Plassey in India.
+1758      	Americans and British regulars under General Forbes capture Fort Duquesne.
+1758      	The Burmese overthrow the Mons; Rangoon becomes the new capital of Burma.
+1758      	The French under Montcalm defeat the British at Fort Ticonderoga.
+1759      	French poet and dramatist Voltaire publishes his philosophical novel Candide.
+1759      	Josiah Wedgwood establishes his first pottery works.
+1759      	The Botanical Gardens are founded at Kew in London.
+1759      	The British defeat the French at Niagara; Amherst captures Fort Ticonderoga.
+1759      	The British under Wolfe defeat Montcalm at Quebec; Wolfe dies from his wounds.
+1759      	The Russians defeat Frederick II at Kunersdorf.
+1760      	English architect Robert Adam begins the design of Syon House.
+1760      	English novelist Laurence Sterne publishes the first volumes of Tristram Shandy.
+1760      	George II dies; he is succeeded by his grandson George III as king of England.
+1760      	The British under Amherst capture Montreal, ending French resistance in North America.
+1760      	The Russians invade Prussia and burn Berlin.
+1761      	Franz Josef Haydn becomes court composer to Prince Esterhazy.
+1762      	American Indian religious leader, the Delaware Prophet, is active in the Ohio Valley.
+1762      	Britain seizes Cuba and the Philippines from Spain.
+1762      	British animal painter George Stubbs completes the Horse Attacked by a Lion.
+1762      	Catherine II (Catherine the Great) succeeds her husband as empress of Russia.
+1762      	France cedes Louisiana to Spain to prevent British control of the region.
+1762      	French philosopher Rousseau publishes The Social Contract and Emile.
+1762      	Peter III succeeds Elizabeth as emperor of Russia, but is deposed and murdered.
+1762      	The Russians end their alliance with Austria against Prussia.
+1762      	Wolfgang Amadeus Mozart performs at the Imperial court in Vienna at age 6.
+1763      	Augustus III dies; he is succeeded (1764) by Stanislaw II, the last king of Poland.
+1763      	Britain returns Cuba and the Philippines to Spain in exchange for Florida.
+1763      	France cedes Canada and all territories east of the Mississippi River to Britain.
+1763      	France recognizes British dominance in India.
+1763      	French forces withdraw from Germany; Prussia retains Silesia.
+1763      	James Boswell meets Samuel Johnson for the first time.
+1763      	The Ottawa chief Pontiac leads an uprising against the British.
+1763      	The Treaty of Paris ends the Seven Years' War and the French and Indian Wars.
+1763      	The Wahhabi Saudis begin to establish control over Arabia.
+1764      	German historian Johann Winckelmann publishes his History of the Art of Antiquity.
+1764      	Thomas Chatterton forges the Rowley poems at the age of 12.
+1765      	Francis I dies; he is succeeded by Joseph II as Holy Roman Emperor.
+1765      	French artist Francois Boucher is appointed court painter to Louis XV.
+1765      	George Grenville's Stamp Act imposes a tax on all publications in the American colonies.
+1765      	Horace Walpole publishes his Gothic novel The Castle of Otranto.
+1765      	Lancelot Capability Brown designs the gardens at Blenheim Palace.
+1765      	Robert Clive is appointed governor of Bengal in India.
+1765      	Samuel Adams helps to found the Sons of Liberty to oppose the Stamp Act.
+1765      	Sir William Blackstone begins his Commentaries on the Laws of England.
+1766      	Anglo-Irish author Oliver Goldsmith publishes The Vicar of Wakefield.
+1766      	English chemist Henry Cavendish isolates hydrogen gas for the first time.
+1766      	French artist Jean Honore Fragonard paints The Swing.
+1766      	German dramatist and critic Gotthold Ephraim Lessing publishes Laocoon.
+1766      	The Declaratory Act imposes Parliament's right to make laws in the colonies.
+1766      	The Nautical Almanac provides the first practical method for determining longitude.
+1766      	The Stamp Act is repealed after strong opposition from American colonists.
+1767      	German composer Christoph Willibald Gluck writes his opera Alceste.
+1767      	German-Jewish philosopher Moses Mendelssohn publishes Phaedon.
+1767      	The Burmese destroy the Siam capital of Ayutthaya; the Bangkok Period begins.
+1767      	The Mason-Dixon line establishes the Pennsylvania-Maryland boundary.
+1767      	The Townshend Acts impose a tax on imports to North America.
+1768      	Genoa sells its rights in Corsica to France.
+1768      	Joshua Reynolds becomes the first president of the Royal Academy in London.
+1768      	Louis Antoine de Bougainville claims the Pacific island of Tahiti for France.
+1768      	The Russo-Turkish War is renewed.
+1768      	The first weekly numbers of the Encyclopaedia Britannica are issued.
+1769      	American pioneer Daniel Boone explores a route through the Cumberland Gap.
+1769      	French forces in Corsica defeat Pasquale Paoli; Corsica becomes a province of France.
+1769      	James Watt patents a condenser to improve the performance of steam engines.
+1769      	Ottawa Indian chief Pontiac is assassinated by a Peoria Indian.
+1769      	Richard Arkwright invents a spinning frame to mechanize cotton weaving.
+1769      	The Comtesse du Barry becomes the official mistress to Louis XV.
+1769      	The Gurkhas conquer Nepal.
+1770      	A brawl between British troops and colonists leads to the Boston Massacre.
+1770      	British explorer James Bruce discovers the source of the Blue Nile.
+1770      	English artist Thomas Gainsborough paints The Blue Boy.
+1770      	English navigator James Cook explores New Zealand and the east coast of Australia.
+1770      	Lord North becomes prime minister of Britain.
+1770      	Louis, the future king of France, marries Marie Antoinette.
+1770      	The British Parliament repeals the Townshend Acts.
+1770      	Thomas Jefferson begins building Monticello, his house in Virginia.
+1771      	Governor Tyron defeats the Regulators (dissident farmers) in North Carolina.
+1771      	Gustav III succeeds his father as king of Sweden.
+1772      	American artist Benjamin West paints The Death of Wolfe.
+1772      	English artist Joshua Reynolds paints a Portrait of Samuel Johnson.
+1772      	Poland is partitioned among Russia, Prussia and Austria.
+1773      	American colonists throw British tea into Boston Harbor during the Boston Tea Party.
+1773      	Anglo-Irish author Oliver Goldsmith writes the play She Stoops to Conquer.
+1773      	Calcutta is established as the capital of British India.
+1773      	Don Cossack Yemelian Pugachev leads the Peasant's Revolt in Russia.
+1773      	Pope Clement XIV persecutes the Jesuits.
+1774      	Britain passes the Intolerable Acts and closes the port of Boston.
+1774      	British scientist Joseph Priestley discovers oxygen.
+1774      	Edmund Burke's speech On American Taxation defends the colony's rights.
+1774      	Johann Wolfgang von Goethe publishes The Sorrows of Young Werther.
+1774      	Louis XV dies; he is succeeded by his grandson Louis XVI as king of France.
+1774      	Rhode Island becomes the first state to abolish slavery.
+1774      	The Quebec Act grants religious liberty to Roman Catholics in Canada.
+1774      	The Treaty of Kuchuk Kainarji ends the Russo-Turkish War.
+1774      	The first Continental Congress meets and condemns Britain's Intolerable Acts.
+1774      	Warren Hastings is appointed as the first Governor-General of British India.
+1775      	American patriot Patrick Henry states "Give me liberty, or give me death."
+1775      	Americans under Montgomery occupy Montreal, but fail to capture Quebec.
+1775      	British troops and colonial militia clash at Lexington, starting the American Revolution.
+1775      	British troops suffer heavy losses at the Battle of Bunker Hill.
+1775      	French dramatist Caron de Beaumarchais writes the Barber of Seville.
+1775      	Paul Revere rides to Lexington to warn of approaching British troops.
+1775      	The Continental Congress chooses George Washington to head the Continental Army.
+1776      	American General Charles Lee is captured by the British.
+1776      	Ann Lee establishes a Shaker community at Wartervliet in New York.
+1776      	British forces are evacuated from Boston.
+1776      	British forces under Sir Henry Clinton bombard Charleston harbor.
+1776      	Charles Burney publishes the first volume of A General History of Music.
+1776      	David Bushnell's submarine the Turtle makes an abortive attack on British ships.
+1776      	Economist Adam Smith publishes the Wealth of Nations.
+1776      	Edward Gibbon publishes the first volume of Decline and Fall of the Roman Empire.
+1776      	Grigory Aleksandrovich Potemkin organizes the Russian Black Sea fleet.
+1776      	Howe defeats Washington at White Plains; Washington retreats across the Delaware.
+1776      	Nathan Hale is executed by the British as a spy.
+1776      	Swiss banker Jacques Necker is appointed director of the treasury by Louis XVI.
+1776      	The British under Howe defeat Washington on Long Island and occupy New York.
+1776      	The Continental Congress adopts the Declaration of Independence.
+1776      	The Sturm und Drang (Storm and Stress) literary movement begins in Germany.
+1776      	Thomas Paine publishes his Revolutionary War pamphlet Common Sense.
+1776      	Washington defeats British forces at Trenton and Princeton (1777).
+1777      	Burgoyne capitulates to Horatio Gates' American forces at Saratoga.
+1777      	Christianity is introduced into Korea.
+1777      	French chemist Lavoisier proves that air is composed of oxygen and nitrogen.
+1777      	General Burgoyne captures Ticonderoga and defeats the Americans in Pennsylvania.
+1777      	Richard Brinsley Sheridan's comedy The School for Scandal is produced.
+1777      	The British under Howe capture Philadelphia, forcing Congress to flee.
+1777      	The British under Howe defeat Washington's Continental Army at Brandywine Creek.
+1777      	The Continental Congress adopts the Stars and Stripes as the American flag.
+1777      	The Marquis de Lafayette offers his services to the Continental Congress.
+1777      	Washington's Continental Army spends a hard winter at Valley Forge.
+1778      	English novelist Fanny Burney writes Evelina.
+1778      	France enters the American War of Independence in support of the colonies.
+1778      	Franz Anton Mesmer opens a Paris practice to treat patients using magnetism.
+1778      	John Singleton Copley paints Watson and the Shark.
+1778      	La Scala opera house opens in Milan, Italy.
+1778      	Portugal transfers its rights in Equatorial Guinea to Spain.
+1778      	Washington clashes with British forces under Clinton at Monmouth, N.J.
+1779      	American forces under Sullivan campaign against the Iroquois on the New York border.
+1779      	An American squadron led by John Paul Jones attacks British shipping.
+1779      	British explorer James Cook is killed by natives on Hawaii.
+1779      	George Rogers Clark recaptures Vincennes from the British.
+1779      	Samuel Crompton develops his spinning mule for England's cotton industry.
+1779      	Samuel Johnson begins writing The Lives of the Poets
+1779      	Spain declares war on Britain and lays siege to Gibraltar.
+1779      	War breaks out between Dutch settlers and the Xhosas in South Africa.
+1780      	Americans under Horatio Gates are defeated by Cornwallis at Camden, S.C.
+1780      	Andre's capture exposes Benedict Arnold's plot to surrender West Point.
+1780      	English spy John Andre is caught and executed by the Americans.
+1780      	Francis Marion and Thomas Sumter lead guerrilla forces against the British.
+1780      	Luigi Galvani begins experiments on the effect of electricity on nerves and muscles.
+1780      	Maria Theresa dies; Joseph II inherits the crown of Bohemia and Hungary.
+1780      	Peruvian Indians under Tupac Amaru revolt against Spainish rule.
+1780      	The British under Clinton occupy Charleston, S.C. and capture the garrison.
+1780      	The Derby horse race is established in England.
+1780      	The Gordon Riots begin in London against Catholic emancipation.
+1780      	Venetian artist Francesco Guardi paints the Gondola on the Lagoon.
+1781      	American forces under Daniel Morgan defeat the British at the Battle of Cowpens.
+1781      	English astronomer William Herschel discovers the planet Uranus.
+1781      	German philosopher Immanuel Kant publishes his Critique of Pure Reason.
+1781      	The British defeat Hyder Ali the Muslim ruler of Mysore (now Karnataka) in India.
+1781      	The British under Cornwallis surrender to the Americans at Yorktown.
+1781      	The French aid Washington in the siege of Yorktown.
+1782      	Henry Grattan's Patriot party achieves legislative independence for Ireland.
+1782      	Kamehameha I begins a ten-year war for control of Hawaii.
+1782      	Peace talks open in Paris between Britain and America.
+1782      	Pierre Choderlos de Laclos writes Les Liaisons Dangereuses.
+1782      	Rama I founds the Chakkri dynasty in Siam (Thailand) with Bangkok as its capital.
+1782      	The design for the Great Seal of the United States is adopted by the Continental Congress.
+1782      	Tippu Sultan succeeds his father as ruler of Mysore (now Karnataka) in India.
+1783      	An earthquake kills 30,000 people at Calabria in Italy.
+1783      	Britain recognizes the independence of the United States at the Treaty of Paris.
+1783      	British forces abandon New York, their last stronghold in North America.
+1783      	French scientist Jacques Charles demonstrates the first hydrogen-inflated balloon.
+1783      	Russia gains control of the Crimea after three centuries of Turkish rule.
+1783      	The British return Florida to Spain under the terms of the Treaty of Paris.
+1783      	The Montgolfier brothers make the first manned flight in a hot air balloon.
+1783      	William Pitt (the Younger) becomes prime minister of Britain at age 24.
+1784      	American inventor Oliver Evans develops the first automated flour mill.
+1784      	French dramatist Caron de Beaumarchais writes the Marriage of Figaro.
+1784      	French neoclassical artist Jacques Louis David paints The Oath of Horatii.
+1784      	Grigory Shelekhov founds the first Russian colony in America at Kodiak Island, Alaska.
+1784      	Thomas Jefferson's proposes a ban on slavery in the western territories.
+1785      	English poet William Cowper publishes The Task.
+1785      	French navigator La Perouse sails to the Pacific to find the Northwest Passage.
+1785      	Jean Pierre Blanchard makes the first balloon flight across the English Channel.
+1785      	New York City becomes the temporary capital of the United States.
+1785      	Newspaper publisher John Walter founds The Times of London.
+1786      	Daniel Shays leads a rebellion against the state government in Massachusetts.
+1786      	Francisco de Goya becomes court painter to Charles III of Spain.
+1786      	Frederick II dies; he is succeeded by his son Frederick William II as king of Prussia.
+1786      	Lord Cornwallis succeeds Warren Hastings as governor-general of India.
+1786      	Robert Burns publishes Poems, Chiefly in the Scottish dialect.
+1786      	Singapore, Penang and Melaka are ceded to Britain as the Straits Settlements.
+1786      	Swiss climbers make the first ascent of Mount Blanc.
+1787      	Alexander Hamilton, John Jay and James Madison write the first Federalist essays.
+1787      	American inventor John Fitch launches a steam-powered ferry boat on the Delaware.
+1787      	Austrian composer Wolfgang Amadeus Mozart writes the opera Don Giovanni.
+1787      	British reformer William Wilberforce declares his aims to abolish slavery.
+1787      	Henry Holland builds the first Royal Pavilion at Brighton for the Prince Regent.
+1787      	Royall Tyler's The Contrast becomes the first stage comedy to be produced in the U.S.
+1787      	The Assembly of Notables is summoned by Louis XVI to reform French taxation.
+1787      	The British found Freetown and establish Sierra Leone as a colony for freed slaves.
+1787      	The Constitutional Convention meets in Philadelphia to draw up a U.S. Constitution.
+1787      	The Continental Congress excludes slavery from the Northwest Territory.
+1787      	The Marylebone Cricket Club (M.C.C.) is formed in London, England.
+1787      	Turkey declares war on Russia, beginning a new Russo-Turkish War.
+1788      	A crop failure in France leads to bread riots.
+1788      	Austria joins Russia in the war against Turkey.
+1788      	Captain Arthur Phillip founds the first Australian penal colony at Sydney Cove.
+1788      	French physicist Lagrange publishes his Analytical Mechanics.
+1788      	George III of England has his first attack of mental illness.
+1788      	Mozart composes 3 symphonies: E-flat, G minor and Jupiter in less than 7 weeks.
+1788      	Swedish forces under Gustav III attack Russia.
+1788      	Warren Hastings is impeached for maladministration in India.
+1789      	A National Assembly is declared in France, ending the power of the States-General.
+1789      	Alexander Hamilton becomes the first U.S. secretary of the treasury.
+1789      	Austrian forces capture Belgrade from the Turks.
+1789      	English poet and artist William Blake publishes Songs of Innocence.
+1789      	French sculptor Jean Antoine Houdon makes busts of Jefferson and Washington.
+1789      	Jeremy Bentham publishes An Introduction to the Principles of Morals and Legislation.
+1789      	Louis XVI is forced to capitulate; France becomes a constitutional monarchy.
+1789      	Mutinous sailors seize H.M.S. Bounty and take refuge on Pitcairn Island.
+1789      	The Federalist party is formed by supporters of the ratification of the U.S. Constitution.
+1789      	The French National Assembly formulates a Declaration of the Rights of Man.
+1789      	The French Revolution begins with an attack on the Bastille.
+1789      	The Supreme Court of the United States is founded with John Jay as Chief Justice.
+1789      	The Tammany Hall political organization is founded in New York.
+1789      	The first national Thanksgiving Day is celebrated in the U.S.
+1789      	Tippu Sultan begins the Third Mysore War against the British in India.
+1789      	Washington is elected as the first U.S. president; John Adams becomes vice-president.
+1790      	Leopold II succeeds Joseph II as Holy Roman Emperor.
+1790      	New England captains extend whaling into the Pacific Ocean about this time.
+1790      	Philadelphia replaces New York as the temporary capital of the U.S.
+1790      	Sweden and Russia sign a peace treaty.
+1790      	The New York Stock Exchange is founded.
+1790      	The bolero Spanish dance is introduced about this time.
+1790      	Thomas Jefferson proposes a decimal (metric) system; Congress rejects the suggestion.
+1791      	Austria returns Belgrade to the Turks.
+1791      	Chinese author Ts'ao Hsueh-ch'in publishes The Dream of the Red Chamber.
+1791      	Emperor Joseph II ends the war between Austria and Turkey.
+1791      	James Boswell publishes his Life of Samuel Johnson.
+1791      	Louis XVI and Marie Antoinette are captured while trying to leave France.
+1791      	Marquis de Sade writes the novel Justine from his prison cell.
+1791      	Miami Indian chief Little Turtle defeats an American force under General Arthur St. Clair.
+1791      	Mozart's opera The Magic Flute is performed for the first time.
+1791      	Pierre Charles L'Enfant designs the new U.S. capital of Washington, D.C.
+1791      	The Bill of Rights (the first ten amendments to the U.S. Constitution) is ratified.
+1791      	The First Bank of the United States is founded.
+1791      	The Province of Quebec is divided into Upper Canada and Lower Canada.
+1791      	Thomas Paine publishes The Rights of Man in defense of the French revolution.
+1791      	Thomas Sheraton publishes The Cabinet Maker and Upholsterer's Drawing Book.
+1791      	Toussaint l'Ouverture leads a slave revolt in Haiti against the French.
+1791      	Vermont becomes the 14th state of the Union.
+1792      	Architect James Hoban wins the competition to design the White House.
+1792      	Charles Bulfinch designs the Connecticut State House (now Hartford City Hall).
+1792      	France declares war on Austria and Prussia, beginning the French Revolutionary Wars.
+1792      	Francis II succeeds Leopold II to become the last Holy Roman Emperor.
+1792      	George Washington is reelected as president.
+1792      	German philosopher Fichte writes an Essay toward a Critique of All Revelations.
+1792      	Gustav III of Sweden is assassinated at a masquerade in Stockholm.
+1792      	Jefferson leads the Democratic-Republican party in opposition to the Federalists.
+1792      	Kentucky becomes the 15th state of the Union.
+1792      	Mary Wollstonecraft publishes A Vindication of the Rights of Women.
+1792      	New insurrections begin in France; Louis XVI is imprisoned by the Commune of Paris.
+1792      	Russia and Prussia invade Poland, which is still recovering from the Partition of 1772.
+1792      	Swiss scientist Aime Argand develops a practical oil lamp using a tubular wick.
+1792      	The Columbia River is discovered by Boston trader Robert Gray.
+1792      	The French Republic adopts the guillotine as a uniform method of execution.
+1792      	The French under Dumouriez halt the Prussians and defeat the Austrians at Jemappes.
+1792      	The National Convention proclaims France a Republic.
+1792      	The Treaty of Jasso ends the Russo-Turkish War.
+1792      	The dollar is selected as the U.S. unit of currency.
+1792      	Thomas Paine publishes the Rights of Man and is outlawed for treason in England.
+1793      	Britain, Holland, Spain and Sardinia form a new anti-French coalition.
+1793      	Eli Whitney invents the cotton gin.
+1793      	France adopts the metric system of measurement.
+1793      	France raises the first national army of conscripts to oppose the Coalition forces.
+1793      	French revolutionary Jean Paul Marat is murdered by Charlotte Corday.
+1793      	George Washington lays the cornerstone for the Capitol building in Washington D.C.
+1793      	Jean Pierre Blanchard makes the first U.S. balloon flight in Philadelphia.
+1793      	Louis XVI and Marie Antoinette are executed; the Reign of Terror begins in France.
+1793      	Russia and Prussia seize Polish lands as part of the Second Partition of Poland.
+1794      	Ann Ward Radcliffe publishes her gothic novel The Mysteries of Udolpho.
+1794      	French engineer Claude Chappe invents the semaphore signaling system.
+1794      	Jay's Treaty settles disputes between Britain and the U.S.
+1794      	Militia under General Henry Lee suppress the Whiskey Rebellion in Pennsylvania.
+1794      	Robespierre's execution ends the Reign of Terror in France; the Thermidorian Reaction begins.
+1794      	Tadeusz Kosciuszko leads a revolt of Polish peasants against Russia.
+1794      	The British occupy the French island of Corsica for a two-year period.
+1794      	The Qajar (Kajar) dynasty is founded in Persia (Iran).
+1794      	U.S. forces under Anthony Wayne defeat the Indians at the Battle of Fallen Timbers.
+1795      	American artist Charles Wilson Peale paints the Staircase group.
+1795      	Austrian composer Franz Josef Haydn completes the 12 London symphonies.
+1795      	France claims the island of Hispaniola.
+1795      	Napoleon Bonaparte defeats the insurrectionists in Paris.
+1795      	Prussia and Spain sue for peace with France.
+1795      	Scottish explorer Mungo Park reaches the Gambia and Niger Rivers.
+1795      	Scottish geologist James Hutton publishes his Theory of the Earth.
+1795      	Spain recognizes U.S. claims to West Florida (Mississippi).
+1795      	Stanislaw II abdicates as the last king of Poland.
+1795      	The British capture Cape Province (South Africa) from the Dutch.
+1795      	The Constitution of 1795 establishes a Directory to rule France.
+1795      	The Methodists separate from the Church of England.
+1795      	The final Partition of Poland is made among Russia, Prussia and Austria.
+1796      	English novelist Fanny Burney publishes Camilla.
+1796      	English physician Edward Jenner develops vaccination against smallpox.
+1796      	George Washington declines to serve as president for a third term.
+1796      	Gilbert Stuart paints a portrait of Washington (used later on the dollar bill).
+1796      	John Adams is elected as the 2nd U.S. president; Jefferson becomes vice-president.
+1796      	Napoleon defeats the Austrian and Sardinian armies in Italy.
+1796      	Napoleon marries Josephine, the widow of the vicomte de Beauharnais.
+1796      	Napoleon restores Corsica to French rule.
+1796      	Samuel Hahnemann publishes his findings on homeopathic treatment.
+1796      	Spain sides with France in the war against Britain.
+1796      	Tennessee becomes the 16th state of the Union.
+1796      	The British seize Ceylon (Sri Lanka) from the Dutch.
+1797      	Austria cedes the Austrian Netherlands (present-day Belgium) to France.
+1797      	British wood engraver Thomas Bewick publishes A History of British Birds.
+1797      	David Thompson surveys the Mississippi headwaters for the North West Company.
+1797      	Nelson defeats the Spanish fleet at Cape St. Vincent, and the Dutch at Camperdown.
+1797      	The British capture the Spanish colony of Trinidad.
+1797      	The Directory appoint Talleyrand as minister of foreign affairs for France.
+1797      	The Treaty of Campo Formio ends the war of the First Coalition against France.
+1797      	The Venetian Republic is dissolved; Venice is ruled by Austria.
+1798      	America's first professional author Charles Brockden Brown publishes Wieland.
+1798      	Britain, Austria, Russia and Turkey form a Second Coalition against France.
+1798      	Economist Thomas Malthus publishes An Essay on the Principle of Population.
+1798      	Eli Whitney uses early mass production techniques to manufacture muskets.
+1798      	French armies occupy Rome and invade Switzerland, creating the Helvetic Republic.
+1798      	Lord Wellesley becomes governor-general of India.
+1798      	Napoleon's army invades Egypt and defeats the Mamelukes at the Battle of the Pyramids.
+1798      	The French fleet is destroyed by Nelson at Abukir Bay, cutting off Napoleon's forces in Egypt.
+1798      	The U.S. Congress passes the controversial Alien and Sedition Acts.
+1798      	The XYZ Affair leads to the Quasi War between France and the U.S.
+1798      	The territory of Mississippi becomes part of the United States.
+1798      	William Wordsworth publishes Lyrical Ballads with Samuel Taylor Coleridge.
+1798      	Wolfe Tone leads a revolt against the British by the Society of United Irishmen.
+1799      	A 33,000 year-old frozen mammoth is discovered at the Lena River in Russia.
+1799      	Britain becomes the first nation to introduce a national income tax.
+1799      	City Hotel, the first American structure designed as a hotel, opens in New York.
+1799      	Humboldt and Bonpland begin their scientific expedition in South American.
+1799      	Napoleon attacks Syria to prevent a Turkish invasion of Egypt, but is defeated at Acre.
+1799      	Napoleon returns to France as first consul; the Consulate replaces the Directory.
+1799      	Ranjit Singh establishes a Sikh kingdom in northwest India.
+1799      	Russian forces under Suvorov defeat the French in Italy, but are held at Zurich.
+1799      	The Rosetta Stone, the key to deciphering hieroglyphics, is discovered in Egypt.
+1799      	The Russian-American Company is founded to administer the Alaskan fur trade.
+1799      	Tippu Sultan is killed in battle with the British; the Mysore empire is destroyed.
+1800      	Black slave Gabriel leads an abortive uprising near Richmond, Virginia.
+1800      	France regains Louisiana from Spain under the secret Treaty of San Ildefonso.
+1800      	Italian physicist Alessandro Volta invents the first electric battery.
+1800      	Jefferson defeats Adams in the U.S. presidential election, but ties with Burr.
+1800      	Johnny Appleseed (John Chapman) arrives in the Ohio River valley around this time.
+1800      	Madame de Stael publishes The Influence of Literature Upon Society.
+1800      	Napoleon commissions Cambaceres to develop the Napoleonic Code of law.
+1800      	Napoleon defeats the Austrians at the Battle of Marengo.
+1800      	The Library of Congress is founded in Washington D.C.
+1800      	The seat of U.S. government is transferred to Washington, D.C.
+1801      	Alexander I becomes emperor of Russia after the murder of his father Paul I.
+1801      	Barbary pirates begin the Tripolitan War; a U.S. squadron sails to the Mediterranean.
+1801      	Castlereagh secures passage of the Act of Union, which unites Britain and Ireland.
+1801      	Chemists Proust and Berthollet debate the constancy of chemical composition.
+1801      	Jefferson is selected as the 3rd U.S. president; Burr becomes vice-president.
+1801      	Nelson defeats the Danish fleet at Copenhagen.
+1801      	Robert Fulton demonstrates his 3-man submarine the Nautilus.
+1801      	The British defeat Napoleon's army of Egypt at Alexandria.
+1801      	The Peace of Luneville ends the war between France and Austria.
+1801      	The Union Jack becomes the official flag of the United Kingdom.
+1802      	Alexander von Humboldt climbs Mt. Chimborazo, setting a world height record.
+1802      	American artist Benjamin West paints Death on a Pale Horse.
+1802      	Britain returns the island of Minorca to Spain.
+1802      	Napoleon is created First Consul for life.
+1802      	The French capture Haitian leader Toussaint, but are defeated by Christophe.
+1802      	The Treaty of Amiens brings a temporary halt to the French Revolutionary Wars.
+1803      	Britain declares war on France, beginning the Napoleonic Wars.
+1803      	Britain establishes a new penal colony on Van Diemen's Land (Tasmania).
+1803      	English scientist John Dalton describes his atomic theory.
+1803      	France sells Louisiana to the U.S.
+1803      	Matthew Flinders completes the first circumnavigation of Australia.
+1803      	Ohio is inaugurated as the l7th state of the Union.
+1803      	Robert Emmet leads an Irish rebellion in Dublin; he is captured and executed.
+1804      	American politician Aaron Burr kills Alexander Hamilton in a duel.
+1804      	Dessalines declares Haitian independence and names himself Emperor Jacques I.
+1804      	English engineer Richard Trevithick builds the first steam locomotive.
+1804      	Francis II assumes the title of emperor of Austria.
+1804      	Fulani leader Usman dan Fodio leads a holy war against the Hausa in Nigeria.
+1804      	Jefferson is reelected as U.S. president; Clinton becomes vice-president.
+1804      	Meriwether Lewis and William Clark begin exploring the American north-west.
+1804      	Napoleon crowns himself emperor of France.
+1804      	Serbian nationalists revolt against the Turks.
+1804      	Stephen Decatur leads a U.S. navy skirmish into Tripoli harbor.
+1805      	American explorers Lewis and Clark reach the Pacific Ocean.
+1805      	Austria sues for peace with France at the Treaty of Pressburg.
+1805      	Britain, Austria, Russia and Sweden form a Third Coalition against France.
+1805      	Muhammad Ali is appointed Pasha (governor) of Egypt by the Ottoman sultan.
+1805      	Nelson defeats the Franco-Spanish fleet at Trafalgar, but is killed during the action.
+1805      	The French defeat Austro-Russian forces at the Battle of Austerlitz.
+1805      	The Shawnee Prophet, brother of Tecumseh, begins planning an Indian uprising.
+1806      	Emperor Jacques I is assassinated; Haiti is divided between Christophe and Petion.
+1806      	Napoleon begins the Continental System, closing European ports to British vessels.
+1806      	Napoleon forces the abdication of Francis II; the Holy Roman Empire is dissolved.
+1806      	Prussia joins the Coalition against France, but is defeated at Jena-Auerstadt.
+1806      	Revolutionary leader Francisco de Miranda makes an abortive invasion of Venezuela.
+1806      	The British employ Congreve rockets against a French invasion fleet.
+1806      	U.S. explorer Zebulon Pike is sent west to descend the Red River.
+1806      	William Murdock installs gas lighting in a Manchester cotton mill.
+1807      	Aaron Burr is tried for treason and acquitted.
+1807      	Beethoven completes his Fifth Symphony and begins the Sixth (Pastoral).
+1807      	British chemist Humphry Davy discovers the elements potassium and sodium.
+1807      	Congress passes the Embargo Act in response to interference with U.S. shipping.
+1807      	German philosopher Hegel publishes The Phenomenology of the Spirit.
+1807      	Napoleon defeats the Russian armies; Russia and Prussia sue for peace at Tilsit.
+1807      	Portugal refuses to observe the blockade against England; France invades Portugal.
+1807      	Robert Fulton's steamship the Clermont makes its maiden voyage.
+1807      	The Janissaries depose Sultan Selim III and place Mustafa IV on the Ottoman throne.
+1807      	The U.S. frigate Chesapeake is involved in an incident with a British man-of-war.
+1807      	The slave trade is outlawed throughout the British Empire.
+1808      	Francisco de Goya paints The Third of May, depicting the cruelty of war.
+1808      	French chemist Joseph Louis Gay-Lussac isolates the element boron.
+1808      	German artist Caspar David Friedrich exhibits The Cross in the Mountains.
+1808      	Japanese artist Buncho paints True View of Mount Hiko.
+1808      	John Jacob Astor founds the American Fur Company.
+1808      	Napoleon appoints his brother Joseph as king of Spain.
+1808      	The British under Wellington aid Portugal against France in the Peninsular War.
+1809      	Frenchman Nicolas Appert develops the first effective method for canning food.
+1809      	German artists Overbeck and Pforr found the Nazarenes.
+1809      	John Stevens' steamboat the Phoenix makes the first ocean-going voyage.
+1809      	Lamarck publishes his theories of evolution in Zoological Philosophy.
+1809      	Metternich draws Austria into the War of the Fifth Coalition against France.
+1809      	Napoleon annexes the Papal States and takes Pope Pius VII prisoner.
+1809      	Russia seizes Finland from Sweden; King Gustav IV Adolf abdicates.
+1809      	The French defeat the Austrians at Wagram; Francis II accepts the Treaty of Schonbrunn.
+1810      	A rebellion against Spain breaks out in Buenos Aires, Argentina.
+1810      	American settlers rebel against the Spanish in West Florida.
+1810      	Kamehameha I becomes ruler of Hawaii and establishes the Kamehameha dynasty.
+1810      	Mexican priest Miguel Hidalgo y Costilla leads a rebellion against Spanish rule.
+1810      	The Krupp arms factory is established at Essen in Germany.
+1810      	Wellington's Anglo-Portuguese army holds the French on the outskirts of Lisbon.
+1811      	Bolivar and Miranda lead the Venezuelan congress in a declaration of independence.
+1811      	George III becomes mentally unstable; the Prince of Wales assumes power as regent.
+1811      	Henri Christophe declares himself king of northern Haiti.
+1811      	Italian chemist Amedeo Avogadro develops the concept known as Avogadro's law.
+1811      	Jose Artigas raises a force to expel the Spanish from the Banda Oriental (Uruguay).
+1811      	Mexican rebel leader Hidalgo y Costilla is captured and executed.
+1811      	The Luddites riot in England against the mechanization of the textile industry.
+1811      	The building of the National Road, the first U.S. federal highway, begins in Maryland.
+1811      	The first rowing race in the United States is held in New York.
+1811      	The ruling Mameluke aristocracy is massacred in Cairo by Muhammad Ali.
+1811      	William Henry Harrison defeats the Shawnee Indians at the Battle of Tippecanoe.
+1812      	An earthquake destroys Caracas in Venezuela, killing 12,000.
+1812      	English caricaturist Thomas Rowlandson illustrates the Tour of Dr. Syntax.
+1812      	General William Hull surrenders Detroit to the British.
+1812      	Georges Cuvier develops his theory of catastrophism through the study of fossils.
+1812      	Grimm's Fairy Tales are published in Germany.
+1812      	John Nash begins the oriental conversion of the Royal Pavilion at Brighton.
+1812      	Louisiana is inaugurated as the 18th state of the Union.
+1812      	Napoleon invades Russia with 450,000 men.
+1812      	Napoleon's army retreats from Moscow; only 40,000 men reach France.
+1812      	Rebel leader Morelos y Pavon defeats the Mexican royalist forces at Oaxaca.
+1812      	Spanish forces defeat Bolivar and Miranda in Venezuela; Miranda is imprisoned.
+1812      	Stephen Decatur's frigate United States defeats the British frigate Macedonian.
+1812      	Swiss explorer Jakob Burckhardt rediscovers the ancient city of Petra.
+1812      	Territorial and shipping disputes lead to the War of 1812 between the U.S. and Britain.
+1812      	The French defeat the Russians at Borodino; Napoleon occupies Moscow.
+1812      	The U.S. Navy frigate Constitution defeats 2 British frigates.
+1812      	The ancient city of Petra (now in present-day Jordan) is rediscovered by Johann Burckhardt.
+1812      	The first coal gas generating station is chartered in London to provide gas lighting.
+1812      	Wellington defeats the French at the Battle of Salamanca in Spain.
+1813      	14 Luddites are hanged at York in England.
+1813      	English novelist Jane Austen publishes Pride and Prejudice.
+1813      	James Wilkinson captures a fort at Mobile, the last Spanish possession in West Florida.
+1813      	Napoleon is defeated at the Battle of Leipzig by the Sixth Coalition.
+1813      	Oliver Hazard Perry's ships destroy the British fleet on Lake Erie.
+1813      	Pro-British Indian leader Tecumseh is killed in the Battle of the Thames.
+1813      	Rebel forces invade Venezuela and capture Caracas; Bolivar is declared the Liberator.
+1813      	Robert Southey is made poet laureate of England.
+1813      	Wellington defeats the French in Spain at Vitoria and invades southern France.
+1813      	William Henry Harrison defeats the British at the Battle of the Thames.
+1814      	Actor Edmund Kean makes his debut as Shylock in The Merchant of Venice.
+1814      	Andrew Jackson annihilates the Creek Indians at the Battle of Horseshoe Bend.
+1814      	British forces burn Washington, D.C., but are repulsed at Fort McHenry.
+1814      	Coalition armies invade France; Napoleon abdicates and is exiled to the island of Elba.
+1814      	French artist Ingres paints The Grand Odalisque.
+1814      	George Stephenson constructs his first steam locomotive.
+1814      	Louis XVIII assumes the French throne.
+1814      	New England states discuss their secession from the Union at the Hartford Convention.
+1814      	Pope Pius VII returns to Rome; the Jesuit order is reestablished.
+1814      	The Treaty of Ghent ends the War of 1812 between the U.S. and Britain.
+1814      	U.S. forces under Thomas Macdonough destroy the British fleet on Lake Champlain.
+1815      	Napoleon escapes from Elba and marches on Paris during the Hundred Days.
+1815      	Napoleon is defeated at the Battle of Waterloo; he is exiled to the island of Saint Helena.
+1815      	The Americans defeat the British at New Orleans before news of peace arrives.
+1815      	The Barbary States sue for peace with the U.S.
+1815      	The Spanish army reconquers Venezuela; Bolivar flees to Jamaica.
+1815      	The Spanish capture and execute the Mexican rebel leader Morelos y Pavon.
+1815      	The first Gurkha regiment is formed by the British army.
+1816      	Gioacchino Rossini's opera The Barber of Seville is performed in Rome.
+1816      	Indiana is inaugurated as the 19th state of the Union.
+1816      	Maria I of Portugal dies; she is succeeded by John VI who remains in exile in Brazil.
+1816      	Nepal is made a protectorate of British India.
+1816      	Shaka begins establishing the Zulu empire in South Africa.
+1816      	The British Museum buys the Elgin Marbles (smuggled from Greece by Lord Elgin).
+1816      	The United Provinces of the Rio de la Plata (Argentina) declare independence.
+1817      	Construction of the Erie Canal begins in New York State.
+1817      	French physician Rene Laennec invents the stethoscope.
+1817      	Jose de San Martin and Bernardo O'Higgins defeat the Spanish in Chile.
+1817      	Mississippi is inaugurated as the 20th state of the Union.
+1817      	Monroe is inaugurated as the 5th U.S. president; Tompkins becomes vice-president.
+1817      	Sir Walter Scott writes the Scottish adventure novel Rob Roy.
+1818      	Arthur Schopenhauer publishes The World as Will and Representation.
+1818      	Bernardo O'Higgins becomes the supreme director of independent Chile.
+1818      	Composer Franz Schubert becomes the music teacher to Count Esterhazy's family.
+1818      	English chemist Sir Humphry Davy invents the miner's safety lamp.
+1818      	Illinois is inaugurated as the 21st state of the Union.
+1818      	Mary Wollstonecroft Shelley publishes the horror novel Frankenstein.
+1818      	Sir John Ross sails in search of the Northwest Passage.
+1818      	Thomas Love Peacock publishes his comic novel Nightmare Abbey.
+1819      	Alabama is inaugurated as the 22nd state of the Union.
+1819      	American artist Washington Allston paints Moonlit Landscape.
+1819      	Bolivar defeats the Spanish in Colombia at the Battle of Boyaca.
+1819      	Lord Byron begins his satirical poem Don Juan.
+1819      	Sir Thomas Stamford Raffles acquires Singapore for the East India Company.
+1819      	Spain surrenders East and West Florida to the U.S. in the Adams-Onis Treaty.
+1819      	The Prado Museum is inaugurated in Madrid.
+1819      	The Savannah becomes the first steamship to cross the Atlantic.
+1820      	English poet John Keats writes Ode To a Nightingale.
+1820      	English poet Percy Bysshe Shelley writes Prometheus Unbound.
+1820      	French navigator Dumont d'Urville discovers the Venus de Milo on the island of Melos.
+1820      	French poet Alphonse de Lamartine publishes Meditations Poetiques.
+1820      	Henri Christophe commits suicide; Haiti is united under Jean Pierre Boyer.
+1820      	Juan Manuel de Rosas becomes the virtual dictator of Argentina.
+1820      	Maine is inaugurated as the 23rd state of the Union.
+1820      	Russian Admiral Fabian von Bellingshausen sights land in the Antarctic.
+1820      	Stephen H. Long explores the Rocky Mountain region.
+1820      	The Missouri Compromise admits Missouri to the Union as a slave state.
+1820      	The Prince Regent becomes King George IV on the death of George III.
+1820      	The first American missionaries are admitted to Hawaii.
+1820      	The first free American slaves to be resettled in Africa land in Liberia.
+1820      	U.S. navy hero Stephen Decatur is killed in a duel.
+1820      	Washington Irving publishes Rip Van Winkle and The Legend of Sleepy Hollow.
+1821      	American captain John Davis is the first to land on the continent of Antarctica.
+1821      	Bolivar forms Gran Colombia (Ecuador, Colombia, Venezuela and Panama).
+1821      	Brazil annexes the Banda Oriental (Uruguay).
+1821      	English landscape artist John Constable paints The Hay Wain.
+1821      	King John VI is reinstated on the Portuguese throne.
+1821      	Missouri is inaugurated as the 24th state of the Union.
+1821      	Napoleon dies on Saint Helena.
+1821      	Revolutionary general San Martin enters Lima and declares Peru independent.
+1821      	Revolutionary leader Iturbide declares Mexican independence from Spain.
+1821      	Simon Bolivar defeats the Spanish forces in Venezuela and Ecuador.
+1821      	The Cherokee Indian Sequoya develops the Cherokee written language.
+1821      	The Greek War of Independence begins against Turkey.
+1821      	Thomas de Quincey's Confessions of an English Opium Eater is published.
+1822      	American surgeon William Beaumont begins his study of the gastric process.
+1822      	Antonio Jose de Sucre defeats the Spanish in Ecuador at the Battle of Pichincha.
+1822      	British statesman Lord Castlereagh commits suicide.
+1822      	Denmark Vesey leads a slave revolt in Charleston; 35 blacks are executed.
+1822      	Dom Pedro, son of Portuguese King John VI, declares Brazil independent.
+1822      	Egyptian leader Muhammad Ali completes the conquest of northern Sudan.
+1822      	French scholar Jean Francois Champollion deciphers the Rosetta Stone hieroglyphics.
+1823      	Charles Babbage begins work on his difference engine, a precursor of the computer.
+1823      	Charles Lamb publishes his Essays of Elia in The London Magazine.
+1823      	Charles Macintosh patents the waterproof fabric used in mackintosh raincoats.
+1823      	General Santa Anna leads a coup against Mexican Emperor Agustin I (Iturbide).
+1823      	James Fenimore Cooper publishes the first volume of The Leatherstocking Tales.
+1823      	Japanese artist Hokusai begins a series of Thirty-six Views of Mount Fuji.
+1823      	Ludwig van Beethoven completes his 9th Symphony.
+1823      	Rugby football originates at Rugby School in England.
+1823      	The Monroe Doctrine warns Europe not to interfere in the Americas.
+1824      	De Sucre defeats the Spanish at the Battle of Ayacucho, liberating Peru.
+1824      	Disputes over the border of India lead to war between Britain and Burma.
+1824      	English poet Lord Byron travels to Greece to aid the patriots but dies of a fever.
+1824      	Jons Jakob Berzelius discovers the element silicon about this time.
+1824      	Sadi Carnot lays the foundations for the second law of thermodynamics.
+1824      	The Ashanti begin a war of resistance against Britain in the Gold Coast (Ghana).
+1824      	The National Gallery is founded in London.
+1825      	Adams is inaugurated as the 6th U.S. president; Calhoun becomes vice-president.
+1825      	American painter Thomas Cole founds the Hudson River School about this time.
+1825      	English literary critic William Hazlitt publishes The Spirit of the Age.
+1825      	Kappa Alpha, the first social fraternity, is formed at Union College, New York.
+1825      	Mountain man James Bridger discovers the Great Salt Lake.
+1825      	Nicholas I is made emperor of Russia; the Decembrists revolt breaks out.
+1825      	The Central American Federation declares its independence from Mexico.
+1825      	Uruguayan leader Lavalleja precipitates a war between Brazil and Argentina.
+1825      	Welsh reformer Robert Owen founds a community at New Harmony, Indiana.
+1826      	American engineer John Stevens builds the first U.S. steam locomotive.
+1826      	Andre Ampere publishes his Theory of Electrodynamic Phenomenon.
+1826      	British engineer Thomas Telford builds the Menai suspension bridge in Wales.
+1826      	Felix Mendelssohn composes his overture to A Midsummer Night's Dream at age 17.
+1826      	German poet Heine begins the publication of Reisebilder (Travel Pictures).
+1826      	Ohm's law establishes the relationship of electrical voltage, current and resistance.
+1826      	Revolutionary leader Antonio Jose de Sucre is elected first president of Bolivia.
+1827      	American frontiersman Davy Crockett is elected to Congress.
+1827      	Britain, France and Russia demand that Turkey ends the war with Greece.
+1827      	English inventor John Walker introduces the first friction matches.
+1827      	French landscape artist Camille Corot paints the Bridge at Narni.
+1827      	Mountain man Jedediah Smith pioneers an overland route to California.
+1827      	Ornithologist John James Audubon begins the publication of his Birds of America.
+1827      	The Allied navies destroy the Turkish and Egyptian fleet at Navarino in Greece.
+1828      	Composer Frederic Chopin begins concert tours at age 18.
+1828      	Lavalleja's Thirty-three Immortals achieve Uruguayan independence from Brazil.
+1828      	Noah Webster publishes his American Dictionary of the English Language.
+1828      	Rammohun Roy founds the Brahmo Samaj religious society in India.
+1828      	The Duke of Wellington becomes prime minister of Britain.
+1828      	Virtuoso violin player Niccolo Paganini performs in Vienna.
+1829      	Explorer Charles Sturt charts the Murray River in Australia.
+1829      	Jackson is inaugurated as the 7th U.S. president; Calhoun continues as vice-president.
+1829      	Lord Bentinck bans the Indian custom of suttee (the burning of widows).
+1829      	Louis Braille publishes his braille system of writing for the blind.
+1829      	Serbia becomes an autonomous principality under Prince Milos.
+1829      	Sir Robert Peel reorganizes the London police; his policemen are nicknamed Bobbies.
+1829      	Sir Robert Peel sponsers the Catholic Emancipation Act in Britain.
+1829      	The convict-free British colony of Western Australia is founded.
+1829      	The first U.S. encyclopedia, the Encyclopedia Americana, is begun.
+1830      	Belgium asserts its independence from the Netherlands.
+1830      	British geologist Charles Lyell begins publishing his Principles of Geology.
+1830      	Fructuoso Rivera is elected as first president of Uruguay.
+1830      	George Catlin begins his paintings of North American Indians about this time.
+1830      	Greece becomes independent from Turkey.
+1830      	Hector Berlioz composes his first major work the Symphonie Fantastique.
+1830      	Joseph Smith founds the Mormon church at Fayette, New York.
+1830      	Louis Philippe is chosen as the citizen king of France.
+1830      	Philipon publishes the satirical weekly La Caricature, with contributions by Daumier.
+1830      	Polish rebellions are suppressed by Russia.
+1830      	Simon Bolivar resigns as dictator of Gran Colombia, he dies later in the year.
+1830      	The Indian Removal Act is passed to move the southeastern tribes to Indian Territory.
+1830      	The July Revolution in France forces the abdication of Charles X.
+1830      	The Women's magazine Godey's Lady's Book is published in the U.S.
+1830      	The locomotive Best Friend of Charleston is in use on the first U.S. railroad.
+1830      	William IV succeeds George IV as king of England, Scotland, and Ireland.
+1831      	British naturalist Charles Darwin sails to South America aboard H.M.S. Beagle.
+1831      	Cyrus McCormick invents a mechanical reaper.
+1831      	Explorer James Clark Ross determines the position of the north magnetic pole.
+1831      	Italian revolutionary Giuseppe Mazzini founds the Young Italy movement.
+1831      	Jose Antonio Paez becomes the first president of Venezuela.
+1831      	King Louis Philippe founds the French foreign legion.
+1831      	Leopold I is selected as the first king of Belgium.
+1831      	Michael Faraday demonstrates his theory of electromagnetic induction.
+1831      	Nat Turner leads a black slave revolt in Virginia; he is captured and hanged.
+1831      	Russian poet Aleksandr Pushkin completes his masterpiece Eugene Onegin.
+1831      	The crown colony of British Guiana (Guyana) is formed.
+1831      	William Lloyd Garrison publishes the abolitionist newspaper the Liberator.
+1832      	George Sand (Aurore Dudevant) publishes her first novel Indiana.
+1832      	Japanese artist Hiroshige begins work on Fifty-three Stages of the Tokaido.
+1832      	The Black Hawk War is the last major Indian conflict east of the Mississippi River.
+1832      	The Democratic party is formally established as a national organization.
+1833      	A Bavarian prince becomes King Otto of Greece.
+1833      	Britain occupies the Falkland Islands.
+1833      	Carl von Clausewitz's classic study of warfare On War is published.
+1833      	General Santa Anna becomes president of Mexico.
+1833      	Isabella II succeeds Ferdinand VII, King of Spain; the Carlist Wars begin.
+1833      	President Jackson withdraws federal deposits from the Bank of the United States.
+1833      	The American Anti-Slavery Society is inaugurated in Philadelphia.
+1833      	Victor Hugo's novel The Hunchback of Notre Dame is published in English.
+1834      	A Quadruple Alliance is formed to aid Isabella II of Spain and Maria II of Portugal.
+1834      	American inventor Jacob Perkins patents the first practical ice-making machine.
+1834      	British politician Sir Robert Peel founds the Conservative Party.
+1834      	The Carlist Wars resume in Spain.
+1834      	The Hansom cab is designed; it becomes the standard horse-drawn cab in London.
+1834      	The Whig party is formed to oppose Andrew Jackson and the Democratic party.
+1835      	American settlers begin the Texas Revolution against Mexican rule.
+1835      	Attempts to move the Seminole Indians begins the second Seminole War.
+1835      	Danish writer Hans Christian Andersen publishes Tales Told for Children.
+1835      	French politician Alexis de Tocqueville publishes Democracy in America.
+1835      	James Gordon Bennett founds the New York Herald newspaper.
+1836      	American educator William Holmes McGuffey begins editing his Readers.
+1836      	American inventor Samuel Colt begins manufacturing the first revolver.
+1836      	American literary figure Ralph Waldo Emerson founds the Transcendental Club.
+1836      	Arkansas is inaugurated as the 25th state of the Union.
+1836      	Boer (Afrikaner) settlers begin the Great Trek into the South African interior.
+1836      	Bolivian president Santa Cruz invades Peru and forms the Peru-Bolivian Confederation.
+1836      	Charles Barry designs Westminster Palace in the Gothic Revival style.
+1836      	Charles Dickens publishes his first popular work The Pickwick Papers.
+1836      	John C. Calhoun supports the gag rules to prevent Congress debating slavery.
+1836      	Russian author Nikolai Gogol writes his play The Inspector General.
+1836      	Santa Anna's army storms the Alamo in Texas, killing the defenders.
+1836      	Texans under Sam Houston defeat Santa Anna at the San Jacinto River.
+1836      	The Arc de Triomphe, the world's largest triumphal arch, is completed in Paris.
+1837      	Britain's refusal to grant more home rule in Canada leads to the Rebellions of 1837.
+1837      	British scientist Charles Wheatstone designs an electric telegraph system.
+1837      	Louis Daguerre invents the daguerreotype method for taking permanent photographs.
+1837      	Michigan is inaugurated as the 26th state of the Union.
+1837      	Mikhail Lermontov writes the Death of a Poet, inspired by the death of Pushkin.
+1837      	Russian poet Aleksandr Pushkin is killed in a duel.
+1837      	Scottish historian Thomas Carlyle publishes The French Revolution.
+1837      	Seminole Indian leader Osceola is captured.
+1837      	Van Buren is inaugurated as the 8th U.S. president; Johnson becomes vice-president.
+1837      	William IV dies; Victoria succeeds him as Queen of England, Scotland, and Ireland.
+1838      	Boer (Afrikaner) leader Andries Pretorius defeats the Zulus at the Battle of Blood River.
+1838      	British artist Joseph Mallord William Turner paints the Fighting Temeraire.
+1838      	Charles Wilkes heads a U.S. Navy expedition to Antarctica.
+1838      	French philosopher Auguste Comte inaugurates the science of sociology.
+1838      	John Deere develops a steel-tipped plow capable of turning heavy prairie soil.
+1838      	Samuel F.B. Morse develops the Morse code for electric telegraph systems.
+1838      	Scottish blacksmith Kirkpatrick Macmillan makes the first pedal-driven bicycle.
+1839      	American inventor Charles Goodyear develops the vulcanization of rubber.
+1839      	Chile defeats Santa Cruz's Peru-Bolivian Confederation at the Battle of Yungay.
+1839      	French novelist Stendhal writes The Charterhouse of Parma.
+1839      	Hungarian composer and pianist Franz Liszt embarks on a concert tour of Europe.
+1839      	Jose Rafael Carrera captures Guatemala; the Central American Federation is dissolved.
+1839      	Stephens and Catherwood explore Maya ruins in the Yucatan.
+1839      	The Anglo-Afghan Wars begin in Afghanistan.
+1839      	The Opium Wars begin between Britain and China.
+1839      	Theodor Schwann and Matthias Jakob Schleiden formulate the cell theory.
+1840      	Civil War breaks out in Uruguay between the Colorados (reds) and Blancos (whites).
+1840      	French philosopher and anarchist Pierre Joseph Proudhon writes What is Property.
+1840      	Horatio Greenough's classical statue of George Washington is strongly criticized.
+1840      	Maori chiefs sign over their tribal lands to Queen Victoria in the Treaty of Waitangi.
+1840      	Queen Victoria marries Prince Albert of Saxe-Coburg.
+1840      	Swiss-American naturalist Louis Agassiz postulates his theory of ice ages.
+1840      	The Liberty party is founded in Albany, N.Y. based exclusively on an antislavery platform.
+1840      	The Underground Railroad is active in helping escaping slaves in the U.S.
+1840      	The first adhesive postage stamp, the Penny Black, is issued in London.
+1840      	The metric system of measurement is reinstated in France.
+1840      	Upper and Lower Canada are united in the single Province of Canada.
+1841      	Edgar Allan Poe writes an early detective story The Murders in the Rue Morgue.
+1841      	George Grey is appointed governor of South Australia to help save the colony.
+1841      	Harrison is inaugurated as the 9th U.S. president; Tyler becomes vice-president.
+1841      	Horace Greeley founds the New York Tribune newspaper.
+1841      	Italian ballerina Carlotta Grisi creates the role of Giselle.
+1841      	Muhammad Ali defeats the Ottomans and becomes the hereditary ruler of Egypt.
+1841      	New Zealand is established as a separate British colony.
+1841      	President Harrison dies; John Tyler is inaugurated as the 10th U.S. president
+1841      	Whig prime minister Lord Melbourne resigns; he is succeeded by Sir Robert Peel.
+1841      	William Henry Talbot patents the calotype photographic process.
+1842      	American explorer John C. Fremont begins surveying the Oregon Trail.
+1842      	American showman P.T. Barnum discovers the 40-inch midget Tom Thumb.
+1842      	Austrian physicist Christian Johann Doppler predicts the Doppler effect.
+1842      	China cedes Hong Kong to Britain.
+1842      	China is defeated in the first Opium War; Chinese ports are opened to British trade.
+1842      	Italian composer Gaetano Donizetti writes his opera Don Pasquale.
+1843      	A coup in Greece forces King Otto to accept a constitutional monarchy.
+1843      	Black American Sojourner Truth begins her reform mission.
+1843      	Danish philosopher Soren Kierkegaard publishes Either/Or.
+1843      	English art critic John Ruskin begins publishing Modern Painters.
+1843      	German astronomer Samuel Schwabe discovers the sunspot cycle.
+1844      	Eastern Hispaniola declares independence from Haiti as the Dominican Republic.
+1844      	French author Alexandre Dumas (Dumas pere) publishes The Three Musketeers.
+1844      	Joseph Smith, founder of the Mormons, is killed by a lynch mob.
+1844      	Samuel F.B. Morse establishes the first U.S. telegraph link.
+1844      	Settlers in New South Wales force Britain to stop sending convicts to the colony.
+1844      	The Young Men's Christian Association (YMCA) is founded in England.
+1844      	William Henry Talbot begins his Pencil of Nature, the first book of photographs.
+1845      	American author Margaret Fuller publishes Women in the Nineteenth Century.
+1845      	British archaeologist Austen Layard excavates the sites of Nimrud and Nineveh.
+1845      	Civil War ends in Peru; Castilla Ramon is elected as president.
+1845      	Failure of the potato crop leads to a famine in Ireland.
+1845      	Florida is inaugurated as the 27th state of the Union.
+1845      	French artists Gavarni and Grandville begin designing the first elaborate posters.
+1845      	German composer Robert Schumann writes his Piano Concerto in A minor.
+1845      	German scientist Alexander von Humboldt publishes the first volume of his Kosmos.
+1845      	Polk is inaugurated as the 11th U.S. president; Dallas becomes vice-president
+1845      	Sir John Franklin leads an ill-fated expedition in search of the Northwest Passage.
+1845      	The Republic of Texas is annexed by the U.S.; it becomes the 28th state of the Union.
+1845      	The Sikh Wars begin in British India.
+1845      	The first clipper ship the Rainbow is built in New York.
+1845      	The term Manifest Destiny is first used in defense of U.S. territorial ambitions.
+1846      	Adolphe Sax patents the saxophone in Paris.
+1846      	American dentist William Morton extracts a tooth using ether as an anesthetic.
+1846      	German astronomer Johann Galle makes the first observation of the planet Neptune.
+1846      	German philosopher Ludwig Feuerbach publishes The Essence of Religion.
+1846      	Henry Creswicke Rawlinson deciphers the Mesopotamian cuneiform script.
+1846      	The Christy Minstrels begin performing in New York.
+1846      	The Mexican War begins over the U.S. annexation of Texas.
+1846      	The Mexican government collapses; Santa Anna is reelected as president.
+1846      	The Smithsonian Institution is created by Congress.
+1846      	The border between the U.S. and Canada is established, settling the Oregon Question.
+1846      	U.S. forces under Stephen Watts Kearny occupy New Mexico.
+1846      	U.S. forces under Zachary Taylor defeat the Mexicans at Palo Alto and Monterrey.
+1846      	Writer and artist Edward Lear publishes A Book of Nonsense.
+1847      	American missionary Marcus Whitman is killed by Cayuse Indians in Oregon.
+1847      	American oceanographer Matthew Maury publishes his first Wind and Current Charts.
+1847      	Charlotte Bronte publishes Jane Eyre; Emily Bronte publishes Wuthering Heights.
+1847      	English novelist William Makepeace Thackeray begins Vanity Fair.
+1847      	Honore de Balzac completes La Comedie humaine, a collection of over 100 novels.
+1847      	Italian statesman Cavour founds the liberal newspaper Il Risorgimento (resurgence).
+1847      	Maria Mitchell, the first woman astronomer in America, discovers a new comet.
+1847      	Scott enters Mexico City after a series of battles; Mexico sues for peace.
+1847      	Taylor defeats Santa Anna's Mexican army at the Battle of Buena Vista.
+1847      	The African slave colony of Liberia is declared independent.
+1847      	The American Medical Association is founded.
+1847      	The Mormons under Brigham Young found Salt Lake City.
+1847      	The U.S. post office begins using adhesive postage stamps.
+1847      	U.S. forces under Stockton, Fremont and Kearny occupy California.
+1847      	U.S. forces under Winfield Scott land at Veracruz and advance on Mexico City.
+1848      	A Czech uprising under Frantisek Palacky is suppressed by Austria.
+1848      	American engineer James Bogardus begins using cast-iron for building construction.
+1848      	Ferdinand I abdicates; Francis Joseph becomes Emperor of Austria.
+1848      	French Barbizon artist Theodore Rousseau paints the Forest at Fontainebleau.
+1848      	French author Alexandre Dumas (Dumas fils) publishes his novel Camille.
+1848      	Holman Hunt, Millais and Rossetti form the Pre-Raphaelite Brotherhood in Britain.
+1848      	Karl Marx and Friedrich Engels publish the Communist Manifesto.
+1848      	Louis Philippe abdicates; a Second Republic is declared in France.
+1848      	Risorgimento leader Garibaldi returns to Italy to fight in the war of independence.
+1848      	Scottish physicist William Thomson Kelvin proposes an absolute temperature scale.
+1848      	The Austrian revolution begins in Vienna; chancellor Metternich resigns.
+1848      	The Revolutions of 1848 break out in Europe.
+1848      	The Treaty of Guadalupe Hidalgo ratifies the cession of California and New Mexico.
+1848      	The discovery of gold at Sutter's Mill begins the California gold rush.
+1848      	The first U.S. women's rights assembly meets at the Seneca Falls Convention.
+1848      	Uprisings in Berlin force Frederick William IV to summon a constitutional assembly.
+1848      	Wisconsin is inaugurated as the 30th state of the Union.
+1849      	Amelia Bloomer publicizes bloomers (baggy trousers for women) in the Lily magazine.
+1849      	Austrian forces crush the Italian revolution; Mazzini and Garibaldi flee from Italy.
+1849      	Austrian premier Felix Schwarzenberg uses the Russian army to defeat the Hungarians.
+1849      	Black slave Harriet Tubman escapes and begins her Underground Railway work.
+1849      	Elizabeth Blackwell becomes the first woman to obtain a medical degree.
+1849      	Francois Rene de Chateaubriand publishes Memoirs From Beyond the Tomb.
+1849      	French physicist Armand Fizeau measures the velocity of light.
+1849      	Lajos Kossuth declares Hungarian independence from Austria.
+1849      	Russian anarchist Mikhail Bakunin is deported to Siberia.
+1849      	Taylor is inaugurated as the 12th U.S. president; Fillmore becomes vice-president
+1850      	Allan Pinkerton founds the Pinkerton National Detective Agency.
+1850      	American author Nathaniel Hawthorne writes The Scarlet Letter.
+1850      	American popular songwriter Stephen Foster publishes Camptown Races.
+1850      	California is inaugurated as the 31st state of the Union.
+1850      	Congress reinforces the Fugitive Slave Law for the return of escaped slaves.
+1850      	Elizabeth Barrett Browning publishes her Sonnets From the Portuguese.
+1850      	English author Charles Dickens writes David Copperfield.
+1850      	French realist artist Gustave Courbet paints The Stone Breakers.
+1850      	Jenny Lind the Swedish nightingale begins her U.S. tour.
+1850      	Photographer Mathew Brady publishes The Gallery of Illustrious Americans.
+1850      	President Taylor dies; Millard Fillmore is inaugurated as the 13th U.S. president.
+1850      	The Compromise of 1850 establishes California as a non-slavery state.
+1850      	The Taiping Rebellion breaks out in China against the Ch'ing dynasty.
+1850      	The first issue of Harper's magazine is published.
+1851      	A gold rush begins in Victoria, Australia; Victoria becomes a separate colony.
+1851      	American author Herman Melville publishes Moby-Dick.
+1851      	Giuseppe Verdi's opera Rigoletto is produced in Venice.
+1851      	Harriet Beecher Stowe begins publishing Uncle Tom's Cabin.
+1851      	Henry Jarvis Raymond and George Jones found the New York Times.
+1851      	Isaac Merrit Singer invents the first practical sewing machine.
+1851      	Jacob Fussell begins making ice cream in commercial quantities in Baltimore.
+1851      	Mongkut (Rama IV) becomes king of Siam (Thailand).
+1851      	The Crystal Palace is built in London to house the Great Exhibition.
+1851      	The U.S. yacht America defeats 17 British yachts in the first America's Cup contest.
+1851      	The first college sorority is established at Wesleyan College, Georgia.
+1852      	Argentinean dictator Rosas is defeated by forces under Urquiza at Monte Caseros.
+1852      	Britain gains control of the Irrawaddy delta after the second Anglo-Burma War.
+1852      	The Grimms begin publication of their Deutsches Worterbuch (German Dictionary).
+1852      	The Second Empire begins in France under Napoleon III.
+1853      	A U.S. naval squadron under Matthew Perry enters Tokyo Bay to negotiate a treaty.
+1853      	Chinese rebels capture Nanking and make it the capital of the Taiping kingdom.
+1853      	Franklin Pierce is inaugurated as the 14th U.S. president; King becomes vice-president.
+1853      	General Santa Anna becomes dictator of Mexico for the last time.
+1853      	Georges Haussmann begins the reconstruction of Paris.
+1853      	Napoleon III marries the Empress Eugenie.
+1853      	Richard Wagner begins his cycle of four operas The Ring of The Nibelung.
+1853      	Russia occupies the Turkish principalities of Moldavia and Walachia.
+1853      	The U.S. adds land to New Mexico and Arizona with the Gadsden Purchase.
+1853      	Turkey issues an ultimatum to Russia; the Russians destroy the Turkish fleet at Sinope.
+1854      	A commercial treaty is signed between the U.S. and Japan, ending Japanese isolation.
+1854      	American writer and naturalist Henry David Thoreau publishes Walden.
+1854      	An Anglo-French-Turkish expeditionary force lands at Sevastopol in the Crimea.
+1854      	Britain and France declare war on Russia, beginning the Crimean War.
+1854      	Pope Pius IX proclaims the dogma of the Immaculate Conception of the Virgin Mary.
+1854      	Pre-Raphaelite artist Holman Hunt paints The Scapegoat.
+1854      	The Allied armies defeat the Russians at the Battle of Inkerman.
+1854      	The British grant independence to the Orange Free State in South Africa.
+1854      	The Charge of the Light Brigade is made by the British during the Battle of Balaklava.
+1854      	The Kansas-Nebraska Act reopens the controversy over the spread of slavery.
+1854      	The Republican party is formed after the passage of the Kansas-Nebraska Act.
+1855      	British photographer Roger Fenton documents the Crimean War.
+1855      	Florence Nightingale reforms hygienic standards in Crimean hospitals.
+1855      	Henry Wadsworth Longfellow publishes The Songs of Hiawatha.
+1855      	Lord Palmerston becomes prime minister of Great Britain for the first time.
+1855      	Matthew Fontaine Maury publishes The Physical Geography of the Sea.
+1855      	Mexican dictator Santa Anna is overthrown.
+1855      	Nicholas I, Emperor of Russia dies; he is succeeded by his son Alexander II.
+1855      	Robert Browning publishes his poetry collection Men and Women.
+1855      	Scottish explorer David Livingstone discovers the Victoria Falls in Africa.
+1855      	The Allies occupy the Russian fortress at Sevastapol in the Crimea.
+1855      	The first formal ice hockey game is played in Kingston, Ontario.
+1855      	Walt Whitman publishes his first book of poetry, the Leaves of Grass.
+1856      	A new Opium War begins between China, Britain and France.
+1856      	English chemist William Perkin discovers synthetic dyes.
+1856      	The Treaty of Paris ends the Crimean War.
+1856      	The first Neanderthaler (prehistoric human) skeleton is discovered in Germany.
+1856      	Victor Hugo writes Les Miserables during his exile from France.
+1857      	Buchanan is inaugurated as the 15th U.S. president; Breckinridge becomes vice-president.
+1857      	Disputes between Mormons and non-Mormon settlers leads to the Utah War.
+1857      	Elisha Graves Otis installs the first passenger elevator in a New York City store.
+1857      	English author Thomas Hughes publishes Tom Brown's Schooldays.
+1857      	French novelist Gustave Flaubert publishes Madame Bovary.
+1857      	French poet Baudelaire publishes Flowers of Evil and is arrested for immorality.
+1857      	Mormons and Paiute Indians kill 120 settlers in the Mountain Meadows Massacre.
+1857      	The Indian Mutiny begins when Indian troops rebel against the British in Meerut.
+1857      	The Oxford English Dictionary is begun in England.
+1858      	Benito Juarez becomes the first Mexican president of Indian descent.
+1858      	Britain and France impose the Tientsin Treaty on China.
+1858      	British explorer John Hanning Speke discovers Lake Victoria in Africa.
+1858      	British naturalist Alfred Russel Wallace outlines his theories of evolution.
+1858      	Charles Frederick Worth establishes his Paris fashion house.
+1858      	Cyrus W. Field lays the first transatlantic telegraph cable.
+1858      	Federal forces end the Utah War; Brigham Young is replaced as governor of Utah Territory.
+1858      	French photographer Nadar takes the first aerial photograph from a balloon.
+1858      	German-American artist Albert Bierstadt begins his landscapes of the American west.
+1858      	Jacques Offenbach's operetta Orpheus in the Underworld premiers in Paris.
+1858      	James Renwick begins the design of Saint Patrick's Cathedral in New York City.
+1858      	Minnesota is inaugurated as the 32nd state of the Union.
+1858      	The Fenians (Irish Republican Brotherhood) are founded to overthrow British rule.
+1858      	The Indian Mutiny is suppressed by the British Army and loyal Indian troops.
+1858      	The government of India is transferred from the East India Company to the British crown.
+1859      	Abolitionist John Brown leads an attack on Harpers Ferry; he is captured and executed.
+1859      	Charles Darwin publishes On the Origin of Species by Means of Natural Selection.
+1859      	Ferdinand de Lesseps begins building the Suez Canal in Egypt.
+1859      	French inventor Ferdinand Carre develops a refrigeration system.
+1859      	Napoleon III assists the Italian statesman Cavour in a war against Austria.
+1859      	Oregon is inaugurated as the 33rd state of the Union.
+1859      	Queensland becomes a separate colony of Australia.
+1860      	Abraham Lincoln is elected as the first Republican president of the United States.
+1860      	China resists the Tientsin Treaty; Anglo-French forces occupy Peking.
+1860      	English novelist Wilkie Collins writes The Woman in White.
+1860      	Florence Nightingale establishes a school for training nurses.
+1860      	George Eliot (Mary Anne Evans) publishes The Mill on the Floss.
+1860      	Italian patriot Garibaldi invades Sicily and Naples with his 1,000 Redshirts.
+1860      	Jean Joseph Etienne Lenoir patents the first internal-combustion engine.
+1860      	Sardinia-Piedmont seizes the Papal States in Italy.
+1860      	South Carolina becomes the first Southern state to secede from the Union.
+1860      	The Crittenden Compromise tries to prevent a split between slave and free states.
+1860      	The Maori Wars begin against the British in New Zealand.
+1860      	The pony express is inaugurated to deliver mail from Missouri to California.
+1861      	American locksmith Linus Yale Jr. patents the cylinder lock.
+1861      	English designer William Morris starts the Arts and Crafts Movement.
+1861      	Explorers Burke and Wills die during their north-south crossing of Australia.
+1861      	French artist Eugene Delacroix paints the Lion Hunt.
+1861      	General George B. McClellan is made commander of the Union forces.
+1861      	Italy is unified under Victor Emmanuel II.
+1861      	John Ericsson designs the Monitor, the first ship with a revolving gun-turret.
+1861      	Kansas is inaugurated as the 34th state of the Union.
+1861      	Lincoln is inaugurated as the 16th U.S. president; Hamlin becomes vice-president.
+1861      	Nicholas II abolishes serfdom in Russia.
+1861      	The Confederate States of America declare their independence from the U.S.
+1861      	The Confederates defeat the Union army in the First Battle of Bull Run.
+1861      	The Southern states meet to draft a constitution; Davis is selected as president.
+1861      	The Trent Affair begins when a Union ship intercepts a British steamer.
+1861      	The United States introduce the first national income tax.
+1861      	The bombardment of Fort Sumter in Charleston Harbor begins the U.S. Civil War.
+1862      	A Union fleet under David G. Farragut captures New Orleans.
+1862      	Bartolome Mitre unites Argentina and is elected president.
+1862      	Brady, O'Sullivan and Gardner document the Civil War in photographs.
+1862      	Explorer John McDouall Stuart makes the first south to north crossing of Australia.
+1862      	French actress Sarah Bernhardt makes her debut at the Comedie Francaise.
+1862      	French impressionist artist Edouard Manet paints Le Dejeuner sur l'Herbe.
+1862      	French physicist Jean Foucault successfully measures the speed of light.
+1862      	French writer Victor Hugo completes his social novel Les Miserables.
+1862      	Lee defeats the Union army in the Second Battle of Bull Run.
+1862      	Lee's Confederate invasion of Maryland is halted at the Battle of Antietam.
+1862      	McClellan is defeated in the Seven Days Battle and retreats from the peninsular.
+1862      	Napoleon III imposes the Austrian prince Maximilian as emperor of Mexico.
+1862      	Richard J. Gatling invents the first practical machine gun.
+1862      	Russian novelist Ivan Turgenev publishes Fathers and Sons.
+1862      	The first recorded ski competition is held near Oslo in Norway.
+1862      	The ironclad warships Monitor and Merrimack clash at Hampton Roads, Va.
+1862      	Union forces under Burnside are defeated at the Battle of Fredricksburg.
+1862      	Union forces under Grant defeat the Confederates at the Battle of Shiloh.
+1862      	Union forces under McClellan begin the Peninsular Campaign to capture Richmond.
+1862      	William I appoints Otto von Bismarck as minister president of Prussia.
+1863      	Cambodia (Kampuchea) becomes a French protectorate.
+1863      	English philosopher John Stuart Mill publishes Utilitarianism.
+1863      	French impressionist artist Camille Pissarro exhibits at the Salon des Refuses.
+1863      	George I succeeds Otto as king of Greece.
+1863      	Grant defeats the Confederates in the Vicksburg Campaign.
+1863      	Ismail Pasha rules Egypt under the suzerainty of the Ottoman Empire.
+1863      	Lincoln's Emancipation Proclamation abolishes slavery in the Confederate states.
+1863      	London's Metropolitan Railway becomes the first underground subway.
+1863      	The Confederate guerrilla band Quantrill's Raiders pillage Lawrence, Kansas.
+1863      	The Confederates defeat the Union army at Chancellorsville; Jackson is killed.
+1863      	The Confederates under Lee are defeated at the Battle of Gettysburg.
+1863      	The French occupy Mexico City in support of Maximilian, Emperor of Mexico.
+1863      	The London Football Association issues the first soccer rules.
+1863      	West Virginia is inaugurated as the 35th state of the Union.
+1864      	A Chinese army under Gordon recaptures Nanking and ends the Taiping Rebellion.
+1864      	A Union army under Sherman invades Georgia, begining the Atlanta campaign.
+1864      	Denmark is defeated by Prussia; Schleswig-Holstein is ceded to Germany.
+1864      	Nevada is inaugurated as the 36th state of the Union.
+1864      	Paraguayan dictator Francisco Solano Lopez begins the War of the Triple Alliance.
+1864      	Sherman defeats the Confederates at Atlanta and begins his march to the sea.
+1864      	The Colorado militia massacre Cheyenne Indians at Sand Creek.
+1864      	The Confederate submarine Hunley sinks a Federal ship but is sunk in the process.
+1864      	The Geneva Convention sets standards of humane treatment in time of war.
+1864      	The Ionian Islands are ceded to Greece by Britain.
+1864      	The Union launches a drive on Richmond but falters in the Wilderness Campaign.
+1864      	Ulysses S. Grant is made general in chief of all the Union armies.
+1865      	Andrew Johnson becomes the 17th President of the U.S.
+1865      	Confederate forces under Lee surrender to Grant at Appomattox Court House.
+1865      	Count Leo Tolstoi begins his monumental Russian novel War and Peace.
+1865      	English author Lewis Carroll writes Alice's Adventures in Wonderland.
+1865      	Johnston surrenders the last Confederate army to Sherman, ending the U.S. Civil War.
+1865      	Lincoln is assassinated by John Wilkes Booth at Ford's Theatre in Washington D.C.
+1865      	Russian author Fyodor Dostoevsky publishes Crime and Punishment.
+1865      	The 13th Amendment to the U.S. Constitution abolishes slavery.
+1865      	The Petersburg Campaign is won by Union forces; Lee evacuates Richmond.
+1866      	British engineer Robert Whitehead invents the first self-propelled torpedo.
+1866      	Congress authorize (but do not mandate) the use of the metric system in the U.S.
+1866      	Mendel publishes his genetic research in Experiments With Plant Hybrids.
+1866      	Prussia and Italy defeat Austria in the Seven Weeks' War.
+1866      	The Ku Klux Klan is founded in the southern United States.
+1867      	Bismark forms the North German Confederation under Prussian leadership.
+1867      	Diamond fields are discovered in South Africa.
+1867      	English photographer Julia Margaret Cameron takes Sir John Herschel's portrait.
+1867      	French troops withdraw from Mexico; Emperor Maximilian is executed by Juarez.
+1867      	Karl Marx publishes the first volume of Das Kapital.
+1867      	Nebraska is inaugurated as the 37th state of the Union.
+1867      	Sir John A. Macdonald becomes Canada's first prime minister.
+1867      	The Compromise (Ausgleich) of 1867 creates the Dual Monarchy of Austria-Hungary.
+1867      	The Dominion of Canada is established by the British North America Act.
+1868      	A military coup led by General Juan Prim deposes Queen Isabella II of Spain.
+1868      	A skeleton of Cro-Magnon man is discovered in southern France.
+1868      	British labor unions form the Trades Union Congress.
+1868      	Christopher Sholes patents the first practical typewriter.
+1868      	Chulalongkorn succeeds his father Mongkut as the king of Siam (Thailand).
+1868      	Feminists Susan B. Anthony and Elizabeth Cady Stanton publish Revolution.
+1868      	Johannes Brahms' A German Requiem is performed for the first time.
+1868      	Ndebele king Mzilikazi dies in Africa; he is succeeded (1870) by his son Lobengula.
+1868      	The Meiji dynasty is restored in Japan; the Tokugawa shogunate is abolished.
+1868      	The Ten Years' War begins in Cuba against Spanish rule.
+1868      	U.S. President Andrew Johnson is impeached by Congress but acquitted by the Senate.
+1868      	William Gladstone becomes Liberal prime minister of Britain for the first time.
+1869      	English author Matthew Arnold publishes Culture and Anarchy.
+1869      	French artist Eugene Louis Boudin paints On the Beach at Deauville.
+1869      	Grant is inaugurated as the 18th U.S. president; Colfax becomes vice-president.
+1869      	James Gordon Bennett Jr. commissions Stanley to search for Livingston in Africa.
+1869      	John Roebling designs the Brooklyn Bridge but dies after a construction accident.
+1869      	Louis Riel leads the Red River Rebellion in Canada.
+1869      	Ludwig II (Mad Ludwig) begins building his fantasy castles in Bavaria.
+1869      	Philadelphia garment workers organize the Knights of Labor, an early labor union.
+1869      	Pope Pius IX calls the First Vatican Council to discuss the dogma of papal infallibility.
+1869      	Russian composer Modest Mussorgsky begins work on his opera Boris Gudunov.
+1869      	The Cincinnati Red Stockings become the first professional baseball team.
+1869      	The Suez Canal is opened in Egypt.
+1869      	The first manufacturing patent is issued for chewing gum.
+1869      	The transcontinental railroad is completed at Promontory Point, Utah.
+1870      	American industrialist John D. Rockefeller founds the Standard Oil Company.
+1870      	French war minister Leon Gambetta escapes from besieged Paris in a balloon.
+1870      	German archaeologist Heinrich Schliemann excavates the ancient city of Troy.
+1870      	Paraguayan dictator Solano Lopez dies, ending the War of the Triple Alliance.
+1870      	Rome becomes the capital of the Kingdom of Italy.
+1870      	The Franco-Prussian War begins over a diplomatic incident engineered by Bismark.
+1870      	The Prussians defeat the French at Sedan; Napoleon III is taken prisoner.
+1870      	The Third Republic is formed in France; a Government of National Defense is established.
+1870      	The city of Miami is founded in Florida.
+1871      	American explorer Henry Morton Stanley finds Dr. Livingston in central Africa.
+1871      	Charles Taze Russell founds the Jehovah's Witnesses about this time.
+1871      	Fire destroys one-third of the city of Chicago.
+1871      	P.T Barnum launches a traveling circus, museum and menagerie.
+1871      	The Franco-Prussian War ends; Alsace and Lorraine are ceded to Germany.
+1871      	The French surrender to Prussia incites the Commune of Paris uprising.
+1871      	The German Empire is formally proclaimed at the Palace of Versailles.
+1871      	The Paris Commune is suppressed by government troops after a 2-month siege.
+1872      	American artist James McNeill Whistler paints the Portrait of the Artist's Mother.
+1872      	English author George Eliot (Mary Anne Evans) publishes Middlemarch.
+1872      	Indian leader Kintpuash leaves the Modoc reservation; the Modoc Wars begin.
+1872      	Monet paints Impression: Sunrise; the term impressionism is derived from the title.
+1872      	Photographer Eadweard Muybridge begins his series of motion studies.
+1872      	The Challenger Expedition begins the first systematic oceanographic survey.
+1872      	The cities of Buda and Pest unite to form Budapest (the capital of Hungary from 1918).
+1872      	The death of Kamehameha V ends the Kamehameha dynasty of Hawaiian kings.
+1872      	The first woman impressionist artist Berthe Morisot paints The Cradle.
+1873      	Englishman Maj. Walter Clopton Wingfield invents lawn tennis.
+1873      	French novelist Jules Verne publishes Around the World in Eighty Days.
+1873      	The Pacific Scandal in Canada causes the collapse of the Conservative government.
+1873      	The Panic of 1873 leads to 5 years of economic depression in the U.S.
+1874      	Benjamin Disraeli becomes the Conservative prime minister of Britain.
+1874      	English author Thomas Hardy publishes Far from the Madding Crowd.
+1874      	French impressionist artist Pierre Auguste Renoir paints La Loge (The Box).
+1874      	The Comanche, Kiowa and other Indian tribes attack Adobe Walls in Texas.
+1874      	The Greenback party advocates currency reform in the U.S.
+1874      	The first exhibition of impressionist paintings is held in Paris.
+1875      	American author Mark Twain publishes Tom Sawyer.
+1875      	Britain buys Suez Canal shares from the bankrupt Egyptian leader Ismail Pasha.
+1875      	Georges Bizet's opera Carmen is performed in Paris.
+1875      	Mary Baker Eddy, founder of Christian Science, publishes Science and Health.
+1875      	The Bourbon monarchy is restored in Spain under Alfonso XII.
+1876      	Abd al-Hamid II assumes his rule as the last Ottoman sultan.
+1876      	Alexander Graham Bell patents his invention of the telephone.
+1876      	British philosopher Herbert Spencer begins publishing the Principles of Sociology.
+1876      	Colorado is inaugurated as the 38th state of the Union.
+1876      	General Porfirio Diaz seizes power as the dictator of Mexico.
+1876      	German archaeologist Heinrich Schliemann excavates the ancient city of Mycenae.
+1876      	Impressionist artist Alfred Sisley paints Flood at the Port of Marly.
+1876      	Japan forces Korea to open up to foreign trade, countering the influence of China.
+1876      	Johann Strauss Jr. composes his waltz The Beautiful Blue Danube.
+1876      	Queen Victoria assumes the title of Empress of India.
+1876      	Sioux Indians defeat General Custer at the Battle of Little Bighorn.
+1876      	The Bayreuth musical festival opens with a performance of Wagner's Ring cycle.
+1876      	The U.S. Centennial Exposition of 1876 is held in Fairmount Park, Philadelphia.
+1877      	Britain annexes Transvaal in South Africa.
+1877      	Chief Joseph leads the Nez Perce tribe against the U.S. Army.
+1877      	Hayes is inaugurated as the 19th U.S. president; Wheeler becomes vice-president
+1877      	Italian astronomer Giovanni Schiaparelli observes canali (channels) on Mars.
+1877      	Tchaikovsky's Swan Lake is performed by the Bolshoi Ballet in Moscow.
+1877      	The All-England lawn tennis championship is played at Wimbledon for the first time.
+1877      	The Japanese army suppresses a samurai revolt led by Saigo Takamori.
+1877      	Thomas Edison invents the phonograph.
+1877      	Turkish suppression of Balkan nationalists leads to a new Russo-Turkish War.
+1878      	Ismail Pasha presents Cleopatra's Needles to Britain (1878) and the U.S. (1880).
+1878      	Serbia, Montenegro and Romania are granted independence from Turkey.
+1878      	The Congress of Berlin reverses Russian gains from the San Stefano Treaty.
+1878      	The D'Oyly Carte Opera Company performs Gilbert and Sullivan's H.M.S. Pinafore.
+1878      	The Russo-Turkish War ends; The Treaty of San Stefano is imposed on Turkey.
+1878      	The second Anglo-Afghan War begins.
+1878      	Turkey's provinces of Bosnia and Hercegovina are placed under Austrian administration.
+1879      	Belgian king Leopold II sponsors Henry Morton Stanley's expedition to the Congo.
+1879      	Cetewayo's Zulus defeat the British at Isandhlwana, but are beaten at Ulundi.
+1879      	Charles Stewart Parnell leads the Home Rule for Ireland party.
+1879      	General Roca defeats the Patagonian Indians, opening the Pampas for settlement.
+1879      	Impressionist artist Edgar Degas paints Ballerina Posing for a Photograph.
+1879      	Norwegian playwright Henrik Ibsen writes A Doll's House.
+1879      	Tawfiq Pasha succeeds his father Ismail Pasha as khedive (viceroy) of Egypt.
+1879      	Territorial disputes lead to the War of the Pacific between Chile and Peru.
+1879      	Thomas Edison develops the first workable incandescent lamp (light bulb).
+1880      	American impressionist artist Mary Cassatt exhibits A Woman in Black at the Opera.
+1880      	Australian bushranger Ned Kelly is hanged for murder.
+1880      	Boer (Afrikaner) uprisings begin against the British in Transvaal, South Africa.
+1880      	France annexes the Pacific island of Tahiti.
+1880      	French novelist Emile Zola writes Nana, a portrait of a prostitute.
+1880      	German composer Jacques Offenbach writes the opera Tales of Hoffmann.
+1880      	Gladstone succeeds Disraeli as British prime minister.
+1880      	Russian composer Peter Ilich Tchaikovsky writes the 1812 Overture.
+1881      	Alexander II is assassinated by narodniki revolutionaries in Russia.
+1881      	Chester A. Arthur is inaugurated as the 21st U.S. president.
+1881      	Ferdinand de Lesseps begins an abortive attempt to build the Panama Canal.
+1881      	Garfield is inaugurated as the 20th U.S. president; Arthur becomes vice-president.
+1881      	Japanese statesman Itagaki Taisuke founds the Jiyuto (Liberal party).
+1881      	Lillie Langtry, mistress of the Prince of Wales, makes her acting debut.
+1881      	President Garfield is assassinated by Charles J. Guiteau.
+1881      	The Sudanese under Mahdi Muhammad Ahmad overthrow Egyptian rule.
+1881      	The first U.S. tennis championship is held in Newport, R.I.
+1882      	A Triple Alliance is established between Austria, Italy and Germany.
+1882      	Edison's New York plant begins supplying 59 customers with electricity.
+1882      	Impressionist artist Edouard Manet completes the Bar at the Folies-Bergere.
+1882      	Japanese statesman Okuma Shigenobu founds the Kaishinto, or Progressive, party.
+1882      	The British take control of Egypt, suppressing uprisings against Tawfiq Pasha.
+1882      	The U.S. begins to restrict immigration with the Chinese Exclusion Acts.
+1883      	Buffalo Bill Cody organizes his Wild West show.
+1883      	Cyrus H. K. Curtis publishes the Lady's Home Journal magazine.
+1883      	German philosopher Frederich Wilhelm Nietzsche begins Thus Spake Zarathustra.
+1883      	Paul Kruger becomes president of the Boer republic of the Transvaal in South Africa.
+1883      	Russian scientist Tsiolkovsky proves that a rocket could work in the vacuum of space.
+1883      	The Brooklyn Bridge is completed in New York.
+1883      	The Fabian Society is founded in London to spread socialist ideas.
+1883      	The Island volcano of Krakatoa explodes in Indonesia, causing 36,000 deaths.
+1883      	The first skyscraper (10 stories) is built in Chicago by William LeBaron Jenney.
+1884      	American author Mark Twain publishes the Adventures of Huckleberry Finn.
+1884      	Belva Lockwood becomes the first woman nominated as a U.S. presidential candidate.
+1884      	German East Africa is formed from Rwanda, Mozambique,Tanzania and Burundi.
+1884      	Germany occupies South West Africa (Namibia).
+1884      	Lewis E. Waterman invents the first fountain pen with an ink reservoir.
+1885      	Boston Symphony Orchestra organizes its Promenade Concerts (the Boston Pops).
+1885      	Cleveland is inaugurated as the 22nd U.S. president; Hendricks becomes vice-president.
+1885      	French chemist Louis Pasteur develops a vaccine for rabies.
+1885      	General Gordon is killed by Mahdist forces at the siege of Khartoum in Sudan.
+1885      	Gottlieb Daimler develops the first motorcycle.
+1885      	J. K. Stanley introduces his safety cycle, the basic model for the modern bicycle.
+1885      	The Congo Free State (Zaire) becomes the possession of King Leopold II of Belgium.
+1885      	The Indian National Congress movement is founded in Bombay.
+1886      	Apache Indian chief Geronimo surrenders to General Nelson Miles.
+1886      	Britain makes Burma a province of India after winning the Anglo-Burma War.
+1886      	British prime minister Gladstone introduces an unsuccessful Home Rule bill for Ireland.
+1886      	French sculptor Auguste Rodin completes The Kiss.
+1886      	Gold is discovered in Transvaal, South Africa.
+1886      	Jose Balmaceda becomes president of Chile.
+1886      	Samuel Gompers organizes the American Federation of Labor.
+1886      	The Anglo-German Agreement recognizes German control over Tanganyika (Tanzania).
+1886      	The Statue of Liberty is unveiled in New York Harbor.
+1887      	Arthur Conan Doyle publishes the first Sherlock Holmes story.
+1887      	France creates the Union of Indochina (most of modern day Vietnam and Kampuchea).
+1887      	The Michelson-Morley experiment confirms the absence of ether.
+1888      	A patent is issued to American inventor John H. Loud for the first ball-point pen.
+1888      	American inventor George Eastman introduces the Kodak box camera.
+1888      	Britain unites its Caribbean colonies of Trinidad and Tobago.
+1888      	Dutch artist Vincent van Gogh paints Still Life With Sunflowers.
+1888      	Jack the Ripper murders seven women in London.
+1888      	Russian composer Nikolai Rimsky-Korsakov writes Scheherazade.
+1888      	The National Geographic Magazine is published for the first time.
+1888      	William II succeeds Frederick III as emperor of Germany.
+1889      	Benjamin Harrison is inaugurated as the 23rd U.S. president.
+1889      	Crown Prince Rudolf of Austria commits suicide at Mayerling.
+1889      	German revolutionary Rosa Luxemburg is exiled in Switzerland.
+1889      	Gustave Eiffel designs the Eiffel Tower for the Paris Exposition.
+1889      	Japan's first prime minister Ito Hirobumi introduces the Meiji Constitution.
+1889      	Montana is inaugurated as the 41st state; Washington is inaugurated as the 42nd state.
+1889      	North Dakota and South Dakota are inaugurated as the 39th and 40th states.
+1889      	Pedro II emperor of Brazil is overthrown in a coup; Brazil is declared a republic.
+1890      	American naval officer Alfred Mahan publishes The Influence of Sea Power upon History.
+1890      	American psychologist William James publishes The Principles of Psychology.
+1890      	Cecil Rhodes becomes prime minister of the Cape Colony in South Africa.
+1890      	Claude Debussy begins composing Suite Bergamasque, including Clair de lune.
+1890      	Dutch artist Vincent van Gogh commits suicide.
+1890      	German chancellor Otto von Bismarck is dismissed by Emperor William II.
+1890      	Idaho is inaugurated as the 43rd state; Wyoming is inaugurated as the 44th state.
+1890      	Indian poet Rabindranath Tagore publishes Manasi (The Mind's Embodiment).
+1890      	Photographer Jacob Riis documents New York's poor in How the Other Half Lives.
+1890      	Sioux Indians are massacred at the Battle of Wounded Knee.
+1890      	The British South Africa Company occupies Zimbabwe; conflicts begin with the Ndebele.
+1890      	The Forth Railway Bridge is opened, replacing the Brooklyn Bridge as the longest span.
+1890      	Zanzibar becomes a British protectorate.
+1891      	Anglo-Irish author Oscar Wilde publishes his only novel The Picture of Dorian Gray.
+1891      	English novelist Thomas Hardy writes Tess of the D'Urbervilles.
+1891      	Eugene Dubois discovers the first Homo erectus remains on Java in Indonesia.
+1891      	French postimpressionist artist Paul Gauguin travels to Tahiti.
+1891      	James Naismith devises the game of basketball in Springfield, Mass.
+1891      	The American Express Company introduces the first traveler's checks.
+1892      	French artist Henri de Toulouse-Lautrec paints At the Moulin Rouge.
+1892      	Impressionist artist Paul Cezanne completes the Card Players.
+1892      	James J. Corbett wins the heavyweight boxing championship from John L. Sullivan.
+1892      	The San Francisco Examiner begins printing the first newspaper comic strip.
+1892      	Writer and political revolutionary Jose Marti founds the Cuban Revolutionary party.
+1893      	American artist Louis Comfort Tiffany begins producing Art Nouveau glassware.
+1893      	Cleveland is inaugurated as the 24th U.S. president; Hendricks becomes vice-president.
+1893      	France adds Laos to the Union of Indochina.
+1893      	Gladstone's second Irish Home Rule Bill is vetoed by the House of Lords in Britain.
+1893      	Queen Liliuokalani is ousted in Hawaii; Sanford B. Dole, is elected president (1894).
+1893      	The Ivory Coast becomes a French colony.
+1893      	Victor Horta's Tassel House in Brussels initiates the Art Nouveau architectural style.
+1894      	Britain establishes a protectorate over Buganda and conquers the rest of Uganda.
+1894      	Czech decorative artist Alfons Mucha designs a poster of Sarah Bernhardt.
+1894      	English artist Aubrey Beardsley illustrates Oscar Wilde's Salome.
+1894      	English author Rudyard Kipling publishes The Jungle Book.
+1894      	Percival Lowell builds an observatory to study the Martian canals.
+1894      	Rebellion in Korea begins the First Sino-Japanese War.
+1894      	The arrest of army captain Albert Dreyfus creates a political crisis in France.
+1894      	Thousands of Armenians are massacred in Turkey.
+1895      	Anglo-Irish playwright Oscar Wilde writes The Importance of Being Earnest.
+1895      	Japan defeats China; the Shimonoseki Treaty establishes Korean independence.
+1895      	Louis and Auguste Lumiere show the first motion pictures to a Paris cafe audience.
+1895      	Russian revolutionary Vladimir Ilich Lenin is exiled to Siberia.
+1895      	Sir Henry Irving becomes the first British actor to be knighted.
+1895      	The American Bowling Congress (ABC) is founded.
+1895      	The Cuban War of Independence begins against Spain; Jose Marti is killed in battle.
+1895      	The Jameson Raid on the Boer republic of Transvaal increases anti-British hostility.
+1895      	The first list of best-selling books is published by The Bookman magazine.
+1895      	X rays are discovered by German physicist Wilhelm C. Roentgen.
+1896      	A tsunami (tidal wave) kills 27,000 people in Japan.
+1896      	Italian composer Giacomo Puccini writes the opera La Boheme.
+1896      	John Philip Sousa composes The Stars and Stripes Forever.
+1896      	King Menelik II defeats the Italians at Adwa, maintaining Ethiopian independence.
+1896      	The first modern Olympic Games are held at Athens in Greece; 13 countries compete.
+1896      	Utah is inaugurated as the 45th state of the Union.
+1897      	American comic strip The Katzenjammer Kids is begun by Rudolph Dirks.
+1897      	Austrian artist Gustav Klimt helps to found the Vienna Secession group.
+1897      	British physician Havelock Ellis begins his Studies in the Psychology of Sex.
+1897      	English author Rudyard Kipling publishes Captains Courageous.
+1897      	French dramatist Edmond Rostand writes Cyrano de Bergerac.
+1897      	French primitive artist Henri Rousseau paints The Sleeping Gypsy.
+1897      	McKinley is inaugurated as the 25th U.S. president; Hobart becomes vice-president.
+1897      	Russian author Anton Chekhov writes the play Uncle Vanya.
+1897      	Stanislavsky founds the Moscow Art Theater and begins the method acting technique.
+1897      	The first subway un the U.S. opens in Boston.
+1897      	Theodor Herzl organizes the World Zionist Congress at Basel in Switzerland.
+1898      	Anglo-Irish playwright George Bernard Shaw publishes Arms and the Man.
+1898      	Britain obtains a 99-year lease for Hong Kong from the Chinese.
+1898      	Commodore Dewey destroys the Spanish fleet in Manila harbor.
+1898      	English author H. G. Wells publishes The War of the Worlds.
+1898      	Spain cedes Puerto Rico, Guam and the Philippines to the U.S. in the Treaty of Paris.
+1898      	The Boxer Uprising begins in China; Empress Tz'u-hsi imprisons the emperor.
+1898      	The British under Kitchener defeat the Mahdists at Omdurman in Sudan.
+1898      	The Fashoda Incident leads to a French withdrawal from the Sudan.
+1898      	The Spanish fleet is destroyed off Cuba; Spain sues for peace.
+1898      	The Spanish-American War begins with a declaration of war by Congress.
+1898      	The U.S. army uses machine guns for the first time in the battle of Santiago.
+1898      	The U.S. battleship Maine explodes in the Spanish port of Manila in the Philippines.
+1898      	U.S. troops land on Cuba; Theodore Roosevelt's Rough Riders are in action.
+1898      	William Randolph Hearst's yellow journalism inflames anti-Spanish feelings.
+1899      	American artist Winslow Homer paints the Gulf Stream.
+1899      	American composer Scott Joplin publishes his Maple Leaf Rag.
+1899      	Designer Charles Rennie Mackintosh completes the Glasgow School of Art.
+1899      	English composer Edward Elgar writes The Enigma Variations.
+1899      	Journalist and future statesman Winston Churchill escapes from Boer captivity.
+1899      	The British under Robert Baden-Powell are besieged by the Boers at Mafeking.
+1899      	The South African War begins between the Boers (Afrikaners) and the British.
+1899      	U.S. Secretary of State John M. Hay advocates an Open Door Policy for China.
+1900      	American novelist Theodore Dreiser publishes his first novel Sister Carrie.
+1900      	An international force lifts the Boxer siege of Peking.
+1900      	British politician Keir Hardie helps to found the Labour party.
+1900      	Chinese nationalists besiege foreigners in Peking during the Boxer Uprising.
+1900      	Dutch physiologist Willem Einthoven invents the electrocardiograph.
+1900      	Hawaii is made a U.S. Territory; Sanford Dole serves as the first governor.
+1900      	Hector Guimard uses Art Nouveau designs for the entrances to the Paris Metro.
+1900      	Humbert I is assassinated; he is succeeded by Victor Emanuel III as king of Italy.
+1900      	Italian author Gabriele D'Annunzio publishes The Flame of Life.
+1900      	James J. Jeffries beats Jim Corbett to retain the heavyweight boxing title.
+1900      	Max Planck formulates the quantum theory in physics.
+1900      	Psychoanalyst Sigmund Freud publishes The Interpretation of Dreams.
+1900      	Sir Arthur Evans begins the excavation of the Minoan palace at Knossos, Crete.
+1900      	The Boers begin a guerrilla war against the British occupation forces.
+1900      	The British defeat the Boer (Afrikaner) armies in South Africa and occupy Pretoria.
+1900      	The U.S. wins the first Davis Cup tennis contest.
+1901      	A 39,000 year-old frozen mammoth is discovered in Russia.
+1901      	A stele bearing the Code of Hammurabi is discovered in Susa, Iran.
+1901      	American surgeon Walter Reed proves that yellow fever is transmitted by mosquitoes.
+1901      	An American League of baseball is formed in competition to the National League.
+1901      	Andrew Carnegie sells his company and devotes himself to philanthropy.
+1901      	Britain incorporates Ashanti territory into the Gold Coast (Ghana).
+1901      	English author Beatrix Potter publishes her children's book The Tale of Peter Rabbit.
+1901      	Guglielmo Marconi tests radio transmissions between England and Newfoundland.
+1901      	King C. Gillette founds the American Safety Razor Company.
+1901      	President McKinley is assassinated by the anarchist Leon Czolgosz.
+1901      	Queen Victoria dies; she is succeeded by her son Edward VII.
+1901      	Russia occupies Manchuria in north-east China.
+1901      	Sergei Rachmaninoff writes his Second Piano Concerto.
+1901      	Sir Edward Elgar composes the first of his five Pomp and Circumstance Marches.
+1901      	Spanish painter Pablo Picasso's Blue Period begins.
+1901      	Temperance advocate Carry Nation uses a hatchet to attack a Kansas saloon.
+1901      	The Commonwealth of Australia is founded.
+1901      	The first U.S. national bowling tournament is held.
+1901      	Theodore Roosevelt is inaugurated as the 26th U.S. president.
+1901      	Victor L. Berger and Eugene V. Debs help found the American Socialist party.
+1902      	American artist Robert Henri paints the New York street scene West 57th Street.
+1902      	Conan Doyle writes the Sherlock Holmes adventure The Hound of the Baskervilles.
+1902      	English author Joseph Conrad publishes Heart of Darkness.
+1902      	French filmmaker Georges Melies produces A Trip to the Moon.
+1902      	Italian opera singer Enrico Caruso makes his first phonographic recording.
+1902      	Maksim Gorky's The Lower Depths is produced at the Moscow Art Theater.
+1902      	Oliver Wendell Holmes Jr. is appointed to the U.S. Supreme Court.
+1902      	The Photo-Secession group is founded in New York by photographer Alfred Stieglitz.
+1902      	The Treaty of Vereeniging ends the South African War.
+1903      	Alexander, King of Serbia, is assassinated; he is succeeded by Peter I.
+1903      	American author Jack London publishes The Call of the Wild.
+1903      	American novelist Henry James publishes The Ambassadors.
+1903      	Bernard Shaw's play Man and Superman is produced in London.
+1903      	Colonel Francis Younghusband leads a British military expedition into Tibet.
+1903      	Edwin S. Porter directs the pioneering Western film The Great Train Robbery.
+1903      	Emmeline Pankhurst founds the Women's Social and Political Union in Britain.
+1903      	Marie and Pierre Curie win the Nobel Prize for Physics for their work on radioactivity.
+1903      	Orville Wright makes the first successful flight in a self-propelled airplane.
+1903      	Panama declares its independence from Columbia; the U.S. recognizes the new republic.
+1903      	The Rolls-Royce automobile company is founded in Britain.
+1903      	The U.S. acquires perpetual control over the Panama Canal Zone.
+1903      	The first World Series baseball game is played.
+1903      	Vladimir Ilich Lenin organizes the Bolshevik revolutionary group.
+1904      	Italian composer Giacomo Puccini's opera Madame Butterfly is produced.
+1904      	Ivan Pavlov, discoverer of the conditioned reflex, is awarded the Nobel Prize.
+1904      	James Barrie's play Peter Pan is produced in London.
+1904      	Max Weber publishes The Protestant Ethic and the Spirit of Capitalism.
+1904      	Russian author Anton Chekhov's play The Cherry Orchard is produced.
+1904      	Territorial disputes in Manchuria begin the Russo-Japanese War.
+1904      	The Abbey Theatre is founded in Dublin.
+1904      	The New York City subway is opened.
+1905      	A general strike and revolution begin in Russia; Nicholas II grants a constitution.
+1905      	Ambrose Fleming invents the thermionic valve, used to improve radio reception.
+1905      	American humorist and actor Will Rogers makes his New York City debut.
+1905      	American labor leader Eugene V. Debs founds the Industrial Workers of the World.
+1905      	Chinese revolutionary Sun Yat-sen founds the T'ung-meng hui (Alliance Society).
+1905      	Ernst Ludwig Kirchner organizes the expressionist painters group Die Brucke.
+1905      	French territorial ambitions spark the first Moroccan crisis.
+1905      	German physicist Albert Einstein proposes his Special Theory of Relativity.
+1905      	German poet Rainer Maria Rilke publishes The Book of Hours.
+1905      	Henri Matisse and Andre Derain form the Fauves (Wild Beasts) art movement.
+1905      	Psychologist Alfred Binet develops intelligence tests for school children.
+1905      	Roosevelt begins his second term as U.S. president; Fairbanks becomes vice-president.
+1905      	The Cullinan diamond is found in South Africa; it weighs 3,106 carats.
+1905      	The Russian fleet is destroyed by the Japanese at the Battle of Tsushima.
+1905      	The Sinn Fein Irish nationalist movement is founded by Arthur Griffith.
+1905      	The union of Norway and Sweden is dissolved; Haakon VII is elected king of Norway.
+1905      	W.E.B. Du Bois forms the Niagara Movement to demand full civil rights for black Americans.
+1906      	British author John Galsworthy publishes the first novel of The Forsythe Saga.
+1906      	H.M.S. Dreadnought, the first modern battleship, is launched.
+1906      	Norwegian explorer Roald Amundsen traverses the Northwest Passage.
+1906      	The Aga Khan III forms the All-India Moslim League.
+1906      	The Dreyfus affair ends with the pardoning of French army officer Alfred Dreyfus.
+1906      	The San Francisco earthquake kills 700.
+1906      	Under the Platt Amendment U.S. troops return to Cuba to quell rebellion and restore order.
+1906      	Upton Sinclair's novel The Jungle leads to the U.S. Pure Foods and Drugs Act.
+1907      	A Triple Entente is formed between Britain, France and Russia.
+1907      	Anna Pavlova dances The Dying Swan, choreographed by Mikhail Fokine.
+1907      	Irish playwright J.M. Synge writes The Playboy of the Western World.
+1907      	Lee De Forest invents the triode, a key component for amplifying radio signals.
+1907      	Oklahoma is inaugurated as the 46th state of the Union.
+1907      	Rasputin gains influence at the court of Russian emperor Nicholas II.
+1907      	The Panic of 1907 begins with the collapse of the U.S. stock market.
+1907      	The first Ziegfeld Follies are staged in New York City.
+1908      	An earthquake at Messina in Italy kills 80,000.
+1908      	Austria-Hungary annexes Bosnia and Hercegovina.
+1908      	Austrian artist Gustav Klimt paints The Kiss.
+1908      	Automaker William Durant founds the General Motors Company.
+1908      	British soldier Robert Baden-Powell founds the Boy Scout movement.
+1908      	Filmmakers Charles Pathe and Leon Gaumont produce the first newsreel.
+1908      	Jack Johnson becomes the first black heavyweight boxing champion.
+1908      	Kenneth Grahame publishes his children's story The Wind in the Willows.
+1908      	King Leopold II of the Belgians establishes the Independent State of Congo in Africa.
+1908      	Liberal leader Herbert Asquith becomes prime minister of Britain.
+1908      	Mary Baker Eddy establishes the Christian Science Monitor.
+1908      	Pablo Picasso and Georges Braque cofound the cubism art movement.
+1908      	The Ashcan school of painters exhibit in New York City.
+1908      	The Ford Motor Company produces the first Model T automobile.
+1908      	The National Association for the Advancement of Colored People (NAACP) is founded.
+1908      	The Tunguska fireball explodes in Siberia with the force of a modern H-bomb.
+1908      	The Young Turk Revolution in Turkey leads to political reform.
+1909      	American architect Frank Lloyd Wright builds the Robie House in Chicago.
+1909      	American artist George Bellows paints the prize fight scene Stag at Sharkey's.
+1909      	American explorer Robert E. Peary reaches the North Pole.
+1909      	American poet William Carlos Williams publishes Poems, his first book.
+1909      	American writer Gertrude Stein publishes Three Lives.
+1909      	French aviator Louis Bleriot makes the first flight across the English Channel.
+1909      	Russian impresario Serge Diaghilev presents the Ballet Russe in Paris.
+1909      	Taft is inaugurated as the 27th U.S. president; Sherman becomes vice-president.
+1910      	British author Arnold Bennett publishes Clayhanger.
+1910      	British politician Winston Churchill is appointed first lord of the Admiralty.
+1910      	France groups four African territories together as French Equatorial Africa.
+1910      	French primitive artist Henri Rousseau paints The Dream.
+1910      	French sculptor Auguste Rodin casts the bronze figure The Thinker.
+1910      	George V succeeds his father Edward VII as king of Great Britain and Ireland.
+1910      	German bacteriologist Paul Ehrlich synthesizes Salversan, a cure for syphilis.
+1910      	Italian artists led by Umberto Boccioni found the futurism movement.
+1910      	Japanese forces annex Korea.
+1910      	Madero, Villa and Zapata lead a revolution against Mexican dictator Porfirio Diaz.
+1910      	Russian-born artist Wassily Kandinsky executes his first abstract painting.
+1910      	The Art Deco architectural and decorative arts style begins to become popular.
+1910      	The Union of South Africa is formed; Louis Botha becomes the first prime minister.
+1911      	American aviator Glen Curtiss flies the first successful seaplane.
+1911      	American novelist Edith Wharton publishes Ethan Frome.
+1911      	American songwriter Irving Berlin publishes Alexander's Ragtime Band.
+1911      	Elmer A. Sperry designs the first American gyrocompass.
+1911      	English author G.K. Chesterton publishes the first Father Brown story.
+1911      	German-American anthropologist Franz Boas publishes The Mind of Primitive Man.
+1911      	Hans Geiger invents an electrical device to count individual alpha particles.
+1911      	Italy's attempts to annex Cyrenaica and Tripolitania leads to the Italo-Turkish War.
+1911      	Mexican dictator Porfirio Diaz is overthrown; Francisco Madero becomes president.
+1911      	Norwegian explorer Roald Amundsen reaches the South Pole ahead of Robert Scott.
+1911      	Richard Strauss' opera Der Rosenkavalier is performed for the first time.
+1911      	Russian artist Marc Chagall paints I and My Village.
+1911      	Sir Ernest Rutherford formulates his theory of atomic structure.
+1911      	The Ch'ing dynasty is deposed in China; a republic is formed under Sun Yat-sen.
+1911      	The first film studio is established at Hollywood in California.
+1911      	Tibet declares its independence from China.
+1911      	Willis Carrier designs the first practical air conditioning system.
+1912      	American Indian Jim Thorpe wins the Olympic decathlon and pentathlon.
+1912      	American author Edgar Rice Burroughs publishes Tarzan of the Apes.
+1912      	American writer Willa Cather publishes her first novel Alexander's Bridge.
+1912      	Austrian psychologist Alfred Adler publishes The Neurotic Constitution.
+1912      	British explorers under Scott reach the South Pole but die during their return.
+1912      	French Dada artist Marcel Duchamp paints Nude Descending a Staircase.
+1912      	German geophysicist Alfred Wegener formulates his continental drift hypothesis.
+1912      	Morocco is divided between France and Spain after the second Moroccan crisis.
+1912      	New Mexico is inaugurated as the 47th state; Arizona is inaugurated as the 48th state.
+1912      	Piltdown man is discovered in Britain, beginning an elaborate scientific hoax.
+1912      	Russian dancer Vaslav Nijinsky choreographs and dances in The Afternoon of the Faun.
+1912      	The Balkan League begins the first Balkan War against the Ottoman Empire.
+1912      	The liner Titanic sinks after colliding with an iceberg on her maiden voyage.
+1912      	Theodore Roosevelt campaigns for the U.S. presidency under the Bull Moose ticket.
+1913      	American poet Robert Frost publishes A Boy's Will.
+1913      	Bertrand Russell and A.E. Whitehead publish Principia Mathematica.
+1913      	Danish physicist Niels Bohr publishes his atomic theory.
+1913      	English novelist D.H. Lawrence publishes Sons and Lovers.
+1913      	Federal income tax is introduced in the U.S.
+1913      	Igor Stravinsky's ballet The Rite of Spring causes a scandal at the Paris premiere.
+1913      	Indian poet Rabindranath Tagore wins the Nobel Prize for literature.
+1913      	King George I of Greece is assassinated; he is succeeded by Constantine I
+1913      	Marcel Proust writes the first volume of Remembrance of Things Past.
+1913      	Medical missionary Albert Schweitzer builds a hospital at Lambarene in Africa.
+1913      	Russian revolutionary Joseph Stalin is exiled to Siberia by the tsarist government.
+1913      	Samuel Goldwyn founds his first movie company with Jesse Lasky and Cecil B. De Mille.
+1913      	Socialists Sidney and Beatrice Webb found the political journal The New Statesman.
+1913      	The constructivism art movement begins in Russia.
+1913      	The island of Crete is united with Greece.
+1913      	The second Balkan War begins with a Bulgarian attack on Serbia.
+1913      	Victoriano Huerta leads a military coup in Mexico; president Francisco Madero is killed.
+1913      	Wilson is inaugurated as the 28th U.S. president; Marshall becomes vice-president.
+1914      	A British expedition led by Ernest Shackleton is marooned in the Antarctic.
+1914      	A German fleet defeats the British at Coronel but is decimated at the Falklands.
+1914      	Archduke Franz Ferdinand is assassinated in Sarajevo, precipitating World War I.
+1914      	Austrian forces invade Serbia but are repulsed with heavy losses.
+1914      	Black composer W.C. Handy writes the St. Louis Blues.
+1914      	Charlie Chaplin develops his little tramp character in a series of slapstick films.
+1914      	France, Russia and Britain (the Allies) are at war with Germany and Austria-Hungary.
+1914      	George Bernard Shaw's play Pygmallion is performed for the first time.
+1914      	German forces invade Belgium and France but are halted at the Marne.
+1914      	German submarines begin to exact a heavy toll on Allied shipping.
+1914      	Japan joins the Allies and captures the German base of Tsingtao in China.
+1914      	Mack Sennett produces comedy films starring the Keystone Kops.
+1914      	Parisian couturier Coco Chanel begins designing clothes.
+1914      	President Wilson declares U.S. neutrality in World War I.
+1914      	Russian forces invade East Prussia but are defeated at the Battle of Tannenberg.
+1914      	The Panama Canal is completed, connecting the Atlantic and Pacific Oceans.
+1914      	Turkey declares war on the Allies; Britain annexes Turkish Cyprus.
+1914      	U.S. Marines land at Veracruz in Mexico; President Huerta resigns.
+1915      	A German submarine torpedoes the British liner Lusitania; 124 Americans are killed.
+1915      	Albert Einstein formulates his General Theory of Relativity.
+1915      	Anglo-French forces land at Gallipoli in an attempt to force Turkey out of the war.
+1915      	Austrian writer Franz Kafka publishes The Metamorphosis.
+1915      	D. W. Griffith's movie The Birth of a Nation is shown for the first time.
+1915      	Emiliano Zapata and Pancho Villa lead rebellions against Venustiano Carranza in Mexico.
+1915      	English author Somerset Maugham publishes Of Human Bondage.
+1915      	German Zeppelin airships begin bombing attacks on Britain.
+1915      	Italy joins the Allies and invades Austrian territory.
+1915      	President Wilson recognizes the Mexican government of Venustiano Carranza.
+1915      	Serbia is overrun by the combined forces of Austria, Germany and Bulgaria.
+1915      	The Anzacs (Australian and New Zealand Army Corps) fight at Gallipoli.
+1915      	The Dada art and literary movement is formed.
+1915      	The Germans use poison gas for the first time at Ypres on the Western Front.
+1915      	U.S. Marines land in Haiti, beginning a 20-year period of military occupation.
+1915      	War poet Rupert Brooke's 1914 and Other Poems is published in the year he dies.
+1916      	Allied forces withdraw from Gallipoli after strong Turkish opposition.
+1916      	American poet Carl Sandburg publishes his first book Chicago Poems.
+1916      	British forces assault the German line at the Somme; tanks are used for the first time.
+1916      	German assaults at Verdun are repulsed by the French with great loss of life.
+1916      	James Joyce publishes A Portrait of the Artist as a Young Man.
+1916      	Jeannette Rankin becomes the first female member of U.S. House of Representatives.
+1916      	Lloyd George becomes prime minister of Britain's wartime coalition government.
+1916      	Margaret Sanger is arrested for opening a birth-control clinic in Brooklyn.
+1916      	North Sea storms flood lowlands in the Netherlands, 10,000 lives are lost.
+1916      	The British and German fleets clash at the Battle of Jutland.
+1916      	The Easter Rising in Dublin is suppressed within a week by the British.
+1916      	The Russian Brusilov Offensive meets with success on the Eastern Front.
+1916      	The Trans-Siberian railway is completed -- the longest continuous rail line in the world.
+1916      	U.S. Marines land in Santo Domingo to quell unrest; the occupation lasts until 1924.
+1916      	U.S. troops under Pershing invade Mexico in retaliation for raids by Pancho Villa.
+1917      	Adoption of the convoy system reduces Allied losses to German submarines.
+1917      	Anglo-American poet T.S. Eliot publishes The Love Song of J. Alfred Prufrock.
+1917      	Art critic and writer Guillaume Apollinaire coins the term surrealism.
+1917      	Astrophysicist Karl Schwarzschild develops the black hole theory.
+1917      	British forces attack the Germans in the Third Battle of Ypres.
+1917      	British forces under Allenby capture Jerusalem and Bagdhad from the Turks.
+1917      	Dutch artists Theo Van Doesburg and Piet Mondrian found the magazine de Stijl.
+1917      	English composer Gustav Holst completes The Planets.
+1917      	English humorist P.G. Wodehouse creates Bertie Wooster and his butler Jeeves.
+1917      	Germany announces the resumption of unrestricted submarine warfare.
+1917      	Italian forces are defeated by Austria at the Battle of Caporetto.
+1917      	Swiss psychiatrist Carl Jung publishes The Psychology of the Unconscious.
+1917      	T.E. Lawrence (Lawrence of Arabia) leads the Arab revolt against the Turks.
+1917      	The Balfour Declaration endorses a Jewish national homeland in Palestine.
+1917      	The Germans and the Bolshevik leaders sign an armistice at Brest-Litovsk.
+1917      	The Germans help Lenin return to Russia from exile in Switzerland.
+1917      	The Jones Act gives all Puerto Ricans the right to U.S. citizenship.
+1917      	The Russian Revolution begins; Emperor Nicholas II abdicates.
+1917      	The U.S. purchases the Virgin Islands from Denmark.
+1917      	The United States declares war on Germany.
+1917      	The Zimmermann note proposing a secret Mexican alliance with Germany is revealed.
+1917      	The disastrous Nivelle Offensive leads to mutinies in the French Army.
+1917      	The earliest jazz recordings are made in New York City.
+1917      	The first Pulitzer Prizes are awarded for journalism, letters and music.
+1917      	The provisional Kerensky government is deposed; Bolsheviks seize power in Russia.
+1918      	Advances by French, British and American armies force a general German retreat.
+1918      	American astronomer Harlow Shapley discovers the dimensions of the Milky Way.
+1918      	American author Booth Tarkington writes The Magnificent Ambersons.
+1918      	American forcesunder Pershing help to stem the German offensive.
+1918      	An airmail service begins among New York, Philadelphia and Washington, D.C.
+1918      	An influenza pandemic begins (it kills 21-22 million in 2 years).
+1918      	Austria, Poland and Czechoslovakia become republics in the aftermath of World War I.
+1918      	Bloomsbury Group member Lytton Strachey publishes Eminent Victorians.
+1918      	Bolshevik leader Leon Trotsky organizes the Red Army.
+1918      	Civil war breaks out between the Red and White Russian armies.
+1918      	French composer Erik Satie writes Socrate.
+1918      	German air ace Manfred von Richthofen (the Red Baron) is shot down and killed.
+1918      	Nicholas II, the last emperor of Russia, and his family are executed by the Bolsheviks.
+1918      	Revolution breaks out in Germany; Emperor William II flees to the Netherlands.
+1918      	The Germans renew their assault on the Western Front in the Ludendorff Offensive.
+1918      	The Weimar Republic negotiates an armistice for Germany, ending World War I.
+1918      	The world's largest telescope is installed at Mount Wilson Observatory.
+1918      	Women over 30 win the vote in Britain.
+1919      	Boxer Jack Dempsey knocks out Jess Willard to become heavyweight champion.
+1919      	British troops massacre demonstrators at Amritsar in India.
+1919      	English aviators Alcock and Brown make the first nonstop transatlantic flight.
+1919      	French tennis star Suzanne Lenglen wins the Wimbledon tournament for the first time.
+1919      	George Gershwin composes his first hit song Swanee.
+1919      	German communist Rosa Luxemburg is murdered after the Sparticus uprising.
+1919      	Italian leader Benito Mussolini organizes his Fascist movement.
+1919      	Jan Smuts succeeds Louis Botha as prime minister of South Africa.
+1919      	Lady Astor becomes the first woman member of the British House of Commons.
+1919      	Mexican revolutionary Emiliano Zapata is killed.
+1919      	Russian-American anarchist Emma Goldman is deported to the Soviet Union.
+1919      	The Bauhaus school of design is founded in Germany by Walter Gropius.
+1919      	The Chicago White Sox conspire to fix the baseball World Series.
+1919      	The German fleet is scuttled at Scapa Flow in the Orkney Islands.
+1919      	The League of Nations is formed with Geneva in Switzerland as its headquarters.
+1919      	The Paris Peace Conference opens at Versailles.
+1919      	The Polish-Soviet War begins over territorial disputes.
+1919      	The Radio Corporation of America (RCA) is formed.
+1920      	A Home Rule Bill establishes parliaments for northern and southern Ireland.
+1920      	Admiral Miklos Horthy is appointed regent of Hungary.
+1920      	Adolf Hitler forms the National Socialist German Workers' (Nazi) party.
+1920      	American novelist Sinclair Lewis publishes Main Street.
+1920      	American tennis star Bill Tilden wins the Wimbledon tournament for the first time.
+1920      	Arturo Alessandri becomes president of Chile.
+1920      	British East Africa becomes a crown colony as Kenya.
+1920      	Chaim Weizmann is named president of the World Zionist Organization.
+1920      	Dutch artist Piet Mondrian paints the Composition with Red, Yellow and Blue.
+1920      	French Art Deco glassmaker Rene Lalique opens a glass factory.
+1920      	German East Africa is transferred to British control as Tanganyika (now Tanzania).
+1920      	Mahatma Gandhi begins a noncooperation campaign against British rule in India.
+1920      	Mexican president Venustiano Carranza is deposed and killed by Alvaro Obregon.
+1920      	Mystery writer Agatha Christie publishes her first Hercule Poirot story.
+1920      	Russian artist Aleksandr Rodchenko designs the first mobile.
+1920      	The 18th Amendment institutes the prohibition of alcohol throughout the U.S.
+1920      	The 19th Amendment to the U.S. Constitution gives women the right to vote.
+1920      	The Russian Civil War ends with victory for the Bolsheviks.
+1920      	The U.S. Senate votes against joining the League of Nations.
+1921      	Alexander rules the new Kingdom of Serbs, Croats and Slovenes.
+1921      	American anarchists Nicola Sacco and Bartolomeo Vanzetti are found guilty of murder.
+1921      	Berber tribes under Abd el-Krim attack garrisons in Spanish Morocco.
+1921      	French cubist artist Fernand Leger paints Three Women.
+1921      	German surrealist artist Max Ernst paints L'Elephant celebes.
+1921      	Harding is inaugurated as the 29th U.S. president; Coolidge becomes vice-president.
+1921      	Japanese premier Hara Takashi is assassinated.
+1921      	Latin lover Rudolph Valentino stars in the silent film The Sheik.
+1921      	Luigi Pirandello's play Six Characters in Search of an Author is produced.
+1921      	Mexican artist Diego Rivera begins painting murals depicting contemporary Mexican life.
+1921      	The British Broadcasting Corporation (BBC) is created by Royal Charter.
+1921      	The Irish Free State becomes a self-governing dominion of Britain.
+1921      	The Reparations Commission fixes Germany's liability at 132 billion gold marks.
+1921      	W. L. MacKenzie King is elected prime minister of Canada for the first time.
+1922      	Anglo-American poet T.S. Eliot writes The Waste Land.
+1922      	Constantine I abdicates as king of Greece; is succeeded by George II.
+1922      	DeWitt Wallace launches Reader's Digest magazine.
+1922      	Egypt achieves independence from Britain and becomes a monarchy under Fuad I.
+1922      	Emily Post publishes Etiquette in Society, in Business, in Politics, and at Home.
+1922      	English Egyptologist Howard Carter excavates Tutankhamen's tomb.
+1922      	English composer William Walton composes Facade.
+1922      	Explorer Roy Chapman Andrews discovers the first fossil dinosaur eggs in the Gobi desert.
+1922      	Irish poet and novelist James Joyce publishes Ulysses.
+1922      	Irish revolutionary statesman Michael Collins is assassinated.
+1922      	Kemal Ataturk's attempts to restore Turkish territory leads to the Chanak Crisis.
+1922      	Mahatma Gandhi is imprisoned for civil disobedience in India.
+1922      	Robert Flaherty produces the first major film documentary Nanook of the North.
+1922      	The Fascists march on Rome; King Victor Emmanuel III names Mussolini prime minister.
+1922      	William T. Cosgrave becomes the first prime minister of the Irish Free State.
+1923      	"King" Oliver's Creole Jazz Band is the first black band to be recorded.
+1923      	Adolf Hitler's coup d'etat in Munich fails; he is captured and imprisoned.
+1923      	Aircraft designer Willy Messerschmitt opens a factory in Germany.
+1923      	American poet E. E. Cummings writes the novel The Enormous Room.
+1923      	Briton Hadden and Henry R. Luce found the weekly newsmagazine Time.
+1923      	Child violinist Yehudi Menuhin makes his public debut at age 7.
+1923      	Filmmaker Cecil B. De Mille directs the biblical epic The Ten Commandments.
+1923      	French and Belgian troops occupy the Ruhr to enforce German war reparations.
+1923      	General Miguel Primo de Rivera rules as dictator of Spain.
+1923      	Irish poet William Butler Yeats wins the Nobel Prize for literature.
+1923      	Jewish philosopher Martin Buber publishes Ich und Du (I and Thou).
+1923      	Physicist Hermann Oberth publishes The Rocket into Planetary Space.
+1923      	Spanish engineer Juan de la Cierva invents the autogiro.
+1923      	Stanley Baldwin becomes Conservative prime minister of Britain for the first time.
+1923      	The Treaty of Lausanne establishes the boundaries of modern Turkey.
+1923      	Tokyo and Yokohama are destroyed by an earthquake; 100,000 are killed.
+1923      	Turkey is declared a republic; Ataturk Kemal becomes the first president.
+1923      	Vladimir Zworykin patents the iconoscope, the first television transmission tube.
+1923      	Warren G. Harding dies; Calvin Coolidge is inaugurated as the 30th U.S. president.
+1924      	Adolf Hitler publishes his Nazi political tract Mein Kampf (My Battle).
+1924      	Arab leader Ibn Saud drives the Hashimites from Mecca.
+1924      	English novelist E.M. Forster publishes A Passage To India.
+1924      	French physicist Louis de Broglie proposes the wavelength nature of particles.
+1924      	German novelist Thomas Mann publishes The Magic Mountain.
+1924      	J. Edgar Hoover is appointed director of the Bureau of Investigation (renamed the FBI).
+1924      	Ramsay MacDonald forms the first Labour government in Britain.
+1924      	Soviet leader Lenin dies; new leader Joseph Stalin begins a purge of his opponents.
+1924      	The Boston Bruins become the first professional ice hockey team.
+1924      	The military declare a republic in Greece; King George II is exiled.
+1924      	U.S. Congress investigates suspicious dealings in the Teapot Dome scandal.
+1925      	Ahmed Zogu proclaims Albania a monarchy and rules as King Zog.
+1925      	American writer F. Scott Fitzgerald publishes The Great Gatsby.
+1925      	American writer John Dos Passos publishes Manhattan Transfer.
+1925      	Astronomer Edwin Hubble composes a classification scheme for galaxies.
+1925      	Automaker Walter P. Chrysler founds the Chrysler Corporation.
+1925      	Black American dancer Josephine Baker stars in La Revue negre in Paris.
+1925      	Clarence Birdseye begins marketing his quick-frozen food packages.
+1925      	Friedrich Ebert dies; Paul von Hindenburg becomes president of the German republic.
+1925      	John T. Scopes is tried in Tennessee for teaching the theory of evolution.
+1925      	Reza Shah Pahlavi rules as shah of Iran.
+1925      	Russian filmmaker Sergei Eisenstein directs The Battleship Potemkin.
+1925      	Swiss-born artist Paul Klee paints Fish Magic.
+1925      	The Locarno Pact finalizes the treaties between the World War I protagonists.
+1925      	The New Yorker magazine is founded in New York City.
+1925      	The all-black revue Runnin' Wild introduces the Charleston dance craze.
+1926      	American artist Georgia O'Keeffe paints her flower portrait Black Iris.
+1926      	American golfer Bobby Jones wins the U.S. Open and the British Open tournaments.
+1926      	American physicist Robert Goddard launches the first liquid-propellant rocket.
+1926      	Antonio Oscar de Fragoso Carmona becomes president after a military coup in Portugal.
+1926      	Chiang Kai-shek organizes the Northern Expedition to unite China.
+1926      	Eamon De Valera organizes the Fianna Fail party in the Republic of Ireland.
+1926      	English author A.A. Milne writes the children's book Winnie-the-Pooh.
+1926      	French troops in Morocco subdue a tribal rebellion led by Abd el-Krim.
+1926      	Germany is admitted to the League of Nations.
+1926      	Hirohito becomes emperor of Japan.
+1926      	Nobile, Amundsen and Ellsworth pilot the airship Norge over the North Pole.
+1926      	Richard E. Byrd and Floyd Bennett make the first airplane flight over the North Pole.
+1926      	Russian composer Dmitry Shostakovich premiers his First Symphony.
+1926      	The General Strike breaks out in Britain involving 3 million workers.
+1926      	The Harlem Globetrotters basketball team is organized in Chicago.
+1926      	U.S. Marines land in Nicaragua to suppress a revolution (they depart in 1933).
+1927      	American dancer Isadora Duncan is killed in a tragic car accident.
+1927      	American writer Thornton Wilder publishes The Bridge of San Luis Rey.
+1927      	Baseball player Babe Ruth scores a record 60 home runs for the New York Yankees.
+1927      	Blackface singer Al Jolson appears in the first sound motion picture The Jazz Singer.
+1927      	Charles Lindbergh flies solo nonstop from New York to Paris in 33.5 hours.
+1927      	Comedy team Laurel and Hardy appear in their first film Putting Pants on Philip.
+1927      	Dancer Martha Graham opens her first dance studio in New York City.
+1927      	Duke Ellington's jazz band stars at Harlem's Cotton Club in New York City.
+1927      	English novelist Virginia Woolf writes To The Lighthouse.
+1927      	Finnish architect Alvar Aalto designs the Turun Sanomat newspaper building.
+1927      	Georges Lemaitre proposes an expanding model for the creation of the universe.
+1927      	German filmmaker Fritz Lang directs the futuristic film Metropolis.
+1927      	German-Swiss author Hermann Hesse publishes Steppenwolf.
+1927      	Helen Newington Wills wins the Wimbledon tennis championship.
+1927      	The Iron Guard fascist organization is founded in Romania.
+1928      	Amelia Earhart becomes the first woman to fly across the Atlantic.
+1928      	American anthropologist Margaret Mead publishes Coming of Age in Samoa.
+1928      	American comedy team Amos 'n' Andy produce their first radio show.
+1928      	American composer Virgil Thomson writes the opera Four Saints in Three Acts.
+1928      	Arturo Toscanini is made conductor of the New York Philharmonic.
+1928      	Ben Hecht and Charles MacArthur's play The Front Page is produced.
+1928      	Bertolt Brecht and Kurt Weill collaborate on the play The Threepenny Opera.
+1928      	British bacteriologist Alexander Fleming discovers penicillin.
+1928      	Chiang Kai-shek captures Peking; the Kuomintang government is established.
+1928      	English novelist Evelyn Waugh publishes Decline and Fall.
+1928      	English physicist Paul Dirac formulates a mathematical description of elementary particles.
+1928      	French composer Maurice Ravel composes the ballet Bolero.
+1928      	Luis Bunuel and Salvador Dali collaborate on the surrealist film Un Chien andalou.
+1928      	Spanish poet Federico Garcia Lorca publishes Gypsy Ballads.
+1928      	The Chaco War breaks out between Bolivia and Paraguay over territorial disputes.
+1928      	The Kellog-Briand Pact outlawing war is signed by 15 nations.
+1928      	The first Five-Year Plan for economic reform begins in the Soviet Union.
+1928      	Walt Disney's Mickey Mouse appears in Steamboat Willie, the first sound cartoon.
+1929      	Alexander institutes absolute rule as king of Yugoslavia.
+1929      	American explorer Richard E. Byrd flies over the South Pole.
+1929      	American novelist William Faulkner publishes The Sound and the Fury.
+1929      	British poet Robert Graves publishes his war memoir Goodbye To All That.
+1929      	Erich Maria Remarque publishes his war novel All Quiet On the Western Front.
+1929      	Ernest Hemingway writes the war novel A Farewell To Arms.
+1929      	French artist and writer Jean Cocteau publishes Les Enfants Terribles.
+1929      	Heinrich Himmler is appointed head of the SS, Hitler's blackshirted elite guard.
+1929      	Hoover is inaugurated as the 31st U.S. president; Curtis becomes vice-president.
+1929      	Jews and Arabs clash at the Wailing Wall in Jerusalem.
+1929      	Seven Chicago gangsters are machine-gunned in the St. Valentine's Day Massacre.
+1929      	Soviet leader Joseph Stalin exiles Leon Trotsky.
+1929      	The Lateran Treaty creates the independent state of the Vatican City.
+1929      	The Museum of Modern Art (MOMA) is founded in New York City.
+1929      	The Wall Street crash leads to a world-wide economic depression.
+1929      	The Workers Party of America is renamed the Communist Party of the United States.
+1929      	The first Academy Awards are presented; Wings wins best-picture prize.
+1930      	American artist Edward Hopper paints Early Sunday Morning.
+1930      	American astronomer Clyde W. Tombaugh discovers the planet Pluto.
+1930      	American poet Hart Crane publishes The Bridge.
+1930      	Artist Grant Wood paints American Gothic.
+1930      	British engineer Frank Whittle patents a gas turbine engine for jet aircraft.
+1930      	Carol II is proclaimed king of Romania.
+1930      	Dashiell Hammett publishes the detective novel The Maltese Falcon.
+1930      	English-born American writer W. H. Auden publishes his Poems.
+1930      	Getulio Vargas is appointed president of Brazil after a military coup.
+1930      	Haile Selassie is declared emperor of Ethiopia.
+1930      	Marlene Dietrich stars in Josef von Sternberg's film The Blue Angel.
+1930      	Noel Coward's play Private Lives is produced in London.
+1930      	The British airship R101 crashes in France.
+1930      	The city of Constantinople is re-named Istanbul.
+1930      	Vannevar Bush develops a differential analyzer, an early type of analog computer.
+1931      	American cartoonist Chester Gould creates the adventure comic strip Dick Tracy.
+1931      	American journalist and writer Damon Runyon publishes Guys and Dolls.
+1931      	American writer Pearl Buck publishes The Good Earth.
+1931      	Auguste Piccard makes the first manned balloon flight into the stratosphere.
+1931      	Ben Shahn begins a series of paintings inspired by the Sacco-Vanzetti case.
+1931      	Chicago gangster Al Capone is jailed for income tax evasion.
+1931      	Explorer George Hubert Wilkins makes a submarine voyage under the Arctic ice.
+1931      	Japanese forces occupy Manchuria.
+1931      	Organic chemist W. H. Carothers invents nylon, the first successful synthetic fiber.
+1931      	Radio astronomy begins when Karl Jansky detects radio waves from space.
+1931      	Spain is declared a republic; King Alfonso XIII abdicates.
+1931      	The Empire State Building becomes the tallest building in the world.
+1931      	The Star-Spangled Banner becomes the U.S. national anthem.
+1932      	American physicist Carl D. Anderson discovers the positron.
+1932      	American sculptor Alexander Calder creates his first mobile.
+1932      	American southern author Erskine Caldwell publishes Tobacco Road.
+1932      	Antonio de Oliveira Salazar assumes dictatorial powers as premier of Portugal.
+1932      	Arab leader Ibn Saud founds the Kingdom of Saudi Arabia.
+1932      	British author Aldous Huxley publishes Brave New World.
+1932      	Charles Lindbergh's infant son is kidnapped.
+1932      	Eamon de Valera is elected president of the Republic of Ireland.
+1932      	Engelbert Dollfuss is elected chancellor of Austria.
+1932      	English physicist James Chadwick discovers the neutron.
+1932      	Presidential nominee Franklin D. Roosevelt pledges a New Deal.
+1932      	Radio City Music Hall opens in New York City's Rockefeller Center.
+1932      	Revolution in Siam (Thailand) replaces the monarchy with a constitutional government.
+1932      	Sir Oswald Mosley founds the British Union of Fascists.
+1932      	The Bonus Army of war veterans is dispersed by troops in Washington, D.C.
+1932      	The Royal Shakespeare Theater opens at Stratford-on-Avon, England.
+1932      	The first particle accelerator is built at the Cavendish Laboratory in England.
+1933      	A fossilized skull of the prehistoric Steinheim man is found in Germany.
+1933      	Actor Charles Laughton stars in the film The Private Life of Henry VIII.
+1933      	Busby Berkeley choreographs the dances for the film Gold Diggers of 1933.
+1933      	Dancers Fred Astaire and Ginger Rogers star in the film Flying Down to Rio.
+1933      	Edwin Armstrong invents frequency modulation (FM) to eliminate radio static.
+1933      	Fiorello La Guardia is elected mayor of New York City for the first time.
+1933      	Frances Perkins becomes the first woman cabinet member in U.S. history.
+1933      	French novelist and political activist Andre Malraux publishes Man's Fate.
+1933      	Fulgencio Batista leads a military coup against Gerardo Machado y Morales in Cuba.
+1933      	Jimmy and Tommy Dorsey found their first swing band.
+1933      	Joseph Goebbels is appointed as minister of propaganda for the Nazi party.
+1933      	Mae West stars in the films She Done Him Wrong and I'm No Angel.
+1933      	Norwegian fascist Vidkun Quisling founds the National Unity party.
+1933      	President Paul von Hindenburg names Adolf Hitler as chancellor of Germany.
+1933      	Roosevelt is inaugurated as the 32nd U.S. president; Garner becomes vice-president.
+1933      	The 21st Amendment ends the prohibition era in the U.S.
+1933      	The Marx Brothers star in the classic comedy film Duck Soup.
+1933      	The National Recovery Administration (NRA) is launched by President Roosevelt.
+1933      	The Nazis erect the first concentration camps in Germany.
+1933      	The Public Works Administration (PWA) is formed to fund public construction projects.
+1933      	The Reichstag fire gives the Nazis a pretext for outlawing the German Communist party.
+1933      	The Stavisky affair causes a financial scandal in France.
+1934      	Alexander, king of Yugoslavia, is assassinated; his son Peter II succeeds him.
+1934      	American cartoonist Al Capp begins the comic strip Li'l Abner.
+1934      	Chancellor Engelbert Dollfuss is murdered by Austrian Nazis.
+1934      	Cole Porter writes the score for the Broadway musical Anything Goes.
+1934      	Drought leads to severe dust storms in the Dust Bowl region of the Great Plains.
+1934      	Elijah Muhammad becomes leader of the Nation of Islam (the Black Muslims).
+1934      	George Balanchine and Lincoln Kirstein found The School of American Ballet.
+1934      	Henry Miller publishes the Tropic of Cancer. (It is banned in the U.S. until 1961.)
+1934      	Hitler becomes Fuhrer (leader) of Germany after Hindenburg's death.
+1934      	John Dillinger, public enemy number one, is killed by the FBI.
+1934      	Lazaro Cardenas is chosen by Plutarco Calles as president of Mexico.
+1934      	Lillian Hellman's play The Children's Hour is produced.
+1934      	Mao Tse-tung leads the Chinese Communists on the Long March.
+1934      	Naturalist Charles W. Beebe makes a record dive of 3,028 ft in a bathyscaphe.
+1934      	SA leader Ernst Roehm is assassinated on the orders of Hitler.
+1934      	Surrealist artist Rene Magritte paints The Human Condition.
+1934      	The British ocean liner Queen Mary is launched.
+1934      	The Federal Communications Commission (FCC) is formed to regulate broadcasting.
+1934      	The Securities and Exchange Commission (SEC) is formed to protect U.S. investors.
+1935      	American writer Thomas Wolfe publishes Of Time and the River.
+1935      	Arthur Dempster discovers U-235, the isotope of uranium used in atomic bombs.
+1935      	Child film actress Shirley Temple stars in The Little Colonel.
+1935      	Controversial Louisiana senator Huey P. Long is assassinated.
+1935      	Eduard Benes succeeds Tomas Masaryk as president of Czechoslovakia.
+1935      	Errol Flynn stars in the swashbuckling adventure film Captain Blood.
+1935      	Filmmaker Alfred Hitchcock directs The 39 Steps.
+1935      	George Gershwin composes the modern American opera Porgy and Bess.
+1935      	Hitler announces German rearmament in violation of the Treaty of Versailles.
+1935      	Italy invades Abyssinia (now Ethiopia).
+1935      	King of Swing Benny Goodman forms the Benny Goodman Trio.
+1935      	Leni Riefenstahl directs the Nazi propaganda film Triumph of the Will.
+1935      	Physicist Hideki Yukawa predicts the existence of the meson subatomic particle.
+1935      	Robert Sherwood's play The Petrified Forest is produced.
+1935      	Scottish physicist Robert Watson-Watt patents the first practical radar system.
+1935      	Swedish film actress Greta Garbo stars in Anna Karenina.
+1935      	The Monopoly board game is patented in the U.S.
+1935      	The Moscow subway is opened.
+1935      	The Nuremberg Racial Laws deprive German Jews of their citizenship.
+1935      	The monarchy is restored in Greece under George II.
+1936      	Black athlete Jesse Owens wins 4 gold medals at the Berlin Olympic Games.
+1936      	Boulder Dam is completed in Arizona (it is renamed Hoover Dam in 1947).
+1936      	Edward VIII abdicates as king of Great Britain; he is succeeded by George VI.
+1936      	HItler and Mussolini announce the Rome-Berlin Axis (alliance).
+1936      	Henry R. Luce begins publishing Life magazine.
+1936      	Ioannis Metaxas establishes a dictatorship in Greece.
+1936      	Italy and Germany send military forces and aid to support Franco in Spain.
+1936      	Italy annexes Abyssinia (Ethiopia); Emperor Haile Selassie is exiled.
+1936      	Japan concludes the Anti-Comintern Pact with Germany.
+1936      	John Maynard Keynes writes The General Theory of Employment, Interest and Money.
+1936      	Margaret Mitchell publishes her only novel Gone With the Wind.
+1936      	Olympic ice skater Sonja Henie turns professional.
+1936      	Stalin begins the Great Purge of Soviet Russia's political and military leadership.
+1936      	The British Broadcasting Service (BBC) begins the first public television service.
+1936      	The Soviet Union and the International Brigades support the Nationalists in Spain.
+1936      	The Spanish Civil War begins when General Franco leads a military revolt.
+1936      	The works of the composer Dmitry Shostakovich are denounced in Russia.
+1937      	American author John Steinbeck publishes Of Mice and Men.
+1937      	Anastasio Somoza Garcia becomes president of Nicaragua.
+1937      	Aviatrix Amelia Earhart is lost during a flight across the Pacific.
+1937      	Ballet dancer Margot Fonteyn debuts in Giselle at Sadler's Wells, London.
+1937      	Danish author Isak Dinesen publishes her autobiography Out of Africa.
+1937      	English writer and scholar J.R.R. Tolkien publishes the fantasy novel The Hobbit.
+1937      	Farouk succeeds Fuad I as king of Egypt.
+1937      	Frank Lloyd Wright begins building the Taliesin West complex in Arizona.
+1937      	French filmmaker Jean Renoir directs Grand Illusion.
+1937      	German aircraft supporting Franco's forces destroy the town of Guernica in Spain.
+1937      	Joe Louis the Brown Bomber wins the heavyweight boxing championship.
+1937      	Nationalist and Communist forces unite to combat the Japanese in China.
+1937      	Neville Chamberlain succeeds Stanley Baldwin as prime minister of Britain.
+1937      	Swing bandleader Artie Shaw records Begin the Beguine.
+1937      	The Duke of Windsor (former King Edward VIII) marries the divorcee Mrs. Simpson.
+1937      	The German airship Hindenburg is destroyed by fire at Lakehurst, N.J.
+1937      	The Golden Gate Bridge is opened in San Francisco.
+1937      	The Japanese invasion of China begins the Second Sino-Japanese War.
+1938      	A coelacanth, a fish thought extinct for 65 million years, is caught off the cost of Africa.
+1938      	American composer Aaron Copland writes the ballet score for Billy the Kid.
+1938      	American singer Ella Fitzgerald records A-tisket, A-tasket.
+1938      	British prime minister Neville Chamberlain declares "peace for our time."
+1938      	Chamberlain and Daladier appease Hitler at the Munich Conference.
+1938      	Chester Carlson invents xerography, the first electrostatic dry-copying process.
+1938      	Don Budge becomes the first player to win the Grand Slam (4 tennis championships).
+1938      	General Franco isolates the Republican forces in Spain and attacks Catalonia.
+1938      	German chemist Otto Hahn discovers the principles of nuclear fission.
+1938      	Germany occupies the Sudetenland in western Czechoslovakia.
+1938      	Hitler invades Austria; a union (Anschluss) of Austria and Germany is proclaimed.
+1938      	Hungarian Lajos Biro invents the first practical ball-point pen.
+1938      	Ismet Inonu succeeds Kemal Atuturk as president of Turkey.
+1938      	Jewish property is attacked in Germany in the Kristallnacht (night of broken glass).
+1938      	Jewish psychoanalyst Sigmund Freud flees to England to escape Nazi persecution.
+1938      	Orson Welles' radio broadcast of War of the Worlds causes panic in the U.S.
+1938      	Swing musician Glenn Miller organizes his band.
+1938      	The House Committee on Un-American Activities investigates U.S. subversives.
+1938      	The U.S. and Britain send aid to the Chinese in their war against Japan.
+1938      	Thornton Wilder wins the Pulitzer Prize for his play Our Town.
+1938      	Walt Disney's feature-length cartoon Snow White and the Seven Dwarfs is shown.
+1939      	American author Nathanael West publishes The Day of the Locust.
+1939      	American novelist John Steinbeck publishes The Grapes of Wrath.
+1939      	An Anglo-Saxon burial ship is excavated at Sutton Hoo in England.
+1939      	Britain and France declare war on Germany but are unable to aid Poland.
+1939      	Child film actress Judy Garland stars in the musical The Wizard of Oz.
+1939      	Clark Gable and Vivien Leigh star in the film Gone With the Wind.
+1939      	English author Christopher Isherwood publishes Goodbye to Berlin.
+1939      	Foreign ministers Ribbentrop and Molotov sign the Nazi-Soviet Pact of nonaggression.
+1939      	General Franco's forces capture Madrid, ending the Spanish Civil War.
+1939      	Germany and Italy form the Pact of Steel military alliance.
+1939      	Germany invades Poland, beginning World War II.
+1939      	Igor Sikorsky develops America's first successful helicopter.
+1939      	Italian forces occupy Albania; King Zog is forced into exile.
+1939      	Physical chemist Linus Pauling publishes The Nature of the Chemical Bond.
+1939      	President Roosevelt (prompted by Einstein) orders a U.S. effort to build an atomic bomb.
+1939      	President Roosevelt declares U.S. neutrality in World War II.
+1939      	Robert Gordon Menzies succeeds Joseph Lyons as prime minister of Australia.
+1939      	Soviet troops invade Poland; Germany and the USSR partition the country.
+1939      	Swiss chemist Paul Muller discovers the chemical insecticide DDT.
+1939      	The He 176, the first jet airplane, takes to the air in Germany.
+1939      	The Russo-Finnish War begins with the Soviet invasion of Finland.
+1939      	The first nylon stockings are marketed.
+1940      	American novelist Carson McCullers publishes The Heart is a Lonely Hunter.
+1940      	Bing Crosby, Bob Hope and Dorothy Lamour star in the film Road to Singapore.
+1940      	British air victory in the Battle of Britain prevents the German invasion of England.
+1940      	Cary Grant and Katharine Hepburn star in the film The Philadelphia Story.
+1940      	Ernest Hemingway publishes For Whom the Bell Tolls.
+1940      	Exiled revolutionary Leon Trotsky is assassinated in Mexico on Stalin's orders.
+1940      	General Charles de Gaulle rallies Free French resistance in London.
+1940      	German forces reach Paris; Vichy France under Marshal Petain signs an armistice.
+1940      	Germany invades Denmark and Norway; Allied forces aid Norway but are defeated.
+1940      	Italian forces invade Egypt but are repulsed; the British invade Libya.
+1940      	Italy declares war on the Allies and invades southern France.
+1940      	Japan joins the Axis alliance and occupies northern French Indochina (Vietnam).
+1940      	King Carol II of Romania abdicates; Romania and Hungary join the Axis forces.
+1940      	Prehistoric cave paintings are discovered at Lascaux in France.
+1940      	Raymond Chandler publishes the detective novel Farewell, My Lovely.
+1940      	The British expeditionary force is evacuated from Dunkerque in France.
+1940      	The German army begins a blitzkrieg attack on Holland, Belgium, and France.
+1940      	The Soviet Union annexes the Baltic States of Lithuania, Estonia and Latvia.
+1940      	The Tacoma Narrows bridge collapses because of oscillations caused by the wind.
+1940      	Winston Churchill becomes British prime minister after Chamberlain resigns.
+1941      	A British task force sinks the German pocket battleship Bismarck.
+1941      	Baseball player Joe DiMaggio sets a new record for hitting in 56 consecutive games.
+1941      	Churchill and Roosevelt's Atlantic Charter meeting establishes war and peace aims.
+1941      	German U-boats inflict heavy losses on British shipping in the Battle of the Atlantic.
+1941      	German paratroopers land on Crete and capture the island from the British.
+1941      	German playwright Bertholt Brecht writes Mother Courage and Her Children.
+1941      	Germany invades Yugoslavia and Greece; British forces are evacuated to Crete.
+1941      	Germany invades the Soviet Union.
+1941      	Gutzon Borglum completes the sculptured heads of four presidents at Mount Rushmore.
+1941      	Ho Chi Minh organizes the Viet Minh to combat the Japanese in Indochina.
+1941      	Japanese forces capture Hong Kong and invade Malaya and the Philippines.
+1941      	Karsh's photographic portrait of Churchill becomes a symbol of British resistance.
+1941      	Nazi leader Rudolf Hess flies to England on a quixotic peace mission.
+1941      	Orson Welles directs the film Citizen Kane.
+1941      	President Roosevelt talks of Four Freedoms in his State of the Union speech.
+1941      	Swedish film actress Greta Garbo retires.
+1941      	The German Africa Corps under Erwin Rommel begins an offensive in North Africa.
+1941      	The German Blitz, the nighttime bombing of London, is at its height.
+1941      	The German advance on Moscow is halted by the winter weather.
+1941      	The Japanese bomb Pearl Harbor; America enters World War II.
+1941      	The Japanese occupy Indochina and move into Cambodia (Kampuchea) and Thailand.
+1941      	The Lend-Lease Act allows the transfer of U.S. war materials to Britain and China.
+1941      	The U.S. freezes Japanese assets in retaliation for Japan's territorial aggression.
+1941      	U.S. troops occupy Iceland to forestall its occupation by Germany.
+1942      	A Russian counterattack isolates the Sixth Army at Stalingrad; Hitler orders no retreat.
+1942      	A U.S. fleet defeats the Japanese at the Battle of Midway.
+1942      	Actor James Cagney wins an Academy Award for the film Yankee Doodle Dandie.
+1942      	American B-25 bombers make the Doolittle Raid on Tokyo.
+1942      	American and Filipino forces retreat to the Bataan Peninsula in the Philippines.
+1942      	American crooner Bing Crosby records the hit song White Christmas.
+1942      	American forces in the Philippines surrender; the Bataan death march begins.
+1942      	American humorist James Thurber publishes The Secret Life of Walter Mitty.
+1942      	French writer Albert Camus publishes The Stranger.
+1942      	Gandhi is arrested after the Quit India movement demands a British withdrawal.
+1942      	General MacArthur is ordered to the leave the Philippines; he vows I shall return.
+1942      	German forces occupy Vichy France; the French fleet is scuttled in Toulon harbor.
+1942      	Hitler proposes the Final Solution of the Jewish Question; the Holocaust begins.
+1942      	Humphrey Bogart and Ingrid Bergman star in the classic film Casablanca.
+1942      	Italian filmmaker Luchino Visconti directs his first film Ossessione.
+1942      	Manhattan Project scientists under Fermi produce the first controlled chain reaction.
+1942      	Rommel's Africa Corps capture Tobruk and drive the British back to Egypt.
+1942      	The British Eighth Army under Montgomery begins a new drive into Libya.
+1942      	The German advance in the Caucasus is halted at Stalingrad (now Volgograd).
+1942      	The German advance on Egypt is halted at the Battle of El-Alamein.
+1942      	The Japanese conquer Malaya, Singapore, Indonesia and Burma.
+1942      	The RAF makes the first 1,000 bomber raid on the German city of Cologne.
+1942      	The Soviet southern offensive is halted; the Germans advance on the Caucasus.
+1942      	The U.S. government transfers 110,000 Japanese Americans to internment camps.
+1942      	U.S. Marines invade Guadalcanal, beginning the campaign of re-conquest.
+1942      	U.S. forces under General Eisenhower invade Morocco and Algeria.
+1942      	V-2 (Vengeance Weapon 2) rockets are tested at Peenemunde in Germany.
+1943      	American aircraft join the RAF in round the clock bombing of Germany.
+1943      	American author Carson McCullers publishes The Ballad of the Sad Cafe.
+1943      	American writer Ayn Rand publishes The Fountainhead.
+1943      	Churchill and Roosevelt meet at Casablanca to plan their war strategy.
+1943      	Churchill, Roosevelt and Stalin meet at the Tehran Conference.
+1943      	French existentialist writer Jean Paul Sartre publishes Being and Nothingness.
+1943      	French writer and feminist Simone de Beauvoir publishes She Came to Stay.
+1943      	German paratroopers rescue Mussolini.
+1943      	Marine explorer Jacques-Yves Cousteau invents the Aqualung (scuba).
+1943      	Marshal Badoglio signs an armistice with the Allies; Italy declares war on Germany.
+1943      	Mussolini is deposed; Marshal Badoglio assumes power in Italy.
+1943      	Richard Rodgers and Oscar Hammerstein's musical Oklahoma! is produced.
+1943      	Robert Oppenheimer establishes the Los Alamos laboratory to build the atomic bomb.
+1943      	Singer Paul Robeson stars in the title role of the Broadway production of Othello.
+1943      	The Allied armies invade Sicily.
+1943      	The Allies invade the southern tip of Italy.
+1943      	The British and American armies link up in Africa; 250,000 Axis prisoners are taken.
+1943      	The German Sixth Army surrenders at Stalingrad; 100,000 are taken prisoner.
+1943      	The Germans suppress a revolt by Polish Jews; the Warsaw ghetto is destroyed.
+1943      	The Russian offensive reaches the Dnepr River; Kiev and Smolensk are recaptured.
+1943      	The Russians defeat the Germans at Kursk in the largest tank battle in history.
+1944      	A British airborne landing at Arnhem in the Netherlands is repulsed by the Germans.
+1944      	Aaron Copland composes the ballet Appalachian Spring.
+1944      	Allied D-Day invasion forces land at Normandy in northern France.
+1944      	Allied forces break out from the Normandy enclave and liberate Paris.
+1944      	Allied forces in Italy land behind the German Gustav Line at Anzio.
+1944      	American aircraft from the Marianas begin the strategic bombing of Japan.
+1944      	American forces under General Mark Clark occupy Rome.
+1944      	An Allied invasion force lands in southern France.
+1944      	British forces begin the reconquest of Burma from the Japanese.
+1944      	British forces occupy Athens and intervene in a communist inspired civil war.
+1944      	Child film actors Mickey Rooney and Elizabeth Taylor star in National Velvet.
+1944      	Communist resistance fighters under Josip Broz-Tito liberate Yugoslavia.
+1944      	English writer Somerset Maugham publishes The Razor's Edge.
+1944      	Evangelist Aimee Semple McPherson dies from an accidental drug overdose.
+1944      	French novelist Colette writes Gigi.
+1944      	German officers attempt to assassinate Hitler.
+1944      	Oswald Avery determines that DNA is the hereditary material of the cell.
+1944      	Polish resistance fighters are defeated by the Germans in the Warsaw Uprising.
+1944      	Romania and Bulgaria sign an armistice with the Allies and declare war on Germany.
+1944      	Roosevelt is reelected for an unprecedented fourth term; Truman becomes vice-president.
+1944      	Soviet forces cross the Romanian border and reconquer the Crimea.
+1944      	Soviet forces reach the suburbs of Warsaw in Poland.
+1944      	Tennessee Williams' play The Glass Menagerie is produced.
+1944      	The G.I. Bill of Rights is established to provide assistance to war veterans.
+1944      	The German army launches the Battle of the Bulge, its last counteroffensive.
+1944      	The Soviet's relieve the city of Leningrad after a German siege lasting 890 days.
+1944      	The U.S. First Army occupies Aachen -- the first German city to fall to the Allies.
+1944      	The World Bank is established to assist European postwar recovery.
+1944      	U.S. Marines invade Guam and Saipan in the Marianas.
+1944      	U.S. forces under Admiral Nimitz defeat a Japanese fleet in the Battle of the Philippine Sea.
+1944      	V-1 (and later the V-2) weapons of vengeance are launched against London.
+1945      	Advancing Allied armies discover Nazi extermination camps.
+1945      	Allied forces cross the Rhine and begin the final assault on Germany.
+1945      	British actor Laurence Olivier wins critical acclaim for his portrayal of Richard III.
+1945      	British author George Orwell publishes the satirical fable Animal Farm.
+1945      	Charlie "Bird" Parker and Dizzy Gillespie make the first bebop recordings.
+1945      	Churchill is defeated in the British elections by Labour leader Clement Attlee.
+1945      	Churchill, Roosevelt and Stalin meet at the Yalta Conference.
+1945      	Churchill, Truman and Stalin hold the last wartime conference at Potsdam.
+1945      	Egypt, Saudi Arabia, Syria, Lebanon, Iraq, Jordan and Yemen form the Arab League.
+1945      	French dramatist Jean Giraudoux writes the play The Madwoman of Chaillot.
+1945      	General MacArthur heads the U.S. occupation forces in Japan.
+1945      	German jet aircraft are unable to prevent mass Allied air attacks.
+1945      	German playwright Bertholt Brecht writes The Caucasian Chalk Circle.
+1945      	German rocket engineer Wernher Von Braun continues his research in the U.S.
+1945      	Germany and Austria are divided between the Allies into 4 zones of occupation.
+1945      	Hitler commits suicide in his Berlin bunker; Germany surrenders to the Allies.
+1945      	Ho Chi Minh proclaims the independence of the Democratic Republic of Vietnam.
+1945      	Indonesian nationalists led by Sukarno proclaim the nation independent.
+1945      	Japan signs an armistice with the Allies, ending World War II.
+1945      	Korea is divided between U.S. and Soviet occupation forces along the 38th parallel.
+1945      	Marshal Zhukov's Soviet troops launch the final attack on Berlin.
+1945      	Mussolini is killed by Italian partisans.
+1945      	Nationalists and Communist forces resume their civil war in China.
+1945      	Romulo Betancourt becomes president of Venezuela for the first time.
+1945      	Roosevelt dies; Harry S. Truman is inaugurated as the 33rd U.S. president.
+1945      	Singer Frank Sinatra stars in the film musical Anchors Aweigh.
+1945      	Suicide attacks by Japanese kamikaze pilots are unable to stem the U.S. advances.
+1945      	The Soviet Union declares war on Japan.
+1945      	The U.S. drops atomic bombs on the Japanese cities of Hiroshima and Nagasaki.
+1945      	The United Nations is formed; Trygve Halvdan Lie becomes secretary-general (1946).
+1945      	The trial of Nazi war criminals begins at Nuremberg in Germany.
+1945      	Tito becomes head of the Socialist Federal Republic of Yugoslavia.
+1945      	U.S. Marines invade the Japanese islands of Iwo Jima and Okinawa.
+1945      	U.S. forces under MacArthur liberate the Philippines.
+1946      	American author Robert Penn Warren publishes All the King's Men.
+1946      	Communists abolish the monarchy in Bulgaria; Georgi Dimitrov becomes premier.
+1946      	Dr. Spock publishes The Commonsense Book of Baby and Child Care.
+1946      	EAM-ELAS communist forces begin a civil war in Greece.
+1946      	ENIAC, the first successful electronic digital computer, becomes operational.
+1946      	Elections in Italy abolish the monarchy in favor of a republic.
+1946      	General De Gaulle resigns as president of France; the Fourth Republic is formed.
+1946      	Greek author Nikos Kazantzakis publishes Zorba the Greek.
+1946      	Juan Peron is elected president of Argentina.
+1946      	MacArthur promotes Japanese democracy with the emperor as constitutional monarch.
+1946      	Saint Frances Xavier Cabrini becomes the first U.S. citizen to be canonized.
+1946      	Swiss-French architect Le Corbusier designs Unite d'Habitation in Marseilles.
+1946      	Terence Rattigan's play The Winslow Boy is produced.
+1946      	The Philippines are granted independence with Manuel Roxas y Acuna as president.
+1946      	The Viet Minh begin a guerrilla war against the French in Indochina (Vietnam).
+1946      	Winston Churchill describes the Iron Curtain created in Europe by the Soviets.
+1947      	American pilot Kenneth Arnold makes the first alleged sighting of flying saucers.
+1947      	Artist Jackson Pollock produces Full Fathom Five using drip paint techniques.
+1947      	Artist Mark Rothko begins experimenting with Color-field painting.
+1947      	Baseball player Jackie Robinson becomes the first black to play in the major leagues.
+1947      	British atomic bomb scientist Klaus Fuchs is arrested for giving information to the USSR.
+1947      	Chuck Yeager breaks the sound barrier for the first time in an X-1 rocket plane.
+1947      	Conductor Sir Thomas Beecham forms the Royal Philharmonic Orchestra in London.
+1947      	Dennis Gabor invents holography, a means of producing a three-dimensional image.
+1947      	Edwin Land demonstrates the single-step Polaroid Land Camera.
+1947      	English composer Benjamin Britten writes the opera Peter Grimes.
+1947      	French fashion designer Christian Dior opens his own couture house.
+1947      	French literary figure Andre Gide wins the Nobel Prize for literature.
+1947      	Gheorghiu-Dej heads the Romanian Communist party; King Michael abdicates.
+1947      	India becomes independent and is divided into the nations of India and Pakistan.
+1947      	Jawaharlal Nehru becomes the first prime minister of India.
+1947      	Norwegian explorer Thor Heyerdahl sails on the balsa raft Kon Tiki from Peru to Polynesia.
+1947      	Tennessee Williams' play A Streetcar Named Desire is produced.
+1947      	The Dead Sea Scrolls, a collection of ancient Hebrew documents, are discovered.
+1947      	The U.S. Marshall Plan for economic recovery in Europe is established.
+1947      	The United Nations elect to partition Palestine into Arab and Jewish states.
+1947      	The first India-Pakistan War begins when Pakistani tribesmen invade Kashmir.
+1947      	The story of a Jewish victim of the Nazis, The Diary of Anne Frank, is published.
+1948      	Alec Guinness stars as Fagin in the film of Dicken's Oliver Twist.
+1948      	Alfred Kinsey publishes his report on Sexual Behavior in the Human Male.
+1948      	American opera singer Beverly Sills debuts in Bizet's Carmen.
+1948      	American writer Norman Mailer publishes the war novel The Naked and the Dead.
+1948      	Arab armies invade Israel in the first Arab-Israeli War.
+1948      	Britain grants independence to Burma.
+1948      	Communist leader Kim Il Sung establishes the People's Republic of Korea (N. Korea).
+1948      	Dutch track star Fanny Blankers-Koen wins four gold medals in the Olympic Games.
+1948      	George Balanchine's Ballet Society is renamed the New York City Ballet.
+1948      	Indian leader Mahatma Gandhi is assassinated by a Hindu fanatic.
+1948      	Italian filmmaker Vittorio De Sica directs The Bicycle Thieves.
+1948      	Palestinian Jews proclaim the independent state of Israel.
+1948      	Stalin expels Yugoslavia from the Communist bloc.
+1948      	The Communist party assumes power in Hungary under Matyas Rakosi.
+1948      	The Malayan Communist party begins an insurrection against British rule.
+1948      	The Republic of Korea (S. Korea) is inaugurated, Syngman Rhee becomes president.
+1948      	The Soviets blockade West Berlin; Britain and the U.S. begin the Berlin Airlift.
+1948      	The U.S. Air Force begins the Project Blue Book study of the UFO phenomenon.
+1948      	The apartheid policy of racial segregation is made official in South Africa.
+1948      	The transistor is invented at Bell Laboratories in the U.S.
+1949      	Abstract artist Robert Motherwell begins his series Elegy to the Spanish Republic.
+1949      	Architect Philip Johnson designs the Glass House in New Caanan, Conn.
+1949      	Arthur Miller's play Death of a Salesman is produced.
+1949      	British abstract sculptor Henry Moore completes the bronze Family Group.
+1949      	British author George Orwell publishes the futuristic novel Nineteen Eighty-Four.
+1949      	Civil war ends in Greece with the defeat of the Communist forces.
+1949      	Communists under Mao defeat the Nationalists and form the People's Republic of China.
+1949      	Konrad Adenauer becomes the first chancellor of West Germany.
+1949      	Miles Davis makes the first "cool" jazz records.
+1949      	Nationalist Chinese forces under Chiang Kai-shek flee to the island of Taiwan.
+1949      	Rogers and Hammerstein's Broadway musical South Pacific is produced.
+1949      	The Hashimite Kingdom of Transjordan is renamed as Jordan.
+1949      	The Netherlands grants independence to Indonesia (formerly the Dutch East Indies).
+1949      	The North Atlantic Treaty Organization is formed to deter Soviet aggression.
+1949      	The Republic of Germany (West Germany) is established by the Western powers.
+1949      	The Soviet Union detonates its first atomic bomb.
+1949      	The Soviets establish the German Democratic Republic (East Germany).
+1949      	The first India-Pakistan War ends with the partition of Kashmir.
+1950      	Adnan Menderes replaces Ismet Inonu as prime minister of Turkey.
+1950      	Bette Davis stars in the film All About Eve.
+1950      	Cartoonist Charles Schulz creates the Peanuts comic strip.
+1950      	Chinese forces invade Tibet, which is officially annexed in 1951.
+1950      	Communist North Korean forces invade South Korea.
+1950      	George Burns and Gracie Allen star in The Burns and Allen Show television series.
+1950      	Isaac Asimov publishes the science-fiction classic I Robot.
+1950      	Japanese film director Akira Kurosawa achieves recognition with Rashomon.
+1950      	President Truman orders the development of the hydrogen bomb.
+1950      	Senator Joseph McCarthy begins his inquiry into un-American activities.
+1950      	The UN sanctions military aid for South Korea; MacArthur is appointed commander.
+1950      	U.S. official Alger Hiss is convicted of perjury for denying that he knew a Soviet agent.
+1950      	UN forces cross into North Korea but are repulsed by the Chinese army.
+1950      	UN forces land at Inchon and drive the North Koreans out of South Korea.
+1951      	A frontline is stabilized at the 38th parallel in Korea; peace negotiations begin at Kaesong.
+1951      	American novelist Kurt Vonnegut publishes Player Piano.
+1951      	American poet Marianne Moore publishes her Collected Poems.
+1951      	American writer J.D. Salinger publishes The Catcher in the Rye.
+1951      	American writer James Jones publishes the war novel From Here to Eternity.
+1951      	Artist Stuart Davis uses words to function as abstract shapes in his painting Visa.
+1951      	Australia, New Zealand, and the U.S. sign the mutual defense Anzus Treaty.
+1951      	Auto racer Juan Fangio wins the world driving championship for the first time.
+1951      	Boxer Sugar Ray Robinson defeats Jake La Motta for the middleweight title.
+1951      	British Conservatives win a general election with Winston Churchill as leader.
+1951      	British spies Burgess and Maclean escape to the Soviet Union.
+1951      	Comedian Lucille Ball stars in the television series I Love Lucy.
+1951      	Igor Stravinsky's opera The Rake's Progress is premiered.
+1951      	Julius and Ethel Rosenberg are sentenced to death for espionage against the U.S.
+1951      	King Abdullah of Jordan is assassinated by a Palestinian nationalist.
+1951      	Leopold III of Belgium is forced to abdicate because of his wartime conduct.
+1951      	President Truman dismisses MacArthur as commander in Korea.
+1951      	Prime minister Muhammad Mosaddeq nationalizes Iran's oil resources.
+1951      	Rodgers and Hammerstein's Broadway musical The King and I is produced.
+1951      	Ten million television receivers have been installed in U.S. homes.
+1951      	The 22nd Amendment restricts U.S. presidents to a maximum of two terms.
+1951      	The UN General Assembly brands Communist China an aggressor in the Korean War.
+1951      	The first successful videotape for recording television images is demonstrated.
+1951      	UNIVAC I, the first commercial computer, is accepted by the U.S. Bureau of the Census.
+1952      	A bloodless coup returns Fulgencio Batista to power in Cuba.
+1952      	Agatha Christie's record-breaking play The Mouse Trap opens in London.
+1952      	American sculptor Isamu Noguchi designs two bridges for the Peace Park at Hiroshima.
+1952      	American writer E.B. White publishes the children's book Charlotte's Web.
+1952      	British architect Michael Ventris deciphers the ancient Greek Linear B script.
+1952      	Chuck Yaeger sets a new air speed record of 1,650 mph in the X-1A research plane.
+1952      	Communist POW riots in South Korea delay peace negotiations.
+1952      	Czech runner Emil Zatopek wins 3 gold medals in the Helsinki Olympic Games.
+1952      	Dancer Gene Kelly stars in the film Singin' in the Rain.
+1952      	Eva Peron, popularly known as Evita, dies in Argentina.
+1952      	Gary Cooper and Grace Kelly star in the Western film High Noon.
+1952      	Gordon Bunshaft designs the Lever House, an early International Style building.
+1952      	Hostilities continue in Korea with increased UN air strikes against the north.
+1952      	King Farouk of Egypt is overthrown in a revolution led by Gen. Muhammad Naguib.
+1952      	Kwame Nkrumah is elected prime minister of the Gold Coast (Ghana).
+1952      	Medical missionary Albert Schweitzer is awarded the Nobel Peace Prize.
+1952      	Opera singer Maria Callas debuts at London's Covent Garden.
+1952      	Queen Elizabeth II ascends to the British throne on the death of her father George VI.
+1952      	Samuel Beckett's play Waiting For Godot is produced in Paris.
+1952      	The British de Havilland Comet becomes the first jet airliner to enter service.
+1952      	The Commonwealth of Puerto Rico is formed with Luis Munoz Marin as governor.
+1952      	The Mau Mau uprising begins in Kenya; Jomo Kenyatta is imprisoned.
+1952      	The U.S. tests the first hydrogen bomb in the Pacific.
+1952      	The first automatic pinsetter is installed in a bowling alley in Brooklyn, N.Y.
+1952      	Turkey joins the North Atlantic Treaty Organization (NATO).
+1952      	Vice-presidential candidate Richard Nixon makes his Checkers speech.
+1953      	A Redstone rocket (based on the German V-2) is tested at Cape Canaveral.
+1953      	American physicist Charles H. Townes invents the maser.
+1953      	American tennis player Maureen Connolly (Little Mo) wins the Grand Slam.
+1953      	American writer Saul Bellow publishes The Adventures of Augie March.
+1953      	An armistice ends the Korean War; the country remains divided into North and South.
+1953      	Arthur Miller writes The Crucible, a play about the Salem Witch Trials.
+1953      	Black writer James Baldwin publishes his first novel Go Tell It on the Mountain.
+1953      	Communist statesman Imre Nagy becomes premier of Hungary.
+1953      	Dag Hammarskjold succeeds Trygve Lie as secretary-general of the UN.
+1953      	Edmund Hillary and Tenzing Norgay are the first to climb Mount Everest.
+1953      	Eisenhower is inaugurated as the 34th U.S. president; Nixon becomes vice-president.
+1953      	Fidel Castro leads an attack on an army barracks in Cuba; he is captured and imprisoned.
+1953      	Golfer Ben Hogan wins the U.S. Open, Masters, and British Open tournaments.
+1953      	Hugh Hefner publishes the first issue of Playboy magazine.
+1953      	Hussein I succeeds his father as king of Jordan.
+1953      	Israeli prime minister Ben-Gurion retires; he is succeeded by Moshe Sharett.
+1953      	Jacques Piccard's bathyscaphe the Trieste descends to a depth of 10,330 ft.
+1953      	James Watson and Francis Crick propose the double helix structure of DNA.
+1953      	John Foster Dulles is selected as the U.S. secretary of state.
+1953      	Laos, formerly a part of French Indochina, is granted independence.
+1953      	Lavrenti Beria, head of the Soviet security service, is arrested and executed.
+1953      	Marilyn Monroe stars in the film Gentlemen Prefer Blondes.
+1953      	Murray Gell-Mann proposes the strangeness property of some subatomic particles.
+1953      	Physicist Donald Glaser invents the bubble chamber to detect subnuclear particles.
+1953      	Soviet dictator Joseph Stalin dies; Georgy M. Malenkov becomes the new premier.
+1953      	The first heart-lung machine is developed by Dr. John Gibbon.
+1953      	The fossil remains of Piltdown man are proved a hoax 41 years after their discovery.
+1954      	A Supreme Court decision prohibits racial segregation in U.S. public schools.
+1954      	American novelist Evan Hunter publishes The Blackboard Jungle.
+1954      	British artist Francis Bacon begins his Portrait of Pope Innocent X series.
+1954      	British novelist William Golding publishes Lord of the Flies.
+1954      	Dylan Thomas' radio play Under Milk Wood is performed posthumously.
+1954      	English runner Roger Bannister is first to run the mile in under 4 minutes.
+1954      	French forces are defeated at the Battle of Dien Bien Phu in North Vietnam.
+1954      	Gamal Abdel Nasser ousts Gen. Muhammad Naguib as president of Egypt.
+1954      	Ian Fleming publishes the first James Bond thriller Casino Royale.
+1954      	Italian film-maker Federico Fellini directs La Strada.
+1954      	Kingsley Amis, one of England's angry young men, publishes Lucky Jim.
+1954      	Marlon Brando stars in Elia Kazan's film On the Waterfront.
+1954      	National Liberation Front (FLN) raids on French property spark the Algerian War.
+1954      	Senator McCarthy is discredited for failing to prove claims of communist penetration.
+1954      	The Geneva Conference establishes the partition of Vietnam into North and South.
+1954      	The U.S. and Canada begin construction of the St. Lawrence Seaway.
+1954      	The U.S. nuclear submarine the Nautilus is launched.
+1955      	A military coup in Argentina deposes president Juan Peron.
+1955      	American artist Jasper Johns begins his paintings of American flags and targets.
+1955      	American artist Larry Rivers paints Double Portrait of Birdie.
+1955      	American rock 'n' roll musician Bill Haley records Rock Around the Clock.
+1955      	Anthony Eden succeeds Winston Churchill as prime minister of Great Britain.
+1955      	Austria achieves independence; the four-power occupation is terminated.
+1955      	British writer Graham Greene publishes The Quiet American.
+1955      	British writer and scholar J.R.R. Tolkien completes The Lord of the Rings.
+1955      	David Ben-Gurion returns as prime minister of Israel.
+1955      	Film star James Dean is killed in a car crash.
+1955      	Jonas Salk's vaccine against polio comes into widespread use.
+1955      	Marian Anderson becomes the first black to perform at the Metropolitan Opera House.
+1955      	Martin Luther King, Jr. leads a boycott against racial segregation on buses.
+1955      	Russian writer Vladimir Nabokov publishes the novel Lolita.
+1955      	Satyajit Ray directs Pather Panchali, the first film in a trilogy on Bengali family life.
+1955      	The Federal Republic of Germany joins NATO.
+1955      	The Warsaw Pact establishes a military alliance of European Communist nations.
+1955      	Theologian Pierre Teilhard de Chardin publishes The Phenomenon of Man.
+1956      	American beat poet Allen Ginsberg publishes Howl and Other Poems.
+1956      	American television news show The Huntley-Brinkley Report begins.
+1956      	American writer Grace Metalious publishes Peyton Place.
+1956      	Anglo-French forces invade Egypt but withdraw after protests from the U.S.
+1956      	Archbishop Makarios III is deported from Cyprus by the British.
+1956      	Brendan Behan's play The Quare Fellow opens in London.
+1956      	Britain, France and Israel agree on a secret joint action against Egypt.
+1956      	British artist Richard Hamilton produces the first pop art work.
+1956      	David Niven stars in the film Around the World in Eighty Days.
+1956      	Eugene O'Neill's play Long Day's Journey Into Night is produced.
+1956      	Fidel Castro and Che Guevara land in Cuba and begin a guerrilla war.
+1956      	Film actress Grace Kelly marries Prince Rainier III of Monaco.
+1956      	Heavyweight boxing champion Rocky Marciano retires without being defeated.
+1956      	Israeli forces under Moshe Dayan seize the Gaza Strip and the Sinai Peninsula.
+1956      	John Osborne's first play Look Back In Anger is produced in London.
+1956      	Lerner and Loewe's musical My Fair Lady opens in New York.
+1956      	President Anastasio Somoza Garcia is assassinated in Nicaragua.
+1956      	President Nasser nationalizes the Suez Canal before the British lease expires.
+1956      	President Ngo Dinh Diem refuses to hold elections in South Vietnam.
+1956      	Rock 'n roll singer Elvis Presley records his first hit Heartbreak Hotel.
+1956      	Soviet first secretary Nikita Khrushchev denounces the crimes of the Stalin era.
+1956      	Sudan gains independence from Anglo-Egyptian rule.
+1956      	The Hungarian Uprising is suppressed by Soviet troops.
+1956      	The Italian ocean liner Andrea Doria sinks off the U.S. coast after a collision in fog.
+1956      	Tunisia and Morocco are granted independence by France.
+1957      	Beat generation writer Jack Kerouac publishes On The Road.
+1957      	Black tennis player Althea Gibson wins the U.S. Open and Wimbledon championships.
+1957      	British philosopher A.J. Ayer publishes The Problem of Knowledge.
+1957      	British prime minister Anthony Eden resigns; is succeeded by Harold Macmillan.
+1957      	Dr. Seuss publishes the children's book The Cat in the Hat.
+1957      	Francois Duvalier (known as Papa Doc) is elected president of Haiti.
+1957      	Ghana gains independence; Kwame Nkrumah becomes the first prime minister.
+1957      	Jerome Robbins is director-choreographer of the musical West Side Story.
+1957      	John G. Diefenbaker succeeds Louis St. Laurent as prime minister of Canada.
+1957      	Lawrence Durrell publishes Justine, the first of The Alexandria Quartet novels.
+1957      	Scientists from 67 nations work together during the International Geophysical Year.
+1957      	Soviet leaders Malenkov and Molotov fail in an attempt to oust Khrushchev from power.
+1957      	Swedish filmmaker Ingmar Bergman directs The Seventh Seal.
+1957      	The Israeli army withdraws from Egypt; the Gaza Strip is policed by UN forces.
+1957      	The USSR launches Sputnik I, the first artificial satellite.
+1957      	The Viet Cong begin acts of rebellion in South Vietnam.
+1957      	Tunku Abdul Rahman becomes the first prime minister of independent Malaya (Malaysia).
+1958      	American economist J.K. Galbraith publishes The Affluent Society.
+1958      	American golfer Arnold Palmer wins the Masters tournament for the first time.
+1958      	American playwright Edward Albee writes The Zoo Story.
+1958      	American writer Truman Capote publishes the novella Breakfast At Tiffany's.
+1958      	Bertrand Russell founds the Campaign for Nuclear Disarmament (CND) in Britain.
+1958      	Civil war breaks out in Lebanon; it is ended when U.S. Marines land at Beirut.
+1958      	Egypt and Syria form the United Arab Republic.
+1958      	Gen. Muhammad Ayub Khan seizes control in Pakistan.
+1958      	Leonard Bernstein becomes the conductor of the New York Philharmonic orchestra.
+1958      	Nikita Khrushchev replaces Nikolai Bulganin as Soviet premier.
+1958      	Prime minister Hendrik Verwoerd extends South Africa's apartheid laws.
+1958      	Russian writer Boris Pasternak publishes the novel Doctor Zhivago.
+1958      	Soccer player Pele leads Brazil to victory in the World Cup.
+1958      	The Algerian crisis prompts the recall of Charles de Gaulle as president of France.
+1958      	The European Economic Community (EEC) is established.
+1958      	The French army and settlers in Algiers revolt over the Algerian War stalemate.
+1958      	The National Aeronautics and Space Administration (NASA) is founded.
+1958      	The U.S. launches the Explorer I and Vanguard I scientific satellites.
+1958      	The first intercontinental ballistic missile (ICBM) is launched in the U.S.
+1958      	The nuclear submarine Nautilus reaches the North Pole under the Polar ice cap.
+1958      	Wilson Greatbatch invents an artificial pacemaker to control heartbeats.
+1959      	Alaska is inaugurated as the 49th state of the Union.
+1959      	American writer Leon Uris publishes Exodus, a novel on the founding of Israel.
+1959      	American writer William Burroughs publishes The Naked Lunch.
+1959      	Anthropologists Richard and Mary Leakey discover an Australopithecus skull in Africa.
+1959      	Artist Robert Rauschenberg creates the three-dimensional collage Monogram.
+1959      	Cyprus gains independence from Britain; Archbishop Makarios becomes president.
+1959      	Fidel Castro ousts Cuban leader Fulgencio Batista in a communist revolution.
+1959      	Film actor Charlton Heston wins the Academy Award for his role in Ben-Hur.
+1959      	French New Wave filmmaker Jean Luc Godard directs Breathless.
+1959      	French filmmaker Alain Resnais directs Hiroshima Mon Amour.
+1959      	French filmmaker Francois Truffaut directs The 400 Blows.
+1959      	German writer Gunter Grass publishes his first novel The Tin Drum.
+1959      	Hawaii is inaugurated as the 50th state of the Union.
+1959      	Jack Lemon, Tony Curtis and Marilyn Monroe star in the film Some Like it Hot.
+1959      	Lee Kuan Yew becomes prime minister of Singapore.
+1959      	Lorraine Hansberry's A Raisin in the Sun is the first Broadway play by a black woman.
+1959      	NASA selects the first seven U.S. astronauts.
+1959      	Rock 'n roll star Buddy Holly is killed in a plane crash.
+1959      	Rod Serling hosts the Twilight Zone television series.
+1959      	Rogers and Hammerstein's Broadway musical The Sound of Music is produced.
+1959      	Sir Christopher Cockerell tests the first air-cushion vehicle.
+1959      	The Boeing 707 jet airliner enters service.
+1959      	The Dalai Lama flees to India after China crushes an uprising in Tibet.
+1959      	The Guggenheim Museum, designed by Frank Lloyd Wright, opens in New York City.
+1959      	The Soviet Union sends a series of Luna space probes to the Moon.
+1959      	The first flight is made by the X-15 rocket-powered research aircraft.
+1960      	69 Africans are killed in the Sharpeville massacre in South Africa.
+1960      	A military coup takes place in Turkey; prime minister Adnan Menderes is executed (1961).
+1960      	A student uprising forces the resignation of Syngman Rhee, president of South Korea.
+1960      	American author John Updike publishes the novel Rabbit Run.
+1960      	American physicist Theodore H. Maiman demonstrates the first successful laser.
+1960      	American track star Wilma Rudolph wins 3 gold medals at the Rome Olympic Games.
+1960      	An earthquake kills 15,000 at Agadir in Morocco.
+1960      	Belgium grants independence to the Congo (Zaire); Patrice Lumumba becomes premier.
+1960      	Britain grants independence to Nigeria; Abubakar Balewa continues as prime minister.
+1960      	Congo (Zaire) premier Patrice Lumumba is ousted by Joseph Mobutu and murdered.
+1960      	Filmmaker Alfred Hitchcock directs the suspense thriller Psycho.
+1960      	Former Nazi official Adolf Eichmann is abducted to Israel.
+1960      	France grants independence to the Congo, Chad, Central African Republic, and Gabon.
+1960      	Harold Pinter's play The Caretaker is produced.
+1960      	Italian filmmaker Michelangelo Antonioni directs La Notte (The Night).
+1960      	Jacques Piccard and Don Walsh descend to 35,800 ft in the bathyscaphe Trieste.
+1960      	NASA launches the first TIROS weather satellite.
+1960      	Religious broadcaster Pat Robertson founds the Christian Broadcasting Network.
+1960      	Sirimavo Bandaranaike becomes the world's first woman prime minister in Ceylon (Sri Lanka).
+1960      	South African civil rights leader Albert Luthuli wins the Nobel Peace Prize.
+1960      	The Congo crisis begins with the secession of Katanga province under Moise Tshombe.
+1960      	The Echo 1 experimental communications satellite is launched.
+1960      	The Motown record company is founded in Detroit by Berry Gordy.
+1960      	The South African government bans the African National Congress (ANC).
+1960      	The Soviets shoot down a U-2 spy plane; U.S. pilot Francis Gary Powers is captured.
+1960      	The first quasars, the most luminous known objects in the universe, are discovered.
+1960      	The first submerged firing is made of a Polaris submarine-launched missile.
+1960      	The planned city of Brasilia becomes the new capital of Brazil.
+1960      	The presidential debates of John F. Kennedy and Richard Nixon are televised.
+1960      	Viet Cong groups unite into the National Liberation Front of South Vietnam (NLFSV).
+1960      	Walter Ulbricht becomes head of East Germany.
+1961      	Agostinho Neto and Holden Roberto lead insurrections in Portuguese Angola.
+1961      	American writer Joseph Heller publishes the anti-war novel Catch-22.
+1961      	American-aided Cuban exiles attempt the unsuccessful Bay of Pigs invasion.
+1961      	Astronaut Alan Shepard makes the first U.S. suborbital space flight.
+1961      	Britain grants independence to Tanganyika (Tanzania) with Julius Nyerere as prime minister.
+1961      	British novelist Iris Murdoch publishes A Severed Head.
+1961      	English writer Muriel Spark publishes The Prime of Miss Jean Brodie.
+1961      	French filmmaker Francois Truffaut directs Jeanne Moreau in Jules and Jim.
+1961      	India annexes the Portugese territories of Goa, Daman, and Diu.
+1961      	Italian filmmaker Vittorio De Sica directs Sophia Loren in Alberto Moravia's Two Women.
+1961      	Italian opera singer Luciano Pavarotti debuts in Puccini's La Boheme.
+1961      	Kennedy is inaugurated as the 35th U.S. president; Johnson becomes vice-president.
+1961      	President Kennedy begins to increase the U.S. military presence in Vietnam.
+1961      	President Kennedy establishes the Peace Corps.
+1961      	President Kennedy sets a goal for landing a man on the Moon within the decade.
+1961      	President Rafael Trujillo is assassinated in the Dominican Republic.
+1961      	Roger Maris breaks Babe Ruth's home-run baseball record with a season total of 61.
+1961      	Science fiction writer Robert Heinlein publishes Stranger in a Strange Land.
+1961      	Soviet ballet dancer Rudolf Nureyev defects to the West.
+1961      	Soviet cosmonaut Yuri Gagarin orbits the earth.
+1961      	Swedish filmmaker Ingmar Bergman directs Max Von Sydow in Through a Glass Darkly.
+1961      	The Berlin Wall is constructed, separating East and West Berlin.
+1961      	The Kurds begin a guerrilla war against Iraq to gain independence for Kurdistan.
+1961      	The drug thalidomide is found to cause malformations in new born babies.
+1961      	UN secretary-general Dag Hammarskjold is killed in a plane crash in the Congo (Zaire).
+1961      	V.S. Naipaul writes about West Indian life in A House for Mr. Biswas.
+1962      	Actor Laurence Olivier becomes the first director of the National Theatre in London.
+1962      	Aleksandr Solzhenitsyn publishes One Day In the Life of Ivan Denisovich.
+1962      	Algeria gains independence from France; Ahmed ben Bella becomes prime minister.
+1962      	American artist Jim Dine paints the pop art subject Black Saw.
+1962      	American film actress Marilyn Monroe dies from a drug overdose.
+1962      	American historian Barbara Tuchman publishes The Guns of August.
+1962      	American writer Katherine Anne Porter publishes the novel Ship of Fools.
+1962      	American writer Ken Kesey publishes One Flew over the Cuckoo's Nest.
+1962      	Astronaut John Glenn becomes the first American to orbit the Earth.
+1962      	Basketball player Wilt Chamberlain scores a record 100 points in one game.
+1962      	Britain grants independence to Trinidad and Tobago with Eric Williams as chief minister.
+1962      	Britain grants independence to Uganda; Milton Obote becomes prime minister.
+1962      	British filmmaker David Lean directs Lawrence of Arabia.
+1962      	British writer Anthony Burgess publishes the futuristic novel A Clockwork Orange.
+1962      	Burmese diplomat U Thant becomes the first Asian secretary general of the UN.
+1962      	Edward Albee's play Who's Afraid of Virginia Woolf is produced on Broadway.
+1962      	Fashion designer Yves Saint Laurent opens his Parisian fashion house.
+1962      	Folk-rock singer and composer Bob Dylan writes Blowin' in the Wind.
+1962      	Georges Pompidou becomes premier of France's Fifth Republic.
+1962      	Polish filmmaker Roman Polanski directs his first film Knife in the Water.
+1962      	Pop artist Andy Warhol begins making silk screen prints of mass-media images.
+1962      	Rachel Carson criticizes indiscriminate use of pesticides in her book Silent Spring.
+1962      	Richard Burton and Elizabeth Taylor star in Cleopatra, the most expensive film to date.
+1962      	Science fiction writer J.G. Ballard publishes The Drowned World.
+1962      	Sonny Liston defeats Floyd Patterson to become heavyweight boxing champion.
+1962      	The British pop group The Beatles make their first recordings.
+1962      	The Cuban Missile Crisis begins; Soviet missiles are withdrawn from Cuba.
+1962      	The Mariner 2 spacecraft passes within 21,598 miles of Venus.
+1962      	The U.S. Supreme Court rules that school prayers are a violation of the 1st Amendment.
+1962      	The U.S. launches Telstar, the first commercial communications satellite.
+1962      	The University of Mississippi is forced to admit black student James Meredith.
+1963      	A UN peace keeping force ends the secession attempt of Katanga province (Shaba).
+1963      	A limited Nuclear Test Ban Treaty is signed by Britain, the U.S., and the USSR.
+1963      	American pop vocal group the Beach Boys release the record Surfin' U.S.A.
+1963      	American writer Mary McCarthy publishes The Group.
+1963      	Arecibo Observatory begins observations with a 1,000-ft wide radio telescope.
+1963      	Black nationalist Joshua Nkomo is imprisoned in Rhodesia (now Zimbabwe).
+1963      	Britain's entry to the European Economic Community is blocked by France.
+1963      	British filmmaker Joseph Losey directs The Servant.
+1963      	British spy Harold (Kim) Philby defects to the USSR.
+1963      	Czech dissident playwright Vaclav Havel writes The Garden Party.
+1963      	English writer John Le Carre publishes The Spy Who Came in from the Cold.
+1963      	Filmmaker Stanley Kubrick directs the anti-war film Dr. Strangelove.
+1963      	Football running back Jim Brown sets a record for rushes of 1,863 yards.
+1963      	Jack Nicklaus becomes the youngest golfer to win the Masters Tournament.
+1963      	John F. Kennedy assassin Lee Harvey Oswald is shot and killed by Jack Ruby.
+1963      	Kenya gains independence from Britain; Jomo Kenyatta becomes prime minister.
+1963      	Levi Eshkol succeeds David Ben-Gurion as prime minister of Israel.
+1963      	Ludwig Erhard succeeds Konrad Adenauer as chancellor of West Germany.
+1963      	Lyndon B. Johnson is inaugurated as the 36th President of the U.S.
+1963      	Malaya, Singapore, Sarawak and Sabah form the Federation of Malaysia.
+1963      	Martin Luther King, Jr. makes his "I Have a Dream" speech in Washington, D.C.
+1963      	Peter Sellers stars as Inspector Clouseau in the film The Pink Panther.
+1963      	Pop artist Claes Oldenburg creates the kapok-filled sculpture Soft Typewriter.
+1963      	Pop artist Roy Lichtenstein completes the comic strip painting Whaam.
+1963      	President Kennedy is assassinated in Dallas, Texas.
+1963      	President Ngo Dinh Diem of South Vietnam is assassinated.
+1963      	Race-car driver Jim Clark wins seven Grand Prix events and the world title.
+1963      	Sir Alec Douglas-Home succeeds Harold Macmillan as British prime minister.
+1963      	Soviet cosmonaut Valentina Tereshkova becomes the first woman in space.
+1963      	Sylvia Plath's novel The Bell Jar is published in the year of her death.
+1963      	The American X-15 research aircraft establishes an altitude record of 67 miles.
+1963      	The Organization of African Unity (OAU) is established in Addis Ababa, Ethiopia.
+1963      	The Profumo sex scandal undermines the Conservative government in Britain.
+1963      	The Rolling Stones rock band is formed in Britain.
+1963      	The first James Bond film Dr. No is produced.
+1964      	ANC leader Nelson Mandela is sentenced to life imprisonment in South Africa.
+1964      	An earthquake in Alaska causes extensive damage and 114 fatalities.
+1964      	Architect Eero Saarinen's St. Louis Arch memorial is completed.
+1964      	Arno Penzias and Robert Wilson discover the existence of background radiation.
+1964      	Beatlemania develops during the first U.S. tour of the Beatles pop group.
+1964      	Black female group the Supremes record the hit song Where Did Our Love Go.
+1964      	Britain grants independence to Malawi; H. Kamuzu Banda becomes prime minister.
+1964      	Britain grants independence to Zambia; Kenneth D. Kaunda becomes president.
+1964      	Britain grants independence to Zanzibar.
+1964      	Clint Eastwood stars in Sergio Leone's "spaghetti western" A Fistful of Dollars.
+1964      	Comedian Lenny Bruce is convicted for giving an obscene performance.
+1964      	Craig Breedlove sets a land speed record of 600 mph in a jet-powered vehicle.
+1964      	FRELIMO begins a war of independence against the Portuguese in Mozambique.
+1964      	Faisal succeeds his brother Saud as king of Saudi Arabia.
+1964      	Fighting breaks out on Cyprus between Greek and Turkish Cypriots.
+1964      	General Westmoreland is appointed to command the U.S. forces in South Vietnam.
+1964      	Gustavo Diaz Ordaz becomes president of Mexico.
+1964      	Ian Smith becomes prime minister of Rhodesia (now Zimbabwe).
+1964      	Illustrator Maurice Sendak wins a Caldecott Medal for Where the Wild Things Are.
+1964      	Indian prime minister Jawaharlal Nehru dies; he is succeeded by Lal Bahadur Shastri.
+1964      	Johnson is reeelected as U.S. president; Humphrey becomes vice-president (1965).
+1964      	Julie Andrews and Dick Van Dyke star in the film Mary Poppins.
+1964      	Muhammad Ali defeats Sonny Liston for the heavyweight boxing championship.
+1964      	North Vietnam allegedly attacks U.S. vessels in the Gulf of Tonkin.
+1964      	Peter Weiss' play Marat/ Sade is produced by British director Peter Brook.
+1964      	Physicists Murray Gell-Mann and George Zweig propose the quark theory.
+1964      	Soviet leader NikitaKhrushchev is forced from office; Aleksei Kosygin becomes premier.
+1964      	Tanganyika joins with Zanzibar to form the United Republic of Tanzania.
+1964      	The American Ranger 7 spacecraft transmits photos of the surface of the Moon.
+1964      	The Labour party is elected to power in Britain; Harold Wilson becomes prime minister.
+1964      	The Palestine Liberation Organization (PLO) is formed to represent Palestinians.
+1964      	The SR-71 Blackbird reconnaissance aircraft is flown for the first time.
+1964      	The Soviet Voskhod 1 spacecraft is launched with a three-man crew.
+1964      	The Tonkin Gulf Resolution escalates the use of U.S. personnel in Vietnam.
+1964      	The U.S. Civil Rights Act prohibits discrimination in employment.
+1964      	The U.S. Surgeon General reports that cigarette smoking is a health hazard.
+1964      	The Verrazano-Narrows Bridge opens in New York.
+1964      	The Warren Commission decides that Oswald was the sole assassin of John F. Kennedy.
+1965      	Actress and singer Barbara Streisand stars in the Broadway musical Funny Girl.
+1965      	American pop artist James Rosenquist paints F-111.
+1965      	American writer Norman Mailer publishes An American Dream.
+1965      	An attempted communist coup leads to military rule in Indonesia under Suharto.
+1965      	An electrical blackout in the northeastern U.S. affects 30 million people.
+1965      	Astronaut Edward H. White becomes the first American to walk in space.
+1965      	Astronauts Virgil Grissom and John Young orbit the Earth in the first Gemini spacecraft.
+1965      	British fashion designer Mary Quant introduces the miniskirt.
+1965      	Civil war breaks out in the Dominican Republic; U.S. troops restore order.
+1965      	Gemini 6 and 7 spacecraft make the first rendezvous in space.
+1965      	Houari Boumedienne deposes President Ahmed Ben Bella of Algeria.
+1965      	Irish writer Edna O'Brien publishes August Is a Wicked Month.
+1965      	Martin Luther King, Jr. leads a civil rights march from Selma to Montgomery, Alabama.
+1965      	Mobutu Sese Seko seizes control in the Congo (Zaire) for the second time.
+1965      	More than 180,000 U.S. troops are deployed in Vietnam by the end of the year.
+1965      	Neil Simon's play The Odd Couple opens on Broadway starring Walter Matthau.
+1965      	Nicolae Ceausescu succeeds Gheorghe Gheorghiu-Dej as Romanian leader.
+1965      	North Vietnamese army units are in action in South Vietnam for the first time.
+1965      	Race riots begin in the Watts section of Los Angeles.
+1965      	Rhodesia (Zimbabwe) makes a unilateral declaration of independence from Britain.
+1965      	Singapore secedes from Malaysia; Lee Kuan Yew remains as prime minister.
+1965      	Soviet cosmonaut Aleksei Leonov makes the first space walk.
+1965      	The Black Muslim leader Malcolm X is assassinated in New York City.
+1965      	The Houston Astrodome, the first covered stadium, is completed in Texas.
+1965      	The Mariner 4 spacecraft passes within 6,118 miles of the planet Mars.
+1965      	The Second India-Pakistan War begins in Kashmir.
+1965      	The U.S. government establishes Medicare and Medicaid health programs.
+1965      	The Vietnam War escalates as the U.S. begins bombing North Vietnam.
+1966      	American writer Bernard Malamud publishes The Fixer.
+1966      	American writer Truman Capote publishes In Cold Blood.
+1966      	Art treasures are ruined during severe floods in Florence, Italy.
+1966      	Gen. Yakubu Gowon heads a military government after a countercoup in Nigeria.
+1966      	Indian prime minister Lal Bahadur Shastri dies; he is succeeded by Indira Gandhi.
+1966      	John Jack Lynch becomes prime minister of Ireland.
+1966      	John V. Lindsay becomes mayor of New York City.
+1966      	Mao Tse-tung begins China's Cultural Revolution.
+1966      	Nigerian prime minister Abubakar Tafawa Balewa is killed in a military coup.
+1966      	President De Gaulle withdraws French forces from NATO.
+1966      	President Kwame Nkrumah is ousted in a military coup in Ghana.
+1966      	Realist sculptor George Segal completes the direct-cast plaster group The Diner.
+1966      	South African prime minister Hendrik Verwoerd is assassinated.
+1966      	The American Surveyor 1 spacecraft achieves the first soft-landing on the Moon.
+1966      	The British Hawker Harrier becomes the first VTOL (vertical takeoff and landing) aircraft.
+1966      	The Soviet Luna 9 space probe makes the first landing on the Moon.
+1966      	The Soviets mediate to end the India-Pakistan War.
+1966      	The first major rally against the Vietnam War takes place in Washington, D.C.
+1966      	Tom Stoppard's play Rosencrantz and Guildenstern Are Dead is produced.
+1967      	A civil war breaks out in Nigeria after the secession of the state of Biafra.
+1967      	A fire kills U.S. astronauts White, Grissom and Chaffee during a launch test.
+1967      	A military junta seizes control in Greece; King Constantine II is exiled.
+1967      	American writer Joyce Carol Oates publishes A Garden of Earthly Delights.
+1967      	Britain grants Aden independence as the People's Democratic Republic of Yemen.
+1967      	Colombian writer Gabriel Garcia Marquez publishes One Hundred Years of Solitude.
+1967      	Dr. Christiaan Barnard performs the first successful human heart transplant.
+1967      	Dustin Hoffman stars in Mike Nichols' film The Graduate.
+1967      	Gen. Anastasio Somoza Debayle is elected president of Nicaragua.
+1967      	Latin American guerrilla leader Che Guevara is killed in Bolivia.
+1967      	Nguyen Van Thieu becomes president of South Vietnam.
+1967      	Peter Fonda and Dennis Hopper star in the motorcycle film Easy Rider.
+1967      	Quarterback Joe Namath sets a one-season record by passing for 4,007 yards.
+1967      	R. Buckminster Fuller designs a geodesic dome for the U.S. Pavilion at Expo '67.
+1967      	Radio astronomers Jocelyn Bell Burnell and Antony Hewish discover the first pulsar.
+1967      	Sidney Poitier and Rod Steiger star in the film In the Heat of the Night.
+1967      	Soviet cosmonaut Vladimir Komarov is killed during the landing of Soyuz 1.
+1967      	Tennis player Billie Jean King wins the U.S. Open championship for the first time.
+1967      	The North American Soccer League (NASL) is formed.
+1967      	The Six-Day War between Israel and the Arab states ends with Israeli victory.
+1967      	The X-15 research aircraft establishes a speed record of Mach 6.7 (4,520 mph).
+1967      	The hippie musical revue Hair is produced.
+1967      	The residents of Gibraltar vote to remain a British crown colony.
+1967      	Thurgood Marshall becomes the first black member of the U.S. Supreme Court.
+1967      	Warren Beaty and Faye Dunaway star in Arthur Penn's film Bonnie and Clyde.
+1967      	Yachtsman Francis Chichester completes the first solo voyage around the world.
+1968      	American skater Peggy Fleming wins the singles title at the winter Olympic Games.
+1968      	American track star Bob Beamon beats the Olympic long jump record by almost 2 feet.
+1968      	American writer Tom Wolfe publishes The Electric Kool-Aid Acid Test.
+1968      	Anti-war demonstrators clash with police at the Democratic convention in Chicago.
+1968      	Arthur Ashe becomes the first black player to win a major men's tennis title.
+1968      	Carlos Castaneda publishes The Teachings of Don Juan: A Yaqui Way of Knowledge.
+1968      	Civil rights leader Martin Luther King, Jr. is assassinated.
+1968      	Dick Fosbury uses the Fosbury flop to win the Olympic gold medal for the high jump.
+1968      	Filmmaker Mel Brooks directs, produces and appears in The Producers.
+1968      	Filmmaker Stanley Kubrick directs 2001: A Space Odyssey.
+1968      	French downhill skier Jean Claude Killy wins three Olympic gold medals.
+1968      	French filmmaker Henri Costa-Gavras directs Z.
+1968      	Jacqueline Kennedy marries the Greek shipping millionaire Aristotle Onassis.
+1968      	More than 500,000 U.S. troops are deployed in Vietnam.
+1968      	Oceanographic ship Glomar Challenger begins the Deep-Sea Drilling Project.
+1968      	Omar Torrijos Herrera overthrows the government of Arnulfo Arias in Panama.
+1968      	Pierre Trudeau succeeds Lester Pearson as prime minister of Canada.
+1968      	Polish filmmaker Roman Polanski directs Rosemary's Baby.
+1968      	Portuguese dictator Antonio de Oliveira Salazar is succeeded by Marcello Caetano.
+1968      	President Johnson announces he will not seek a second term of office.
+1968      	Presidential candidate Robert F. Kennedy is assassinated.
+1968      	Spain grants independence to Equatorial Guinea.
+1968      	Spanish operatic tenor Placido Domingo debuts at the Metropolitan Opera.
+1968      	Student-worker revolts almost topple the goverment of Charles de Gaulle in France.
+1968      	The Apollo 8 spacecraft makes the first manned orbit of the Moon.
+1968      	The Catholic minority in Northern Ireland demonstrate for British rights.
+1968      	The Federal Gun Control Act regulates the interstate commerce in firearms.
+1968      	The Saturn rocket lifts the Apollo 7 spacecraft into low Earth orbit.
+1968      	The U.S. Navy intelligence gathering ship Pueblo is seized by North Korea.
+1968      	The Viet Cong launch the Tet Offensive in Vietnam.
+1968      	U.S. troops massacre Vietnamese civilians at My Lai.
+1968      	Warsaw Pact forces invade Czechoslovakia to counter increasing liberalization.
+1969      	A rock-music festival at Woodstock, N.Y, attracts a crowd of 500,000.
+1969      	American astronauts Neil Armstrong and Buzz Aldrin land on the Moon.
+1969      	American writer Kurt Vonnegut, Jr. publishes Slaughterhouse-Five.
+1969      	Australian Rod Laver becomes the only tennis player to win the Grand Slam twice.
+1969      	British filmmaker Ken Russell directs Glenda Jackson in Women in Love.
+1969      	British writer John Fowles publishes The French Lieutenant's Woman.
+1969      	Catholics and Protestants clash in Northern Ireland; British troops restore order.
+1969      	Charles Manson and his followers kill actress Sharon Tate and six of her friends.
+1969      	Col. Muammar al-Qaddafi seizes control in Libya; King Idris is deposed.
+1969      	Dustin Hoffman and Jon Voight star in John Schlesinger's film Midnight Cowboy.
+1969      	Edward Kennedy's female companion dies in a car accident off the Chappaquiddick bridge.
+1969      	Gen. Gaafar al-Nimeiry seizes power in Sudan.
+1969      	General de Gaulle resigns; Georges Pompidou becomes president of France.
+1969      	Golda Meir becomes prime minister of Israel after the death of Levi Eshkol.
+1969      	IRA provisionals launch a terrorist campaign against British troops in Ireland.
+1969      	Liberal Czech leader Alexander Dubcek is replaced by Gustav Husak.
+1969      	Nixon is inaugurated as the 37th U.S. president; Agnew becomes vice-president.
+1969      	Nudity shocks audiences in Kenneth Tynan's Broadway revue Oh! Calcutta!.
+1969      	Paul Newman and Robert Redford star in Butch Cassidy and the Sundance Kid.
+1969      	President Ayub Khan is deposed by Gen. Muhammad Yahya Khan in Pakistan.
+1969      	President Nixon begins to withdraw U.S. forces from Vietnam.
+1969      	The Anglo-French supersonic transport Concorde makes its first flight.
+1969      	The Children's Television Workshop series Sesame Street is first shown.
+1969      	The Monty Python's Flying Circus television program premiers in Britain.
+1969      	The Stonewall Riots spark the modern gay rights movement.
+1969      	The immigration of Salvadorans into Honduras leads to a brief border war.
+1969      	Willy Brandt succeeds Kurt Kiesinger as chancellor of West Germany.
+1969      	Yasir Arafat becomes chairman of the Palestine Liberation Organization (PLO).
+1970      	American writer Maya Angelou publishes I Know Why the Caged Bird Sings.
+1970      	Australian tennis player Margaret Smith Court wins the Grand Slam.
+1970      	Britain grants independence to Fiji.
+1970      	Bruno Kreisky succeeds Josef Klaus as chancellor of Austria.
+1970      	Cartoonist Garry Trudeau begins satirizing public figures and politics in Doonesbury.
+1970      	Civil war begins in Jordan between government forces and Palestinian guerrillas.
+1970      	Donald Sutherland stars in Robert Altman's anti-war film M*A*S*H.
+1970      	Edward Heath becomes Conservative prime minister of Britain.
+1970      	Egyptian president Gamal Abdel Nasser dies; he is succeeded by Anwar al-Sadat.
+1970      	Former defense minister Hafez al-Assad seizes power in Syria.
+1970      	French filmmaker Eric Rohmer directs Claire's Knee.
+1970      	George C. Scott stars in the Academy Award winning film Patton.
+1970      	Marxist leader Salvadore Allende is elected president of Chile.
+1970      	Norman Borlaug wins the Nobel Peace Prize for breeding miracle wheat strains.
+1970      	Ohio national guardsmen kill four Kent State students during an anti-war protest.
+1970      	President Nixon orders an incursion into Cambodia to combat the Khmer Rouge.
+1970      	Riots in Poland force Wladyslaw Gomulka to resign in favor of Edward Gierek.
+1970      	Rock music guitarist Jimi Hendrix dies from a drug overdose.
+1970      	Sihanouk is deposed in Cambodia; Khmer Rouge seize the western provinces.
+1970      	Songwriting duo Simon and Garfunkel record Bridge Over Troubled Water.
+1970      	The Amtrak intercity rail passenger service is created by Act of Congress.
+1970      	The Apollo 13 crew return to earth after an explosion aboard their command module.
+1970      	The Beatles pop group is disbanded.
+1970      	The Boeing 747 Jumbo jet airliner enters service.
+1970      	The Environmental Protection Agency (EPA) is established in the U.S.
+1970      	The Soviet space probe Venera 7 transmits the first data from the surface of Venus.
+1970      	The building of the Aswan High Dam is completed in Egypt.
+1970      	The civil war ends between Nigeria and the breakaway state of Biafra.
+1970      	Writer and feminist Germaine Greer publishes The Female Eunuch.
+1971      	Alistair Cooke begins hosting the PBS television series Masterpiece Theatre.
+1971      	American film actor and director Clint Eastwood stars in Dirty Harry.
+1971      	Andrew Lloyd Webber's rock-opera Jesus Christ Superstar opens on Broadway.
+1971      	Austrian Kurt Waldheim succeeds U Thant as UN secretary general.
+1971      	British actor Dirk Bogard stars in Luchino Visconti's film Death in Venice.
+1971      	Chilean poet Pablo Neruda wins the Nobel Prize for literature.
+1971      	Col. Hugo Banzer Suarez seizes power in Bolivia in a military coup.
+1971      	Daniel Ellsberg releases copies of the Pentagon Papers to the New York Times.
+1971      	East Pakistan declares its independence from West Pakistan, beginning a civil war.
+1971      	Erich Honecker becomes the head of state for East Germany.
+1971      	Ice hockey player Phil Esposito scores a record 76 goals in 78 games.
+1971      	Jean Claude Duvalier succeeds his father as president of Haiti.
+1971      	Joe Frazier defeats Muhammad Ali for the heavyweight boxing title.
+1971      	Lt. William Calley is found guilty of killing Vietnamese civilians at My Lai.
+1971      	Prime minister Brian Faulkner begins the internment of IRA suspects in Northern Ireland.
+1971      	Prime minister Milton Obote is ousted by Idi Amin Dada in Uganda.
+1971      	South Vietnamese troops and U.S. aircraft combat Communist forces in Laos.
+1971      	Soyuz 11 docks with Salyut 1; three cosmonauts die during the return to earth.
+1971      	The Congo is renamed as the Republic of Zaire.
+1971      	The Lunar Rover explores the Moon's surface during the Apollo 15 mission.
+1971      	The Republic of China (Taiwan) loses its UN seat; Communist China is admitted.
+1971      	The support of India wins independence for East Pakistan (renamed as Bangladesh).
+1972      	Alabama governor George Wallace is shot in an assassination attempt.
+1972      	American B-52 aircraft bomb Hanoi and Haiphong in North Vietnam.
+1972      	American Bobby Fischer defeats Russian world chess champion Boris Spassky.
+1972      	American feminist Gloria Steinem founds Ms. magazine.
+1972      	American swimmer Mark Spitz wins a record seven Olympic gold medals.
+1972      	An earthquake kills 10,000 in the Nicaraguan capital of Managua.
+1972      	Apollo 17 makes the last manned Moon landing.
+1972      	Ceylon changes its name to Sri Lanka (meaning beautiful island).
+1972      	DDT insecticide is banned in the U.S.
+1972      	Filmmaker Francis Ford Coppola directs Marlon Brando in The Godfather.
+1972      	German writer Heinrich Boll receives the Nobel Prize for Literature.
+1972      	Japanese novelist Kawabata Yasunari commits suicide.
+1972      	Liza Minnelli stars in Bob Fosse's film Cabaret.
+1972      	Marlon Brando stars in Bernardo Bertolucci's film Last Tango in Paris.
+1972      	Mujibur Rahman becomes prime minister of Bangladesh.
+1972      	Palestinian terrorists kill 11 Israeli athletes at the Munich Olympics.
+1972      	President Ferdinand Marcos imposes martial law in the Philippines.
+1972      	President Nixon authorizes the Space Shuttle program.
+1972      	President Nixon makes his historic trip to Peking to meet Mao Tse-tung.
+1972      	Richard Leakey discovers a hominid skull 2.6 million years old in northern Kenya.
+1972      	Soviet gymnast Olga Korbut wins three Olympic gold medals.
+1972      	The British government assumes direct rule of Northern Ireland.
+1972      	The Labor party is elected in Australia with Gough Whitlam as prime minister.
+1972      	The Viet Cong and North Vietnamese renew their offensive in South Vietnam.
+1972      	The Watergate affair begins with the arrest of five burglars at Democratic party headquarters.
+1973      	A right-wing military coup in Chile overthrows Allende's Marxist government.
+1973      	Aleksandr Solzhenitsyn publishes the first volume of the Gulag Archipelago.
+1973      	American novelist Thomas Pynchon publishes Gravity's Rainbow.
+1973      	American playwright Thornton Wilder publishes the novel Theophilus North.
+1973      	Animal behavioralists Lorenz, Tinbergen and von Frisch share the Nobel Prize.
+1973      	Britain grants independence to the Bahama Islands.
+1973      	Charles XVI Gustav succeeds Gustav VI Adolf as king of Sweden.
+1973      	Congress passes the Endangered Species Act.
+1973      	Egypt and Syria attack Israel on Yom Kippur (a Jewish religious holiday).
+1973      	Film actor Al Pacino stars as an undercover policeman in Serpico.
+1973      	Great Britain, Denmark and Ireland become full-fledged members of the EEC.
+1973      	Henry Kissinger and Le Duc Tho share the Nobel Peace Prize.
+1973      	Juan D. Peron returns to power as president of Argentina.
+1973      	Novelist, poet, and feminist Erica Jong publishes Fear of Flying.
+1973      	OPEC begins an oil embargo against Europe, the U.S. and Japan.
+1973      	Pop recording artist Billy Joel releases his first album Piano Man.
+1973      	Senator Sam Ervin, Jr. heads a committee to investigate the Watergate break-in.
+1973      	Swedish actor Max Von Sydow stars in the supernatural film The Exorcist.
+1973      	The American Indian Movement occupy the site of Wounded Knee in a political protest.
+1973      	The Arab-Israeli War ends after 18 days with a UN negotiated cease-fire.
+1973      	The Paris Peace Accords end the Vietnam War.
+1973      	The Pioneer 10 spacecraft makes a rendezvous with the planet Jupiter.
+1973      	The Skylab manned orbiting laboratory is launched.
+1973      	The U.S. begins a total military withdrawal from South Vietnam.
+1973      	The Washington Post receives the Pulitzer Prize for reporting the Watergate scandal.
+1973      	The World Trade Center in New York City becomes the tallest building in the world.
+1973      	Vice-President Spiro Agnew resigns after he is charged with accepting bribes.
+1973      	Watergate prosecutor Archibald Cox is dismissed for demanding the Nixon tapes.
+1974      	A military coup in Portugal leads to democratic reforms.
+1974      	American tennis player Chris Evert wins a record 56 consecutive matches.
+1974      	American tennis player Jimmy Connors wins the U.S. Open tournament for the first time.
+1974      	American writer Stephen King publishes the horror novel Carrie.
+1974      	An army of life-size pottery figures is discovered in a Ch'in dynasty tomb in China.
+1974      	Archbishop Makarios is deposed, prompting a Turkish invasion of Cyprus.
+1974      	Baseball player Hank Aaron breaks Babe Ruth's record of 714 home-runs.
+1974      	Emperor Haile Selassie is deposed in a military coup in Ethiopia.
+1974      	Former astronaut John Glenn is elected to the U.S. Senate.
+1974      	General Augusto Pinochet Ugarte becomes president of Chile.
+1974      	Helmut Schmidt becomes chancellor of West Germany.
+1974      	Isabel Peron becomes president of Argentina after the death of her husband.
+1974      	James Michener publishes Centennial, a historical novel of the American West.
+1974      	Konstantinos G. Karamanlis becomes prime minister of Greece.
+1974      	Patricia Hearst is abducted by members of the Symbionese Liberation Army (SLA).
+1974      	Portugal recognizes the independence of Guinea-Bissau.
+1974      	President Ford grants Richard Nixon a pardon for any crimes committed in office.
+1974      	President Giscard d'Estaing appoints Jacques Chirac prime minister of France.
+1974      	President Nixon resigns; Gerald R. Ford is inaugurated as the 38th U.S. president.
+1974      	South African golfer Gary Player achieves the Grand Slam.
+1974      	Soviet ballet dancer Mikhail Baryshnikov defects to the West.
+1974      	The House Judiciary Committee votes to impeach President Nixon.
+1974      	The Mariner 10 spacecraft passes within 438 miles of the planet Mercury.
+1974      	The Sears Tower in Chicago surpasses the World Trade Center as the tallest building.
+1974      	The crisis on Cyprus causes the collapse of the military regime in Greece.
+1974      	Willy Brandt is forced to resign after an East German spy is discovered on his staff.
+1974      	Yitzhak Rabin succeeds Golda Meir as prime minister of Israel.
+1975      	American novelist Saul Bellow publishes Humboldt's Gift.
+1975      	American writer E.L. Doctorow publishes Ragtime.
+1975      	Bobby Fischer refuses to defend his chess title; Anatoly Karpov is made champion.
+1975      	Brazilian soccer star Pele ends his retirement to play for the New York Cosmos.
+1975      	Civil war breaks out after the Portuguese withdraw from Angola.
+1975      	Civil war breaks out in Lebanon between Muslim and Christian forces.
+1975      	Communist Pathet Lao declare Laos the People's Democratic Republic.
+1975      	Cyprus is partitioned into Greek and Turkish zones.
+1975      	Czech tennis star Martina Navratilova defects to the U.S.
+1975      	Dutch Guiana gains its independence as the Republic of Suriname.
+1975      	Eritrean rebels begin their fight for independence in Ethiopia.
+1975      	Football player O.J. Simpson scores a record 23 touchdowns in one season.
+1975      	Gen. Yakubu Gowon is deposed in a military coup in Nigeria.
+1975      	Juan Carlos I becomes king of Spain after the death of General Francisco Franco.
+1975      	Michael Bennett directs and choreographs the Broadway musical A Chorus Line.
+1975      	Mozambique wins independence from Portugal; Samora Machel becomes the president.
+1975      	North Vietnamese forces overrun Saigon, which is renamed as Ho Chi Minh City.
+1975      	Papua New Guinea becomes independent from Australian administration.
+1975      	President Mujibur Rahman is killed in a military coup in Bangladesh.
+1975      	President N'Garta Tombalbaye of Chad is killed in a coup d'etat.
+1975      	Prime Minister Pol Pot begins a reign of terror in Kampuchea.
+1975      	Robert MacNeil and Jim Lehrer begin the PBS MacNeil/Lehrer news analysis program.
+1975      	Saudi King Faisal is assassinated; he is succeeded by his brother Khalid.
+1975      	Singer-songwriter Bruce Springsteen releases the rock album Born to Run.
+1975      	South Vietnam capitulates; a mass exodus of Boat People begins.
+1975      	Soviet dissident Andrei Sakharov wins the Nobel Peace Prize.
+1975      	Steven Spielberg's film Jaws sets new box-office records.
+1975      	Taiwanese leader Chiang Kai-shek dies; he is succeeded by Chiang Ching-kuo.
+1975      	The Helsinki accords pledge the signatory nations to respect human rights.
+1975      	The Khmer Rouge win control of Cambodia and rename the country Kampuchea.
+1975      	The Republic of Comoros declares its independence from France.
+1975      	The Suez Canal reopens after being closed to shipping for eight years.
+1975      	U.S. Marines recapture the U.S. freighter Mayaguez from Kampuchean forces.
+1975      	U.S. astronauts and Soviet cosmonauts linkup during the Apollo-Soyuz mission.
+1976      	A severe earthquake in China kills over 600,000.
+1976      	Actor Jack Nicholson wins the Academy Award for One Flew Over the Cuckoo's Nest.
+1976      	Artist Christo completes Running Fence, a curtain spanning 24 miles of countryside.
+1976      	Black American writer Alex Haley publishes Roots: The Saga of an American Family.
+1976      	Black student protestors are massacred at Soweto in South Africa.
+1976      	Chinese leaders Chou En-lai and Mao Tse-tung die; Hua Kuo-feng assumes power.
+1976      	Finnish runner Lasse Viren wins the Olympic 5,000- and 10,000-m races for the second time.
+1976      	Isabel Peron is deposed; Jorge Rafael Videla becomes president of Argentina.
+1976      	Israeli commandos rescue hijacked airplane passengers at Entebbe, Uganda.
+1976      	James Callaghan succeeds Harold Wilson as prime minister of Britain.
+1976      	Jim Henson's Muppet Show debuts on television.
+1976      	Jose Lopez Portillo y Pacheco is elected president of Mexico.
+1976      	Mario Soares is elected prime minister of Portugal for the first time.
+1976      	Robert De Niro stars in Martin Scorcese's film Taxi Driver.
+1976      	Romanian gymnast Nadia Comaneci wins three gold medals at the Montreal Olympics.
+1976      	Separatist leader Rene Levesque becomes premier of Quebec.
+1976      	Suarez Gonzalez becomes prime minister of Spain after the first election in 41 years.
+1976      	Swedish tennis star Bjorn Borg wins the first of five Wimbledon championships.
+1976      	Sylvester Stallone's film Rocky wins the Academy Award as best picture.
+1976      	The Sex Pistols punk rock group is formed in England.
+1976      	The South African homeland of Transkei becomes independent.
+1976      	The U.S. celebrates its Bicentennial.
+1976      	The first outbreak of Legionnaires' disease occurs in Philadelphia.
+1976      	The pro-Soviet MPLA government seizes power in Angola aided by Cuban troops.
+1976      	U.S. Viking spacecraft land on Mars.
+1977      	American golfer Tom Watson wins the Masters and British Open tournaments.
+1977      	American hurdler Edwin Moses begins a winning streak of 90 consecutive races.
+1977      	American poet and novelist Wendell Berry, publishes The Unsettling of America.
+1977      	Black politician Andrew Young is appointed as U.S. ambassador to the UN.
+1977      	Carter is inaugurated as the 39th U.S. president; Mondale becomes vice-presicent.
+1977      	Comedian and filmmaker Woody Allen directs Diane Keaton in Annie Hall.
+1977      	Edward (Ed) Koch becomes mayor of New York City for the first time.
+1977      	General Zia ul-Haq deposes prime minister Zulfikar Ali Bhutto in Pakistan.
+1977      	George Lucas directs the first Star Wars space fantasy film.
+1977      	Jean Bedel Bokassa is crowned Emperor Bokassa I of the Central African Empire.
+1977      	John Travolta stars in the disco film Saturday Night Fever.
+1977      	Menachem Begin succeeds Yitzhak Rabin as prime minister of Israel.
+1977      	Morarji Randchhadji Desai succeeds Indira Gandhi as prime minister of India.
+1977      	Rock 'n roll performer Elvis Presley dies.
+1977      	Seveteen-year old American jockey Steve Cauthen rides a record 487 winners.
+1977      	South Africa grants independence to the African homeland of Bophuthatswana.
+1977      	The Fianna Fail party returns to power under John Lynch in the Republic of Ireland.
+1977      	The French Territory of the Afars and the Issas becomes independent as Djibouti.
+1977      	The first Apple II personal computer is marketed in the U.S.
+1978      	Afghanistan president Mohammad Daud Khan is killed in a Marxist coup.
+1978      	American auto racer Mario Andretti wins the Formula One Grand Prix championship.
+1978      	American golfer Nancy Lopez wins a record five straight tournaments.
+1978      	American writer John Irving publishes The World According to Garp.
+1978      	Antonio Guzman becomes president of the Dominican Republic.
+1978      	Boxer Larry Holmes defeats Ken Norton for the heavyweight championship.
+1978      	Britain grants independence to Tuvalu, Dominica, and the Solomon Islands.
+1978      	Italian politician Aldo Moro is kidnapped and murdered by Red Brigade terrorists.
+1978      	Michael Cimino directs the controversial Vietnam War film The Deer Hunter.
+1978      	More than 900 members of a religious cult commit suicide at Jonestown, Guyana.
+1978      	Pieter Willem Botha becomes prime minister of South Africa.
+1978      	Pope John Paul II becomes the first non-Italian Pope in more than 500 years.
+1978      	President Carter oversees the Camp David peace accords between Egypt and Israel.
+1978      	The Pompidou Center art museum (the Beaubourg) is opened in Paris.
+1978      	The United States and Panama renew the Panama Canal treaties.
+1978      	The balloon Double Eagle II completes the first Atlantic crossing.
+1978      	The first human test-tube baby is born in England.
+1978      	The murder of opposition leader Pedro Joaquin Chamorro sparks uprisings in Nicaragua.
+1978      	Yiddish-language writer Isaac Bashevis Singer wins the Nobel Prize for literature.
+1979      	Abel Muzorewa becomes the first black prime minister of Rhodesia (Zimbabwe).
+1979      	Algerian president Houari Boumedienne dies; he is succeeded by Chadli Benjedid.
+1979      	American novelist William Styron publishes Sophie's Choice.
+1979      	American tennis player John McEnroe wins his first U.S. Open championship.
+1979      	American tennis player Tracy Austin wins the U.S. Open championship at age 16.
+1979      	An accident at the Three Mile Island nuclear power plant causes a near-disaster.
+1979      	Andrew Lloyd Webber's musical Evita opens on Broadway.
+1979      	British runner Sebastian Coe sets world records at 800 m, 1,500 m, and the mile.
+1979      	Charles Haughey succeeds John Lynch as president of the Republic of Ireland.
+1979      	Dutch soccer star Johan Cruyff plays for the L.A. Aztecs.
+1979      	Ex-prime minister Zulfikar Ali Bhutto is executed in Pakistan.
+1979      	Francis Ford Coppola directs the Vietnam War film Apocalypse Now.
+1979      	Gen. Saddam Hussein succeeds Gen. al-Bakr as president of Iraq.
+1979      	IRA terrorists assassinate Lord Mountbatten in Ireland.
+1979      	Islamic fundamentalist Ayatollah Ruhollah Khomeini returns to Iran.
+1979      	Jean Bedel Bokassa is deposed in the Central African Republic.
+1979      	Jose Eduardo dos Santos succeeds Agostinho Neto as president of Angola.
+1979      	Margaret Thatcher becomes Britain's first woman prime minister.
+1979      	Morocco annexes Western Sahara; the Polisario Front fight for independence.
+1979      	Mother Teresa of Calcutta is awarded the Nobel Peace Prize.
+1979      	Pioneer 11 spacecraft makes a rendezvous with the planet Saturn.
+1979      	Quarterback Roger Staubach leads NFL passing, completing 267 out of 461 passes.
+1979      	Shehu Shagari becomes president of Nigeria.
+1979      	Sixty-six U.S. embassy employees are taken hostage by Iranian students in Tehran.
+1979      	South Korean president Park Chung Hee is assassinated.
+1979      	Soviet troops occupy Afghanistan in support of Babrak Karmal's Marxist regime.
+1979      	Tanzanians and Ugandan exiles invade Uganda; dictator Idi Amin Dada flees.
+1979      	The Gossamer Albatross flies across the English Channel under human-power.
+1979      	The Mujaheddin begin a guerrilla war against the Soviet forces in Afghanistan.
+1979      	The Sandinistas seize control in Nicaragua.
+1979      	The Shah of Iran flees the country; Iran is proclaimed an Islamic republic.
+1979      	The first case of AIDS (Acquired Immune Deficiency Syndrome) is reported.
+1979      	Vietnamese forces invade Kampuchea and overthrow the Pol Pot government.
+1979      	Voyager 1 and 2 spacecraft rendezvous with the planet Jupiter.
+1980      	An earthquake in Algeria kills 20,000.
+1980      	Border disputes erupt into the Gulf war between Iran and Iraq.
+1980      	Boxer Sugar Ray Leonard regains the world welterweight title from Roberto Duran.
+1980      	British writer D.M. Thomas publishes The White Hotel.
+1980      	Chun Doo Hwan becomes president of South Korea.
+1980      	Ex-Beatle John Lennon is fatally shot outside his Manhattan apartment.
+1980      	Ex-Nicaraguan president Anastasio Somoza Debayle is assassinated.
+1980      	Gen. Kenan Evren leads a military coup in Turkey.
+1980      	Jose Napoleon Duarte becomes president of El Salvador; the guerilla war continues.
+1980      	Lech Walesa heads Solidarity, the first union movement in a communist country.
+1980      	Liberian president William R. Tolbert is killed in a military coup led by Samuel Doe.
+1980      	Love Canal, a chemically contaminated area in N.Y., is declared a disaster area.
+1980      	Meryl Streep and Dustin Hoffman star in the film Kramer v. Kramer.
+1980      	Milton Obote is reelected as president of Uganda.
+1980      	Mount St. Helens erupts in Washington state killing eight people.
+1980      	Peter Shaffer's play Amadeus is produced.
+1980      	Rhodesia is renamed Zimbabwe; Robert Mugabe becomes prime minister.
+1980      	Robert Redford directs the Academy Award winning film Ordinary People.
+1980      	Ted Turner begins the Cable News Network, offering round-the-clock news.
+1980      	The American television soap opera Dallas is first broadcast.
+1980      	The Castro regime deports more than 120,000 Cubans to Florida.
+1980      	The FBI's ABSCAM investigation convicts seven members of the U.S. Congress.
+1980      	The New Hebrides become independent from Britain and France as Vanuatu.
+1980      	The U.S. boycotts the Moscow Olympics to protest the invasion of Afghanistan.
+1980      	The U.S. makes an unsuccessful attempt to rescue the Iranian hostages.
+1980      	The Voyager 1 spacecraft makes a rendezvous with the planet Saturn.
+1981      	Andreas Panpandreou becomes prime minister of Greece.
+1981      	Anwar al-Sadat is killed; Hosni Mubarak becomes president of Egypt.
+1981      	Argentinian president Roberto Viola is ousted from power by General Galtieri.
+1981      	Black American novelist Toni Morrison publishes Tar Baby.
+1981      	Britain grants independence to Belize.
+1981      	Burt Lancaster stars in Louis Malle's film Atlantic City.
+1981      	Filmmaker Steven Spielberg directs Raiders of the Lost Ark.
+1981      	Francois Mitterand succeeds Valery Giscard d'Estaing as president of France.
+1981      	Garret FitzGerald becomes prime minister of Ireland.
+1981      	Gen. Jaruzelski declares martial law in Poland; Solidarity leaders are arrested.
+1981      	Henry Fonda, Katharine Hepburn and Jane Fonda star in the film On Golden Pond.
+1981      	Hu Yao-bang becomes head of the Chinese Communist party.
+1981      	Indian-born author Salman Rushdie publishes Midnight's Children.
+1981      	Jeane Kirkpatrick becomes U.S. ambassador to the United Nations.
+1981      	Jerry Rawlings leads a military coup in Ghana.
+1981      	John Hinckley, Jr. shoots and seriously wounds President Reagan.
+1981      	Pope John Paul II is shot and wounded by a Turkish gunman.
+1981      	Reagan is inaugurated as the 40th U.S. president; Bush becomes vice-president.
+1981      	Sandra Day O'Connor is appointed the first woman U.S. Supreme Court justice.
+1981      	Ten IRA prisoners starve themselves to death as a political protest.
+1981      	The Prince of Wales marries Lady Diana Spencer in Britain.
+1981      	The U.S. hostages in Iran are released.
+1981      	The first 24-hour music video channel MTV (Music Television) is launched in the U.S.
+1981      	The first Space Shuttle is launched, crewed by John Young and Robert Crippen.
+1982      	Alvaro Alfredo Magana becomes president of El Salvador.
+1982      	American writer Paul Theroux publishes The Mosquito Coast.
+1982      	Amin Gemayel becomes the president of Lebanon after his brother Bashir is killed.
+1982      	Argentina invades the Falkland Islands; Britain and Argentina are at war.
+1982      	Black American writer Alice Walker publishes The Color Purple.
+1982      	British troops recapture the Falkland Islands from Argentina.
+1982      	Dustin Hoffman stars in Sydney Pollack's film Tootsie.
+1982      	Felipe Gonzalez Marquez becomes prime minister of Spain.
+1982      	Filmmaker Steven Spielberg directs E.T. The Extra-Terrestrial.
+1982      	Gen. Hussain Muhammad Ershad seizes control of Bangladesh in a bloodless coup.
+1982      	Javier Perez de Cuellar succeeds Kurt Waldheim as secretary-general of the UN.
+1982      	Pop singer Michael Jackson records the all-time best-selling album Thriller.
+1982      	Pop-soul composer Quincy Jones wins 5 Grammy Awards.
+1982      	Princess Grace of Monaco dies in a car accident.
+1982      	Richard Attenborough directs the Academy Award winning film Gandhi.
+1982      	Soviet leader Leonid Brezhnev dies; he is succeeded by Yuri Andropov.
+1982      	Sylvester Stallone stars in the first Rambo film First Blood.
+1982      	The Equal Rights Amendment (ERA) fails to win ratification in the U.S.
+1982      	The Israeli army invades the Lebanon and drives the PLO guerrillas out of Beirut.
+1982      	The UN maintains a peace between Christian and Muslim militia in Lebanon.
+1982      	The Voyager 2 spacecraft transmits pictures to the U.S. of the planet Saturn.
+1982      	Two satellites are deployed during the first operational Space Shuttle mission.
+1982      	USA Today, the first daily newspaper aimed at readers throughout the U.S., is launched.
+1983      	American runner Joan Benoit sets a world record in the Boston Marathon.
+1983      	American writer William Kennedy publishes Ironweed.
+1983      	American zoologist Dian Fossey publishes her book Gorillas in the Mist.
+1983      	An EPA report projects the irreversible onset of the greenhouse effect.
+1983      	An Infrared Astronomical Satellite is launched to probe deep into the Milky Way.
+1983      	Australia II becomes the first non-American yacht to win the America's Cup.
+1983      	Benedetto Bettino Craxi becomes the socialist prime minister of Italy.
+1983      	Car bombs destroy the U.S. Embassy and U.S. Marine headquarters in Beirut.
+1983      	Civil war breaks out in Sri Lanka between the Sinhalese and Tamil separatists.
+1983      	Ex-Nazi Klaus Barbie (the butcher of Lyon) is extradited from Bolivia to France.
+1983      	Guion Stewart Bluford, Jr. becomes the first black American astronaut.
+1983      	Libyan forces invade Chad; French troops aid the Chad government.
+1983      	Manuel Antonio Noriega becomes commander of Panama's Defense Forces.
+1983      	Mario Soares becomes the socialist prime minister of Portugal.
+1983      	Nigerian president Shehu Shagari is deposed in a military coup led by Gen. Buhari.
+1983      	Opposition leader Benigno Aquino is assassinated in the Philippines.
+1983      	President Reagan proposes a space-based Strategic Defense Initiative (SDI).
+1983      	Raul Alfonsin is elected as president of Argentina, ending military rule.
+1983      	Sally K. Ride becomes the first U.S. woman astronaut.
+1983      	Shirley MacLaine and Jack Nicholson star in the film Terms of Endearment.
+1983      	The Labor party returns to power in Australia; Robert Hawke becomes prime minister.
+1983      	The Soviets shoot down a South Korean airliner that violated its airspace.
+1983      	The compact disc is introduced for recorded music.
+1983      	U.S. forces invade Grenada to protect U.S. lives after a military coup on the island.
+1983      	Yitzhak Shamir succeeds Menachem Begin as prime minister of Israel.
+1984      	A toxic gas leak kills 2,000 and affects an estimated 150,000 in Bhopal, India.
+1984      	American pop singer Madonna releases her album Like a Virgin.
+1984      	American track athlete Carl Lewis wins four gold medals at the Los Angeles Olympics.
+1984      	Brian Mulroney succeeds John Turner as prime minister of Canada.
+1984      	Britain and China sign a treaty for the return of Hong Kong to China in 1997.
+1984      	Britain grants independence to Brunei.
+1984      	British prime minister Margaret Thatcher escapes injury in an IRA bomb attack.
+1984      	Comedian Eddie Murphy stars in the film Beverly Hills Cop.
+1984      	Congress forbids official U.S. aid for the anti-Sandinista contras in Nicaragua.
+1984      	Czech writer Milan Kundera publishes The Unbearable Lightness of Being.
+1984      	Geraldine Ferraro becomes the first woman vice-presidential candidate in the U.S.
+1984      	Indian prime minister Indira Gandhi is assassinated by Sikh extremists.
+1984      	Indian troops attack the Golden Temple at Amritsar to remove militant Sikhs.
+1984      	Rajiv Gandhi becomes prime minister of India.
+1984      	Rev. Desmond Tutu, opponent of apartheid, is awarded the Nobel Peace Prize.
+1984      	Rock singer Bob Geldof organizes Band Aid to raise funds for African famine victims.
+1984      	Sandinista leader Daniel Ortega Saavedra is elected president of Nicaragua.
+1984      	Shimon Peres succeeds Yitzhak Shamir as prime minister of Israel.
+1984      	Soviet leader Yuri Andropov dies; he is succeeded by Konstantin Chernenko.
+1984      	Space Shuttle astronauts test the manned maneuvering unit and move freely in space.
+1985      	Albanian premier Enver Hoxha dies; he is succeeded by Ramiz Alia.
+1985      	American film actor Rock Hudson dies from AIDS.
+1985      	American humorist and radio personality Garison Keillor publishes Lake Wobegon Days.
+1985      	American rock singer Tina Turner wins three Grammy Awards.
+1985      	Baseball player Pete Rose beats Ty Cobb's 57-year-old record of 4,191 base hits.
+1985      	Boxer Michael Spinks defeats Larry Holmes for the heavyweight championship.
+1985      	Clint Eastwood directs and stars in the Western film Pale Rider.
+1985      	French agents sink the Greenpeace ship Rainbow Warrior in New Zealand.
+1985      	Jose de Sarney becomes the first civilian president of Brazil in 21 years.
+1985      	Julius Nyerere is succeeded as president of Tanzania by Ali Hassan Mwinyi.
+1985      	Maj.-Gen. Mohammed Buhari is ousted in a bloodless coup in Nigeria.
+1985      	Mexico City is heavily damaged by an earthquake.
+1985      	Middleweight champion Marvin Hagler defends his title against Thomas "Hit Man" Hearns.
+1985      	Palestinian terrorists hijack the Italian liner Achille Lauro.
+1985      	Premier Gorbachev initiates glasnost (openness) and perestroika (restructuring).
+1985      	President Milton Obote is ousted in a military coup in Uganda.
+1985      	President Reagan and Mikhail Gorbachev hold their first summit meeting.
+1985      	President Reagan is inaugurated for his second term of office.
+1985      	Robert Redford and Meryl Streep star in the film Out of Africa.
+1985      	Running back Walter Payton sets an all-time NFL record for rushes of 14,860 yards.
+1985      	Shiite Muslim terrorists hijack a TWA Boeing 727 jet to Beirut.
+1985      	Soviet premier Konstantin Chernenko dies; he is succeeded by Mikhail Gorbachev.
+1985      	Sudanese prime minister Gaafar al-Nimeiry is ousted in a military coup.
+1985      	The North American Soccer League (NASL) suspends operations.
+1985      	World chess champion Anatoly Karpov is defeated by 21-year-old Gary Kasparov.
+1986      	A hole in the ozone layer is detected over Antarctica.
+1986      	A major nuclear-reactor disaster takes place at Chernobyl in the Soviet Union.
+1986      	Benazir Bhutto, daughter of hanged premier Ali Bhutto, is jailed in Pakistan.
+1986      	Boxer Mike Tyson wins his first world heavyweight title.
+1986      	Civil war breaks out in Yemen (Aden).
+1986      	Comedian and filmmaker Woody Allen directs Hannah and Her Sisters.
+1986      	Corazon Aquino is elected president of the Philippines; Ferdinand Marcos is exiled.
+1986      	Cyclist Greg LeMond becomes the first American to win the Tour de France.
+1986      	Czech tennis player Ivan Lendl wins the French Open and U.S. Open tournaments.
+1986      	Filmmaker Oliver Stone directs the Vietnam War film Platoon.
+1986      	Golfer Jack Nicklaus at age 46 becomes the oldest man ever to win the U.S. Open.
+1986      	Ice hockey player Wayne Gretzky raises the season point record to 215.
+1986      	Nigerian poet and playwright Wole Soyinka wins the Nobel Prize for literature.
+1986      	President Francois Mitterrand appoints Jacques Chirac prime minister of France.
+1986      	President Jean Claude Duvalier of Haiti goes into exile.
+1986      	Sayid Mohammad Najibullah replaces Marxist president Babrak Karmal in Afghanistan.
+1986      	Select committees are established to investigate the Iran-Contra Affair.
+1986      	Singer-actress Bette Midler stars in Down and Out in Beverly Hills.
+1986      	Swedish prime minister Olof Palme is assassinated.
+1986      	The European Space Agency's Giotto spacecraft passes within 335 miles of Halley's comet.
+1986      	The Food and Drug Administration approve the commercial use of the drug interferon.
+1986      	The Soviet Union launches the first Mir space station.
+1986      	The Space Shuttle Challenger explodes after launch, killing the crew of seven.
+1986      	The ultralight Voyager aircraft flies around the world nonstop in 9 days.
+1986      	U.S. aircraft attack military and terrorist related targets in Libya.
+1986      	Voyager 2 spacecraft makes a rendezvous with the planet Uranus.
+1986      	Yitzak Shamir succeeds Shimon Peres as prime minister of Israel.
+1987      	A Wall Street stock market crisis spreads to Tokyo and London.
+1987      	American author Tom Wolfe publishes the satirical novel The Bonfire of the Vanities.
+1987      	Basketball player Kareem Abdul-Jabbar passes Wilt Chamberlain's points record.
+1987      	Bettino Craxi resigns; Giovanni Goria becomes prime minister of Italy.
+1987      	Colonel Oliver North testifies at the Iran-Contra Affair hearings.
+1987      	East German leader Erich Honecker makes his first visit to West Germany.
+1987      	Filmmaker Brian De Palma directs The Untouchables.
+1987      	Gary Hart ends his Presidential campaign after allegations of sexual impropriety.
+1987      	Libya suffers a military defeat in Chad.
+1987      	More than 400 die in clashes between Iranian pilgrims and Saudi police at Mecca.
+1987      	Takeshita Noburu succeeds Nakasone Yasuhiro as the Japanese premier.
+1987      	The U.S. frigate Stark is hit by an Iraqi missile in the Persian Gulf.
+1987      	West Bank Palestinians launch an intifadah (uprising) against the Israeli occupation.
+1987      	Writer Gore Vidal publishes Empire, a novel of 19th-century U.S. politics.
+1988      	A cease-fire is declared in the war between Iran and Iraq.
+1988      	Armenia is hit by a severe earthquake, killing tens of thousands.
+1988      	Australia celebrates its Bicentennial.
+1988      	Austrian president Kurt Waldheim is exonerated of involvement in war crimes.
+1988      	Benazir Bhutto is elected prime minister of Pakistan.
+1988      	Carlos Salinas de Gortari is elected president of Mexico.
+1988      	Colombian writer Gabriel Garcia Marquez publishes Love in the Time of Cholera.
+1988      	Dennis Connor skippers a U.S. catamaran to beat New Zealand in the America's Cup.
+1988      	Details of the U.S. Stealth bomber are released for the first time.
+1988      	Discovery becomes the first Space Shuttle to be launched after the Challenger disaster.
+1988      	Dustin Hoffman stars in the Academy Award winning film Rain Man.
+1988      	Egyptian writer Naguib Mahfouz wins the Nobel Prize for literature.
+1988      	German tennis player Boris Becker leads West Germany to victory in the Davis Cup.
+1988      	German tennis player Steffi Graf becomes the 3rd woman to win the Grand Slam.
+1988      	Hungarian leader Janos Kadar is removed from power; Karoly Grosz assumes his post.
+1988      	Indian-born writer Salman Rushdie publishes The Satanic Verses.
+1988      	Jesse Jackson fails in a second attempt to win the Democratic presidential nomination.
+1988      	Lee Teng-hui succeeds Chiang Ching-kuo as president of Taiwan.
+1988      	Military leaders seize control in Haiti after elections are held.
+1988      	Military leaders seize power in Burma (Myanmar).
+1988      	Nationalist uprisings breakout in the Soviet republic of Armenia.
+1988      	Pakistani leader Gen. Muhammed Zia ul-Haq is killed in a plane crash.
+1988      	Roh Tae Woo succeeds Chun Doo Hwan as president of South Korea.
+1988      	South African leader Nelson Mandela is removed from prison for hospital treatment.
+1988      	Sprinter Ben Johnson is stripped of his Olympic gold medal after a drug test.
+1988      	Steven Spielberg produces the innovative animated film Who Framed Roger Rabbit.
+1988      	Television evangelist Jim Bakker is convicted of fraud and conspiracy.
+1988      	The Geneva Accords set the timetable for Soviet withdrawal from Afghanistan.
+1988      	The Iraqis are accused of using chemical weapons against the Kurds.
+1988      	The U.S. cruiser Vincennes accidentally shoots downs an Iranian airliner.
+1988      	The U.S. indict Panamanian dictator Gen. Manuel Antonio Noriega for drug offenses.
+1988      	Vietnam announces it will withdraw all its forces from Kampuchea.
+1989      	Akihito succeeds his father Hirohito as emperor of Japan.
+1989      	Allegations of financial impropriety force Japanese premier Noboru to resign.
+1989      	American Anne Tyler wins the Pulitzer Prize for her novel Breathing Lessons.
+1989      	Ayatollah Khomeini dies in Iran; Ali Akbar Hashemi Rafsanjani becomes president.
+1989      	British author V.S. Pritchett publishes A Careless Widow and Other Stories.
+1989      	Bulgarian premier Todor Zhivkov resigns; he is succeeded by Petar Mladenov.
+1989      	Bush is inaugurated as the 41st U.S. president; Quayle becomes vice-president.
+1989      	Carlos Saul Menem succeeds Raul Alfonsin as president of Argentina.
+1989      	Demonstrations in East Germany lead to the demolition of the Berlin Wall.
+1989      	F. W. de Klerk succeeds P.W. Botha as president of South Africa.
+1989      	Gen. Alfredo Stroessner is ousted; Andres Rodriguez becomes president of Paraguay.
+1989      	Greek prime minister Andreas Papandreou is succeeded by Tzinnis Tzannetakis.
+1989      	Hu Yao-pang's death in China sparks public rallies demanding social changes.
+1989      	Hundreds of demonstrators are killed by troops in Peking's T'ien-an-Men Square.
+1989      	Hungary elects to become a multiparty democracy.
+1989      	Jack Nicholson and Michael Keaton star in the film Batman.
+1989      	Libyan leader Muammar al-Qaddafi signs a peace treaty with Chad.
+1989      	Playwright Vaclav Havel becomes the president of Czechoslovakia.
+1989      	Romanian president Nicolae Ceausescu is deposed and killed.
+1989      	San Francisco's Marina district is damaged by a severe earthquake.
+1989      	Solidarity candidates win a majority in the first free elections in Poland since 1946.
+1989      	Soviet forces complete their withdrawal from Afghanistan; the civil war continues.
+1989      	The Burmese government changes the country's name to Myanmar.
+1989      	The Satanic Verses is condemned by Muslims; Salman Rushdie goes into hiding.
+1989      	The communist govenrment of Milos Jakes resigns in Czechoslovakia.
+1989      	U.S. forces invade Panama; General Noriega surrenders and is held on drug charges.
+1989      	V.P. Singh succeeds Rajiv Gandhi as prime minister of India.
+1989      	Voyager 2 spacecraft tramsmits pictures to the U.S. of the planet Neptune.
+1990      	A mirror in the Hubble Space Telescope is found to be flawed shortly after deployment.
+1990      	Actress Jessica Tandy wins the Academy Award for her role in Driving Miss Daisy.
+1990      	American novelist Thomas Pynchon publishes Vineland.
+1990      	Basketball player Earvin "Magic" Johnson wins the MVP award for the third time.
+1990      	Boris Yeltsin becomes president of the Russian Republic.
+1990      	British prime minister Margaret Thatcher resigns; she is succeeded by John Major.
+1990      	Chad president Hissene Habre is deposed by rebel forces led by Idris Deby.
+1990      	David Dinkins succeeds Ed Koch as mayor of New York City.
+1990      	East and West Germany are reunited; Helmut Kohl becomes chancellor of a united Germany.
+1990      	Fernando Affonso Collor de Mello succeeds Jose Sarney as president of Brazil.
+1990      	I.M. Pei's 70-story Bank of China headquarters is built in Hong Kong.
+1990      	Indian prime minister V.P. Singh resigns; he is succeeded by Chandra Shekhar.
+1990      	Iraq invades Kuwait, beginning the Persian Gulf War.
+1990      	John Updike publishes Rabbit at Rest, the fourth and last of his Rabbit novels.
+1990      	Lech Walesa wins the first direct presidential elections in Poland's history
+1990      	Lithuania, Estonia, and Latvia declare their independence from the Soviet Union.
+1990      	Namibia becomes independent from South Africa with Sam Nujoma as president.
+1990      	Pakistani president Ghulam Ishaq Khan dismisses prime minister Benazir Bhutto.
+1990      	President Patricio Aylwin succeeds Gen. Pinochet , ending 16 years of military rule in Chile.
+1990      	President Samuel Doe is killed during a military rebellion in Liberia.
+1990      	Slovenia and Croatia vote non-Communist governments into power in Yugoslavia.
+1990      	South African president F.W. De Klerk releases Nelson Mandela; the ban on the ANC ends.
+1990      	Soviet foreign minister Eduard Shevardnadze resigns from office.
+1990      	Student riots in Tirane lead to the formation of Albania's first opposition party since 1946.
+1990      	Syrian-backed forces defeat General Aoun's Christian militia in Lebanon.
+1990      	The UN authorizes an economic blockade of Iraq.
+1990      	U.S.-led coalition forces begin Operation Desert Shield to protect Saudi Arabia from Iraq.
+1990      	Violeta Barrios de Chamorro succeeds Daniel Ortega as president of Nicaragua.
+1990      	Warren Beatty directs, produces and plays the lead role in the film Dick Tracy.
+1990      	Yemen (Aden) and Yemen (Sana) unite as the Yemen Republic.
+1991      	A US-led international force attacks Iraq for its refusal to withdraw from Kuwait.
+1991      	Alexandra Ripley releases Scarlett, a sequel to Margaret Mitchell's Gone With the Wind.
+1991      	Basketball star Magic Johnson announces that he has HIV, the virus that causes AIDS.
+1991      	Boris Yeltsin is elected president of the Russian Republic.
+1991      	Canada and Inuit (Eskimo) leaders agree to establish a new territory, Nunavut.
+1991      	Clarence Thomas replaces Thurgood Marshall on the US Supreme Court.
+1991      	Disney succeeds with an animated film of Beauty and the Beast.
+1991      	Former Indian Prime Minister Rajiv Gandhi is assassinated while campaigning.
+1991      	Haitian president Jean-Bertrand Aristide is overthrown in a coup.
+1991      	Having liberated Kuwait, allied forces suspend military action against Iraq.
+1991      	Iran-contra charges against Oliver North are dropped; charges against John Poindexter are reversed.
+1991      	Israeli Prime Minister Yitzhak Shamir agrees to US-USSR sponsored Middle East peace talks.
+1991      	Leaders of Russia, Ukraine, and Belarus establish the Commonwealth of Independent States.
+1991      	Macedonia joins Croatia and Slovenia in declaring its independence from Yugoslavia.
+1991      	Mikhail Gorbachev gives up the presidency of the USSR.
+1991      	Miyazawa Kiichi becomes prime minister of Japan.
+1991      	Norman Mailer's 1300-page novel Harlot's Ghost is published.
+1991      	Paul Keating becomes prime minister of Australia.
+1991      	Presidents Bush and Gorbachev sign the Strategic Arms Reduction Treaty.
+1991      	Quincy Jones wins 5 Grammy Awards for his star-packed album Back on the Block.
+1991      	Robert De Niro stars in Martin Scorsese's remake of Cape Fear.
+1991      	South Africa's African National Congress elects Nelson Mandela its president.
+1991      	Soviet president Gorbachev meets with South Korean president Roh Tae Woo.
+1991      	Taiwan's president Lee Teng-hui ends 43 years of emergency rule.
+1991      	The Provisional Irish Republican Army takes credit for bombing the British prime minister's residence.
+1991      	US, USSR agree to end military aid to Afghanistan.
+1992      	A Russian cosmonaut whose fate was left uncertain by the dissolution of the USSR returns to Earth.
+1992      	A UN Conference on Disarmament produces a draft of a treaty to destroy chemical weapons.
+1992      	Algeria calls off runoff elections after the Islamic Salvation Front wins the first round of elections.
+1992      	Bill Clinton becomes the 43rd US president, defeating President Bush and independent Ross Perot.
+1992      	Biographical films are released dramatizing the lives of Malcolm X, James Hoffa, and Charlie Chaplin.
+1992      	Bobby Fischer beats Boris Spassky at a chess match held in Yugoslavia.
+1992      	Boutros Boutros-Ghali begins a 5-year term as secretary-general of the United Nations.
+1992      	Fidel Ramos becomes president of the Philippines.
+1992      	Gen. Manuel Antonio Noriega of Panama is convicted on charges of cocaine trafficking and racketeering.
+1992      	Hurricane Andrew strikes Florida; Hurricane Iniki strikes Hawaii.
+1992      	Israel's opposition Labor Party, led by Yitzhak Rabin, defeats the ruling Likud bloc in parliamentary elections.
+1992      	Jackie Joyner-Kersee wins a second heptathlon gold metal at the 1992 Olympics.
+1992      	Johnny Carson retires from NBC's Tonight Show; The Cosby Show ends its run.
+1992      	Militant Hindus destroy a 16th-century Muslim mosque in Ayodhya, India.
+1992      	On the 500th anniversary of Columbus' landing in North America, NASA begins a search for extraterrestrial life.
+1992      	President Bush pardons Caspar Weinberger in the Iran-contra affair.
+1992      	Presidents Yeltsin and Mitterrand sign a treaty calling for cooperation between Russia and France.
+1992      	South African voters support President de Klerk's proposals for government reform.
+1992      	The 27th Amendment is ratified, 203 years after James Madison writes it.
+1992      	The Czechoslovak Federal Assembly allows the creation of separate Czech and Slovak nations.
+1992      	The European Community and several nations recognize the independence of Croatia and Slovenia.
+1992      	The Toronto Blue Jays become the first Canadian team to win baseball's World Series.
+1992      	The US, the UN, and others bring famine relief to civil war-torn Somalia.
+1992      	The United Nations holds an Earth Summit in Rio de Janeiro.
+1992      	The XVI Winter Olympics (Albertville, France), and the XXV Summer Olympics (Barcelona) are held.
+1992      	The republics of Serbia and Montenegro proclaim a new Federal Republic of Yugoslavia.
+1992      	US Space Shuttle Columbia sets an endurance record on a 14-day scientific mission.
+1992      	US, Canada and Mexico sign the North American Free Trade Agreement and submit it for ratification.
+1992      	Violence follows the acquittal of 4 white police officers in the beating of a black Los Angeles motorist.
+1992      	Yugoslavia is expelled from the United Nations over the war taking place in Bosnia and Hercegovina.
+1993      	Cambodian elections return Prince Norodom Sihanouk to power.
+1993      	Civil war and ethnic strife continue to ravage the states that once constituted Yugoslavia.
+1993      	Hundreds die and millions lose their electricity in a blizzard that strikes the East Coast.
+1993      	Michael Jordan leads the Chicago Bulls to a third consecutive National Basketball Association championship.
+1993      	Russian president Boris Yeltsin survives a power struggle with the Congress of People's Deputies.
+1993      	Steven Spielberg's film adaptation of Michael Crichton's Jurassic Park sets box-office records in its opening week.
+1993      	Terrorists explode a bomb at New York's World Trade Center.
+1993      	The Holocaust Memorial Museum opens in Washington, D.C.
+1993      	The U.S. and others bomb Iraq for its noncompliance with U.N. resolutions following the Persian Gulf War.
diff --git a/holywar/command.cfg b/holywar/command.cfg
new file mode 100644
index 0000000..a113371
--- /dev/null
+++ b/holywar/command.cfg
@@ -0,0 +1,3 @@
+user = 0
+level = 50
+cache = 0
\ No newline at end of file
diff --git a/holywar/help.txt b/holywar/help.txt
new file mode 100644
index 0000000..71047d7
--- /dev/null
+++ b/holywar/help.txt
@@ -0,0 +1,2 @@
+!holywar [categorie]: categorie = { editor | browser | lang | os | client }
+holywar is geschreven in joe!
\ No newline at end of file
diff --git a/holywar/holywar.pl b/holywar/holywar.pl
new file mode 100755
index 0000000..b66729e
--- /dev/null
+++ b/holywar/holywar.pl
@@ -0,0 +1,47 @@
+#!/usr/bin/perl -w
+
+# Een keer gemaakt door iemand.
+#
+# 31-10-2002 - Categorie mee te geven als argument (Jasper van der Neut)
+
+use strict;
+
+my $cat;
+if ( @ARGV >= 1 ) {
+    my $arg = $ARGV[0];
+
+    if ( $arg =~ /^(editor|browser|lang|os|client)$/i ) {
+        $arg =~ tr/a-z/A-Z/;
+        $cat = "#" . $arg;
+    }
+}
+
+my @editors  = qw(vi ultraedit joe emacs MSWord vim edlin);
+my @browsers = qw(Mozilla IE5 IE IE6 Netscape Lynx Opera w3m Amaya);
+my @langs    = qw(perl python java C C++ VBScript fortran php pascal);
+my @OSs      = qw(Windows Windows2000 Linux DOS OS/2 WinXP Win98 Win95 WinNT Debian BeOS RedHat Slackware Suse);
+my @clients  = qw (mIRC ircII BitchX irssi GatorChat Word);
+
+my $editor  = $editors[ int( rand(@editors) ) ];
+my $browser = $browsers[ int( rand(@browsers) ) ];
+my $lang    = $langs[ int( rand(@langs) ) ];
+my $os      = $OSs[ int( rand(@OSs) ) ];
+my $client  = $clients[ int( rand(@clients) ) ];
+
+open( MSG, "< war.txt" );
+my @opties;
+if ($cat) {
+    @opties = grep( /$cat/,  );
+} else {
+    @opties = ;
+}
+close MSG;
+
+my $antwoord = $opties[ int( rand(@opties) ) ];
+$antwoord =~ s/#EDITOR/$editor/;
+$antwoord =~ s/#BROWSER/$browser/;
+$antwoord =~ s/#LANG/$lang/;
+$antwoord =~ s/#OS/$os/;
+$antwoord =~ s/#CLIENT/$client/;
+
+print $antwoord , "\n";
diff --git a/holywar/war.txt b/holywar/war.txt
new file mode 100644
index 0000000..92cec3b
--- /dev/null
+++ b/holywar/war.txt
@@ -0,0 +1,52 @@
+Gebruik toch gewoon #EDITOR, heb je nergens meer last van.
+Gebruik dan gewoon #BROWSER, heb je nergens meer last van.
+Gebruik toch gewoon #OS, heb je nergens meer last van.
+Gebruik toch gewoon #CLIENT, dat werkt veel beter.
+Gebruik toch gewoon #LANG, heb je nergens meer last van.
+De beste browser is toch #BROWSER!
+De beste editor blijft toch #EDITOR!
+#EDITOR!!!!
+#LANG!!!!
+#BROWSER!!!!
+#CLIENT!!!!
+#OS!!!!
+#OS. Punt.
+#OS sucks. Suffer dude.
+#BROWSER is een derdewereldbrowser.
+En toch is #LANG makkelijker!
+Als je iets echt snel wilt coden zul je toch echt #LANG moeten gebruiken.
+#BROWSER houdt zich tenminste aan de standaarden.
+Voor elke MAC een baksteen.
+Er gaat niks boven #OS.
+Er gaat niks boven #BROWSER.
+Er gaat niks boven #EDITOR.
+Er gaat niks boven #LANG.
+Er gaat niks boven #CLIENT.
+#CLIENT is het beste voor IRC wars.
+#LANG doet het het beste onder #OS.
+HTML geschreven in #EDITOR doet het beter in #BROWSER onder #OS.
+Als je al #BROWSER gebruikt kun je net zo goed #OS gaan draaien, wat een pruttel.
+Met #OS haal je betere uptimes.
+#BROWSER heeft een kleinere memory footprint.
+#BROWSER is sneller.
+#EDITOR is voor watjes.
+#BROWSER is voor watjes.
+#OS is voor watjes.
+#LANG is voor watjes.
+#EDITOR is voor mensen die geen echte editor kunnen bedienen.
+#CLIENT is duidelijk geschreven in #LANG, want het doet het niet.
+#OS is totaal niet geschikt voor de desktop. Het is duidelijk een server OS.
+#BROWSER gebruiken is net als #LANG programmeren, het is traag en wil niet wat jij wilt.
+Mijn editor is beter dan jouw editor.
+Met #EDITOR kun je tenminste ook mailen.
+Download #BROWSER en je zult verbaasd staan.
+Vim dat is toch die zaad editor die Wiggy gebruikt?
+Ik word toch liever bediend vanuit #CLIENT.
+Gelukkig ben ik niet in #LANG geschreven.
+Op open source krijg je toch geen support.
+Standaarden zijn om uit te breiden.
+IPv6 is voor kneusjes.
+IPv6 voegt niets toe, behalve onleesbare hostnames.
+SCSI is gewoon IDE met een rare stekker, zodat malloten er meer voor willen betalen
+BSD-style is zo veel suffer dan SYSV!
+BSD license? GPL natuurlijk!
\ No newline at end of file
diff --git a/hooikoorts/command.cfg b/hooikoorts/command.cfg
new file mode 100644
index 0000000..0b88265
--- /dev/null
+++ b/hooikoorts/command.cfg
@@ -0,0 +1,2 @@
+level = 50
+cache = 300 # 5 minutes
\ No newline at end of file
diff --git a/hooikoorts/help.txt b/hooikoorts/help.txt
new file mode 100644
index 0000000..e90f8d3
--- /dev/null
+++ b/hooikoorts/help.txt
@@ -0,0 +1 @@
+hooikoorts: geeft de hooikoorts-status voor vandaag terug
diff --git a/hooikoorts/hooi2.pl b/hooikoorts/hooi2.pl
new file mode 100755
index 0000000..4247bb5
--- /dev/null
+++ b/hooikoorts/hooi2.pl
@@ -0,0 +1,53 @@
+#!/usr/bin/perl -w
+# Marco Alink /  28-05-2003 / show hooikoorts tt 709
+
+use strict;
+use LWP::UserAgent;
+use HTML::Entities();
+
+my $baseurl = "http://teletekst.nos.nl/tekst/709-01.html";    # what else???
+my $url;
+
+$url = "$baseurl";
+
+## Get a certain URL
+my $ua = new LWP::UserAgent;
+
+#Set agent name, we are not a script! :)
+my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)";
+$ua->agent($agent);
+
+my $request = new HTTP::Request( 'GET', $url );
+$request->referer('http://portal.omroep.nl/');
+$request->header( "Accept" =>
+    'application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1'
+);
+$request->header( "Accept-Encoding" => "gzip, deflate, compress" );
+$request->header( "Accept-Language" => "en-us, en;q=0.80, ko;q=0.60, zh;q=0.40, ja;q=0.20" );
+$request->header( "Accept-Charset"  => "utf-8, *" );
+
+my $content = $ua->request($request)->content;
+
+#get everything between 
 
+if ( $content =~ /
/ ) {
+    $content =~ s/^.*?
.*?\n(.*?)<\/pre>.*?$/$1/si;
+    $content =~ s/\*+//g;
+    $content =~ s///sgi;
+    $content =~ s/<\/font>//sgi;
+    $content =~ s/(\d{3}).*?<\/A>/($1),/gi;
+    $content =~ s/\n+//g;
+    $content =~ s/\.{2,}//g;
+    $content =~ s/([,.])/$1 /g;
+
+    #$content =~ s/\s{2,}/ /g;
+    $content =~ s/^\s//;
+    $content =~ s/^.*?luidt://;
+    $content =~ s/\s{2}((?:\w\s)+)\s/-->$1<--/g;
+    $content =~ s/Leids Universitair.*$//i;
+    $content =~ s/\s{2,}/ /g;
+    $content = HTML::Entities::decode($content);
+    $content =~ s/(volgende|index.*?) nieuws.*$//i;    #index tv nieuws financieel sport
+    print $content . "\n";
+} else {
+    print "Pagina niet gevonden\n";
+}
diff --git a/hooikoorts/hooikoorts.pl b/hooikoorts/hooikoorts.pl
new file mode 100755
index 0000000..a95d1de
--- /dev/null
+++ b/hooikoorts/hooikoorts.pl
@@ -0,0 +1,57 @@
+#!/usr/bin/perl -w
+# Marco Alink /  28-05-2003 / show hooikoorts tt 709
+
+use strict;
+use LWP::UserAgent;
+use HTML::Entities();
+
+my $baseurl = "http://teletekst.nos.nl/tekst/709-01.html";    # what else???
+my $url;
+
+$url = "$baseurl";
+
+## Get a certain URL
+my $ua = new LWP::UserAgent;
+
+#Set agent name, we are not a script! :)
+my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)";
+$ua->agent($agent);
+
+#$ua->proxy( "http", "http://www.area53.nl:4242/" ); #temporary proxy
+
+my $request = new HTTP::Request( 'GET', $url );
+$request->referer('http://portal.omroep.nl/');
+$request->header( "Accept" =>
+    'application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1'
+);
+$request->header( "Accept-Encoding" => "gzip, deflate, compress" );
+$request->header( "Accept-Language" => "en-us, en;q=0.80, ko;q=0.60, zh;q=0.40, ja;q=0.20" );
+$request->header( "Accept-Charset"  => "utf-8, *" );
+
+my $content = $ua->request($request)->content;
+
+#get everything between 
 
+if ( $content =~ /
/ ) {
+    $content =~ s/^.*?
.*?\n(.*?)<\/pre>.*?$/$1/si;
+    $content =~ s/\*+//g;
+    $content =~ s///sgi;
+    $content =~ s/<\/font>//sgi;
+    $content =~ s/(\d{3}).*?<\/A>/($1),/gi;
+    $content =~ s/\n+//g;
+    $content =~ s/\.{2,}//g;
+    $content =~ s/([,.])/$1 /g;
+    $content =~ s/\s{2,}/ /g;
+    $content =~ s/^\s//;
+    $content =~ s/^.*?luidt://;
+    $content =~ s/Leids Universitair Medisch Centrum waarschuwing nieuws index sportnieuws\.*?//i;
+    $content =~ s/\s+/ /g;
+    $content =~ s/o n g u n s t i g/ongunstig/g;
+    $content =~ s/g u n s t i g/gunstig/g;
+    $content =~ s/n i e t/niet/g;
+    $content =~ s/z o/zo/g;
+    $content = HTML::Entities::decode($content);
+    $content =~ s/(volgende|index.*?) nieuws.*$//i;    #index tv nieuws financieel sport
+    print $content . "\n";
+} else {
+    print "Pagina niet gevonden\n";
+}
diff --git a/imdb/command.cfg b/imdb/command.cfg
new file mode 100644
index 0000000..e52c9db
--- /dev/null
+++ b/imdb/command.cfg
@@ -0,0 +1,2 @@
+level = 50
+cache = 86400  # 1 day
diff --git a/imdb/help.txt b/imdb/help.txt
new file mode 100644
index 0000000..e56a2b3
--- /dev/null
+++ b/imdb/help.txt
@@ -0,0 +1,3 @@
+imdb--Internet Movie DataBase, returns a summary on a given movie.
+syntax: imdb [searchstring]
+searchstring: (part of) the movie title.
diff --git a/imdb/imdb.elz b/imdb/imdb.elz
new file mode 100644
index 0000000..7cd3f02
--- /dev/null
+++ b/imdb/imdb.elz
@@ -0,0 +1,32 @@
+# Looks up info on a movie
+
+#procedure om uit een lijste de meest populaire te halen
+proc BESTMATCH
+   var beste between HREF="/Title? ">
+   printraw http://www.imdb.com/Title%%beste%%
+endproc BESTMATCH
+
+proc PRINTURL
+  printraw %%url%%
+endproc PRINTURL
+
+
+var onerror = continue
+var dumprequest = on
+var dumpheaders = on
+var dumpbody = on
+#var shout = verbose
+var shout = silent
+var proxy = proxy.utwente.nl 3128
+
+var title = %%cmdoptt%%
+
+get url http://www.imdb.com/
+
+field %ALL% $
+field for = %%title%%
+
+post url /Find
+
+call BESTMATCH if %%request%% == /Find
+call PRINTURL  if %%request%% != /Find
diff --git a/imdb/imdb.pl b/imdb/imdb.pl
new file mode 100755
index 0000000..c8ac098
--- /dev/null
+++ b/imdb/imdb.pl
@@ -0,0 +1,114 @@
+#!/usr/bin/perl -w
+use strict;
+use LWP::UserAgent;
+use URI::Escape;
+use HTTP::Cookies;
+use HTML::Entities();
+
+## Import available environment variables
+
+my $address       = $ENV{'MULTI_USER'};            # address of invoking user
+my $user          = $ENV{'MULTI_REALUSER'};        # multigate username of invoking user
+my $userlevel     = $ENV{'MULTI_USERLEVEL'};       # userlevel of invoking user
+my $from_protocol = $ENV{'MULTI_FROM'};            # protocol this command was invoked from
+my $to_protocol   = $ENV{'MULTI_TO'};              # protocol where output will be sent
+my $command_level = $ENV{'MULTI_COMMANDLEVEL'};    # level needed for this command
+
+my $commandline = defined $ARGV[0] ? $ARGV[0] : '';
+
+## Get a certain URL
+
+my $ua = new LWP::UserAgent;
+
+#Set agent name, we are not a script! :)
+my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)";
+$ua->agent($agent);
+
+my $cookie_jar = HTTP::Cookies->new;
+
+my $request = new HTTP::Request( 'GET', "http://imdb.com/" );
+my $response = $ua->request($request);
+$cookie_jar->extract_cookies($response);
+
+sub lookup_title {
+	my $titel = shift;
+	$titel =~ s/^\s+//;
+	$titel =~ s/\s+$//;
+
+	my $t = uri_escape($titel);
+	$t =~ s/%20/+/g;
+    my $url = "http://imdb.com/find?q=$t;s=all";
+
+	#print STDERR "getting $url\n";
+	#sleep 2;
+
+	$request = new HTTP::Request( 'GET', $url );
+	$cookie_jar->add_cookie_header($request);
+	$response = $ua->request($request);
+
+	if ( $response->headers->title() =~ /IMDb\s+search/i ) {
+		my @lines    = $response->content;
+		my $gevonden = 0;
+		my $id;
+		while ( !$gevonden && ( my $line = shift @lines ) ) {
+			#print $line;
+			if ( $line =~ m||i ) {
+				$gevonden = 1;
+				$id       = $1;
+				last;
+			}
+		}
+
+		if (!defined $id) {
+			print "Film '$titel' niet gevonden.\n";
+			return;
+		}
+
+		$url = "http://www.imdb.com/title/$id/";
+		$request = new HTTP::Request( 'GET', $url );
+		$cookie_jar->add_cookie_header($request);
+		$response = $ua->request($request);
+
+	} elsif ( $response->headers->title() =~ /The Internet Movie Database \(IMDb\)/i ) {
+		print "Film '$titel' niet gevonden.\n";
+		return;
+	}
+   
+    $url = $response->base(); #we might have been redirected...
+	my @html = $response->content;
+
+	my $alles = join '', @html;
+
+	#print $alles;
+	$alles =~ /.*?(.*?)<\/title>.*?/si;
+	my $naam = "$1 ";
+	$alles =~ /.*?Directed by<\/B><BR>.*?>(.*?)<\/A>.*?/si;
+	my $regisseur = "$1 ";
+	$alles =~ /.*?Plot (Outline|Summary):<\/b>(.*?)<a.*?/si;
+	my $plot = "$2 ";
+
+	# <b>8.2/10</b> (26,379 votes)</b>
+	$alles =~ /.*?<b>(\d*\.\d*)\/10<\/b> \(\d+.*? votes\).*?/si;
+	my $rating = "$1 ";
+	my $result = "$naam. Regisseur: $regisseur. Plot outline: $plot Rating: $rating. (Zie: $url)";
+	$result =~ s/\n//g;
+	$result =~ s/<.*?>//g;
+	$result =~ s/\s{2,}/ /g;
+	$result =~ s/\s\././g;
+
+	$result = HTML::Entities::decode($result);
+	print "$result\n";
+}
+
+if ( @ARGV < 1 ) {
+	print "Te weinig argumenten.\n"
+} else {
+    my $title  = $commandline;
+    my @titles = split ';', $title;
+
+    foreach my $title (@titles) {
+        # strip !tv context
+        $title =~ s/^\w+\s+:\s+[0-9?]{1,2}\.[0-9?]{1,2}\s+-\s+[0-9?]{1,2}\.[0-9?]{1,2}\s+(.*)$/$1/;
+		lookup_title($title);
+    }
+}
diff --git a/imdb/imdb.pl.metelza b/imdb/imdb.pl.metelza
new file mode 100755
index 0000000..a7a7032
--- /dev/null
+++ b/imdb/imdb.pl.metelza
@@ -0,0 +1,57 @@
+#!/usr/bin/perl -w
+$|      = 1;
+$elza   = "/usr/local/bin/elza";
+$script = "/home/multilink/multigate/commands/imdb/imdb.elz";
+
+sub safe_execute {
+    #my ($file, $script, $lang, $text) = @_;
+    my $file = shift @_;
+    my @output;
+    my $line;
+    if ( my $pid = open( CHILD, "-|" ) ) {
+        while ( $line = <CHILD> ) {
+            if ( length($line) > 0 ) { push @output, $line }
+        }
+        close(CHILD);
+    } else {
+        die "cannot fork: $!" unless defined $pid;
+        exec( $file , @_ ) or die "can't exec: $!";
+    }
+    return @output;
+}
+
+
+if ( @ARGV < 1 ) { print "Te weinig argumenten.\n" }
+else {
+
+    $title = join " ", @ARGV;
+    $title =~ tr/\|\`\<\>/ /s;
+    @titles = split ';', $title;
+    foreach $titel (@titles) {
+        @out = safe_execute( $elza, "-s $script", "-t $titel" );
+        $url = join " ", @out;
+        #print "url = $url";
+        if ( $url =~ /http:\/\/.*?\.imdb\.com\/Title\?\d+/ ) {
+            my @html  = `lynx -source $url`;
+            my $alles = join '', @html;
+            #print $alles;
+            $alles =~ /.*?<title>(.*?)<\/title>.*?/si;
+            $naam = "$1 ";
+            $alles =~ /.*?Directed by<\/B><BR>.*?>(.*?)<\/A>.*?/si;
+            $regisseur = "$1 ";
+            $alles =~ /.*?Plot (Outline|Summary):<\/b>(.*?)<a.*?/si;
+            $plot = "$2 ";
+            # <b>8.2/10</b> (26,379 votes)</b>
+            $alles =~ /.*?<b>(\d*\.\d*)\/10<\/b> \(\d+.*? votes\).*?/si;
+            $rating = "$1 ";
+            $result = "$naam. Regisseur: $regisseur. Plot outline: $plot Rating: $rating. (Zie: $url)";
+            $result =~ s/\n//g;
+            $result =~ s/<.*?>//g;
+            $result =~ s/\s{2,}/ /g;
+            $result =~ s/\s\././g;
+            print "$result\n";
+        } else {
+            print "$titel: Film niet gevonden\n";
+        }
+    }
+}
diff --git a/imdb/level b/imdb/level
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/imdb/level
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/inchometer/command.cfg b/inchometer/command.cfg
new file mode 100644
index 0000000..9f93393
--- /dev/null
+++ b/inchometer/command.cfg
@@ -0,0 +1,3 @@
+level = 100
+cache = 0
+author = ongeveer jorik
diff --git a/inchometer/help.txt b/inchometer/help.txt
new file mode 100644
index 0000000..fc5505c
--- /dev/null
+++ b/inchometer/help.txt
@@ -0,0 +1 @@
+inchometer <tekst>: berekent de inch-count van deze tekst.
\ No newline at end of file
diff --git a/inchometer/inchometer.pl b/inchometer/inchometer.pl
new file mode 100755
index 0000000..ef947c1
--- /dev/null
+++ b/inchometer/inchometer.pl
@@ -0,0 +1,108 @@
+#!/usr/bin/perl -w
+#
+# Jorik wil dit.... InchHunterPro
+#
+
+use strict;
+
+## Import available environment variables
+
+my $address       = $ENV{'MULTI_USER'};            # address of invoking user
+my $user          = $ENV{'MULTI_REALUSER'};        # multigate username of invoking user
+my $userlevel     = $ENV{'MULTI_USERLEVEL'};       # userlevel of invoking user
+my $from_protocol = $ENV{'MULTI_FROM'};            # protocol this command was invoked from
+my $to_protocol   = $ENV{'MULTI_TO'};              # protocol where output will be sent
+my $command_level = $ENV{'MULTI_COMMANDLEVEL'};    # level needed for this command
+my $is_multicast  = $ENV{'MULTI_IS_MULTICAST'};    # message to multiple recipients (channels)
+
+my $commandline = defined $ARGV[0] ? $ARGV[0] : '';
+
+my $inches = 0;
+
+my %users = (
+   'oxo' => -3,
+   'wiggy' => 8, 
+);
+
+
+my %words = (
+    'bsd' => 5,
+    'netbsd' => -10,
+    'wireless' => 4,
+    'mac' => 4,
+    'full\s*screen' => 4,
+    'g(?:iga)?bit' => 6,
+    'ipv6' => 6,
+    'hex' => 3,
+    'colo' => 2,
+    'framerate' => 7,
+    'fps' => 3,
+    'athlon64' => 4,
+    'dual' => 3,
+    'quad' => 5,         
+    'civ'  => -10,
+    'itbe' => -12,
+    'herfst' => -1,
+    'mod' => 3,
+    'osx' => -5,
+    'XP' => 2,
+    'pro' => 2,
+    'z\b' => 1, #woord eindigend op z ;)
+    'dvd' => 2,
+    'kiddie' => 3,
+    'shf' => 2,
+    'k(?:-)?line' => 2,
+    'uptime' => 4,
+    'script' => 2,
+    'irc' => 2,
+    '\d+\+' => 3,
+    'pdp11' => -4,
+    'quantum' => 1,
+    'asus' => 2,
+    'power' => 2,
+    '!!!' => 1,
+    'msn' => -10,
+    'water' => 3,
+    'database' => 1,
+    'impact' => 1,
+    'scsi' => -6,
+    'sata' => 3,
+    'raptor' => 1,
+    'level' => 3,     
+    'raid' => 2,
+    'bitlbee' => -3,
+    'TB' => 4,
+    'GB' => 2,
+    'MB' => 1,
+    'oper' => 2,
+    'lumen' => 3,
+    'ansi' => -1,
+    'beamer' => 3,
+    'vinyl' => 12,
+    '3ware' => 3,
+    '3com' => -8,
+#En een paar voor de VB tussendoor    
+    'sex' => 2,
+    'nijlpaard' => 2,
+    'tiet' => 2,
+    'bier' => 3,
+    'porno' => -3,
+    'viagra' => -2,
+    
+);
+
+$inches += $users{$user} if (exists $users{$user} );
+
+foreach my $word (keys %words) {
+    $inches += $words{$word} if ($commandline =~ /$word/i );
+}
+
+my @hoofdletters = ($commandline =~ /[A-Z]/g);
+my $letters = length($commandline);
+
+my $factor = ($letters > 0) ? scalar(@hoofdletters) / $letters : 1;
+$factor = 1.5 * ( 1 - abs($factor - 0.5 )); 
+
+$inches *= $factor;
+ 
+printf "Dit scoort %.2f inches" , $inches;
diff --git a/insult/command.cfg b/insult/command.cfg
new file mode 100644
index 0000000..e77420a
--- /dev/null
+++ b/insult/command.cfg
@@ -0,0 +1 @@
+level = 10
diff --git a/insult/insult.pl b/insult/insult.pl
new file mode 100755
index 0000000..7352d25
--- /dev/null
+++ b/insult/insult.pl
@@ -0,0 +1,50 @@
+#!/usr/bin/perl -w
+use strict;
+
+my $user = $ENV{MULTI_REALUSER};
+
+my @first = qw (artless      bawdy        beslubbering bootless     churlish
+  cockered     clouted      craven       currish      dankish      dissembling
+  droning      errant       fawning      fobbing      froward      frothy
+  gleeking     goatish      gorbellied   impertinent  infectious   jarring
+  loggerheaded lumpish      mammering    mangled      mewling      paunchy
+  pribbling    puking       puny         quailing     rank         reeky
+  roguish      ruttish      saucy        spleeny      spongy       surly
+  tottering    unmuzzled    vain         venomed      villainous   warped
+  wayward      weedy        yeasty);
+
+my @second = qw(base-court     bat-fowling    beef-witted    beetle-headed
+  boil-brained   clapper-clawed clay-brained   common-kissing crook-pated
+  dismal-dreamin dizzy-eyed     doghearted     dread-bolted   earth-vexing
+  elf-skinned    fat-kidneyed   fen-sucked     flap-mouthed   fly-bitten
+  folly-fallen   fool-born      full-gorged    guts-griping   half-faced
+  hasty-witted   hedge-born     hell-hated     idle-headed    ill-breeding
+  ill-nurtured   knotty-pated   milk-livered   motley-minded  onion-eyed
+  plume-plucked  pottle-deep    pox-marked     reeling-ripe   rough-hewn
+  rude-growing   rump-fed       shard-borne    sheep-biting   spur-galled
+  swag-bellied   tardy-gaited   tickle-brained toad-spotted   urchin-snouted
+  weather-bitten);
+
+my @third = qw (apple-john     baggage        barnacle       bladder
+  boar-pig       bugbear        bum-bailey     canker-blossom clack-dish
+  clotpole       coxcomb        codpiece       death-token    dewberry
+  flap-dragon    flax-wench     flirt-gill     foot-licker    fustilarian
+  giglet         gudgeon        haggard        harpy          hedge-pig
+  horn-beast     hugger-mugger  jolthead       lewdster       lout
+  maggot-pie     malt-worm      mammet         measle         minnow
+  miscreant      moldwarp       mumble-news    nut-hook       pigeon-egg
+  pignut         puttock        pumpion        ratsbane       scut
+  skainsmate     strumpet       varlet         vassal         whey-face
+  wagtail);
+
+my $insult = $first[ rand(@first) ] . " " . $second[ rand(@second) ] . " " . $third[ rand(@third) ];
+
+if ( ( @ARGV > 0 ) && ( $ARGV[0] =~ /^\w+/ ) ) {
+    if ( $ARGV[0] =~ /multi/i ) {
+        print "$user, thou art a $insult!\n";
+    } else {
+        print "$ARGV[0], thou art a $insult!\n";
+    }
+} else {
+    print "Thou $insult!\n";
+}
diff --git a/insult/level b/insult/level
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/insult/level
@@ -0,0 +1 @@
+0
diff --git a/internet/GoogleSearch.wsdl b/internet/GoogleSearch.wsdl
new file mode 100644
index 0000000..9ef5614
--- /dev/null
+++ b/internet/GoogleSearch.wsdl
@@ -0,0 +1,194 @@
+<?xml version="1.0"?>
+
+<!-- WSDL description of the Google Web APIs.
+     The Google Web APIs are in beta release. All interfaces are subject to
+     change as we refine and extend our APIs. Please see the terms of use
+     for more information. -->
+
+<definitions name="urn:GoogleSearch"
+             targetNamespace="urn:GoogleSearch"
+             xmlns:typens="urn:GoogleSearch"
+             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+             xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+             xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+  <!-- Types for search - result elements, directory categories -->
+
+  <types>
+    <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" 
+                targetNamespace="urn:GoogleSearch">
+            
+      <xsd:complexType name="GoogleSearchResult">
+        <xsd:all>
+          <xsd:element name="documentFiltering"           type="xsd:boolean"/>
+          <xsd:element name="searchComments"              type="xsd:string"/>
+          <xsd:element name="estimatedTotalResultsCount"  type="xsd:int"/>
+          <xsd:element name="estimateIsExact"             type="xsd:boolean"/>
+          <xsd:element name="resultElements"              type="typens:ResultElementArray"/>
+          <xsd:element name="searchQuery"                 type="xsd:string"/>
+          <xsd:element name="startIndex"                  type="xsd:int"/>
+          <xsd:element name="endIndex"                    type="xsd:int"/>
+          <xsd:element name="searchTips"                  type="xsd:string"/>
+          <xsd:element name="directoryCategories"         type="typens:DirectoryCategoryArray"/>
+          <xsd:element name="searchTime"                  type="xsd:double"/>
+        </xsd:all>
+      </xsd:complexType>
+
+      <xsd:complexType name="ResultElement">
+        <xsd:all>
+          <xsd:element name="summary" type="xsd:string"/>
+          <xsd:element name="URL" type="xsd:string"/>
+          <xsd:element name="snippet" type="xsd:string"/>
+          <xsd:element name="title" type="xsd:string"/>
+          <xsd:element name="cachedSize" type="xsd:string"/>
+          <xsd:element name="relatedInformationPresent" type="xsd:boolean"/>
+          <xsd:element name="hostName" type="xsd:string"/>
+          <xsd:element name="directoryCategory" type="typens:DirectoryCategory"/>
+          <xsd:element name="directoryTitle" type="xsd:string"/>
+        </xsd:all>
+      </xsd:complexType>
+  
+      <xsd:complexType name="ResultElementArray">
+        <xsd:complexContent>
+          <xsd:restriction base="soapenc:Array">
+             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:ResultElement[]"/>
+          </xsd:restriction>
+        </xsd:complexContent>
+      </xsd:complexType>
+
+      <xsd:complexType name="DirectoryCategoryArray">
+        <xsd:complexContent>
+          <xsd:restriction base="soapenc:Array">
+             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:DirectoryCategory[]"/>
+          </xsd:restriction>
+        </xsd:complexContent>
+      </xsd:complexType>
+
+      <xsd:complexType name="DirectoryCategory">
+        <xsd:all>
+          <xsd:element name="fullViewableName" type="xsd:string"/>
+          <xsd:element name="specialEncoding" type="xsd:string"/>
+        </xsd:all>
+      </xsd:complexType>
+
+    </xsd:schema>
+  </types> 
+
+  <!-- Messages for Google Web APIs - cached page, search, spelling. -->
+             
+  <message name="doGetCachedPage">
+    <part name="key"            type="xsd:string"/>
+    <part name="url"            type="xsd:string"/>
+  </message>
+
+  <message name="doGetCachedPageResponse">
+    <part name="return"         type="xsd:base64Binary"/>
+  </message>
+
+  <message name="doSpellingSuggestion">
+    <part name="key"            type="xsd:string"/>
+    <part name="phrase"         type="xsd:string"/>
+  </message>
+
+  <message name="doSpellingSuggestionResponse">
+    <part name="return"         type="xsd:string"/>
+  </message>
+
+  <message name="doGoogleSearch">
+    <part name="key"            type="xsd:string"/>
+    <part name="q"              type="xsd:string"/>
+    <part name="start"          type="xsd:int"/>
+    <part name="maxResults"     type="xsd:int"/>
+    <part name="filter"         type="xsd:boolean"/>
+    <part name="restrict"       type="xsd:string"/>
+    <part name="safeSearch"     type="xsd:boolean"/>
+    <part name="lr"             type="xsd:string"/>
+    <part name="ie"             type="xsd:string"/>
+    <part name="oe"             type="xsd:string"/>
+  </message>
+
+  <message name="doGoogleSearchResponse">
+    <part name="return"         type="typens:GoogleSearchResult"/>           
+  </message>
+
+  <!-- Port for Google Web APIs, "GoogleSearch" -->
+
+  <portType name="GoogleSearchPort">
+
+    <operation name="doGetCachedPage">
+      <input message="typens:doGetCachedPage"/>
+      <output message="typens:doGetCachedPageResponse"/>
+    </operation>
+
+    <operation name="doSpellingSuggestion">
+      <input message="typens:doSpellingSuggestion"/>
+      <output message="typens:doSpellingSuggestionResponse"/>
+    </operation>
+
+    <operation name="doGoogleSearch">
+      <input message="typens:doGoogleSearch"/>
+      <output message="typens:doGoogleSearchResponse"/>
+    </operation>
+
+  </portType>
+
+
+  <!-- Binding for Google Web APIs - RPC, SOAP over HTTP -->
+
+  <binding name="GoogleSearchBinding" type="typens:GoogleSearchPort">
+    <soap:binding style="rpc"
+                  transport="http://schemas.xmlsoap.org/soap/http"/>
+
+    <operation name="doGetCachedPage">
+      <soap:operation soapAction="urn:GoogleSearchAction"/>
+      <input>
+        <soap:body use="encoded"
+                   namespace="urn:GoogleSearch"
+                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded"
+                   namespace="urn:GoogleSearch"
+                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+
+    <operation name="doSpellingSuggestion">
+      <soap:operation soapAction="urn:GoogleSearchAction"/>
+      <input>
+        <soap:body use="encoded"
+                   namespace="urn:GoogleSearch"
+                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded"
+                   namespace="urn:GoogleSearch"
+                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+
+    <operation name="doGoogleSearch">
+      <soap:operation soapAction="urn:GoogleSearchAction"/>
+      <input>
+        <soap:body use="encoded"
+                   namespace="urn:GoogleSearch"
+                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded"
+                   namespace="urn:GoogleSearch"
+                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+  </binding>
+
+  <!-- Endpoint for Google Web APIs -->
+  <service name="GoogleSearchService">
+    <port name="GoogleSearchPort" binding="typens:GoogleSearchBinding">
+      <soap:address location="http://api.google.com/search/beta2"/>
+    </port>
+  </service>
+
+</definitions>
diff --git a/internet/command.cfg b/internet/command.cfg
new file mode 100644
index 0000000..711930a
--- /dev/null
+++ b/internet/command.cfg
@@ -0,0 +1 @@
+level = 0
diff --git a/internet/help.txt b/internet/help.txt
new file mode 100644
index 0000000..1ef389f
--- /dev/null
+++ b/internet/help.txt
@@ -0,0 +1,3 @@
+internet-- search the web. Returns URL of first hit of Google.
+Syntax: internet [search string]
+Search string: What it is that you are looking for on the web.
diff --git a/internet/internet.pl b/internet/internet.pl
new file mode 100755
index 0000000..3e75a7c
--- /dev/null
+++ b/internet/internet.pl
@@ -0,0 +1,74 @@
+#!/usr/bin/perl -w
+
+# GoogleSearch.pl
+# 11apr2002 - matt@interconnected.org http://interconnected.org/home/
+# Demonstrates use of the doGoogleSearch method on the Google API.
+# See http://www.google.com/apis/ to get your key and download the WSDL
+#(which this script expects to find in its directory).
+
+use strict;
+use HTML::Entities();
+use lib '../../lib/';
+use SOAP::Lite;
+
+# Configuration
+my $key   = "3xMMU35wtVSsVOWll+jsV6X/qAOgATde";    # <-- PUT YOUR KEY HERE
+my $query = $ARGV[0] || "google api";              # either type on the command line,
+                                                   # or it defaults to 'google api'
+
+# Redefine how the default deserializer handles booleans.
+# Workaround because the 1999 schema implementation incorrectly doesn't
+# accept "true" and "false" for boolean values.
+# See http://groups.yahoo.com/group/soaplite/message/895
+*SOAP::XMLSchema1999::Deserializer::as_boolean = *SOAP::XMLSchemaSOAP1_1::Deserializer::as_boolean =
+  \&SOAP::XMLSchema2001::Deserializer::as_boolean;
+
+# Initialise with local SOAP::Lite file
+my $service = SOAP::Lite->service('file:./GoogleSearch.wsdl');
+
+my $result = $service->doGoogleSearch(
+    $key,        # key
+    $query,      # search query
+    0,           # start results
+    1,           # max results
+    "false",     # filter: boolean
+    "",          # restrict (string)
+    "false",     # safeSearch: boolean
+    "",          # lr
+    "latin1",    # ie
+    "latin1"     # oe
+);
+
+# $result is hash of the return structure. Each result is an element in the
+# array keyed by 'resultElements'. See the WSDL for more details. 
+
+if ( defined( $result->{resultElements} ) ) {
+
+    #my $count = $result->{estimatedTotalResultsCount};
+    #my $time =  $result->{searchTime}; 
+    my $title = $result->{resultElements}->[0]->{title};
+    my $url   = $result->{resultElements}->[0]->{URL};
+
+    #print STDERR "$title\n";
+    if ($title) {
+        $title =~ s/<.*?>//g;
+        $title =~ s/<.*?>//g;
+        $title =~ s/&\w+;//g;
+    }
+    if ( defined $url ) {
+        $title = HTML::Entities::decode($title);
+        print "$url  [$title]\n";
+
+        #(total: $count searchtime: $time)\n";
+    } else {
+        print "No results";
+    }
+}
+
+# nb:
+# - The two booleans in the search above must be "false" or "true" (not 1 or
+#   0). Previously this script used 'SOAP::Data->type(boolean => "false")'
+#   which came out as '0' in the SOAP message, but wasn't understood by the
+#   Google interface.
+# - I understand that the Schema definition workaround above isn't needed if
+#   you're using SOAP::Lite 0.52 or above. I've been using 0.51.
diff --git a/internet/level b/internet/level
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/internet/level
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/ipdobbel/command.cfg b/ipdobbel/command.cfg
new file mode 100644
index 0000000..b4c5289
--- /dev/null
+++ b/ipdobbel/command.cfg
@@ -0,0 +1,2 @@
+level = 0
+cache = 0
diff --git a/ipdobbel/help.txt b/ipdobbel/help.txt
new file mode 100644
index 0000000..6523f29
--- /dev/null
+++ b/ipdobbel/help.txt
@@ -0,0 +1 @@
+ipdobbel [ut] - dobbelt een ip-adres en probeert het ook te resolven. ut dobbelt binnen 130.89
\ No newline at end of file
diff --git a/ipdobbel/ipdobbel.pl b/ipdobbel/ipdobbel.pl
new file mode 100755
index 0000000..5975f72
--- /dev/null
+++ b/ipdobbel/ipdobbel.pl
@@ -0,0 +1,23 @@
+#!/usr/bin/perl -w
+use strict;
+use Socket;
+
+my $commandline = defined $ARGV[0] ? $ARGV[0] : '';
+
+#find 4 octets
+
+my $a = int rand(255); 
+my $b = int rand(255);
+my $c = int rand(255);
+my $d = int rand(255);
+
+if ($commandline =~ /^ut/i) {
+   $a = 130;
+   $b = 89;
+}
+
+my $address = "$a.$b.$c.$d";
+my $name = gethostbyaddr( pack( "C4", ( split m|\.|, $address ) ), AF_INET );
+my $resolved = defined $name ? $name : "Not resolved";
+
+print "$address ($resolved)\n";
\ No newline at end of file
diff --git a/jaja/command.cfg b/jaja/command.cfg
new file mode 100644
index 0000000..711930a
--- /dev/null
+++ b/jaja/command.cfg
@@ -0,0 +1 @@
+level = 0
diff --git a/jaja/help.txt b/jaja/help.txt
new file mode 100644
index 0000000..7e1f8d0
--- /dev/null
+++ b/jaja/help.txt
@@ -0,0 +1 @@
+jaja: geeft als antwoord ja.
diff --git a/jaja/jaja.pl b/jaja/jaja.pl
new file mode 100755
index 0000000..e86cf98
--- /dev/null
+++ b/jaja/jaja.pl
@@ -0,0 +1,9 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+if ( int( rand(100) ) == 42 ) {    #in 1% van de gevallen
+    print "nee\n";
+} else {
+    print "ja\n";
+}
diff --git a/jaja/janee.pl.klein.maar.mooi b/jaja/janee.pl.klein.maar.mooi
new file mode 100755
index 0000000..8963af0
--- /dev/null
+++ b/jaja/janee.pl.klein.maar.mooi
@@ -0,0 +1,3 @@
+#!/usr/bin/perl -w
+my @janee = qw (ja nee);
+print $janee[int(rand(2))] ."\n";
diff --git a/jaja/level b/jaja/level
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/jaja/level
@@ -0,0 +1 @@
+0
diff --git a/janee/command.cfg b/janee/command.cfg
new file mode 100644
index 0000000..711930a
--- /dev/null
+++ b/janee/command.cfg
@@ -0,0 +1 @@
+level = 0
diff --git a/janee/help.txt b/janee/help.txt
new file mode 100644
index 0000000..9f22201
--- /dev/null
+++ b/janee/help.txt
@@ -0,0 +1 @@
+janee [stats]: geeft als antwoord ja of nee, met een kans van ongeveer 50%. Geinspireerd door een kunstwerk van Tovenaar.
\ No newline at end of file
diff --git a/janee/history.txt b/janee/history.txt
new file mode 100644
index 0000000..426290d
--- /dev/null
+++ b/janee/history.txt
@@ -0,0 +1 @@
+2878 2843
diff --git a/janee/janee.pl b/janee/janee.pl
new file mode 100755
index 0000000..1b1c159
--- /dev/null
+++ b/janee/janee.pl
@@ -0,0 +1,58 @@
+#!/usr/bin/perl -w
+# DND's eigen orakel, nu met statistieken.
+# Schubi: ik gebruik nu ook een if :(
+# Er zijn racecondities te verzinnen volgens mij... jammer dan
+# Copyright Casper Joost Eyckelhof
+
+use strict;
+
+$| = 1;
+
+my @keuzes   = qw (ja nee);
+my $histfile = "/home/multilink/multigate/commands/janee/history.txt";
+open HIST, "< $histfile";
+my $line = <HIST>;
+my ( $ja, $nee ) = split /\s/, $line, 2;
+close HIST;
+
+chomp $nee;
+
+if ( @ARGV && ( $ARGV[0] =~ /^stats?$/ ) ) {
+
+    #We willen statistieken hebben
+    #Eerst percentages
+    my $jap  = sprintf( "%.2f", ( $ja / ( $ja + $nee ) ) * 100 );
+    my $neep = sprintf( "%.2f", 100 - $jap );                       #tenminste geen zichtbare afrondfouten :)
+    print "ja: $ja ($jap\%), nee: $nee ($neep\%)\n";
+
+} else {
+
+    #Geen statistieken, maar orakelen!
+    #Eerst antwoord bepalen:
+    my $antwoord = $keuzes[ int( rand(2) ) ];
+    print "$antwoord\n";
+
+    #toevoegen aan statistiek
+    if ( $antwoord eq $keuzes[0] ) {
+        $ja++;
+    } else {
+        $nee++;
+    }
+
+    #schrijven naar disk (jaja, geen locking enzo. Bad Titan!):
+    open HIST, "> $histfile" or die ("cannot open histfile");
+    print HIST "$ja $nee\n";
+    close HIST;
+
+    # En speciaal voor Wouter:
+    if ( int( rand(100) ) == 42 ) {    #in 1% van de gevallen
+        sleep(2);
+        print "Oh wacht! Ik vergis me! Het moet ";
+        if ( $antwoord eq $keuzes[0] ) {
+            print "nee";
+        } else {
+            print "ja";
+        }
+        print " zijn.\n";
+    }
+}
diff --git a/janee/janee.pl.klein.maar.mooi b/janee/janee.pl.klein.maar.mooi
new file mode 100755
index 0000000..8963af0
--- /dev/null
+++ b/janee/janee.pl.klein.maar.mooi
@@ -0,0 +1,3 @@
+#!/usr/bin/perl -w
+my @janee = qw (ja nee);
+print $janee[int(rand(2))] ."\n";
diff --git a/janee/level b/janee/level
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/janee/level
@@ -0,0 +1 @@
+0
diff --git a/jargon/command.cfg b/jargon/command.cfg
new file mode 100644
index 0000000..0f93786
--- /dev/null
+++ b/jargon/command.cfg
@@ -0,0 +1,2 @@
+level = 100
+max_lines_multicast = 0
diff --git a/jargon/help.txt b/jargon/help.txt
new file mode 100644
index 0000000..6173069
--- /dev/null
+++ b/jargon/help.txt
@@ -0,0 +1 @@
+jargon [zoekterm] - geeft de jargon file entry van [zoekterm]
diff --git a/jargon/jargon.pl b/jargon/jargon.pl
new file mode 100755
index 0000000..4fde727
--- /dev/null
+++ b/jargon/jargon.pl
@@ -0,0 +1,13 @@
+#!/usr/bin/perl
+#
+# Depends on Debian packages dict-jargon, dict and dictd
+#
+
+use strict;
+use warnings;
+
+my @out = `dict -d jargon -P - -C $ARGV[0]`;
+
+foreach (@out) {
+    print if /^\s+\S+/ or /^No definitions found for/;
+}
diff --git a/jarig/command.cfg b/jarig/command.cfg
new file mode 100644
index 0000000..b4d0ccf
--- /dev/null
+++ b/jarig/command.cfg
@@ -0,0 +1,3 @@
+user = 0
+level = 50
+cache = 0
diff --git a/jarig/help.txt b/jarig/help.txt
new file mode 100644
index 0000000..a81efe4
--- /dev/null
+++ b/jarig/help.txt
@@ -0,0 +1 @@
+jarig [username | maandnummer] : geeft verjaardagen in komende maand of in [maandnummer] of de verjaardag van [user]
\ No newline at end of file
diff --git a/jarig/jarig.pl b/jarig/jarig.pl
new file mode 100755
index 0000000..5efcf2f
--- /dev/null
+++ b/jarig/jarig.pl
@@ -0,0 +1,81 @@
+#!/usr/bin/perl -w
+#
+# It is ugly!
+# The first person that has time to clean up this mess: please do!
+#
+
+use DBI;
+use lib '../../lib';
+use Multigate::Config qw( getconf readconfig );
+use Multigate::Users;
+
+my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time);
+my ( $month, $day ) = ( $mon + 1, $mday );
+
+readconfig("../../multi.conf");    #allowed this way?
+my $password = getconf('db_passwd');
+my $db_user  = getconf('db_user');
+my $database = getconf('db_name');
+$dbh = DBI->connect( 'DBI:mysql:' . $database, $db_user, $password, { RaiseError => 0, AutoCommit => 1 } );
+
+if ( !defined $dbh ) {
+    print STDERR DBI::errstr;
+    exit 0;
+}
+
+if ( defined $ARGV[0] && ( $ARGV[0] !~ /^\s*$/ ) ) {
+    my ( $command, $bagger ) = split ' ', $ARGV[0], 2;
+    if ( ( defined $command ) and ( $command !~ /^\s*$/ ) and ( $command =~ /^(\d+)$/ ) and ( $command <= 12 ) ) {
+
+        # Month !
+        $month = $1;
+        $day   = 1;
+    } elsif ( $command =~ /\w/ ) {
+        #zouden ze een user bedoelen?
+        my $user = "pietjepuk";
+        chdir("../..");
+        init_users_module();
+        if ( user_exists($command) ) {
+            $user = Multigate::Users::aliastouser($command);
+        } else {
+            print "Geef maandnummer, naam of helemaal niks\n";
+            exit 0;
+        }
+        cleanup_users_module();
+        my ( $dag, $maand, $jaar ) = $dbh->selectrow_array( <<'EOT', {}, $user );
+SELECT DAYOFMONTH(birthday), MONTH(birthday), YEAR(birthday)  
+FROM user 
+WHERE username = ? 
+EOT
+        if ( defined $dag ) {
+            my @naam =
+              qw( index_op_1_zetten januari februari maart april mei juni juli augustus september oktober november december);
+            print "Verjaardag van $user: $dag $naam[$maand]\n";
+        } else {
+            print "Geen verjaardag gevonden van $user\n";
+        }
+        exit 0;
+    }
+}
+
+
+$alljarig = $dbh->selectall_arrayref( <<'EOT', {}, $month, $day, $month, $day );
+SELECT username , DAYOFMONTH(user.birthday), MONTH(CURDATE()) , MONTH(user.birthday) , YEAR(CURDATE()) , YEAR(user.birthday)  
+FROM user 
+WHERE MONTH(user.birthday) = ? and DAYOFMONTH(user.birthday) >= ? OR
+      MONTH(user.birthday) = ? +1 and DAYOFMONTH(user.birthday) < ? 
+ORDER BY DATE_FORMAT(user.birthday,"%m%d")
+EOT
+
+foreach (@$alljarig) {
+    ( $un, $dag, $curmaand, $maand, $curjaar, $jaar ) = @$_;
+    if ( $curmaand > $maand ) {
+        $curjaar += 1;
+    }
+    my $age = $curjaar - $jaar;
+    print "$un: $dag-$maand-$jaar ($age)\n";
+}
+
+if ( defined $dbh ) {
+    $dbh->disconnect;
+}
diff --git a/jim/command.cfg b/jim/command.cfg
new file mode 100644
index 0000000..a43d313
--- /dev/null
+++ b/jim/command.cfg
@@ -0,0 +1 @@
+level = 100
\ No newline at end of file
diff --git a/jim/jim.pl b/jim/jim.pl
new file mode 100755
index 0000000..da00335
--- /dev/null
+++ b/jim/jim.pl
@@ -0,0 +1,18 @@
+#!/usr/bin/perl -w
+
+my @jim = (
+    "It's life, Jim, but not as we know it",        "It's worse than that, he's dead Jim",
+    "Analysis Mr. Spock!",                          "You can not change the laws of physics",
+    "Only going forward, still can't find reverse", "We come in peace.. shoot to kill!",
+    "You can not change the laws of physics",       "There's Klingons on the starboard bow"
+);
+
+#
+# <oxo> mag ik een !jim die "It's amazing zegt", maar alleen op mijn triggerd?
+# <oxo> ter compensatie?
+#
+if ( $ENV{'MULTI_REALUSER'} eq "oxo" ) {    # oxo is raar
+    print "It's amazing!";
+} else {
+    print $jim[ rand(@jim) ];
+}
diff --git a/knac/command.cfg b/knac/command.cfg
new file mode 100644
index 0000000..4ab70ec
--- /dev/null
+++ b/knac/command.cfg
@@ -0,0 +1,2 @@
+level = 50
+author = angel_7th
diff --git a/knac/help.txt b/knac/help.txt
new file mode 100644
index 0000000..c51c046
--- /dev/null
+++ b/knac/help.txt
@@ -0,0 +1 @@
+knac - zoekt op welk nummer er op dit moment draait op KNAC.com ("the LOUDEST DOT COM ON THE PLANET!")
diff --git a/knac/knac.pl b/knac/knac.pl
new file mode 100755
index 0000000..27624f6
--- /dev/null
+++ b/knac/knac.pl
@@ -0,0 +1,29 @@
+#! /usr/bin/perl -w
+
+use strict;
+use LWP::UserAgent;
+
+my $url = "http://www.knac.com/text1.txt";
+
+my $ua = new LWP::UserAgent;
+
+#Set agent name, we are not a script! :)
+my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)";
+$ua->agent($agent);
+
+my $request = new HTTP::Request( 'GET', $url );
+my $content = $ua->request($request)->content;
+
+my @lines = split /\n/, $content;
+my $first_line = pop @lines;
+
+$first_line =~ /^text1=<b>NOW PLAYING<\/b>: ([^<]*)<br><b>BY:<\/b>( )?([^ ].*)\r$/;
+my ( $song, $artist ) = ( ucfirst( lc($1) ), ucfirst( lc($3) ) );
+
+if ( $song ne "" and $artist ne "" ) {
+    print "$artist - $song\n";
+} elsif ( $song ne "" ) {
+    print "$song\n";
+} else {
+    print "Sorry, no information available...\n";
+}
diff --git a/kopmunt/command.cfg b/kopmunt/command.cfg
new file mode 100644
index 0000000..0f69821
--- /dev/null
+++ b/kopmunt/command.cfg
@@ -0,0 +1 @@
+level = 0
\ No newline at end of file
diff --git a/kopmunt/help.txt b/kopmunt/help.txt
new file mode 100644
index 0000000..bac97a8
--- /dev/null
+++ b/kopmunt/help.txt
@@ -0,0 +1 @@
+kopmunt: gooit met een muntje - kop of munt
\ No newline at end of file
diff --git a/kopmunt/kopmunt.pl b/kopmunt/kopmunt.pl
new file mode 100755
index 0000000..e3fd33f
--- /dev/null
+++ b/kopmunt/kopmunt.pl
@@ -0,0 +1,7 @@
+#!/usr/bin/perl -w
+my @kopmunt = qw (kop munt);
+if (rand(100) == 42) {
+  print "kant\n";
+} else {
+  print $kopmunt[ int( rand(2) ) ], "\n";
+}
\ No newline at end of file
diff --git a/kopmunt/level b/kopmunt/level
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/kopmunt/level
@@ -0,0 +1 @@
+0
diff --git a/lame/command.cfg b/lame/command.cfg
new file mode 100644
index 0000000..3a2c67a
--- /dev/null
+++ b/lame/command.cfg
@@ -0,0 +1 @@
+level = 50
diff --git a/lame/lame.pl b/lame/lame.pl
new file mode 100755
index 0000000..9e4d1f0
--- /dev/null
+++ b/lame/lame.pl
@@ -0,0 +1,31 @@
+#!/usr/bin/perl -w
+use strict;
+
+sub cmd_lamer {
+    my ($data) = @_;
+    if ($data) {
+        my $x;
+        $_ = $data;
+        s/./$x=rand(6);$x>3?lc($&):uc($&)/eg;
+        s/a/4/gi;
+        s/c/(/gi;
+        s/d/|)/gi;
+        s/e/3/gi;
+        s/f/|=/gi;
+        s/h/|-|/gi;
+        s/i/1/gi;
+        s/k/|</gi;
+        s/l/|_/gi;
+        s!m!/\\/\\!gi;
+        s!n!/\\/!gi;
+        s/o/0/gi;
+        s/s/Z/gi;
+        s/t/7/gi;
+        s/u/|_|/gi;
+        s!v!\\/!gi;
+        s!w!\\/\\/!gi;
+        print "$_\n";
+    }
+}
+cmd_lamer( join ( ' ', @ARGV ) );
+
diff --git a/lame/level b/lame/level
new file mode 100644
index 0000000..29d6383
--- /dev/null
+++ b/lame/level
@@ -0,0 +1 @@
+100
diff --git a/linksrechts/command.cfg b/linksrechts/command.cfg
new file mode 100644
index 0000000..711930a
--- /dev/null
+++ b/linksrechts/command.cfg
@@ -0,0 +1 @@
+level = 0
diff --git a/linksrechts/help.txt b/linksrechts/help.txt
new file mode 100644
index 0000000..0eaaa67
--- /dev/null
+++ b/linksrechts/help.txt
@@ -0,0 +1 @@
+Hakt de knoop voor je door, links of rechts. 
\ No newline at end of file
diff --git a/linksrechts/level b/linksrechts/level
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/linksrechts/level
@@ -0,0 +1 @@
+0
diff --git a/linksrechts/linksrechts.pl b/linksrechts/linksrechts.pl
new file mode 100755
index 0000000..3549b35
--- /dev/null
+++ b/linksrechts/linksrechts.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl -w
+my @janee = qw (links rechts);
+print $janee[ int( rand(2) ) ] . "\n";
diff --git a/list/command.cfg b/list/command.cfg
new file mode 100644
index 0000000..e69de29
diff --git a/list/list.pl b/list/list.pl
new file mode 100755
index 0000000..d72da38
--- /dev/null
+++ b/list/list.pl
@@ -0,0 +1,23 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+my $dirname  = "/home/multilink/multigate/commands/";
+my $helpfile = shift @ARGV;
+my @topics   = ();
+my $file;
+
+opendir( DIR, $dirname ) or die "can't opendir $dirname: $!";
+while ( defined( $file = readdir(DIR) ) ) {
+    if ( -x "$dirname/$file/$file.pl" ) {
+        push @topics, $file;
+    }
+}
+closedir(DIR);
+
+# print "Available commands:\n";
+my $topic;
+foreach $topic ( sort @topics ) {
+    print $topic. " ";
+}
+print "\n";
diff --git a/listprotocols/command.cfg b/listprotocols/command.cfg
new file mode 100644
index 0000000..4397276
--- /dev/null
+++ b/listprotocols/command.cfg
@@ -0,0 +1,2 @@
+level = 1
+user = 0
diff --git a/listprotocols/listprotocols.pl b/listprotocols/listprotocols.pl
new file mode 100755
index 0000000..2d2af7f
--- /dev/null
+++ b/listprotocols/listprotocols.pl
@@ -0,0 +1,125 @@
+#!/usr/bin/perl -w
+#
+# 2003-12-20 Robbert Muller & Wieger Opmeer
+#
+
+use strict;
+
+use lib '../../lib/';
+use Multigate::Config qw( getconf readconfig );
+use DBI;
+
+
+#
+# globals
+#
+
+readconfig("../../multi.conf");
+my $db_passwd = getconf('db_passwd');
+my $db_user   = getconf('db_user');
+my $db_name   = getconf('db_name');
+
+
+my $dbh = DBI->connect( "DBI:mysql:$db_name", $db_user, $db_passwd );
+
+die "Cannot access database" unless defined $dbh;
+
+#
+# check params
+#
+
+my @myargs = split ( ' ', join ( ' ', @ARGV ) );
+
+my $searchuser;
+
+if ( @myargs < 1 ) {
+    # HACK! This only works because of level > 0
+    unless ( $searchuser = $ENV{'MULTI_REALUSER'} ) {
+        print "No username found\n";
+        exit 0;
+    }
+} elsif ( @myargs > 1 ) {
+    print "Usage: listprotocols [username]\n";
+    exit 0;
+} else {
+    $searchuser = pop (@myargs);
+}
+
+#
+# fucntions
+#
+
+sub aliastouser {
+    my $alias = shift;
+    return '' unless $alias;
+    my $res = $dbh->selectrow_array( <<'EOT', {}, $alias );
+SELECT
+	username
+FROM
+	alias
+WHERE
+	alias = ?
+EOT
+    return $alias unless defined $res;
+    return $res;
+}
+
+sub user_exists {
+    my $user = shift;
+    return 0 unless $user;
+    $user = aliastouser($user);
+    my $res = $dbh->selectrow_array( <<'EOT', {}, $user );
+SELECT  
+  count(*)
+FROM
+  user
+WHERE
+  username like ?
+EOT
+    return $res;
+}
+
+sub protocols {
+    my $user = shift;
+    my $ret  = "";
+    my $addr;
+    $user = aliastouser($user);
+
+    $addr = $dbh->selectall_arrayref( <<'EOT', {}, $user );
+SELECT
+  protocol
+FROM
+  address
+WHERE
+  username LIKE ? 
+  and main_address = 'true'
+EOT
+    foreach (@$addr) {
+        my ($prot) = @$_;
+        if ( $ret eq "" ) {
+            $ret .= $prot;
+        } else {
+            $ret .= ", $prot";
+        }
+    }
+    return $ret;
+
+
+}
+
+
+#
+# Get protocols
+#
+
+if ( user_exists($searchuser) ) {
+    my $ret;
+    $ret = protocols $searchuser;
+    if ( $ret eq "" ) {
+        print "$searchuser has no protocols\n";
+    } else {
+        print "$searchuser has protocols $ret\n";
+    }
+} else {
+    print "User $searchuser does not seem to exist\n";
+}
diff --git a/lookup/command.cfg b/lookup/command.cfg
new file mode 100644
index 0000000..711930a
--- /dev/null
+++ b/lookup/command.cfg
@@ -0,0 +1 @@
+level = 0
diff --git a/lookup/level b/lookup/level
new file mode 100644
index 0000000..29d6383
--- /dev/null
+++ b/lookup/level
@@ -0,0 +1 @@
+100
diff --git a/lookup/lookup.pl b/lookup/lookup.pl
new file mode 100755
index 0000000..e172753
--- /dev/null
+++ b/lookup/lookup.pl
@@ -0,0 +1,77 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+$| = 1;
+
+if ( !defined $ARGV[0] ) {
+    print "Syntax: lookup <ip_nummer | hostname>\n";
+    exit(1);
+}
+
+my $arg = $ARGV[0];
+my $line;
+my $hostname;
+my $src;
+my $type;
+my $dst;
+my $cname = 0;
+my $count = 0;
+my $result;
+
+if ( open( INPUT, "-|" ) ) {
+    if ( $arg =~ /\d+\.\d+\.\d+\.\d+/ ) {
+        $hostname = "onbekend";
+        while ( $line = <INPUT> ) {
+            chomp $line;
+
+            # This matches the output of the BIND host program
+            if ( $line =~ /domain name pointer/ ) {
+                ( undef, undef, undef, undef, $hostname ) = split ( ' ', $line );
+            } elsif ( $line =~ /Name:/ ) {    # And this matches the NIKHEF version
+                ( undef, $hostname ) = split ( ' ', $line );
+            }
+        }
+        print "IP nummer $arg is $hostname\n";
+    } else {
+        $hostname = $arg;
+        while ( $line = <INPUT> ) {
+            chomp $line;
+
+            # This matches the output of the BIND version
+            if ( $line =~ /has address/ ) {
+                ( $src, undef, undef, $dst ) = split ( ' ', $line );
+                $type = "A";
+            } elsif ( $line =~ /is an alias/ ) {
+                ($src) = split ( ' ', $line );
+                $type = "CNAME";
+            } else {    # And this matches the NIKHEF version
+                ( $src, $type, $dst ) = split ( ' ', $line );
+            }
+            if ( ( $type eq "CNAME" ) && ( !$cname ) ) {
+                $hostname = $src;
+                $cname    = 1;
+            } elsif ( $type eq "A" ) {
+                $count++;
+                if ( !$cname ) {
+                    $hostname = $src;
+                }
+                if ( $count > 1 ) {
+                    $result .= ", " . $dst;
+                } else {
+                    $result .= $dst;
+                }
+            }
+        }
+        print "Host $hostname heeft ";
+        if ( $count == 0 ) {
+            print "geen IP nummer\n";
+        } else {
+            printf "IP nummer%s %s\n", ( $count == 1 ) ? "" : "s", $result;
+        }
+    }
+    close(INPUT);
+} else {
+    exec( 'host', $arg )
+      or die "Can't exec host: $!";
+}
diff --git a/lowercase/command.cfg b/lowercase/command.cfg
new file mode 100644
index 0000000..711930a
--- /dev/null
+++ b/lowercase/command.cfg
@@ -0,0 +1 @@
+level = 0
diff --git a/lowercase/help.txt b/lowercase/help.txt
new file mode 100644
index 0000000..cc71985
--- /dev/null
+++ b/lowercase/help.txt
@@ -0,0 +1 @@
+Maakt van alle letters in de invoer kleine letters.
\ No newline at end of file
diff --git a/lowercase/level b/lowercase/level
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/lowercase/level
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/lowercase/lowercase.pl b/lowercase/lowercase.pl
new file mode 100755
index 0000000..8d01c47
--- /dev/null
+++ b/lowercase/lowercase.pl
@@ -0,0 +1,7 @@
+#!/usr/bin/perl -w
+
+$commandline = join " ", @ARGV;
+
+#$commandline = lc($commandline);
+print "\L$commandline\n";
+
diff --git a/mafkees/command.cfg b/mafkees/command.cfg
new file mode 100644
index 0000000..7292429
--- /dev/null
+++ b/mafkees/command.cfg
@@ -0,0 +1,3 @@
+level = 100
+cache = 0
+user = 0
\ No newline at end of file
diff --git a/mafkees/help.txt b/mafkees/help.txt
new file mode 100644
index 0000000..a98e3e2
--- /dev/null
+++ b/mafkees/help.txt
@@ -0,0 +1 @@
+Speciaal voor Loek en ox
diff --git a/mafkees/mafkees.pl b/mafkees/mafkees.pl
new file mode 100755
index 0000000..2145444
--- /dev/null
+++ b/mafkees/mafkees.pl
@@ -0,0 +1,2 @@
+#!/usr/bin/perl -w
+print "Wouddwaas!\n";
diff --git a/mensa/command.cfg b/mensa/command.cfg
new file mode 100644
index 0000000..bcf2861
--- /dev/null
+++ b/mensa/command.cfg
@@ -0,0 +1,2 @@
+level = 0
+cache = 7200 # 2 hours
diff --git a/mensa/help.txt b/mensa/help.txt
new file mode 100644
index 0000000..cb7cb59
--- /dev/null
+++ b/mensa/help.txt
@@ -0,0 +1 @@
+Haalt het menu van de mensa van vandaag op.
\ No newline at end of file
diff --git a/mensa/level b/mensa/level
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/mensa/level
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/mensa/mensa.pl b/mensa/mensa.pl
new file mode 100755
index 0000000..54912f3
--- /dev/null
+++ b/mensa/mensa.pl
@@ -0,0 +1,54 @@
+#!/usr/bin/perl -w
+# Geeft mensa menu
+# Nieuwe versie van 22 sept 2001, omdat FB een lelijke nieuwe website heeft
+# "Crude but effective" (en dus lelijk)
+# Titanhead
+
+use strict;
+
+print "Mensamenu is alleen nog beschikbaar in pdf, dus niet meer hier...\n";
+
+exit 0;
+
+my $day = `date +%a`;
+$day =~ s/\n//g;
+
+my $num = `date +%d`;
+$num =~ s/\n//g;
+
+my $dag    = "frop";
+my $morgen = "frop";
+
+if ( index( $day, "Sun" ) == 0 ) { $dag = "Zondag";    $morgen = "Maandag"; }
+if ( index( $day, "Mon" ) == 0 ) { $dag = "Maandag";   $morgen = "Dinsdag"; }
+if ( index( $day, "Tue" ) == 0 ) { $dag = "Dinsdag";   $morgen = "Woensdag"; }
+if ( index( $day, "Wed" ) == 0 ) { $dag = "Woensdag";  $morgen = "Donderdag"; }
+if ( index( $day, "Thu" ) == 0 ) { $dag = "Donderdag"; $morgen = "Vrijdag"; }
+if ( index( $day, "Fri" ) == 0 ) { $dag = "Vrijdag";   $morgen = "Zaterdag"; }
+if ( index( $day, "Sat" ) == 0 ) { $dag = "Zaterdag";  $morgen = "Zondag"; }
+
+my @html = `lynx -dump -nolist "http://www.utwente.nl/fb/catering/studentenrestaurant/dagmenu_studentenrestaurant.whlink/_printableversion.html"`;
+
+my $line;
+my $daggevonden  = 0;
+my $menu;
+
+foreach $line (@html) {
+    #print STDERR "--> $line\n";
+    if ( $line =~ /dagmenu $dag/i ) {
+        $daggevonden = 1;
+    }
+
+    if ( $daggevonden and ( $line =~ /$morgen/  or $line =~ /dagsoepen/i or $line =~ /menu of the day/i ) ) {
+       last; 
+    }
+    if ( $daggevonden ) {
+       $menu .= $line;
+    }
+
+}
+
+$menu =~ s/\s{2,}/ /g;
+$menu =~ s/\s,/,/g;
+$menu =~ s/,+\s*$//g;
+print $menu , "\n";
diff --git a/metal/command.cfg b/metal/command.cfg
new file mode 100644
index 0000000..a43d313
--- /dev/null
+++ b/metal/command.cfg
@@ -0,0 +1 @@
+level = 100
\ No newline at end of file
diff --git a/metal/help.txt b/metal/help.txt
new file mode 100644
index 0000000..9a15ba1
--- /dev/null
+++ b/metal/help.txt
@@ -0,0 +1 @@
+metal: geeft een einde voor het metal sprookje met de metal-prins en de prinses in nood.
\ No newline at end of file
diff --git a/metal/metal.pl b/metal/metal.pl
new file mode 100755
index 0000000..e94769c
--- /dev/null
+++ b/metal/metal.pl
@@ -0,0 +1,12 @@
+#!/usr/bin/perl -w
+#metal zooi van jaqcues 
+
+open METAL , "<metal.txt" or die ("unable to open file: $!");
+my @einde = <METAL>;
+close METAL;
+
+
+print "Een beeldschone prinses zit gevangen in een kasteel dat door een afschuwelijke draak bewaakt wordt.\n";
+print $einde[int rand(@einde)], "\n";
+
+
diff --git a/metal/metal.txt b/metal/metal.txt
new file mode 100644
index 0000000..03715dd
--- /dev/null
+++ b/metal/metal.txt
@@ -0,0 +1,13 @@
+POWER METAL: De power metaller haalt z'n eenhoorn uit de stal, ontloopt de draak, redt de prinses en ze bedrijven de liefde in een betoverd bos
+THRASH METAL: De thrasher komt bij 't kasteel, verslaat de draak, redt de prinses en neukt haar. Niks aan.
+HEAVY METAL: De heavy metaller haalt z'n harley uit de garage, doodt de draak, pakt enkele biertjes en neukt de prinses.
+FOLK METAL: De folk metaller komt aan bij het kasteel, vergezeld van z'n vrienden, accordeons, violen, fluiten en nog meer vreemde instrumenten, de draak valt in slaap (door al het dansen), Iedereen gaat weer weg, zonder de prinses.
+VIKING METAL: De viking metaller neemt de snek, doodt de draak met zijn reusachtige bijl, eet ze op, verkracht de prinses tot ze erbij neervalt (dood weliswaar), plundert het kasteel en brandt alles plat om vervolgens zijn plundertocht voort te zetten.
+DEATH METAL: De death metaller komt bij het kasteel aan, doodt de draak, neukt de prinses, doodt haar ook, gaat weer weg
+BLACK METAL: De black metaller komt om middernacht bij het kasteel aan, doodt de draak, spietst de draak op 't kasteelplein, sodomiseert de prinses, drinkt zijn eigen bloed tijdens een vreemd ritueel, doodt de ontmaagde prinses om haar vervolgens ook op het kasteelplein te spietsen.
+GORE METAL: De gore metaller komt bij het kasteel aan, doodt de draak, en gooit diens ingewanden rond het kasteel, neukt de prinses en doodt haar, daarna neukt hij haar nog eens, haalt zijn eigen buik open en vreet zijn ingewanden op, neukt haar lijk nogmaals, verbrandt haar om haar vervolgens voor de laatste keer te neuken
+DOOM METAL: De doom metaller komt aan bij het kasteel, ziet hoe groot de draak is, denkt dat hij ze nooit kan verslaan, wordt depressief en pleegt zelfmoord, de draak eet z'n lijk en dat van de prinses op. En zo komt dit droevig verhaal ten einde
+PROGRESSIVE METAL: De progressieve metaller heeft zijn gitaar meegenomen, speelt een solo van 26 minuten, de draak pleegt uit verveling zelfmoord, de metaller gaat naar de slaapkamer van de prinses waar hij nogmaals een ontzettend technische solo speelt. De prinses ontsnapt om de heavy metaller te gaan zoeken
+GLAM METAL: De glam metaller komt bij het kasteel aan, de draak laat hem binnen omdat hij er zo grappig uitziet, de glam metaller steelt de make-up van de prinses en probeert het kasteel en zichzelf een roze tintje te geven
+NU-'METAL': De nu-'metaller' beseft dat hij geen metaller is en stuurt een stoere e-mail naar de draak
+INDUSTRIAL METAL: De industrial metaller gooit een atoombom op het kasteel.
diff --git a/metar/CODES b/metar/CODES
new file mode 100644
index 0000000..c8e66b0
--- /dev/null
+++ b/metar/CODES
@@ -0,0 +1,3311 @@
+# Full listing of METAR location codes, taken nicely from 
+# http://weather.noaa.gov/weather/ccworld.html
+# Contributed to mweather by Equinoxe <equinoxe@iname.com>  22/01/2001
+
+-Albania
+ LATI -> Tirana
++
+-Angola
+ FNLU -> Luanda
++
+-Antarctic
+ NZCM -> Williams Field
++
+-Antigua and Barbuda
+ TAPA -> Vc Bird International Airport Antigua
++
+-Algeria
+ DAUA -> Adrar
+ DABB -> Annaba
+ DABC -> Constantine
+ DAAG -> Dar-El-Beida
+ DAUG -> Ghardaia
+ DAUH -> Hassi-Messaoud
+ DAUZ -> In Amenas
+ DAOO -> Oran / Es Senia
+ DAAT -> Tamanrasset / Aguenna
+ DABS -> Tebessa
+ DAON -> Tlemcen Zenata 
++
+-Argentina
+ SABE -> Aeroparque Bs. As. Aerodrome
+ SAZB -> Bahia Blanca Aerodrome
+ SAZS -> Bariloche Aerodrome
+ SAVC -> Comodoro Rivadavia Aerodrome
+ SAAC -> Concordia Aerodrome
+ SACO -> Cordoba Aerodrome
+ SARC -> Corrientes Aero.
+ SADD -> Don Torcuato Aerodrome
+ SAEZ -> Ezeiza Aerodrome
+ SARF -> Formosa Aerodrome
+ SARI -> Iguazu Aerodrome
+ SASJ -> Jujuy Aerodrome
+ SAZM -> Mar Del Plata Aerodrome
+ SAME -> Mendoza Aerodrome
+ SAZN -> Neuquen Aerodrome
+ SARL -> Paso De Los Libres Aerodrome
+ SARP -> Posadas Aero.
+ SARE -> Resistencia Aero.
+ SAWG -> Rio Gallegos Aerodrome
+ SAWE -> Rio Grande B. A.
+ SAAR -> Rosario Aerodrome
+ SASA -> Salta Aerodrome
+ SANU -> San Juan Aerodrome
+ SANE -> Santiago Del Estero Aero.
+ SAAV -> Sauce Viejo Aerodrome
+ SAVT -> Trelew Aerodrome
+ SANT -> Tucuman Aerodrome
+ SAOR -> Villa Reynolds Aerodrome
++
+-Armenia
+ UGEE -> Yerevan
++
+-Aruba
+ TNCA -> Queen Beatrix Airport, Aruba
++
+-Australia
+ YPAD -> Adelaide Airport
+ YBAS -> Alice Springs Aerodrome
+ YPPH -> Belmont Perth Airport 
+ YBBN -> Brisbane Airport M. O
+ YBRM -> Broome Airport
+ YPEA -> Bullsbrook Pearce Amo
+ YBCS -> Cairns Airport
+ YSCB -> Canberra
+ YPDN -> Darwin Airport
+ YSDU -> Dubbo
+ YMHB -> Hobart Airport
+ YPTN -> Katherine Aerodrome
+ YPLM -> Learmonth Airport
+ YMML -> Melbourne Airport
+ YSNF -> Norfolk Island Airport
+ YPPD -> Port Hedland Pardoo
+ YSRI -> Richmond Aus-Afb 
+ YBRK -> Rockhampton Airport
+ YSSY -> Sydney Airport
+ YBTL -> Townsville Amo
++
+-Austria
+ LOWG -> Graz-Thalerhof-Flughafen
+ LOWI -> Innsbruck-Flughafen
+ LOWK -> Klagenfurt-Flughafen
+ LOWL -> Linz / Hoersching-Flughafen
+ LOWS -> Salzburg-Flughafen
+ LOWW -> Wien / Schwechat-Flughafen
++
+-Azerbaijan
+ UBBB -> Baku / Bine Airport
++
+-Bahamas
+ MYGF -> Freeport, Grand Bahama
+ MYNN -> Nassau Airport
++
+-Bahrain
+ OBBI -> Bahrain International Airport 
++
+-Bangladesh
+ VGEG -> Chittagong Patenga 
+ VGZR -> Kurmitola, Dia
++
+-Barbados
+ TBPB -> Grantley Adams
++
+-Belarus
+ UMMS -> Minsk
+ EVRA -> Riga Airport
+ UMII -> Vitebsk
++
+-Belgium
+ EBAW -> Antwerpen / Deurne
+ EBBE -> Beauvechain
+ EBLG -> Bierset
+ EBBT -> Brasschaat
+ EBBR -> Bruxelles National
+ EBCI -> Charleroi / Gosselies
+ EBCV -> Chievres
+ EBLB -> Elsenborn
+ EBFS -> Florennes
+ EBTN -> Goetsenhoven
+ EBBL -> Kleine Brogel
+ EBFN -> Koksijde
+ EBOS -> Oostende Airport 
+ EBDT -> Schaffen
+ EBSP -> Spa / La Sauveniere
++
+-Belize
+ MZBZ -> Belize / Phillip Goldston Intl. Airport
++
+-Benin
+ DBBB -> Cotonou
++
+-Bermuda
+ TXKF -> Bermuda
++
+-Bolivia
+ SLCA -> Camiri
+ SLCN -> Charana
+ SLCO -> Cobija
+ SLCB -> Cochabamba
+ SLCP -> Concepcion
+ SLLP -> La Paz / Alto
+ SLMG -> Magdalena
+ SLOR -> Oruro
+ SLPO -> Potosi
+ SLPS -> Puerto Suarez
+ SLRY -> Reyes
+ SLRI -> Riberalta
+ SLRB -> Robore
+ SLRQ -> Rurrenabaque
+ SLSI -> San Ignacio De Velasco
+ SLJO -> San Joaquin
+ SLJE -> San Jose De Chiquitos
+ SLSA -> Santa Ana
+ SLSU -> Sucre
+ SLTJ -> Tarija
+ SLTR -> Trinidad
+ SLVM -> Villamontes
+ SLVR -> Viru-Viru
+ SLYA -> Yacuiba
++
+-Botswana
+ FBFT -> Francistown
+ FBGZ -> Ghanzi
+ FBJW -> Jwaneng
+ FBKE -> Kasane
+ FBMN -> Maun
+ FBSK -> Seretse Khama International Airport
+ FBSW -> Shakawe
+ FBTS -> Tsabong
+ FBTE -> Tshane
++
+-Brazil
+ SBAF -> Afonsos Aeroporto 
+ SBAT -> Alta Floresta Aeroporto 
+ SBHT -> Altamira
+ SBAR -> Aracaju Aeroporto 
+ SBBG -> Bage Aeroporto 
+ SBBU -> Bauru
+ SBBE -> Belem Aeroporto 
+ SBCF -> Belo Horizonte
+ SBBH -> Belo Horizonte Aeroporto 
+ SBBV -> Boa Vista Aeropor-To 
+ SBBR -> Brasilia Aeroporto 
+ SBKG -> Campina Grande
+ SBKP -> Campinas Aeroporto 
+ SBCG -> Campo Grande Aeroporto 
+ SBCV -> Caravelas Aeropor-To 
+ SBAA -> Conceicao Do Araguaia
+ SBCR -> Corumba
+ SBCY -> Cuiaba Aeroporto 
+ SBBI -> Curitiba
+ SBCT -> Curitiba Aeroporto 
+ SBEG -> Eduardo Gomes International
+ SBFN -> Fernando De Noronha
+ SBFL -> Florianopolis Aeroporto 
+ SBFZ -> Fortaleza Aeropor-To 
+ SBFI -> Foz Do Iguacu Aeroporto 
+ SBGL -> Galeao
+ SBGO -> Goiania Aeroporto 
+ SBGW -> Guaratingueta
+ SBGR -> Guarulhos Civ / Mil 
+ SBIL -> Ilheus Aeroporto 
+ SBIZ -> Imperatriz
+ SBIH -> Itaituba
+ SBLO -> Londrina Aeroporto 
+ SBME -> Macae
+ SBMQ -> Macapa
+ SBMO -> Maceio Aeroporto 
+ SBMN -> Manaus Aeroporto 
+ SBMA -> Maraba
+ SBMT -> Marte Civ / Mil 
+ SBNT -> Natal Aeroporto
+ SBPK -> Pelotas
+ SBYS -> Pirassununga
+ SBPC -> Pocos De Caldas
+ SBPP -> Ponta Pora Aeropor-To 
+ SBCO -> Porto Alegre
+ SBPA -> Porto Alegre Aero-Porto 
+ SBPN -> Porto Nacional Aeroporto 
+ SBPV -> Porto Velho Aeroporto 
+ SBDN -> Presidente Prudente
+ SBRF -> Recife Aeroporto 
+ SBJR -> Rio / Jacarepagua
+ SBRB -> Rio Branco
+ SBRJ -> Rio De Janeiro Aeroporto 
+ SBSV -> Salvador Aeroporto 
+ SBSC -> Santa Cruz Aeropor-To 
+ SBSM -> Santa Maria Aero-Porto 
+ SBSN -> Santarem-Aeroporto
+ SBST -> Santos Aeroporto 
+ SBSJ -> Sao Jose Dos Campo 
+ SBSL -> Sao Luiz Aeroporto 
+ SBSP -> Sao Paulo Aeropor-To 
+ SBTT -> Tabatinga
+ SBTF -> Tefe
+ SBTE -> Teresina Aeroporto 
+ SBTU -> Tucurui
+ SBUR -> Uberaba
+ SBUG -> Uruguaiana Aeroporto 
+ SBVH -> Vilhena Aeroporto 
+ SBVT -> Vitoria Aeroporto 
++
+-British Indian Ocean Territory
+ FJDG -> Diego Garcia
++
+-Brunei Darussalam
+ WBSB -> Brunei Airport
++
+-Bulgaria
+ LBBG -> Burgas
+ LBPD -> Plovdiv
+ LBSF -> Sofia Observ. 
+ LBWN -> Varna
++
+-Burundi
+ HBBA -> Bujumbura
++
+-Cambodia
+ VDPP -> Phnom-Penh / Pochentong
++
+-Cameroon
+ FKKD -> Douala Obs.
++
+-Canada
+ CYXX -> Abbotsford, B. C.
+ CYBG -> Bagotville, Que.
+ CYYC -> Calgary International, Alta.
+ CYCB -> Cambridge Bay, N. W. T.
+ CYCH -> Chatham Can-Mil 
+ CZUM -> Churchill Falls, Nfld.
+ CYYQ -> Churchill, Man.
+ CYOD -> Cold Lake, Alta.
+ CYQQ -> Comox, B. C.
+ CYZS -> Coral Harbour, N. W. T.
+ CYEG -> Edmonton International, Alta.
+ CYET -> Edson, Alta.
+ CZFM -> Fort Mcpherson Airport
+ CYFC -> Fredericton, N. B.
+ CYQX -> Gander Int. Airport, Nfld.
+ CYYR -> Goose, Nfld.
+ CYZX -> Greenwood, N. S.
+ CYHZ -> Halifax International Airport 
+ CYFB -> Iqaluit, N. W. T.
+ CYAH -> La Grande Iv, Que.
+ CYGL -> La Grande Riviere, Que
+ CYZY -> Mackenzie, B. C.
+ CYNM -> Matagami, Que.
+ CYXH -> Medicine Hat, Alta.
+ CYQM -> Moncton, N. B.
+ CYUL -> Montreal / Dorval International, Que
+ CYMX -> Montreal / Mirabel
+ CYBU -> Nipawin, Sask.
+ CYOC -> Old Crow Airport
+ CYOW -> Ottawa Int'L. Ont.
+ CYYF -> Penticton, B. C.
+ CYZT -> Port Hardy, B. C.
+ CYPG -> Portage Southport A
+ CYQB -> Quebec, Que
+ CYUY -> Rouyn Airport
+ CWZZ -> Saglek Bay 
+ CYAY -> Saint Anthony Airport
+ CYZV -> Sept-Iles, Que.
+ CYAW -> Shearwater, N. S.
+ CYUA -> Shingle Point, Y. T.
+ CYYT -> St. John's, Nfld
+ CYJT -> Stephenville, Nfld.
+ CYYN -> Swift Current, Sask.
+ CYQY -> Sydney, N. S.
+ CYTH -> Thompson Weather Office, Man
+ CYYZ -> Toronto Pearson Int'L. Ont.
+ CYTR -> Trenton, Ont.
+ CYVR -> Vancouver International Air-Port, B. C.
+ CYYJ -> Victoria Int. Airportb. C.
+ CYQG -> Windsor, Ont.
+ CYWG -> Winnipeg Int. Airportman.
+ CYZF -> Yellowknife, N. W. T.
++
+-Cape Verde
+ GVAC -> Sal
++
+-Cayman Islands
+ MWCR -> Owen Roberts Airportgrand Cayman
++
+-Central African Republic
+ FEFF -> Bangui
++
+-Chad
+ FTTJ -> Ndjamena
++
+-Chile
+ SCFA -> Antofagasta
+ SCAR -> Arica
+ SCIE -> Concepcion
+ SCHA -> Copiapo
+ SCDA -> Iquique / Diego Arac
+ SCIP -> Isla De Pascua
+ SCSE -> La Serena
+ SCEL -> Pudahuel
+ SCTE -> Puerto Montt
+ SCCI -> Punta Arenas
++
+-China
+ ZBAA -> Beijing
+ ZUUU -> Chengdu
+ ZYTL -> Dalian
+ ZGGG -> Guangzhou
+ ZSHC -> Hangzhou
+ ZSOF -> Hefei
+ ZPPP -> Kunming
+ ZGNN -> Nanning
+ ZSSS -> Shanghai / Hongqiao
+ ZGSZ -> Shenzhen
+ ZBYN -> Taiyuan
+ ZBTJ -> Tianjin / Zhangguizhu
+ ZWWW -> Urum-Qi / Diwopu
+ ZSAM -> Xiamen
++
+-Christmas Island
+ YPXM -> Christmas Island Aerodrome
+ YPCC -> Cocos Island Airport
++
+-Colombia
+ SKBQ -> Barranquilla / Ernestocortissoz
+ SKBO -> Bogota / Eldorado
+ SKBG -> Bucaramanga / Palonegro
+ SKCL -> Cali / Alfonso Bonillaaragon
+ SKCG -> Cartagena / Rafael Nunez
+ SKLT -> Leticia / Vasquez Cobo
+ SKMD -> Medellin / Olaya Herrera
+ SKPE -> Pereira / Matecana
+ SKRG -> Rionegro / J. M. Cordova
+ SKSP -> San Andres Isla / Sesquicentenario
+ SKSM -> Santa Marta / Simon Bolivar
++
+-Comoros
+ FMCZ -> Dzaoudzi / Pamanzi Mayotte 
+ FMCH -> Hahaya International Airport
++
+-Congo
+ FCBB -> Brazzaville / Maya-Maya
+ FCPP -> Pointe-Noire
++
+-Cook Islands
+ NCRG -> Rarotonga
++
+-Costa Rica
+ MRCH -> Chacarita
+ MROC -> Juan Santamaria
+ MRLB -> Liberia
+ MRLM -> Puerto Limon
+ MRPV -> Tobias Bolanos International
++
+-Cote D'Ivoire
+ DIAP -> Abidjan
++
+-Croatia
+ LDDU -> Dubrovnik / Cilipi
+ LDPL -> Pula Aerodrome
+ LDRI -> Rijeka / Omisalj
+ LDSP -> Split / Resnik
+ LDZD -> Zadar / Zemunik
+ LDZA -> Zagreb / Pleso
++
+-Cuba
+ MUHA -> Aeropuerto Jose Mar-Ti, Rancho-Boyeros, Habana
+ MUBA -> Baracoa, Oriente
+ MUBY -> Bayamo 
+ MUCM -> Camaguey Aeropuerto
+ MUCL -> Cayo Largo Del Sur
+ MUGT -> Guantanamo, Oriente
+ MUHG -> Holguin Civ / Mil 
+ MUVT -> Las Tunas, Las Tunas
+ MUMZ -> Manzanillo, Oriente
+ MUMO -> Moa Military 
+ MUNG -> Nueva Gerona, Isla De Pinos
+ MUCU -> Santiago De Cuba, Oriente
+ MUVR -> Varadero, Matanzas
+ MUCA -> Venezuela, Ciego De Avila
++
+-Cyprus
+ LCRA -> Akrotiri
+ LCEN -> Ercan
+ LCLK -> Larnaca Airport
+ LCPH -> Paphos Airport
++
+-Czech Republic
+ LKTB -> Brno / Turany
+ LKMT -> Ostrava / Mosnov
+ LKPR -> Praha / Ruzyne
++
+-Denmark
+ EKYT -> Aalborg
+ EKBI -> Billund Lufthavn
+ EKEB -> Esbjerg
+ EKKA -> Karup
+ EKCH -> Koebenhavn / Kastrup
+ EKRK -> Koebenhavn / Roskilde
+ EKMB -> Maribo Lufthavn
+ EKOD -> Odense / Beldringe
+ EKRN -> Roenne
+ EKSN -> Sindal Flyveplads
+ EKSV -> Skive Lufthavn
+ EKSP -> Skrydstrup
+ EKSB -> Soenderborg Lufthavn
+ EKVG -> Soervaag / Vagar
+ EKVJ -> Stauning Lufthavn
+ EKTS -> Thisted Lufthavn
+ EKAH -> Tirstrup
+ EKVL -> Vaerloese
+ EKVD -> Vamdrup
+ EKVA -> Vandel
++
+-Djibouti
+ HDAM -> Djibouti \ Ambouli
++
+-Dominica
+ TDCF -> Canefield Airport
+ TDPD -> Melville Hall Airport
++
+-Dominican Republic
+ MDLR -> La Romana International Airport
+ MDSD -> Las Americas
+ MDPP -> Puerto Plata International
+ MDPC -> Punta Cana
+ MDST -> Santiago
++
+-Ecuador
+ SEGU -> Guayaquil / Simon Bolivar
+ SELT -> Latacunga
+ SEMT -> Manta
+ SEQU -> Quito / Mariscal Sucre
++
+-Egypt
+ HEAX -> Alexandria / Nouzha
+ HESN -> Asswan
+ HECA -> Cairo Airport
+ HELX -> Luxor
+ HEMM -> Mersa Matruh
+ HEPS -> Port Said
+ HESH -> Sharm El Sheikhintl
++
+-El Salvador
+ MSAC -> Acajutla
+ MSLP -> El Salvador Intl. Airport / Comalapa
+ MSSM -> San Miguel / El Papalon
+ MSSS -> San Salvador / Ilopango
+ MSSA -> Santa Ana / El Palmar
++
+-Ethiopia
+ HAAB -> Addis Ababa
+ HADR -> Dire Dawa
++
+-Fiji
+ NFFN -> Nandi
+ NFNA -> Nausori
++
+-Finland
+ EFHF -> Helsinki-Malmi
+ EFHK -> Helsinki-Vantaa
+ EFIV -> Ivalo
+ EFJY -> Jyvaskyla
+ EFKE -> Kemi
+ EFKK -> Kruunupyy
+ EFKU -> Kuopio
+ EFMA -> Mariehamn / Aland Island
+ EFOU -> Oulu
+ EFPO -> Pori
+ EFRO -> Rovaniemi
+ EFTP -> Tampere / Pirkkala
+ EFTU -> Turku
+ EFVA -> Vaasa
++
+-France
+ LFBA -> Agen
+ LFKJ -> Ajaccio
+ LFSB -> Bale-Mulhouse
+ LFKB -> Bastia
+ LFOB -> Beauvais
+ LFBZ -> Biarritz
+ LFBD -> Bordeaux / Merignac
+ LFLD -> Bourges
+ LFRB -> Brest
+ LFRK -> Caen
+ LFKC -> Calvi
+ LFMD -> Cannes
+ LFBC -> Cazaux
+ LFLB -> Chambery / Aix-Les-Bains
+ LFRC -> Cherbourg / Maupertus
+ LFLC -> Clermont-Ferrand
+ LFBG -> Cognac
+ LFSC -> Colmar
+ LFSD -> Dijon
+ LFRD -> Dinard
+ LFOE -> Evreux
+ LFKF -> Figari
+ LFLS -> Grenoble / St. Geoirs
+ LFTH -> Hyeres
+ LFOH -> La Heve
+ LFRH -> Lann Bihoue
+ LFRO -> Lannion / Servel
+ LFRM -> Le Mans
+ LFAT -> Le Touquet
+ LFQQ -> Lille
+ LFBL -> Limoges
+ LFSX -> Luxeuil
+ LFLY -> Lyon / Bron
+ LFLL -> Lyon / Satolas
+ LFML -> Marseille / Marignane
+ LFSF -> Metz / Frescaty
+ LFJL -> Metz-Nancy-Lorraine
+ LFBM -> Mont-De-Marsan
+ LFMT -> Montpellier
+ LFSN -> Nancy / Essey
+ LFSO -> Nancy / Ochey
+ LFRS -> Nantes
+ LFMN -> Nice
+ LFTW -> Nimes / Garons
+ LFPB -> Paris / Le Bourget
+ LFPG -> Paris-Aeroport Charles De Gaulle
+ LFPO -> Paris-Orly
+ LFBP -> Pau
+ LFMP -> Perpignan
+ LFBI -> Poitiers
+ LFRQ -> Quimper
+ LFSR -> Reims
+ LFRN -> Rennes
+ LFOP -> Rouen
+ LFRT -> Saint-Brieuc
+ LFSI -> St-Dizier
+ LFMH -> St-Etienne Boutheon
+ LFCG -> St-Girons
+ LFRZ -> St-Nazaire
+ LFST -> Strasbourg
+ LFBT -> Tarbes / Ossun
+ LFSL -> Toul / Rosieres
+ LFBO -> Toulouse / Blagnac
+ LFOT -> Tours
+ LFPN -> Toussus Le Noble
+ LFQB -> Troyes
+ LFLV -> Vichy
+ LFPV -> Villacoublay
++
+-French Guiana
+ SOCA -> Cayenne / Rochambeau
++
+-French Polynesia
+ NTTO -> Hao
+ NTAA -> Tahiti-Faaa
++
+-Gabon
+ FOON -> Franceville / Mvengue
+ FOOL -> Libreville
+ FOOG -> Port-Gentil
++
+-Gambia
+ GBYD -> Banjul / Yundum
++
+-Georgia
+ UGGG -> Tbilisi
++
+-Germany
+ EDMA -> Augsburg
+ EDQD -> Bayreuth
+ EDDB -> Berlin-Schoenefeld
+ EDDT -> Berlin-Tegel
+ EDDI -> Berlin-Tempelhof
+ EDVE -> Braunschweig
+ EDDW -> Bremen
+ ETHC -> Celle
+ EDLW -> Dortmund / Wickede
+ EDDC -> Dresden-Klotzsche
+ EDDL -> Duesseldorf
+ ETHS -> Fassberg
+ EDDF -> Frankfurt / M-Flughafen
+ EDNY -> Friedrichshafen
+ EDFH -> Hahn
+ EDHI -> Hamburg-Finkenwerder
+ EDDH -> Hamburg-Fuhlsbuettel
+ EDDV -> Hannover
+ EDQM -> Hof
+ ETHI -> Itzehoe
+ EDVK -> Kassel / Calden
+ EDDK -> Koeln / Bonn
+ EDDP -> Leipzig-Schkeuditz
+ EDWD -> Lemwerder
+ EDHL -> Luebeck-Blankensee
+ EDLN -> Monchengladbach
+ EDDG -> Muenster / Osnabrueck
+ EDDM -> Munich / Riem
+ EDDN -> Nuernberg
+ EDMO -> Oberpfaffenhofen
+ EDLP -> Paderborn / Lippstadt
+ ETHE -> Rheine-Bentlage
+ EDDR -> Saarbruecken / Ensheim
+ EDDS -> Stuttgart-Echterdingen
+ EDXW -> Westerland / Sylt
++
+-Ghana
+ DGAA -> Accra
++
+-Gibraltar
+ LXGB -> Gibraltar
++
+-Greece
+ LGPZ -> Aktion Airport 
+ LGAL -> Alexandroupoli Airport 
+ LGAD -> Andravida Airport 
+ LGRX -> Araxos Airport 
+ LGAT -> Athinai Airport 
+ LGKV -> Chrysoupoli Airport 
+ LGEL -> Elefsis Airport 
+ LGIR -> Heraklion Airport 
+ LGKL -> Kalamata Airport 
+ LGKF -> Kefalhnia Airport 
+ LGKR -> Kerkyra Airport 
+ LGKO -> Kos Airport 
+ LGKZ -> Kozani Airport 
+ LGLM -> Limnos Airport 
+ LGMT -> Mytilini Airport 
+ LGRP -> Rhodes Airport 
+ LGSM -> Samos Airport 
+ LGSR -> Santorini Island
+ LGSK -> Skiathos Island
+ LGSA -> Souda Airport 
+ LGTS -> Thessaloniki Airport 
+ LGZA -> Zakinthos Airport 
++
+-Greenland
+ BGCO -> Constable Pynt
+ BGGH -> Godthaab / Nuuk
+ BGJN -> Jacobshavn Lufthavn
+ BGKK -> Kulusuk Lufthavn
+ BGBW -> Narsarsuaq
+ BGSF -> Sdr Stroemfjord
+ BGTL -> Thule A. B.
++
+-Grenada
+ TGPY -> Point Salines Airport
++
+-Guadeloupe
+ TFFR -> Le Raizet, Guadeloupe
++
+-Guatemala
+ MGFL -> Flores
+ MGGT -> Guatemala Aeropuertola Aurora 
+ MGHT -> Huehuetenango
+ MGPB -> Puerto Barrios
+ MGQZ -> Quezaltenango
+ MGSJ -> San Jose
+ MGZA -> Zacapa
++
+-Guinea-Bissau
+ GGOV -> Bissau Aeroport 
++
+-Guinea
+ GUCY -> Conakry / Gbessia
++
+-Guyana
+ SYTM -> Timehri Airport
++
+-Haiti
+ MTPP -> Port-Au-Prince / Aeroport International
++
+-Honduras
+ MHAM -> Amapala
+ MHCA -> Catacamas
+ MHCH -> Choluteca
+ MHLC -> La Ceiba Airport 
+ MHLE -> La Esperanza
+ MHLM -> La Mesa San Pedro Sula 
+ MHSC -> Nueva Ocotepeque
+ MHPL -> Puerto Lempira
+ MHRO -> Roatan
+ MHSR -> Santa Rosa De Copan
+ MHTG -> Tegucigalpa
+ MHTE -> Tela
+ MHYR -> Yoro
++
+-Hong Kong
+ VHHH -> Hong Kong Inter-National Airport
++
+-Hungary
+ LHBP -> Budapest / Ferihegy
+ LHPA -> Papa
+ LHSY -> Szombathely
++
+-Iceland
+ BIEG -> Egilsstadir
+ BIKF -> Keflavikurflugvollur
+ BIRK -> Reykjavik
++
+-India
+ VAAH -> Ahmadabad
+ VIAR -> Amritsar
+ VABB -> Bombay / Santacruz
+ VECC -> Calcutta / Dum Dum
+ VOHY -> Hyderabad Airport
+ VOMM -> Madras / Minambakkam
+ VANP -> Nagpur Sonegaon
+ VIDP -> New Delhi / Palam
+ VEPT -> Patna
+ VOTV -> Thiruvananthapuram
+ VOTR -> Tiruchchirapalli
+ VIBN -> Varanasi / Babatpur
++
+-Indonesia
+ WRLL -> Balikpapan / Sepinggan
+ WABB -> Biak / Mokmer
+ WRRR -> Denpasar / Ngurah-Rai
+ WIII -> Jakarta / Soekarno-Hatta
+ WIIH -> Jakarta Halim Perdanakusuma
+ WIMM -> Medan / Polonia
+ WRSJ -> Surabaya / Juanda
+ WRLR -> Tarakan / Juwata
+ WAAA -> Ujung Pandang / Hasanuddin
++
+-Iran, Islamic Republic of
+ OIAW -> Ahwaz
+ OIKB -> Bandarabbass
+ OIFM -> Esfahan
+ OIKK -> Kerman
+ OIMM -> Mashhad
+ OISS -> Shiraz
+ OITT -> Tabriz
+ OIII -> Tehran-Mehrabad
++
+-Ireland
+ EICK -> Cork Airport
+ EIDW -> Dublin Airport
+ EINN -> Shannon Airport
++
+-Israel
+ LLBG -> Ben-Gurion International Airport
+ LLET -> Eilat
+ LLOV -> Ovda
++
+-Italy
+ LIMG -> Albenga
+ LIEA -> Alghero
+ LIBA -> Amendola
+ LIPA -> Aviano
+ LIBD -> Bari / Palese Macchie
+ LIME -> Bergamo / Orio Al Serio
+ LIPE -> Bologna / Borgo Panigale
+ LIPB -> Bolzano
+ LIPL -> Brescia / Ghedi
+ LIBR -> Brindisi
+ LIEE -> Cagliari / Elmas
+ LIEB -> Capo Bellavista
+ LIMU -> Capo Mele
+ LIQC -> Capri
+ LICC -> Catania / Fontanarossa
+ LICZ -> Catania / Sigonella
+ LIPC -> Cervia
+ LIBC -> Crotone
+ LIED -> Decimomannu
+ LIVD -> Dobbiaco
+ LIPY -> Falconara
+ LIPF -> Ferrara
+ LIRQ -> Firenze / Peretola
+ LIPK -> Forli
+ LIVF -> Frontone
+ LIRH -> Frosinone
+ LIMJ -> Genova / Sestri
+ LIBV -> Gioia Del Colle
+ LIRS -> Grosseto
+ LIBG -> Grottaglie
+ LIRG -> Guidonia
+ LICA -> Lamezia Terme
+ LICD -> Lampedusa
+ LIRL -> Latina
+ LIBN -> Lecce
+ LICF -> Messina
+ LIML -> Milano / Linate
+ LIMC -> Milano / Malpensa
+ LIQO -> Monte Argentario
+ LIMO -> Monte Bisbino
+ LIVC -> Monte Cimone
+ LIMY -> Monte Malanotte
+ LIBQ -> Monte Scuro
+ LIRK -> Monte Terminillo
+ LIRN -> Napoli / Capodichino
+ LIMN -> Novara / Cameri
+ LIEO -> Olbia / Costa Smeralda
+ LIVP -> Paganella
+ LICJ -> Palermo / Punta Raisi
+ LICG -> Pantelleria
+ LIMV -> Passo Dei Giovi
+ LIMT -> Passo Della Cisa
+ LIVR -> Passo Rolle
+ LIRZ -> Perugia
+ LIBP -> Pescara
+ LIMS -> Piacenza
+ LIMH -> Pian Rosa
+ LIRP -> Pisa / S. Giusto
+ LIRE -> Pratica Di Mare
+ LIVM -> Punta Marina
+ LICR -> Reggio Calabria
+ LIVE -> Resia Pass 
+ LIQN -> Rieti
+ LIPR -> Rimini
+ LIRA -> Roma / Ciampino
+ LIRU -> Roma / Urbe
+ LIRF -> Roma Fiumicino
+ LIPQ -> Ronchi Dei Legionari
+ LIBY -> S. Maria Di Leuca
+ LIQW -> Sarzana / Luni
+ LIVO -> Tarvisio
+ LIMK -> Torino / Bric Della Croce
+ LIMF -> Torino / Caselle
+ LICT -> Trapani / Birgi
+ LIRT -> Trevico
+ LIPS -> Treviso / Istrana
+ LIPH -> Treviso / S. Angelo
+ LIVT -> Trieste
+ LIPI -> Udine / Rivolto
+ LIPZ -> Venezia / Tessera
+ LIPX -> Verona / Villafranca
+ LIPT -> Vicenza
+ LIRV -> Viterbo
++
+-Jamaica
+ MKJP -> Kingston / Norman Manley
+ MKJS -> Montego Bay / Sangster
++
+-Japan
+ RJOE -> Akeno Ab
+ RJSK -> Akita Airport
+ RJKA -> Amami Airport
+ RJSA -> Aomori Airport
+ RJCA -> Asahikawa Ab
+ RJEC -> Asahikawa Airport
+ RJFA -> Ashiya Ab
+ RJTA -> Atsugi United States Naval Air Station
+ RJAO -> Chichijima
+ RJCC -> Chitose Ab
+ RJCJ -> Chitose Japanese Air Self Defense Force 
+ RJTF -> Chofu Airport
+ RJAT -> Fuji Ab
+ RJFE -> Fukue Airport
+ RJNF -> Fukui Airport
+ RJFF -> Fukuoka Airport
+ RJNG -> Gifu Ab
+ RJTH -> Hachijojima Airport
+ RJSH -> Hachinohe Ab
+ RJCH -> Hakodate Airport
+ RJNH -> Hamamatsu Ab
+ RJSI -> Hanamaki Airport
+ RJOA -> Hiroshima Airport
+ RJOF -> Hofu Ab
+ RJAH -> Hyakuri Ab
+ RJAI -> Ichikawa 
+ RJDB -> Iki Airport
+ RJTJ -> Iruma Ab
+ RJOI -> Iwakuni Marine Corps Air Station
+ RJAW -> Iwojima
+ RJOC -> Izumo Airport
+ RODN -> Kadena Ab
+ RJFK -> Kagoshima Airport
+ RJDK -> Kamigoto
+ RJFY -> Kanoya Ab
+ RJBB -> Kansai International Airport
+ RJAK -> Kasumigaura Ab
+ RJSU -> Kasuminome Ab
+ RJKI -> Kikai Island
+ RJTK -> Kisarazu Ab
+ RJFR -> Kitakyushu Airport
+ RJOK -> Kochi Airport
+ RJNK -> Komatsu Ab
+ RJOP -> Komatsujima Ab
+ RJFT -> Kumamoto Airport
+ RJCK -> Kushiro Airport
+ RJAF -> Matsumoto Airport
+ RJST -> Matsushima Ab
+ RJOM -> Matsuyama Airport
+ RJCM -> Memambetsu Airport
+ RJDM -> Metabaru Ab
+ RJOH -> Miho Ab
+ RJAM -> Minamitorishima
+ RJSM -> Misawa Ab
+ RJTQ -> Miyakejima Airport
+ RJFM -> Miyazaki Airport
+ RJEB -> Mombetsu Airport
+ RJFU -> Nagasaki Airport
+ RJNN -> Nagoya Airport
+ ROAH -> Naha Airport
+ RJCN -> Nakashibetsu Airport
+ RJBD -> Nankishirahama Airport
+ RJAA -> New Tokyo Inter-National Airport
+ RJSN -> Niigata Airport
+ RJFN -> Nyutabaru Ab
+ RJCB -> Obihiro Airport
+ RJFO -> Oita Airport
+ RJDO -> Ojika Island 
+ RJOB -> Okayama Airport
+ RJNO -> Oki Airport
+ RJKB -> Okinoerabu
+ RJEO -> Okushiri Island
+ RJSO -> Ominato Ab
+ RJOO -> Osaka International Airport
+ RJTO -> Oshima Airport
+ RJOZ -> Ozuki Ab
+ RJCR -> Rebun Island
+ RJER -> Rishiri Island
+ RJCO -> Sapporo Ab
+ RJSS -> Sendai Airport
+ RJTL -> Shimofusa Ab
+ RJNY -> Shizuhama Ab
+ RJTC -> Tachikawa Ab
+ RJBT -> Tajima
+ RJOT -> Takamatsu Airport
+ RJFG -> Tanegashima Airport
+ RJTE -> Tateyama Ab
+ RJCT -> Tokachi Japanese Ground Self Defense Force 
+ RJKN -> Tokunoshima Island
+ RJOS -> Tokushima Ab
+ RJTI -> Tokyo Heliport
+ RJTT -> Tokyo International Airport
+ RJOR -> Tottori Airport
+ RJNT -> Toyama Airport
+ RJFZ -> Tsuiki Ab
+ RJDT -> Tsushima Airport
+ RJTU -> Utsunomiya Ab
+ RJCW -> Wakkanai Airport
+ RJFC -> Yakushima
+ RJSC -> Yamagata Airport
+ RJDC -> Yamaguchi Ube Airport
+ RJOY -> Yao Airport
+ RJTX -> Yokosuka Fwf
+ RJTY -> Yokota Ab
+ RJTR -> Zama Airfield
++
+-Jordan
+ OJAM -> Amman Airport
+ OJAQ -> Aqaba Airport
+ LLJR -> Jerusalem Airport
+ OJAI -> Queen Alia Airport
++
+-Kenya
+ HKEL -> Eldoret
+ HKEM -> Embu
+ HKGA -> Garissa
+ HKKG -> Kakamega
+ HKKR -> Kericho
+ HKKS -> Kisii
+ HKKI -> Kisumu
+ HKKT -> Kitale
+ HKLU -> Lamu
+ HKLO -> Lodwar
+ HKMU -> Makindu
+ HKML -> Malindi
+ HKMA -> Mandera
+ HKMB -> Marsabit
+ HKME -> Meru
+ HKMO -> Mombasa
+ HKMY -> Moyale
+ HKNC -> Nairobi / Dagoretti
+ HKJK -> Nairobi / Kenyatta Airport
+ HKNW -> Nairobi / Wilson
+ HKNK -> Nakuru
+ HKNO -> Narok
+ HKNI -> Nyeri
+ HKVO -> Voi
+ HKWJ -> Wajir
++
+-Kiribati
+ NGTA -> Tarawa
++
+-Korea, Democratic People's Republic of
+ ZKPY -> Pyongyang
++
+-Korea, Republic of
+ RKSX -> Camp Stanley / H-207
+ RKPC -> Cheju International Airport
+ RKTU -> Chongju Ab
+ RKTM -> Mangilsan Ab
+ RKSO -> Osan Ab
+ RKTB -> Paekado
+ RKSP -> Paengnyongdo Ab
+ RKTH -> Pohang Ab
+ RKPK -> Pusan / Kimhae International Airport
+ RKSG -> Pyongtaek Ab
+ RKTS -> Sangju
+ RKSS -> Seoul / Kimp'O International Airport
+ RKSF -> Seoul / Yongdungp'O Rokaf Wc
+ RKSM -> Seoul E Ab
+ RKTE -> Songmu Ab
+ RKSW -> Suwon Ab
+ RKTT -> Taegu
+ RKTN -> Taegu Ab
+ RKTF -> Taejon
+ RKPU -> Ulsan
+ RKTW -> Woong Cheon
+ RKTY -> Yechon Ab
+ RKSU -> Yeoju Range
+ RKSQ -> Yeonpyeungdo
+ RKSY -> Yongsan / H-208 Hp
+ RKJY -> Yosu Airport
++
+-Kuwait
+ OKBK -> Kuwait Internationalairport
++
+-Lao People's Democratic Republic
+ VLVT -> Vientiane
++
+-Lebanon
+ OLBA -> Beyrouth Aeroport 
++
+-Libyan Arab Jamahiriya
+ HLLB -> Benina
+ HLLT -> Tripoli Inter-National Airport
++
+-Lithuania
+ EYVI -> Vilnius
++
+-Luxembourg
+ ELLX -> Luxembourg / Luxembourg
++
+-Macau
+ VMMC -> Taipa
++
+-Macedonia, the Former Yugoslav Republic of
+ LWOH -> Ohrid
+ LWSK -> Skopje-Petrovec
++
+-Madagascar
+ FMMI -> Antananarivo / Ivato
+ FMMT -> Tamatave
++
+-Malawi
+ FWCL -> Chileka
+ FWUU -> Mzuzu
++
+-Malaysia
+ WBKK -> Kota Kinabalu
+ WMKK -> Kuala Lumpur / Subang
+ WBGG -> Kuching
+ WMKP -> Penang / Bayan Lepas
++
+-Maldives
+ VRMM -> Male
++
+-Mali
+ GABS -> Bamako / Senou
++
+-Malta
+ LMML -> Luqa
++
+-Marshall Islands
+ PKWA -> Kwajalein / Bucholz
+ PKMJ -> Majuro / Marshall Island
++
+-Martinique
+ TFFF -> Le Lamentin
++
+-Mauritania
+ GQPP -> Nouadhibou
+ GQNN -> Nouakchott
++
+-Mauritius
+ FIMP -> Plaisance Mauritius 
++
+-Mexico
+ MMAA -> Acapulco / G. Alvarez
+ MMMD -> Aerop. Internacional Merida, Yuc
+ MMAN -> Aerop. Internacional Monterrey, N. L.
+ MMAS -> Aguascalientes, Ags.
+ MMBT -> Bahias De Huatulco 
+ MMCP -> Campeche, Camp.
+ MMUN -> Cancun International Airport
+ MMCM -> Chetumal, Q. Roo
+ MMCU -> Chihuahua International Airport
+ MMCE -> Ciudad Del Carmen 
+ MMCS -> Ciudad Juarez International 
+ MMCV -> Ciudad Victoria Airport
+ MMIA -> Colima 
+ MMCZ -> Cozumel Civ / Mil 
+ MMCB -> Cuernavaca, Mor.
+ MMCL -> Culiacan, Sin.
+ MMLO -> Del Bajio / Leon
+ MMGL -> Don Miguel / Guadalaj
+ MMDO -> Durango Airport
+ MMVR -> Gen. Heriberto Jara
+ MMGM -> Guaymas International Airport
+ MMHO -> Hermosillo, Son.
+ MMZH -> Ixtapa-Zihuatanejo
+ MMLP -> La Paz International Airport
+ MMLM -> Los Mochis Airport
+ MMZO -> Manzanillo International 
+ MMMA -> Matamoros International 
+ MMMZ -> Mazatlan / G. Buelna
+ MMML -> Mexicali International Airport 
+ MMMX -> Mexico City / Licenci
+ MMMT -> Minatitlan
+ MMMV -> Monclova, Coah.
+ MMMY -> Monterrey / Gen Maria
+ MMMM -> Morelia New
+ MMNL -> Nuevo Laredo International 
+ MMOX -> Oaxaca / Xoxocotlan
+ MMPG -> Piedras Negras, Coah.
+ MMPB -> Puebla, Pue.
+ MMPS -> Puerto Escondido 
+ MMPR -> Puerto Vallarta / Lic
+ MMQT -> Queretaro, Qro.
+ MMRX -> Reynosa International Airport 
+ MMIO -> Saltillo, Coah.
+ MMSD -> San Jose Del Cabo 
+ MMSP -> San Luis Potosi, S. L. P.
+ MMCN -> Santa Rosalia, B. C. S.
+ MMTM -> Tampico / Gen Fj Mina
+ MMTP -> Tapachula 
+ MMEP -> Tepic, Nay.
+ MMTJ -> Tijuana International Airport 
+ MMTO -> Toluca / Jose Maria 
+ MMTC -> Torreon, Coah.
+ MMTL -> Tulancingo 
+ MMTG -> Tuxtla Gutierrez, Chis.
+ MMPN -> Uruapan / Gen Rayon
+ MMVA -> Villahermosa 
+ MMZC -> Zacatecas Airport
++
+-Micronesia, Federated States of
+ PTSA -> Kusaie / Kosrae East
+ PTPN -> Ponape Island
+ PTKK -> Truk Intl / Moen Island
+ PTYA -> Yap Island
++
+-Morocco
+ GMAA -> Agadir
+ GMTA -> Al Hoceima
+ GMFF -> Fes-Sais
+ GMMX -> Marrakech
+ GMMN -> Nouasseur
+ GMFO -> Oujda
+ GMME -> Rabat-Sale
+ GMTT -> Tanger Aerodrome 
+ GMTN -> Tetuan / Sania Ramel
++
+-Mozambique
+ FQBR -> Beira
+ FQMA -> Maputo / Mavalane
++
+-Myanmar
+ VBRR -> Mingaladon
++
+-Nauru
+ ANAU -> Nauru Airport
++
+-Nepal
+ VNKT -> Kathmandu Airport
++
+-Netherlands Antilles
+ TNCB -> Flamingo Airport, Bonaire
+ TNCC -> Hato Airport, Curacao
+ TNCM -> Juliana Airport, Saint Maarten
+ TNCE -> Roosevelt Airport Saint Eustatius
++
+-Netherlands
+ EHAM -> Amsterdam Airport Schiphol
+ EHKD -> De Kooy
+ EHDL -> Deelen
+ EHEH -> Eindhoven
+ EHGR -> Gilze-Rijen
+ EHGG -> Groningen Airport Eelde
+ EHLW -> Leeuwarden
+ EHBK -> Maastricht Airport Zuid Limburg
+ EHRD -> Rotterdam Airport Zestienhoven
+ EHSB -> Soesterberg
+ EHTW -> Twenthe
+ EHVB -> Valkenburg
+ EHVL -> Vlieland
+ EHVK -> Volkel
+ EHWO -> Woensdrecht
++
+-New Caledonia
+ NWWW -> La Tontouta Nlle-Caledonie 
++
+-New Zealand
+ NZAA -> Auckland Airport
+ NZCH -> Christchurch
+ PLCH -> Christmas / Cassidy
+ NZWN -> Wellington Airport
++
+-Nicaragua
+ MNBL -> Bluefields
+ MNCH -> Chinandega
+ MNJG -> Jinotega
+ MNJU -> Juigalpa
+ MNMG -> Managua A. C. Sandino
+ MNPC -> Puerto Cabezas
+ MNRS -> Rivas
++
+-Niger
+ DRRN -> Niamey-Aero
++
+-Norway
+ ENAL -> Alesund / Vigra
+ ENAT -> Alta Lufthavn
+ ENAN -> Andoya
+ ENNA -> Banak
+ ENDU -> Bardufoss
+ ENBR -> Bergen / Flesland
+ ENBV -> Berlevag
+ ENBO -> Bodo Vi
+ ENBN -> Bronnoysund / Bronnoy
+ ENDI -> Dagali
+ ENEK -> Ekofisk Oil Platform
+ ENEV -> Evenes
+ ENFG -> Fagernes Leirin
+ ENFL -> Floro
+ ENBL -> Forde / Bringeland
+ ENFR -> Frigg
+ ENGC -> Gullfax Platform 
+ ENHF -> Hammerfest
+ ENHD -> Haugesund / Karmoy
+ ENHV -> Honningsvag / Valan
+ ENKR -> Kirkenes Lufthavn
+ ENCN -> Kristiansand / Kjevik
+ ENKB -> Kristiansund / Kvernberget
+ ENLK -> Leknes
+ ENLI -> Lista Flyplass
+ ENMH -> Mehamn
+ ENRA -> Mo I Rana / Rossvoll
+ ENML -> Molde / Aro
+ ENMS -> Mosjoen Kjaerstad
+ ENNM -> Namsos Lufthavn
+ ENNK -> Narvik Iii
+ ENNO -> Notodden
+ ENOL -> Orland Iii
+ ENOV -> Orsta-Volda / Hovden
+ ENOA -> Oseberg 
+ ENFB -> Oslo / Fornebu
+ ENGM -> Oslo / Gardermoen
+ ENRO -> Roros Lufthavn
+ ENRM -> Rorvik / Ryum
+ ENRS -> Rost Flyplass
+ ENRY -> Rygge
+ ENSD -> Sandane / Anda
+ ENST -> Sandnessjoen / Stokka
+ ENSN -> Skien-Geiteryggen
+ ENSG -> Sogndal / Haukasen
+ ENSR -> Sorkjosen
+ ENZV -> Stavanger / Sola
+ ENSO -> Stord / Soerstokken
+ ENSK -> Storkmarknes / Skagen
+ ENSB -> Svalbard Lufthavn
+ ENSH -> Svolvaer / Helle
+ ENTO -> Torp
+ ENTC -> Tromso / Langnes
+ ENVA -> Trondheim / Vaernes
+ ENVD -> Vadso
++
+-Oman
+ OOMA -> Masirah
+ OOSQ -> Saiq
+ OOSA -> Salalah
+ OOMS -> Seeb, International Airport
+ OOTH -> Thumrait
++
+-Pakistan
+ OPRN -> Islamabad Airport
+ OPKC -> Karachi Airport
+ OPLA -> Lahore Airport
+ OPNH -> Nawabshah
++
+-Palau
+ PTRO -> Koror / Palau Island
++
+-Panama
+ MPBO -> Bocas Del Toro International
+ MPDA -> David
+ MPHO -> Howard Air Force Base
+ MPMG -> Marcos A. Gelabert
+ MPSA -> Santiago
+ MPTO -> Tocumen
++
+-Paraguay
+ SGES -> Aeropuerto Guarany
+ SGAS -> Asuncion / Aeropuerto
++
+-Peru
+ SPHY -> Andahuayla
+ SPQU -> Arequipa
+ SPHO -> Ayacucho
+ SPJR -> Cajamarca
+ SPPY -> Chachapoyas
+ SPHI -> Chiclayo
+ SPEO -> Chimbote
+ SPZO -> Cuzco
+ SPNC -> Huanuco
+ SPQT -> Iquitos
+ SPJI -> Juanjui
+ SPJL -> Juliaca
+ SPIM -> Lima-Callao / Aerop. Internacional Jorgechavez
+ SPSO -> Pisco
+ SPUR -> Piura
+ SPCL -> Pucallpa
+ SPTU -> Puerto Maldonado
+ SPJA -> Rioja
+ SPTN -> Tacna
+ SPYL -> Talara
+ SPST -> Tarapoto
+ SPGM -> Tingo Maria
+ SPRU -> Trujillo
+ SPME -> Tumbes
+ SPMS -> Yurimaguas
++
+-Philippines
+ RPVM -> Masbate
+ RPLL -> Ninoy Aquino Inter-National Airport
+ RPLB -> Subic Bay Weather Station
++
+-Poland
+ EPGD -> Gdansk-Rebiechowo
+ EPKT -> Katowice
+ EPKK -> Krakow
+ EPPO -> Poznan
+ EPRZ -> Rzeszow-Jasionka
+ EPSC -> Szczecin
+ EPWA -> Warszawa-Okecie
+ EPWR -> Wroclaw Ii
++
+-Portugal
+ LPBJ -> Beja
+ LPFR -> Faro / Aeroporto
+ LPFU -> Funchal / S. Catarina
+ LPLA -> Lajes Acores 
+ LPPT -> Lisboa / Portela
+ LPPD -> Ponta Delgada / Nordela Acores 
+ LPPR -> Porto / Pedras Rubras
+ LPPS -> Porto Santo
+ LPAZ -> Santa Maria Acores 
++
+-Puerto Rico
+ TJBQ -> Aquadilla / Borinquen
+ TISX -> Christiansted / Alex. Hamilton Field, Saint Croix
+ TJSJ -> Luis Munoz Marin
+ TJMZ -> Mayaguez / Eugenio
+ TJPS -> Ponce / Mercedita 
++
+-Qatar
+ OTBD -> Doha International Airport
++
+-Reunion
+ FMEE -> Saint-Denis / Gillot
++
+-Romania
+ LRAR -> Arad
+ LRBS -> Bucuresti / Imh
+ LROP -> Bucuresti Otopeni
+ LRIA -> Iasi
+ LRCK -> Kogalniceanu
+ LRTR -> Timisoara
+ LRTM -> Tirgu Mures
+ LRTC -> Tulcea
++
+-Russian Federation
+ UHMA -> Anadyr
+ UHMD -> Buhta Providenja
+ UIAA -> Chita
+ UHHH -> Habarovsk
+ UIII -> Irkutsk
+ UEEE -> Jakutsk
+ UHSS -> Juzhno-Sahalinsk
+ UHMM -> Magadan
+ UUEE -> Moscow / Sheremet'Ye 
+ UUWW -> Moscow / Vnukovo 
+ UWPP -> Penza
+ UHPP -> Petropavlovsk-Kamchatskij
+ ULLI -> St. Peterburg
+ UUEM -> Tver
+ UIUU -> Ulan-Ude
+ UHWW -> Vladivostok
++
+-Rwanda
+ HRYR -> Kigali
++
+-Saint Helena
+ FHAW -> Wide Awake Field Ascension Island 
++
+-Saint Kitts and Nevis
+ TKPK -> Golden Rock
++
+-Saint Lucia
+ TLPL -> Hewanorra International Airport
+ TLPC -> Vigie
++
+-Saint Vincent and the Grenadines
+ TVSV -> Arnos Vale
++
+-Samoa
+ NSFA -> Faleolo Intl / Apia
++
+-Sao Tome and Principe
+ FPST -> S. Tome
++
+-Saudi Arabia
+ OEAB -> Abha
+ OEAH -> Al Ahsa
+ OEBA -> Al Baha
+ OEPA -> Al Qaysumah
+ OESK -> Al-Jouf
+ OERR -> Arar
+ OEBH -> Bisha
+ OEDW -> Dawadmi
+ OEDR -> Dhahran
+ OEGS -> Gassim
+ OEGN -> Gizan
+ OEGT -> Guriat
+ OEKK -> Hafr Al-Batin
+ OEHL -> Hail
+ OEJN -> Jeddah King Abdul Aziz International Airport 
+ OEKM -> Khamis Mushait
+ OERK -> King Khaled International Airport
+ OEMA -> Madinah
+ OEMK -> Makkah
+ OENG -> Najran
+ OERF -> Rafha
+ OERY -> Riyadh
+ OESH -> Sharurah
+ OETB -> Tabuk
+ OETF -> Taif
+ OETR -> Turaif
+ OEWD -> Wadi Al Dawasser Airport
+ OEWJ -> Wejh
+ OEYN -> Yenbo
++
+-Senegal
+ GOGS -> Cap-Skirring
+ GOOY -> Dakar / Yoff
+ GOSS -> Saint-Louis
+ GOTT -> Tambacounda
+ GOGG -> Ziguinchor
++
+-Seychelles
+ FSIA -> Seychelles Inter-National Airport
++
+-Sierra Leone
+ GFLL -> Lungi
++
+-Singapore
+ WSSS -> Singapore / Changi Airport
+ WSAP -> Singapore / Paya Lebar
++
+-Slovakia
+ LZIB -> Bratislava Ivanka
+ LZTT -> Poprad / Tatry
++
+-Slovenia
+ LJLJ -> Ljubljana / Brnik
+ LJMB -> Maribor / Slivnica
+ LJPZ -> Portoroz
++
+-Solomon Islands
+ AGGH -> Honiara / Henderson
++
+-Somalia
+ HCMM -> Mogadiscio
++
+-South Africa
+ FABM -> Bethlehem Airport
+ FABL -> Bloemfontein J. B. M. Hertzog 
+ FACT -> Cape Town D. F. Malan 
+ FADN -> Durban Louis Botha 
+ FAEL -> East London
+ FAGG -> George Airport
+ FAJS -> Jan Smuts
+ FALW -> Langebaanweg
+ FALT -> Lichtenburg
+ FAPB -> Pietersburg
+ FAPE -> Port Elizabeth
+ FAPR -> Pretoria
+ FASB -> Springbok
+ FAUP -> Upington
++
+-Spain
+ LEAL -> Alicante / El Altet
+ LEAM -> Almeria / Aeropuerto
+ LEAS -> Asturias / Aviles
+ LEBL -> Barcelona / Aeropuerto
+ LEBB -> Bilbao / Sondica
+ GCFV -> Fuerteventura / Aeropuerto
+ LEGE -> Gerona / Costa Brava
+ LEGR -> Granada / Aeropuerto
+ GCHI -> Hierro / Aeropuerto
+ LEIB -> Ibiza / Es Codola
+ LEJR -> Jerez De La Fronteraaeropuerto
+ LECO -> La Coruna / Alvedro
+ GCLA -> La Palma / Aeropuerto
+ GCRR -> Lanzarote / Aeropuerto
+ GCLP -> Las Palmas De Gran Canaria / Gando
+ LEMD -> Madrid / Barajas
+ LEVS -> Madrid / Cuatro Vientos
+ LEMG -> Malaga / Aeropuerto
+ GEML -> Melilla
+ LEMH -> Menorca / Mahon
+ LELC -> Murcia / San Javier
+ LEPA -> Palma De Mallorca / Son San Juan
+ LEPP -> Pamplona / Noain
+ LERS -> Reus / Aeropuerto
+ LESO -> San Sebastian / Fuenterrabia
+ LEXJ -> Santander / Parayas
+ LEST -> Santiago / Labacolla
+ LEZL -> Sevilla / San Pablo
+ GCXO -> Tenerife / Los Rodeos
+ GCTS -> Tenerife Sur
+ LEVC -> Valencia / Aeropuerto
+ LEVD -> Valladolid / Villanubla
+ LEVX -> Vigo / Peinador
+ LEVT -> Vitoria
+ LEZG -> Zaragoza / Aeropuerto
++
+-Sri Lanka
+ VCBI -> Katunayake
++
+-Sudan
+ HSSS -> Khartoum
++
+-Suriname
+ SMJP -> Johan A. Pengel
++
+-Swaziland
+ FDMS -> Manzini / Matsapa Airport
++
+-Sweden
+ ESGG -> Goteborg / Landvetter
+ ESGP -> Goteborg / Save
+ ESGJ -> Jonkoping Flygplats
+ ESSQ -> Karlstad Flygplats
+ ESNQ -> Kiruna Airport
+ ESDA -> Ljungbyhed
+ ESMS -> Malmo / Sturup
+ ESSP -> Norrkoping
+ ESDF -> Ronneby
+ ESSA -> Stockholm / Arlanda
+ ESSB -> Stockholm / Bromma
+ ESNN -> Sundsvall-Harnosand Flygplats
+ ESGT -> Trollhattan Private 
+ ESNU -> Umea Flygplats
+ ESOW -> Vasteras / Hasslo
+ ESMX -> Vaxjo
+ ESSV -> Visby Flygplats
++
+-Switzerland
+ LSZB -> Bern / Belp 
+ LSGG -> Geneve-Cointrin
+ LSZA -> Lugano
+ LSGS -> Sion
+ LSZH -> Zurich-Kloten
++
+-Syrian Arab Republic
+ OSAP -> Aleppo International Airport
+ OSDI -> Damascus Int. Airport
+ OSLK -> Lattakia
++
+-Taiwan
+ RCFS -> Chia Tung
+ RCTP -> Chiang Kai Shek
+ RCKU -> Chiayi Tw-Afb 
+ RCQS -> Chihhang Tw-Afb 
+ RCBS -> Chinmem / Shatou Air Force Base 
+ RCLM -> Dongsha
+ RCNO -> Dongshi
+ RCFN -> Feng Nin Tw-Afb 
+ RCKW -> Hengchun
+ RCPO -> Hsinchu Tw-Afb 
+ RCYU -> Hulien Ab
+ RCMS -> Ilan
+ RCAY -> Kangshan Tw-Afb 
+ RCKH -> Kaohsiung International Airport
+ RCQC -> Makung Ab
+ RCFG -> Mazu
+ RCUK -> Pa Kuei / Bakuai
+ RCSQ -> Pingtung North Air Force Base 
+ RCDC -> Pingtung South Air Force Base 
+ RCSS -> Sungshan / Taipei
+ RCLG -> Taichung Tw-Afb 
+ RCNN -> Tainan Tw-Afb 
+ RCGM -> Taoyuan Ab = 589650
+ RCMQ -> Wuchia Observatory
++
+-Tajikistan
+ UTDD -> Dushanbe
++
+-Tanzania, United Republic of
+ HTAR -> Arusha
+ HTBU -> Bukoba
+ HTDA -> Dar Es Salaam Airport
+ HTDO -> Dodoma
+ HTIR -> Iringa
+ HTKA -> Kigoma
+ HTKJ -> Kilimanjaro Airport
+ HTMB -> Mbeya
+ HTMG -> Morogoro
+ HTMS -> Moshi
+ HTMU -> Musoma
+ HTMW -> Mwanza
+ HTPE -> Pemba / Karume Airport
+ HTSE -> Same
+ HTSY -> Shinyanga
+ HTSO -> Songea
+ HTTB -> Tabora Airport
+ HTTG -> Tanga
+ HTZA -> Zanzibar / Kisauni
++
+-Thailand
+ VTCC -> Chiang Mai
+ VTBD -> Don Muang
+ VTSS -> Hat Yai
+ VTSP -> Phuket Airport
+ VTBU -> Rayong
++
+-Togo
+ DXXX -> Lome
++
+-Tonga
+ NFTF -> Fua'Amotu
++
+-Trinidad and Tobago
+ TTCP -> Crown Pt./ Scarborou
+ TTPP -> Piarco International Airport, Trinidad
++
+-Tunisia
+ DTTB -> Bizerte
+ DTTJ -> Djerba Mellita
+ DTTR -> El Borma
+ DTTG -> Gabes
+ DTMB -> Habib Bourguiba 
+ DTTN -> Jendouba
+ DTTK -> Kairouan
+ DTTL -> Kelibia
+ DTTD -> Remada
+ DTTX -> Sfax El-Maou
+ DTTZ -> Tozeur
+ DTTA -> Tunis-Carthage
++
+-Turkey
+ LTAG -> Adana / Incirlik
+ LTAF -> Adana / Sakirpasa
+ LTAH -> Afyon
+ LTBT -> Akhisar
+ LTAC -> Ankara / Esenboga
+ LTAD -> Ankara / Etimesgut
+ LTAI -> Antalya
+ LTBF -> Balikesir
+ LTBG -> Bandirma
+ LTCJ -> Batman
+ LTBE -> Bursa
+ LTBU -> Corlu
+ LTBS -> Dalaman
+ LTCC -> Diyarbakir
+ LTCA -> Elazig
+ LTCE -> Erzurum
+ LTBI -> Eskisehir
+ LTAJ -> Gaziantep
+ LTBA -> Istanbul / Ataturk
+ LTBJ -> Izmir / Adnan Menderes
+ LTBL -> Izmir / Cigli
+ LTAU -> Kayseri / Erkilet
+ LTAN -> Konya
+ LTAT -> Malatya / Erhac
+ LTAP -> Merzifon
+ LTAE -> Murted Tur-Afb 
+ LTCK -> Mus Tur-Afb 
+ LTAQ -> Samsun
+ LTAR -> Sivas
+ LTAV -> Sivrihisar
+ LTBQ -> Topel Tur-Afb 
+ LTCG -> Trabzon
+ LTCH -> Urfa
+ LTCI -> Van
++
+-Tuvalu
+ NGFU -> Funafuti
++
+-Uganda
+ HUEN -> Entebbe Airport
+ HUKS -> Kasese
+ HUMA -> Mbarara
+ HUSO -> Soroti
++
+-Ukraine
+ UKBB -> Boryspil
+ UKKK -> Kyiv
+ UKLL -> L'Viv
+ UKOO -> Odesa
++
+-United Arab Emirates
+ OMAD -> Abu Dhabi Bateen Airport
+ OMAA -> Abu Dhabi International Airport
+ OMAL -> Al Ain International Airport
+ OMDB -> Dubai International Airport
+ OMFJ -> Fujairah
+ OMRK -> Ras Al Khaimah International Airport
+ OMSJ -> Sharjah International Airport
++
+-United Kingdom
+ EGPD -> Aberdeen / Dyce
+ EGJA -> Alderney / Channel Island
+ EGAA -> Belfast / Aldergrove Airport
+ EGAC -> Belfast / Harbour
+ EGPL -> Benbecula
+ EGUB -> Benson
+ EGKB -> Biggin Hill 
+ EGBB -> Birmingham / Airport
+ EGNH -> Blackpool Airport
+ EGDM -> Boscombe Down
+ EGQM -> Boulmer
+ EGHH -> Bournemouth Airport
+ EGGD -> Bristol / Lulsgate 
+ EGSC -> Cambridge
+ EGFF -> Cardiff-Wales Airport
+ EGNC -> Carlisle
+ EGBE -> Coventry Airport 
+ EGTC -> Cranfield
+ EGDR -> Culdrose
+ EGPN -> Dundee / Riverside
+ EGNX -> East Midlands
+ EGPH -> Edinburgh Airport
+ EGAE -> Eglinton / Londonderr
+ EGTE -> Exeter Airport
+ EGLF -> Farnborough
+ EGPF -> Glasgow Airport
+ EGJB -> Guernsey Airport
+ EGNJ -> Humberside
+ EGPE -> Inverness / Dalcross
+ EGNS -> Isle Of Man / Ronaldsway Airport
+ EGJJ -> Jersey Airport
+ EGQK -> Kinloss
+ EGNM -> Leeds And Bradford
+ EGQL -> Leuchars
+ EGGP -> Liverpool Airport 
+ EGKK -> London / Gatwick Airport
+ EGLL -> London / Heathrow Airport
+ EGLC -> London City Airport
+ EGQS -> Lossiemouth
+ EGGW -> Luton Airport 
+ EGMD -> Lydd Airport 
+ EGDL -> Lyneham
+ EGCC -> Manchester Airport
+ EGVP -> Middle Wallop
+ EGNT -> Newcastle 
+ EGSH -> Norwich Weather Centre
+ EGHD -> Plymouth / Roborough
+ EGDP -> Portland / Rnas
+ EGPK -> Prestwick Airport
+ EGDG -> Saint Mawgan
+ EGPM -> Scatsa / Shetland Island
+ EGHE -> Scilly, Saint Mary'S
+ EGOS -> Shawbury
+ EGKA -> Shoreham Airport
+ EGHI -> Southampton / Weather Centre
+ EGMC -> Southend-On-Sea 
+ EGSS -> Stansted Airport
+ EGBJ -> Staverton Private 
+ EGPO -> Stornoway
+ EGPB -> Sumburgh Cape 
+ EGFH -> Swansea
+ EGNV -> Tees-Side
+ EGPU -> Tiree
+ EGPW -> Unst Island
+ EGOV -> Valley
+ EGPC -> Wick
+ EGDY -> Yeovilton
++
+-United States Minor Outlying Islands
+ PGUM -> Agana, Guam, Mariana Islands
+ PGUA -> Andersen Air Force Base
+ PJON -> Johnston Island
+ NSTU -> Pago Pago / Int. Airp.
+ PGWT -> Peipeinimaru
+ PGRO -> Rota Intl / Rota Island
+ PGSN -> Saipan / Isley Coast Guard Station
+ PWAK -> Wake Island Airfld
++
+-United States
+ KABR -> Aberdeen, Aberdeen Regional Airport
+ KABI -> Abilene, Abilene Regional Airport
+ KVJI -> Abingdon
+ PADK -> Adak, Naval Air Station
+ KADG -> Adrian, Lenawee County Airport
+ KANW -> Ainsworth Municipal
+ KAFF -> Air Force Academy
+ KAIT -> Aitkin NDB Automatic Weather Observing / Reporting System 
+ KCAK -> Akron, Akron-Canton Regional Airport
+ KAKO -> Akron, Akron-Washington County Airport
+ KEET -> Alabaster, Shelby County Airport
+ KALM -> Alamogordo-White
+ KALS -> Alamosa, San Luis Valley Regional Airport
+ KALB -> Albany, Albany County Airport
+ KABY -> Albany, Southwest Georgia Regional Airport
+ KAEL -> Albert Lea Automatic Weather Observing / Reporting System 
+ KABQ -> Albuquerque, Albuquerque International Airport
+ KESF -> Alexandria, Alexandria Esler Regional Airport
+ KAEX -> Alexandria, Alexandria International Airport
+ KAXN -> Alexandria, Chandler Field
+ KAXA -> Algona
+ KALI -> Alice, Alice International Airport
+ KABE -> Allentown, Lehigh Valley International Airport
+ KAIA -> Alliance, Alliance Municipal Airport
+ KAMG -> Alma, Bacon County Airport
+ KAPN -> Alpena, Alpena County Regional Airport
+ KALN -> Alton / St. Louis Regional
+ KAOO -> Altoona, Altoona-Blair County Airport
+ KO00 -> Alturas
+ KLTS -> Altus Air Force Base
+ KAMA -> Amarillo, Amarillo International Airport
+ PAFM -> Ambler
+ K7R3 -> Amelia / Lake Palourd
+ KAMW -> Ames, Ames Municipal Airport
+ PAKP -> Anaktuvuk Pass
+ PAED -> Anchorage / Elmendorf Air Force Base
+ PANC -> Anchorage, Anchorage International Airport
+ KAID -> Anderson Municipal
+ KAND -> Anderson, Anderson County Airport
+ K12N -> Andover, Aeroflex-Andover Airport
+ KLBX -> Angleton / Lake Jackson, Brazoria County Airport
+ PANI -> Aniak
+ KARB -> Ann Arbor, Ann Arbor Municipal Airport
+ PANT -> Annette Island
+ KANB -> Anniston, Anniston Metropolitan Airport
+ KAIG -> Antigo - Lang Automatic Weather Observing / Reporting System 
+ KAQQ -> Apalachicola, Apalachicola
+ KATW -> Appleton / Outagamie
+ KACV -> Arcata / Eureka, Arcata Airport
+ PARC -> Arctic Village
+ KADM -> Ardmore Municipal
+ KAWO -> Arlington Municipal
+ KGKY -> Arlington, Arlington Municipal Airport
+ KAVL -> Asheville, Asheville Regional Airport
+ KOFP -> Ashland, Hanover County Municipal Airport
+ KASX -> Ashland, Kennedy Memorial Airport
+ KHZY -> Ashtabula, Ashtabula County Airport
+ KASE -> Aspen, Aspen-Pitkin County Airport
+ KAST -> Astoria, Astoria Regional Airport
+ KAHN -> Athens, Athens Airport
+ KPDK -> Atlanta, De Kalb-Peachtree Airport
+ KFTY -> Atlanta, Fulton County Airport-Brown Field
+ KATL -> Atlanta, Hartsfield Atlanta International Airport
+ KFFC -> Atlanta, Peachtree City-Falcon Field
+ KAIO -> Atlantic
+ KACY -> Atlantic City, Atlantic City International Airport
+ KLEW -> Auburn-Lewiston
+ KAUO -> Auburn-Opelika Airport
+ KAUG -> Augusta, Augusta State Airport
+ KAGS -> Augusta, Bush Field
+ KDNL -> Augusta, Daniel Field
+ KARR -> Aurora, Aurora Municipal Airport
+ KUAO -> Aurora, Aurora State Airport
+ KU31 -> Austin
+ KAUM -> Austin Municipal
+ KAUS -> Austin, Mueller Municipal Airport
+ KAVX -> Avalon, Catalina Airport
+ KBKE -> Baker, Baker Municipal Airport
+ KBFL -> Bakersfield, Meadows Field
+ KMTN -> Baltimore / Martin
+ KBWI -> Baltimore, Baltimore-Washington International Airport
+ KDMH -> Baltimore, Inner Harbor
+ KBGR -> Bangor, Bangor International Airport
+ KBHB -> Bar Harbor Automatic Weather Observing / Reporting System
+ KBAD -> Barksdale Air Force Base
+ KMPV -> Barre / Montpelier, Knapp State Airport
+ PABR -> Barrow, Post Rogers Memorial Airport
+ PABA -> Barter Island
+ KBVO -> Bartlesville, Bartlesville Municipal Airport
+ KBOW -> Bartow Municipal
+ KBVX -> Batesville Automatic Weather Observing / Reporting System
+ KBTR -> Baton Rouge, Baton Rouge Metropolitan, Ryan Field
+ KBTL -> Battle Creek, Kellogg Airport
+ KB23 -> Battle Mountain
+ KBDE -> Baudette, Baudette International Airport
+ KBAB -> Beale Air Force Base / Marysvile
+ KBIE -> Beatrice Municipal
+ KNBC -> Beaufort, Marine Corps Air Station
+ KMRH -> Beaufort, Smith Field
+ KBUO -> Beaumont
+ KBPT -> Beaumont / Port Arthur, Jefferson County Airport
+ KBVI -> Beaver Falls Airport
+ KBKW -> Beckley, Raleigh County Memorial Airport
+ KBED -> Bedford, Hanscom Field
+ KEFC -> Belle Fourche
+ KBLI -> Bellingham, Bellingham International Airport
+ KBLM -> Belmar-Farmdale
+ KBJI -> Bemidji
+ KDDH -> Bennington, Bennington Morse State Airport
+ KBBB -> Benson Municipal
+ KBEH -> Benton Harbor, Southwest Michigan Regional Airport
+ KVBT -> Bentonville Automatic Weather Observing / Reporting System
+ KBSM -> Bergstrom, Austin-Bergstrom International Airport
+ KBML -> Berlin, Berlin Municipal Airport
+ PABE -> Bethel / Bethel Airport
+ PABT -> Bettles
+ KBVY -> Beverly, Beverly Municipal Airport
+ KBYS -> Bicycle Lake U. S. Army Airfield, Ca
+ KBPI -> Big Piney, Big Piney-Marbleton Airport
+ PALV -> Big River Lake
+ KBIL -> Billings, Billings Logan International Airport
+ KBGM -> Binghamton, Binghamton Regional Airport
+ KBHM -> Birmingham, Birmingham International Airport
+ KBIH -> Bishop, Bishop Airport
+ KBIS -> Bismarck, Bismarck Municipal Airport
+ K4BL -> Blanding 
+ KBID -> Block Island Automatic Weather Observing / Reporting System
+ KBMI -> Bloomington / Normal
+ KBMG -> Bloomington, Monroe County Airport
+ KBLF -> Bluefield, Mercer County Airport
+ KBLH -> Blythe, Blythe Airport
+ KHKA -> Blytheville, Blytheville Municipal Airport
+ KBOI -> Boise, Boise Air Terminal
+ KBNW -> Boone Municipal
+ KBGD -> Borger, Hutchinson County Airport
+ KOVS -> Boscobel, Boscobel Airport
+ KBOS -> Boston, Logan International Airport
+ KBWG -> Bowling Green, Bowling Green-Warren County Regional Airport
+ KBZN -> Bozeman, Gallatin Field
+ KBFD -> Bradford, Bradford Regional Airport
+ PHSF -> Bradshaw Army Air Field / Hawaii
+ KBRD -> Brainerd, Brainerd-Crow Wing County Regional Airport
+ KPWT -> Bremerton National Automatic Weather Observing / Reporting System
+ KHDE -> Brewster Field Airport
+ KBDR -> Bridgeport, Sikorsky Memorial Airport
+ KTRI -> Bristol / Johnson / Kingsport, Tri-City Regional Airport
+ KBBW -> Broken Bow Municipal
+ K4BK -> Brookings
+ KBKX -> Brookings Automatic Weather Observing / Reporting System
+ KBKV -> Brooksville, Hernando County Airport
+ KBJC -> Broomfield / Jeffco
+ KBRO -> Brownsville, Brownsville / South Padre Island International Airport
+ KBQK -> Brunswick / Glynco
+ KSSI -> Brunswick, McKinnon Airport
+ KNHZ -> Brunswick, Naval Air Station
+ KBCE -> Bryce Canyon, Bryce Canyon Airport
+ KBKF -> Buckley Air National Guard Base / Denver
+ K2WX -> Buffalo
+ KBUF -> Buffalo, Greater Buffalo International Airport
+ KBYG -> Buffalo, Johnson County Airport
+ KU17 -> Bullfrog Marina
+ KBUR -> Burbank, Burbank-Glendale-Pasadena Airport
+ KBYI -> Burley, Burley Municipal Airport
+ K75S -> Burlington / Mt Vern
+ KBUY -> Burlington, Burlington Alamance Regional Airport
+ KBTV -> Burlington, Burlington International Airport
+ KBRL -> Burlington, Burlington Regional Airport
+ KITR -> Burlington, Carson County Airport
+ KBMQ -> Burnet, Burnet Municipal Craddock Field
+ KBNO -> Burns, Burns Municipal Airport
+ KBTP -> Butler County Automatic Weather Observing / Reporting System
+ KBTM -> Butte, Mooney Airport
+ KCAD -> Cadillac / Wexford County
+ KCPS -> Cahokia / St. Louis, St. Louis Downtown-Parks Airport
+ KOZR -> Cairns Army Air Field / Ozark
+ KEUL -> Caldwell Automatic Weather Observing / Reporting System
+ KCDW -> Caldwell, Essex County Airport
+ KP38 -> Caliente
+ KCMA -> Camarillo Automatic Weather Observing / Reporting System
+ KCBG -> Cambridge Municipal
+ K7R5 -> Cameron Heliport
+ KADW -> Camp Springs / Andrews Air Force Base
+ KCZZ -> Campo
+ KCVS -> Cannon Air Force Base / Clovis
+ PATW -> Cantwell
+ KCGI -> Cape Girardeau, Cape Girardeau Regional Airport
+ PALU -> Cape Lisburne Airways Facilities Sector
+ PAEH -> Cape Newenham Airways Facilities Sector
+ PACZ -> Cape Romanzoff Airways Facilities Sector
+ KMDH -> Carbondale / Murphysboro, Southern Illinois Airport
+ KCAR -> Caribou, Caribou Municipal Airport
+ KCNM -> Carlsbad, Cavern City Air Terminal
+ KCRQ -> Carlsbad, McClellan-Palomar Airport
+ KCIN -> Carroll
+ KCGZ -> Casa Granda Automatic Weather Observing / Reporting System
+ KCZK -> Cascade Locks State
+ KCPR -> Casper, Natrona County International Airport
+ KNZC -> Cecil, Naval Air Station
+ KCDC -> Cedar City, Cedar City Municipal Airport
+ KCID -> Cedar Rapids, Cedar Rapids Municipal Airport
+ KCDR -> Chadron, Chadron Municipal Airport
+ KU15 -> Challis, Challis Airport
+ KE33 -> Chama
+ K9V9 -> Chamberlain, Chamberlain Municipal Airport
+ KCMI -> Champaign / Urbana, University Of Illinois-Willard Airport
+ PALR -> Chandalar Lake
+ KCNU -> Chanute, Chanute Martin Johnson Airport
+ KCNC -> Chariton
+ KCCY -> Charles City
+ KCHS -> Charleston, Charleston Air Force Base
+ KCRW -> Charleston, Yeager Airport
+ KCLT -> Charlotte, Charlotte / Douglas International Airport
+ KCHO -> Charlottesville, Charlottesville-Albemarle Airport
+ KCQX -> Chatham, Chatham Municipal Airport
+ KCHA -> Chattanooga, Lovell Field
+ KCWF -> Chenault Airpark
+ KNKT -> Cherry Point, Marine Corps Air Station
+ KCYS -> Cheyenne, Cheyenne Airport
+ KCGX -> Chicago / Meigs
+ KUGN -> Chicago / Waukegan
+ KDPA -> Chicago / West Chicago, Dupage Airport
+ KPWK -> Chicago / Wheeling, Pal-Waukee Airport
+ KMDW -> Chicago, Chicago Midway Airport
+ KORD -> Chicago, Chicago-O'Hare International Airport
+ KCIC -> Chico Municipal 
+ KCEF -> Chicopee Falls / Westover Air Force Base
+ KCDS -> Childress, Childress Municipal Airport
+ KCDJ -> Chillicothe, Chillicothe Agri-Science Center
+ KNID -> China Lake, Naval Air Facility
+ KCNO -> Chino, Chino Airport
+ KCIU -> Chippewa International Automatic Weather Observing / Reporting System
+ PAEC -> Chulitna
+ KLUK -> Cincinnati, Cincinnati Municipal Airport Lunken Field
+ PACR -> Circle City Airport
+ KICL -> Clarinda
+ KCAV -> Clarion
+ KCKB -> Clarksburg, Benedum Airport
+ K40B -> Clayton Lake
+ KCAO -> Clayton, Clayton Municipal Airpark
+ KN97 -> Clearfield, Clearfield-Lawrence Airport
+ KCGF -> Cleveland / Cuyahoga
+ KBKL -> Cleveland, Burke Lakefront Airport
+ KCLE -> Cleveland, Cleveland-Hopkins International Airport
+ KCQC -> Clines Corner
+ KCWI -> Clinton Municipal Automatic Weather Observing / Reporting System
+ KCSM -> Clinton, Clinton-Sherman Airport
+ KCOQ -> Cloquet Automatic Weather Observing / Reporting System
+ KCVN -> Clovis Municipal Automatic Weather Observing / Reporting System
+ KCOF -> Cocoa / Patrick Air Force Base
+ KCOD -> Cody
+ KCOE -> Coeur D'Alene Automatic Weather Observing / Reporting System
+ KCFV -> Coffeyville, Coffeyville Municipal Airport
+ PACD -> Cold Bay, Cold Bay Airport
+ KCLL -> College Station, Easterwood Field
+ KCOS -> Colorado Springs, City Of Colorado Springs Municipal Airport
+ KCAE -> Columbia, Columbia Metropolitan Airport
+ KCUB -> Columbia, Columbia Owens Downtown Airport
+ KCOU -> Columbia, Columbia Regional Airport
+ KBAK -> Columbus / Balkalar 
+ KCBM -> Columbus Air Force Base
+ KOLU -> Columbus Municipal Automatic Weather Observing / Reporting System
+ KCSG -> Columbus, Columbus Metropolitan Airport
+ KOSU -> Columbus, Ohio State University Airport
+ KCMH -> Columbus, Port Columbus International Airport
+ KCQV -> Colville Municipal
+ KCCR -> Concord, Buchanan Field
+ KCON -> Concord, Concord Municipal Airport
+ KCNK -> Concordia, Blosser Municipal Airport
+ KCXO -> Conroe, Montgomery County Airport
+ KP59 -> Copper Harbor
+ PACV -> Cordova / Mile 13
+ K4CR -> Corona / Lincoln
+ KCRP -> Corpus Christi, Corpus Christi International Airport
+ KNGP -> Corpus Christi, Naval Air Station
+ KCRS -> Corsicana, Campbell Field-Corsicana Municipal Airport
+ KCEZ -> Cortez, Cortez-Montezuma County Airport
+ KCVO -> Corvallis Municipal Automatic Weather Observing / Reporting System
+ KCOT -> Cotulla, Cotulla-La Salle County Airport
+ KCBF -> Council Bluffs
+ KCVG -> Covington / Cincinnati, Cincinnati / Northern Kentucky International Airport
+ KCAG -> Craig, Craig-Moffat Airport
+ KCEC -> Crescent City
+ KCSQ -> Creston
+ KCEW -> Crestview, Sikes Airport
+ KCKN -> Crookston Municipal Field
+ KCTY -> Cross City, Cross City Airport
+ KCSV -> Crossville, Crossville Memorial Airport
+ K0V1 -> Custer, Custer County Airport
+ KCTB -> Cut Bank Automatic Weather Observing / Reporting System
+ KDAG -> Daggett, Barstow-Daggett Airport
+ KDHT -> Dalhart, Dalhart Municipal Airport
+ KADS -> Dallas / Addison Airport
+ KDFW -> Dallas / Fort Worth, Dallas / Fort Worth International Airport
+ KDAL -> Dallas, Dallas Love Field
+ KRBD -> Dallas, Redbird Airport
+ KDXR -> Danbury, Danbury Municipal Airport
+ KDAN -> Danville, Danville Regional Airport
+ KDVN -> Davenport, Davenport Municipal Airport
+ KDMA -> Davis-Monthan Air Force Base
+ KFFO -> Dayton / Wright-Patterson Air Force Base
+ KDAY -> Dayton, Cox Dayton International Airport
+ KMGY -> Dayton, Dayton General Airport South Airport
+ KDAB -> Daytona Beach, Daytona Beach Regional Airport
+ PASC -> Deadhorse
+ KDEC -> Decatur, Decatur Airport
+ KDCU -> Decatur, Pryor Field
+ KDEH -> Decorah
+ KDEW -> Deer Park, Deer Park Airport
+ PADE -> Deering 
+ KDFI -> Defiance, Defiance Memorial Airport
+ KDRT -> Del Rio, Del Rio International Airport
+ KU24 -> Delta
+ KDMN -> Deming, Deming Municipal Airport
+ KDNS -> Denison
+ KDTO -> Denton, Denton Municipal Airport
+ KAPA -> Denver, Centennial Airport
+ KDEN -> Denver, Denver International Airport
+ KDSM -> Des Moines, Des Moines International Airport
+ KDTS -> Destin, Destin-Ft. Walton Beach Airport
+ KDTL -> Detroit Lakes Automatic Weather Observing / Reporting System
+ KDET -> Detroit, Detroit City Airport
+ KDTW -> Detroit, Detroit Metropolitan Wayne County Airport
+ KYIP -> Detroit, Willow Run Airport
+ KDVL -> Devils Lake Automatic Weather Observing / Reporting System
+ KDIK -> Dickinson, Dickinson Municipal Airport
+ PADL -> Dillingham Municipal, Ak
+ KDLN -> Dillon, Dillon Airport
+ KDDC -> Dodge City, Dodge City Regional Airport
+ KDHN -> Dothan, Dothan Airport
+ KDUG -> Douglas Bisbee International
+ KDGW -> Douglas, Converse County Airport
+ KDOV -> Dover Air Force Base
+ K3DU -> Drummond
+ KDUJ -> Du Bois Automatic Weather Observing / Reporting System
+ KPSK -> Dublin / New River Valley
+ KDBQ -> Dubuque, Dubuque Regional Airport
+ KDPG -> Dugway Proving Grounds
+ KEGI -> Duke Field / Eglin Auxiliary
+ KDLH -> Duluth, Duluth International Airport
+ KDKK -> Dunkirk, Chautauqua County / Dunkirk Airport
+ KDRO -> Durango, Durango-La Plata County Airport
+ PADU -> Dutch Harbor
+ KDYR -> Dyersburg Automatic Weather Observing / Reporting System
+ KEGE -> Eagle County Regional
+ KBYH -> Eaker Air Force Base
+ KEAU -> Eau Claire County Airport
+ KEDW -> Edwards Air Force Base
+ PAII -> Egegik Automatic Weather Observing / Reporting System
+ KNJK -> El Centro, Naval Air Facility
+ KELD -> El Dorado, South Arkansas Regional Airport
+ KEMT -> El Monte
+ KELP -> El Paso, El Paso International Airport
+ PAEL -> Elfin Cove Seaplane
+ KECG -> Elizabeth City, Elizabeth City Coast Guard Air Station
+ KEHA -> Elkhart Automatic Weather Observing / Reporting System
+ KEKM -> Elkhart Municipal
+ KEKN -> Elkins, Elkins-Randolph County-Jennings Randolph Field
+ KEKO -> Elko, Elko Municipal-Harris Field
+ KELN -> Ellensburg, Bowers Field
+ KRCA -> Ellsworth Air Force Base
+ KELM -> Elmira, Elmira / Corning Regional Airport
+ KELO -> Ely Municipal Automatic Weather Observing / Reporting System
+ KELY -> Ely, Ely Airport
+ KBLU -> Emigrant Gap, Blue Canyon Nyack Airport
+ PAEM -> Emmonak
+ KEMP -> Emporia, Emporia Municipal Airport
+ KWDG -> Enid / Woodring Municipal
+ KEPH -> Ephrata, Ephrata Municipal Airport
+ KERI -> Erie, Erie International Airport
+ KESC -> Escanaba
+ KEST -> Estherville, Estherville Municipal Airport
+ KEUG -> Eugene, Mahlon Sweet Field
+ PAZK -> Eureka
+ KEVW -> Evanston, Evanston-Uinta County Burns Field
+ KEVV -> Evansville, Evansville Regional Airport
+ KEVM -> Eveleth Municipal Automatic Weather Observing / Reporting System
+ KPAE -> Everett, Snohomish County Airport
+ KGZH -> Evergreen, Middleton Field
+ KFFL -> Fair Field
+ PAEI -> Fairbanks / Eielson Air Force Base
+ PAFA -> Fairbanks, Fairbanks International Airport
+ KSKA -> Fairchild Air Force Base
+ KSUU -> Fairfield / Travis Air Force Base
+ KFRM -> Fairmont Municipal Automatic Weather Observing / Reporting System
+ KD07 -> Faith
+ KNFL -> Fallon, Naval Air Station
+ KFNB -> Falls City / Brenner
+ KFAR -> Fargo, Hector International Airport
+ KFBL -> Faribault Municipal Automatic Weather Observing / Reporting System
+ KFRG -> Farmingdale, Republic Airport
+ KFAM -> Farmington Airport
+ KFMN -> Farmington, Four Corners Regional Airport
+ KFVX -> Farmville
+ KFYV -> Fayetteville, Drake Field
+ KFAY -> Fayetteville, Fayetteville Regional Airport
+ KFFM -> Fergus Falls Automatic Weather Observing / Reporting System
+ KFDY -> Findlay Automatic Weather Observing / Reporting System
+ KFIT -> Fitchburg, Fitchburg Municipal Airport
+ KFLG -> Flagstaff, Flagstaff Pulliam Airport
+ KFNT -> Flint, Bishop International Airport
+ KFLP -> Flippin Automatic Weather Observing / Reporting System
+ KFLO -> Florence, Florence Regional Airport
+ KFLD -> Fond Du Lac, Fond Du Lac County Airport
+ KDAA -> Fort Belvoir
+ KLSF -> Fort Benning
+ KFBG -> Fort Bragg / Simmons Army Airfield
+ KHOP -> Fort Campbell U. S. Army Airfield
+ KFCS -> Fort Carson
+ KFNL -> Fort Collins Automatic Weather Observing / Reporting System
+ KFOD -> Fort Dodge
+ KGTB -> Fort Drum / Wheeler-Sack U. S. Army Airfield
+ KFAF -> Fort Eustis / Felker
+ PABI -> Fort Greely / Allen U. S. Army Airfield, Ak
+ KHLR -> Fort Hood
+ KGRK -> Fort Hood / Gray U. S. Army Airfield
+ KFHU -> Fort Huachuca
+ KFTK -> Fort Knox
+ KFLL -> Fort Lauderdale, Fort Lauderdale / Hollywood International Airport
+ KFXE -> Fort Lauderdale, Fort Lauderdale Executive Airport
+ KFLV -> Fort Leavenworth
+ KTBN -> Fort Leonard Wood
+ KGRF -> Fort Lewis / Gray U. S. Army Airfield
+ KFSW -> Fort Madison
+ KFMY -> Fort Myers, Page Field
+ KRSW -> Fort Myers, Southwest Florida International Airport
+ KFPR -> Fort Pierce, St. Lucie County International Airport
+ KPOE -> Fort Polk
+ KFRI -> Fort Riley
+ KJWX -> Fort Ritchie
+ KFSI -> Fort Sill
+ KFSM -> Fort Smith, Fort Smith Regional Airport
+ KFST -> Fort Stockton, Fort Stockton-Pecos County Airport
+ KFWA -> Fort Wayne, Fort Wayne International Airport
+ KAFW -> Fort Worth, Fort Worth Alliance Airport
+ KFTW -> Fort Worth, Meacham International Airport
+ KNFW -> Fort Worth, Naval Air Station
+ PFYU -> Fort Yukon
+ KFSE -> Fosston Automatic Weather Observing / Reporting System
+ K9F2 -> Fourchon Supplementary Aviation Weather Reporting Station 
+ KFFT -> Frankfort, Capital City Airport
+ KFKN -> Franklin / J B Rose
+ KFKL -> Franklin Automatic Weather Observing / Reporting System
+ KFDR -> Frederick, Frederick Municipal Airport
+ KFET -> Fremont Municipal Airport
+ KFVE -> Frenchville, Northern Aroostook Regional Airport
+ KFAT -> Fresno, Fresno Air Terminal
+ KFCH -> Fresno-Chandler
+ KFHR -> Friday Harbor, Friday Harbor Airport
+ KIZG -> Fryeburg, Eastern Slopes Regional Airport
+ KLHW -> Ft. Stewart
+ KFUL -> Fullerton, Fullerton Municipal Airport
+ KGAD -> Gadsden Municipal Automatic Weather Observing / Reporting System
+ KGAG -> Gage, Gage Airport
+ KGNV -> Gainesville, Gainesville Regional Airport
+ KGVL -> Gainesville, Gilmer Memorial Airport
+ PAGB -> Galbraith Lake
+ PAGA -> Galena A.
+ KGUP -> Gallup, Gallup Municipal Airport
+ KGLS -> Galveston, Scholes Field
+ PAGM -> Gambell Automatic Weather Observing / Reporting System
+ KGCK -> Garden City, Garden City Regional Airport
+ KN60 -> Garrison
+ KGYY -> Gary Regional
+ KAKH -> Gastonia, Gastonia Municipal Airport
+ KGLR -> Gaylord, Otsego County Airport
+ KGTU -> Georgetown Automatic Weather Observing / Reporting System
+ KGED -> Georgetown, Sussex County Airport
+ KGBN -> Gila Bend U. S. Army Airfield
+ KGCC -> Gillette, Gillette-Campbell County Airport
+ KGGW -> Glasgow, Glasgow International Airport
+ KGDV -> Glendive Automatic Weather Observing / Reporting System
+ KGFL -> Glens Falls, Warren County Airport
+ KGHW -> Glenwood Automatic Surface Observing System 
+ KGTR -> Golden Tri Automatic Weather Observing / Reporting System
+ KGLD -> Goodland, Renner Field
+ KGYR -> Goodyear Municipal
+ KGSH -> Goshen, Goshen Municipal Airport
+ KGCN -> Grand Canyon, Grand Canyon National Park Airport
+ KRDR -> Grand Forks Air Force Base
+ KGFK -> Grand Forks, Grand Forks International Airport
+ KGRI -> Grand Island, Central Nebraska Regional Airport
+ KAXO -> Grand Isle Supplementary Aviation Weather Reporting Station 
+ KGJT -> Grand Junction, Walker Field
+ KP61 -> Grand Marais
+ KGNA -> Grand Marais, The Bay of Grand Marais
+ KGPZ -> Grand Rapids Automatic Weather Observing / Reporting System
+ KGRR -> Grand Rapids, Kent County International Airport
+ KS80 -> Grangeville 
+ KGNT -> Grants, Grants-Milan Municipal Airport
+ KGBD -> Great Bend Automatic Weather Observing / Reporting System
+ KGTF -> Great Falls, Great Falls International Airport
+ KGXY -> Greeley / Weld Automatic Weather Observing / Reporting System
+ KGRB -> Green Bay, Austin Straubel International Airport
+ KU28 -> Green River Range
+ KGSO -> Greensboro, Piedmont Triad International Airport
+ KGVT -> Greenville / Majors
+ KGMU -> Greenville, Greenville Downtown Airport
+ KGLH -> Greenville, Greenville Municipal Airport
+ KGWO -> Greenwood, Greenwood-LeFlore Airport
+ KGSP -> Greer, Greenville-Spartanburg Airport
+ KGEY -> Greybull, South Big Horn County Airport
+ KRME -> Griffiss Air Force Base / Rome
+ KGUS -> Grissom Air Force Base / Peru
+ KGON -> Groton / New London, Groton-New London Airport
+ KGPT -> Gulfport, Gulfport-Biloxi Regional Airport
+ PAGK -> Gulkana / Intl. Fld.
+ KGUC -> Gunnison Automatic Weather Observing / Reporting System
+ PAGS -> Gustavus
+ KGOK -> Guthrie, Guthrie Municipal Airport
+ KGUY -> Guymon / Guymon Municipal Airport
+ KHGR -> Hagerstown, Washington County Regional Airport
+ KSUN -> Hailey / Friedman Memorial
+ PAHN -> Haines
+ KHMM -> Hamilton / Ravalli County
+ KHAO -> Hamilton, Hamilton-Fairfield Airport
+ KCMX -> Hancock, Houghton County Memorial Airport
+ KHMS -> Hanford
+ KO18 -> Hanford, Hanford Municipal Airport
+ K4HV -> Hanksville 
+ KHRL -> Harlingen, Rio Grande Valley International Airport
+ K3HT -> Harlowton
+ KCXY -> Harrisburg, Capital City Airport
+ KMDT -> Harrisburg, Harrisburg International Airport
+ KHRO -> Harrison, Boone County Airport
+ KHFD -> Hartford, Hartford-Brainard Airport
+ KHSI -> Hastings, Hastings Municipal Airport
+ KHSE -> Hatteras, Mitchell Field
+ KHVR -> Havre, Havre City-County Airport
+ KHHR -> Hawthorne, Hawthorne Municipal Airport
+ KHDN -> Hayden / Yampa Automatic Weather Observing / Reporting System
+ PAHZ -> Hayes River
+ KHYS -> Hays Municipal Automatic Weather Observing / Reporting System
+ KHWD -> Hayward, Hayward Air Terminal
+ KHYR -> Hayward, Hayward Municipal Airport
+ PAHV -> Healy River Airport
+ KHLN -> Helena, Helena Regional Airport
+ KEHR -> Henderson City
+ KS22 -> Hermiston, Hermiston Municipal Airport
+ KHEI -> Hettinger, Hettinger Municipal Airport
+ KHIB -> Hibbing, Chisholm-Hibbing Airport
+ KHKY -> Hickory, Hickory Regional Airport
+ KHIF -> Hill Air Force Base / Ogden
+ KHLC -> Hill City, Hill City Municipal Airport
+ KHLX -> Hillsville
+ PHTO -> Hilo, Hilo International Airport
+ KHBR -> Hobart, Hobart Municipal Airport
+ KHOB -> Hobbs / Lea County
+ KBIV -> Holland, Tulip City Airport
+ KHMN -> Holloman Air Force Base
+ PAHO -> Homer
+ KHST -> Homestead Air Force Base
+ KHDO -> Hondo, Hondo Municipal Airport
+ PHNL -> Honolulu, Honolulu International Airport
+ PAOH -> Hoonah Seaplane
+ KHQM -> Hoquiam, Bowerman Airport
+ KHSP -> Hot Springs / Ingalls
+ KHOT -> Hot Springs, Memorial Field
+ KHTL -> Houghton Lake, Roscommon County Airport
+ KHUL -> Houlton, Houlton International Airport
+ KHUM -> Houma-Terrebonne
+ KEFD -> Houston / Ellington
+ KT02 -> Houston, Clover Field
+ KHOU -> Houston, Hobby Airport
+ KDWH -> Houston, Hooks Memorial Airport
+ KIAH -> Houston, Houston Intercontinental Airport
+ KSVN -> Hunter U. S. Army Airfield 
+ KHNB -> Huntingburg
+ KHTS -> Huntington, Tri-State Airport
+ KHSV -> Huntsville, Huntsville International / Jones Field
+ KUTS -> Huntsville, Huntsville Municipal Airport
+ KHRT -> Hurlburt Field
+ KHON -> Huron, Huron Regional Airport
+ PAHS -> Huslia
+ KHCD -> Hutchinson Automatic Weather Observing / Reporting System
+ KHUT -> Hutchinson, Hutchinson Municipal Airport
+ KHYA -> Hyannis, Barnstable Municipal-Boardman Airport
+ PAHY -> Hydaburg Seaplane
+ KIDA -> Idaho Falls, Fanning Field
+ PAIL -> Iliamna / Iliamna Airport
+ KNRS -> Imperial Beach, Naval Auxiliary Landing Field
+ KIML -> Imperial Municipal
+ KIPL -> Imperial, Imperial County Airport
+ PAIM -> Indian Mountain Airways Facilities Sector
+ KIDI -> Indiana / Stewart Field
+ KEYE -> Indianapolis, Eagle Creek Airpark
+ KIND -> Indianapolis, Indianapolis International Airport
+ KINL -> International Falls, Falls International Airport
+ K7R4 -> Intracoastal City
+ KIYK -> Inyokern
+ KIOW -> Iowa City, Iowa City Municipal Airport
+ KIMT -> Iron Mountain / Kingsford, Ford Airport
+ KIWD -> Ironwood Automatic Weather Observing / Reporting System
+ KISP -> Islip, Long Island Mac Arthur Airport
+ KITH -> Ithaca / Tompkins County
+ KJXN -> Jackson / Reynolds
+ KJAC -> Jackson Hole Automatic Weather Observing / Reporting System
+ KMJQ -> Jackson Municipal Automatic Weather Observing / Reporting System
+ KJKL -> Jackson, Carroll Airport
+ KJAN -> Jackson, Jackson International Airport
+ KMKL -> Jackson, McKellar-Sipes Regional Airport
+ KOAJ -> Jacksonville Automatic Weather Observing / Reporting System
+ KCRG -> Jacksonville, Craig Municipal Airport
+ KJAX -> Jacksonville, Jacksonville International Airport
+ KNIP -> Jacksonville, Naval Air Station
+ KNCA -> Jacksonville, New River, Marine Corps Air Station
+ KAFN -> Jaffrey, Jaffrey Municipal-Silver Ranch Airport
+ KJHW -> Jamestown Automatic Weather Observing / Reporting System
+ KJMS -> Jamestown, Jamestown Municipal Airport
+ KJVL -> Janesville / Rock County
+ KJEF -> Jefferson City, Jefferson City Memorial Airport
+ KU73 -> Jerome, Jerome County Airport
+ KJST -> Johnstown, Johnstown-Cambria County Airport
+ KJBR -> Jonesboro, Jonesboro Municipal Airport
+ KJLN -> Joplin, Joplin Regional Airport
+ KJDN -> Jordan, Jordan Airport
+ KJCT -> Junction, Kimble County Airport
+ PAJN -> Juneau, Juneau International Airport
+ PHOG -> Kahului, Kahului Airport
+ PHKO -> Kailua / Kona, Keahole Airport
+ KAIZ -> Kaiser Memorial Automatic Weather Observing / Reporting System 
+ PAFE -> Kake Seaplane Base
+ KAZO -> Kalamazoo, Kalamazoo / Battle Creek International Airport
+ KFCA -> Kalispell, Glacier Park International Airport
+ PAKV -> Kaltag, Kaltag Airport
+ PHNG -> Kaneohe, Marine Corps Air Station
+ KMKC -> Kansas City, Kansas City Downtown Airport
+ KMCI -> Kansas City, Kansas City International Airport
+ KGVW -> Kansas City, Richards-Gebaur Airport
+ KEAR -> Kearney Municipal Automatic Weather Observing / Reporting System
+ KEEN -> Keene / Dillant Automatic Weather Observing / Reporting System
+ KBIX -> Keesler Air Force Base / Biloxi
+ PHBK -> Kekaha, Pacific Missile Test Facility Barking Sands
+ KSKF -> Kelly Air Force Base
+ KKLS -> Kelso-Longview Automatic Weather Observing / Reporting System
+ PAEN -> Kenai, Kenai Municipal Airport
+ KENW -> Kenosha, Kenosha Regional Airport
+ KEOK -> Keokuk Municipal
+ PAKT -> Ketchikan, Ketchikan International Airport
+ KEYW -> Key West, Key West International Airport
+ KNQX -> Key West, Naval Air Station
+ KILE -> Killeen Municipal Automatic Weather Observing / Reporting System
+ PAKN -> King Salmon, King Salmon Airport
+ KIGM -> Kingman, Kingman Airport
+ KNQI -> Kingsville, Naval Air Station
+ KISO -> Kinston / Stallings
+ KIRK -> Kirksville, Kirksville Regional Airport
+ PAVL -> Kivalina, Kivalina Airport
+ KLMT -> Klamath Falls, Klamath Falls International Airport
+ PAKW -> Klawock
+ KOXV -> Knoxville
+ KTYS -> Knoxville, McGhee Tyson Airport
+ PADQ -> Kodiak
+ PAOT -> Kotzebue, Wien Memorial Airport
+ KLSE -> La Crosse, La Crosse Municipal Airport
+ KLGD -> La Grande Automatic Weather Observing / Reporting System
+ KLHX -> La Junta, La Junta Municipal Airport
+ KPOC -> La Verne / Brackett
+ KLCI -> Laconia Municipal Automatic Weather Observing / Reporting System
+ KLFT -> Lafayette, Lafayette Regional Airport
+ KLAF -> Lafayette, Purdue University Airport
+ PHJH -> Lahaina / West Maui
+ KLCH -> Lake Charles, Lake Charles Regional Airport
+ PALH -> Lake Hood Seaplane
+ KNEL -> Lakehurst Naval Air Station
+ KLAL -> Lakeland Regional
+ K4LW -> Lakeview
+ KLKV -> Lakeview Automatic Weather Observing / Reporting System
+ KLAA -> Lamar, Lamar Municipal Airport
+ KLWD -> Lamoni, Lamoni Municipal Airport
+ PHNY -> Lanai City Airport
+ KWJF -> Lancaster / Fox Field
+ KLHQ -> Lancaster, Fairfield County Airport
+ KLNS -> Lancaster, Lancaster Airport
+ KLND -> Lander
+ KLFI -> Langley Air Force Base
+ KLAN -> Lansing, Capital City Airport
+ KLAR -> Laramie, Laramie Regional Airport
+ KLRD -> Laredo International Airport
+ KLRU -> Las Cruces International
+ KLVS -> Las Vegas, Las Vegas Municipal Airport
+ KLAS -> Las Vegas, McCarran International Airport
+ KLBE -> Latrobe / Westmorland
+ KDLF -> Laughlin, Laughlin Air Force Base Auxiliary Airfield
+ KLWM -> Lawrence, Lawrence Municipal Airport
+ KLWV -> Lawrenceville, Lawrenceville-Vincennes International Airport
+ KLAW -> Lawton, Lawton Municipal Airport
+ KLRJ -> Le Marine Aviation Reporting Station
+ KLXV -> Leadville, Lake County Airport
+ KLEB -> Lebanon, Lebanon Municipal Airport
+ KJYO -> Leesburg / Godfrey
+ KLEE -> Leesburg, Leesburg Municipal Airport
+ KY22 -> Lemmon
+ KNLC -> Lemoore, Naval Air Station
+ KLWB -> Lewisburg / Greenbrier
+ KLWS -> Lewiston, Lewiston-Nez Perce County Airport
+ KLWT -> Lewistown Municipal
+ KLEX -> Lexington, Blue Grass Airport
+ KLBL -> Liberal Municipal Automatic Weather Observing / Reporting System
+ KP67 -> Lidgerwood Remote Automatic Meteorological Observing System
+ PHLI -> Lihue, Lihue Airport
+ KAOH -> Lima, Lima Allen County Airport
+ KLIC -> Limon, Limon Municipal Airport
+ KLNK -> Lincoln, Lincoln Municipal Airport
+ KLXL -> Little Falls Automatic Weather Observing / Reporting System
+ KLRF -> Little Rock Air Force Base
+ KLIT -> Little Rock, Adams Field
+ KLVK -> Livermore, Livermore Municipal Airport
+ KLVM -> Livingston, Mission Field
+ KLGU -> Logan, Logan-Cache Airport
+ KLPC -> Lompoc Automatic Weather Observing / Reporting System
+ KLOZ -> London, London-Corbin Airport-Magee Field
+ KLNR -> Lone Rock, Tri-County Regional Airport
+ KLGB -> Long Beach, Long Beach Airport
+ KGGG -> Longview, Gregg County Airport
+ KLPR -> Lorain / Elyria, Lorain County Regional Airport
+ KLAM -> Los Alamos
+ KLAX -> Los Angeles, Los Angeles International Airport
+ KLOU -> Louisville, Bowman Field
+ KSDF -> Louisville, Standiford Field
+ KLOL -> Lovelock, Derby Field
+ KP69 -> Lowell
+ KLBB -> Lubbock, Lubbock International Airport
+ KLFK -> Lufkin, Angelina County Airport
+ KLUF -> Luke Air Force Base / Phoenix
+ KLBT -> Lumberton, Lumberton Municipal Airport
+ KLYH -> Lynchburg, Lynchburg Regional Airport
+ KMCF -> Macdill Air Force Base, Fl.
+ KHFF -> Mackall U. S. Army Airfield
+ KMCN -> Macon, Middle Georgia Regional Airport
+ KMAE -> Madera, Madera Municipal Airport
+ KMSN -> Madison, Dane County Regional-Truax Field
+ KMLD -> Malad City
+ K77M -> Malta
+ KMMH -> Mammoth / June Lakes
+ KHEF -> Manassas Municipal Automatic Weather Observing / Reporting System
+ KMHT -> Manchester, Manchester Airport
+ KMHK -> Manhattan, Manhattan Municipal Airport
+ KMBL -> Manistee Automatic Weather Observing / Reporting System
+ KP75 -> Manistique
+ KMTW -> Manitowoc Municipal Automatic Weather Observing / Reporting System
+ KMKT -> Mankato Automatic Weather Observing / Reporting System
+ PAML -> Manley Hot Springs 
+ KMFD -> Mansfield, Mansfield Lahm Municipal Airport
+ KMQI -> Manteo / Dare County Regional
+ KMTH -> Marathon, Marathon Airport
+ KMRF -> Marfa
+ KMAI -> Marianna, Marianna Municipal Airport
+ KMGE -> Marietta / Dobbins Air Force Base
+ KMKJ -> Marion / Wytheville
+ KMWA -> Marion Regional
+ KMNN -> Marion, Marion Municipal Airport
+ KMQT -> Marquette
+ KMML -> Marshall / Ryan Automatic Weather Observing / Reporting System
+ KMIW -> Marshalltown, Marshalltown Municipal Airport
+ KMFI -> Marshfield, Marshfield Municipal Airport
+ KMRB -> Martinsburg, Eastern West Virginia Regional Airport
+ KMTV -> Martinsville
+ KMYV -> Marysville, Yuba County Airport
+ KMCW -> Mason City, Mason City Municipal Airport
+ KMSS -> Massena, Massena International-Richards Field
+ KMHR -> Mather Field
+ KMTO -> Mattoon / Charleston, Coles County Memorial Airport
+ KMEB -> Maxton, Laurinburg-Maxton Airport
+ KMXF -> Maxwell Air Force Base / Montgomery
+ KNRB -> Mayport, Naval Air Facility
+ KPWG -> Mc Gregor Automatic Weather Observing / Reporting System
+ KMLC -> McAlester, McAlester Regional Airport
+ KMFE -> McAllen, Miller International Airport
+ KMYL -> McCall, McCall Airport
+ PAMX -> McCarthy
+ KMCC -> McClellan Air Force Base
+ KMCB -> McComb, McComb / Pike County Airport
+ KIAB -> McConnell Air Force Base
+ KMCK -> McCook, McCook Municipal Airport
+ KMMT -> McEntire Air National Guard Weather Facility Base
+ PAMC -> McGrath
+ PAIN -> McKinley Park
+ KTKI -> McKinney, McKinney Municipal Airport
+ KMMV -> McMinnville, McMinnville Municipal Airport
+ KWRI -> Mcguire Air Force Base
+ KMEH -> Meacham, Meacham
+ KMFR -> Medford, Rogue Valley International Airport
+ KP28 -> Medicine Lodge, Medicine Lodge
+ KEEO -> Meeker, Meeker Airport
+ PAMY -> Mekoryuk
+ KMLB -> Melbourne, Melbourne International Airport
+ KMFV -> Melfa / Accomack Airport
+ KMEM -> Memphis, Memphis International Airport
+ KMNM -> Menominee Automatic Weather Observing / Reporting System
+ KMCE -> Merced, Merced Municipal Airport
+ KDRA -> Mercury, Desert Rock Airport
+ KMEI -> Meridian, Key Field
+ KNMM -> Meridian, Naval Air Station
+ PAMR -> Merrill Field
+ KFFZ -> Mesa / Falcon Field
+ KTMB -> Miami, Kendall-Tamiami Executive Airport
+ KMIA -> Miami, Miami International Airport
+ KOPF -> Miami, Opa Locka Airport
+ PAMD -> Middleton Island, Ak
+ KMAF -> Midland, Midland International Airport
+ PMDY -> Midway Island Naval Air Facility
+ KMLS -> Miles City, Wiley Field
+ KMLF -> Milford, Milford Municipal Airport
+ KMLT -> Millinocket, Millinocket Municipal Airport
+ KMIV -> Millville, Millville Municipal Airport
+ KNSE -> Milton, Whiting Field North
+ KMWC -> Milwaukee / Timmerman
+ KMKE -> Milwaukee, General Mitchell International Airport
+ PAMH -> Minchumina
+ KMWL -> Mineral Wells, Mineral Wells Airport
+ KANE -> Minneapolis / Blaine
+ KMIC -> Minneapolis, Crystal Airport
+ KFCM -> Minneapolis, Flying Cloud Airport
+ KMSP -> Minneapolis, Minneapolis-St. Paul International Airport
+ KARV -> Minocqua / Woodruff
+ KMIB -> Minot Air Force Base
+ KMOT -> Minot, Minot International Airport
+ KMSO -> Missoula, Missoula International Airport
+ KMHE -> Mitchell Automatic Weather Observing / Reporting System
+ KCNY -> Moab, Canyonlands Field
+ KBFM -> Mobile, Mobile Downtown Airport
+ KMOB -> Mobile, Mobile Regional Airport
+ KY26 -> Mobridge
+ KMBG -> Mobridge, Mobridge Municipal Airport
+ KMOD -> Modesto, Modesto City-County-Sham Field
+ KMHV -> Mojave
+ KMLI -> Moline, Quad-City Airport
+ PHMK -> Molokai Automatic Meteorological Observing System
+ KEQY -> Monroe, Monroe Airport
+ KMLU -> Monroe, Monroe Regional Airport
+ KSIY -> Montague / Siskiyou
+ KMTP -> Montauk, Montauk Airport
+ KMRY -> Monterey, Monterey Peninsula Airport
+ KMVE -> Montevideo Automatic Weather Observing / Reporting System
+ KMGM -> Montgomery, Dannelly Field
+ KMGJ -> Montgomery, Orange County Airport
+ KMSV -> Monticello Automatic Weather Observing / Reporting System
+ KMXO -> Monticello Municipal
+ KLLQ -> Monticello, Monticello Municipal Airport
+ KMTJ -> Montrose, Montrose Regional Airport
+ KVAD -> Moody Air Force Base
+ KMGW -> Morgantown, Morgantown Municipal-Hart Field
+ K4MY -> Moriarty
+ KMOX -> Morris Municipal Automatic Weather Observing / Reporting System
+ KMMU -> Morristown Municipal
+ KMVL -> Morrisville, Morrisville-Stowe State Airport
+ KMWH -> Moses Lake, Grant County Airport
+ KCWA -> Mosinee / Central Wisconsin
+ KVAY -> Mount Holly, South Jersey Regional Airport
+ KMWT -> Mount Ida
+ KMHS -> Mount Shasta
+ KMVN -> Mount Vernon Automatic Weather Observing / Reporting System
+ KMWN -> Mount Washington
+ KMWS -> Mount Wilson
+ KMUO -> Mountain Home Air Force Base
+ KBPK -> Mountain Home, Baxter County Regional Airport
+ KNUQ -> Mountain View, Moffett Field
+ KMUI -> Muir Army Air Field / Indiantown
+ KMLP -> Mullan Pass, Mullan Pass Vor
+ KMIE -> Muncie, Delaware County-Johnson Field
+ KMUT -> Muscatine
+ KMSL -> Muscle Shoals, North West Alabama Regional Airport
+ KMKG -> Muskegon, Muskegon County Airport
+ KMKO -> Muskogee, Davis Field
+ KMYR -> Myrtle Beach Air Force Base
+ KOQU -> N. Kingston / Quonset
+ KTTS -> NASA Shuttle Facility
+ PABN -> Nabesna / Devil Mountain
+ KOCH -> Nacogdoches Automatic Weather Observing / Reporting System
+ KACK -> Nantucket, Nantucket Memorial Airport
+ KAPC -> Napa, Napa County Airport
+ KAPF -> Naples Municipal
+ KASH -> Nashua / Boire Field
+ KBNA -> Nashville, Nashville International Airport
+ KHEZ -> Natchez / Hardy Automatic Weather Observing / Reporting System
+ KEED -> Needles Airport
+ KLSV -> Nellis Air Force Base
+ PANN -> Nenana / Mun.
+ KEWB -> New Bedford, New Bedford Regional Airport
+ KEWN -> New Bern, Craven County Regional Airport
+ KBAX -> New Braunfels, New Braunfels Municipal Airport
+ KHVN -> New Haven, Tweed-New Haven Airport
+ KARA -> New Iberia, Acadiana Regional Airport
+ KNEW -> New Orleans, Lakefront Airport
+ KNBG -> New Orleans, Naval Air Station
+ KMSY -> New Orleans, New Orleans International Airport
+ KPHD -> New Philadelphia, Harry Clever Field
+ KRRF -> New Port Richey, Tampa Bay Executive Airport
+ KULM -> New Ulm Municipal Automatic Weather Observing / Reporting System
+ KJFK -> New York, Kennedy International Airport
+ KLGA -> New York, La Guardia Airport
+ KVTA -> Newark, Newark Heath Airport
+ KEWR -> Newark, Newark International Airport
+ KSWF -> Newburgh / Stewart
+ KJNW -> Newport
+ KONP -> Newport Municipal
+ KPHF -> Newport News, Newport News / Williamsburg International Airport
+ KUUU -> Newport, Newport State Airport
+ KEWK -> Newton Automatic Weather Observing / Reporting System
+ KTNU -> Newton Municipal
+ KIAG -> Niagara Falls, Niagara Falls International Airport
+ PAWN -> Noatak
+ K13A -> Nogales Automatic Meteorological Observing System 
+ PAOM -> Nome, Nome Airport
+ KNGU -> Norfolk, Naval Air Station
+ KORF -> Norfolk, Norfolk International Airport
+ KOFK -> Norfolk, Stefan Memorial Airport
+ KAQW -> North Adams, Harriman-And-West Airport
+ KOTH -> North Bend Automatic Weather Observing / Reporting System
+ KCRE -> North Myrtle Beach, Grand Strand Airport
+ KLBF -> North Platte, North Platte Regional Airport
+ PAOR -> Northway, Northway Airport
+ KSBD -> Norton Air Force Base / San Bern
+ KOWD -> Norwood, Norwood Memorial Airport
+ PAQT -> Nuiqsut, Nuiqsut Airport
+ KONL -> O'Neill / Baker Field
+ PHNA -> Oahu, Barbers Point, Naval Air Station
+ K76S -> Oak Harbor Airpark
+ KOAK -> Oakland, Metropolitan Oakland International Airport
+ KOCF -> Ocala Municipal Automatic Weather Observing / Reporting System
+ KNFG -> Oceanside, Camp Pendleton, Marine Corps Air Station
+ KODO -> Odessa, Odessa-Schlemeyer Field
+ KOLZ -> Oelwen
+ KOGD -> Ogden, Ogden-Hinckley Airport
+ KOGS -> Ogdensburg International
+ KPWA -> Oklahoma City, Wiley Post Airport
+ KOKC -> Oklahoma City, Will Rogers World Airport
+ KOJC -> Olathe, Johnson County Executive Airport
+ KIXD -> Olathe, New Century Aircenter
+ KOLM -> Olympia, Olympia Airport
+ KOFF -> Omaha / Offutt Air Force Base
+ KOMA -> Omaha, Eppley Airfield
+ KOMK -> Omak, Omak Airport
+ KONT -> Ontario, Ontario International Airport
+ KONO -> Ontario, Ontario Municipal Airport
+ KORC -> Orange City
+ KORE -> Orange, Orange Municipal Airport
+ KOGB -> Orangeburg, Orangeburg Municipal Airport
+ KODX -> Ord / Sharp Field
+ KSFB -> Orlando / Sanford Airport
+ KORL -> Orlando, Orlando Executive Airport
+ KMCO -> Orlando, Orlando International Airport
+ KOVE -> Oroville, Oroville Municipal Airport
+ KORB -> Orr
+ KOSH -> Oshkosh, Wittman Regional Airport
+ KFMH -> Otis Air National Guard Base
+ KOTM -> Ottumwa, Ottumwa Industrial Airport
+ KOWA -> Owatonna Automatic Weather Observing / Reporting System
+ KOWB -> Owensboro / Daviess
+ KOXC -> Oxford Automatic Weather Observing / Reporting System
+ KOXR -> Oxnard, Oxnard Airport
+ KPAH -> Paducah, Barkley Regional Airport
+ KPGA -> Page, Page Municipal Airport
+ KPSX -> Palacios Municipal
+ KPSP -> Palm Springs, Palm Springs Regional Airport
+ KTRM -> Palm Springs, Thermal Airport
+ KPMD -> Palmdale, Palmdale Production Flight Plant
+ PAAQ -> Palmer
+ KPAO -> Palo Alto Airport
+ KPFN -> Panama City, Panama City-Bay County International Airport
+ KPRX -> Paris / Cox Field
+ KPKD -> Park Rapids, Park Rapids Municipal Airport
+ KPKB -> Parkersburg / Wilson
+ KPPF -> Parsons, Tri-City Airport
+ KPQL -> Pascagoula, Lott International Airport
+ KPSC -> Pasco, Tri-Cities Airport
+ KPRB -> Paso Robles, Paso Robles Municipal Airport
+ KPTN -> Patterson Memorial
+ KNHK -> Patuxent River, Naval Air Station
+ KSFZ -> Pawtucket Automatic Weather Observing / Reporting System
+ PAXK -> Paxson
+ K0E4 -> Payson
+ KPSM -> Pease Air Force Base / Portsmouth
+ KPLN -> Pellston, Pellston Regional Airport
+ KPDT -> Pendleton, Eastern Oregon Regional At Pendleton Airport
+ KPEO -> Penn Yan, Penn Yan Airport
+ KNPA -> Pensacola, Naval Air Station
+ KPNS -> Pensacola, Pensacola Regional Airport
+ KPIA -> Peoria, Greater Peoria Regional Airport
+ K40J -> Perry-Foley, Perry-Foley Airport
+ PAPG -> Petersburg
+ KPTB -> Petersburg Automatic Weather Observing / Reporting System
+ KPNE -> Philadelphia, Northeast Philadelphia Airport
+ KPHL -> Philadelphia, Philadelphia International Airport
+ KPHP -> Philip, Philip Airport
+ KPBH -> Phillips / Price County
+ KAPG -> Phillips Army Air Field / Aberdeen
+ KPHX -> Phoenix, Phoenix Sky Harbor International Airport
+ KDVT -> Phoenix, Phoenix-Deer Valley Municipal Airport
+ KPIR -> Pierre, Pierre Regional Airport
+ K5I3 -> Pikeville Remote Automatic Meteorological Observing System 
+ KPIB -> Pine Belt Regional Automatic Weather Observing / Reporting System
+ KPBF -> Pine Bluff, Grider Field
+ KIEN -> Pine Ridge, Pine Ridge Airport
+ KGDP -> Pine Springs, Guadalupe Mountains National Park
+ KPQN -> Pipestone Automatic Weather Observing / Reporting System
+ KPGV -> Pitt-Greenville Airport
+ KAGC -> Pittsburgh, Allegheny County Airport
+ KPIT -> Pittsburgh, Pittsburgh International Airport
+ KPSF -> Pittsfield, Pittsfield Municipal Airport
+ KPLB -> Plattsburgh, Clinton County Airport
+ KPYM -> Plymouth, Plymouth Municipal Airport
+ KPIH -> Pocatello, Pocatello Regional Airport
+ PAPO -> Point Hope Automatic Weather Observing / Reporting System
+ PPIZ -> Point Lay
+ KNTD -> Point Mugu, Naval Air Warfare Center
+ K87Q -> Point Piedras Blanca
+ KPMP -> Pompano Beach, Pompano Beach Airpark
+ KPNC -> Ponca City, Ponca City Municipal Airport
+ KPTK -> Pontiac, Oakland County International Airport
+ KPOB -> Pope Air Force Base
+ KP02 -> Poplar Bluff, Mo.
+ KPOF -> Poplar Bluff, Poplar Bluff Municipal Airport
+ PAAP -> Port Alexander
+ PALJ -> Port Alsworth
+ KCLM -> Port Angeles, William R. Fairchild International Airport
+ PAPH -> Port Heiden
+ KP58 -> Port Hope
+ KT31 -> Port Isabel, Port Isabel-Cameron County Airport
+ KPTV -> Porterville Automatic Weather Observing / Reporting System
+ KPDX -> Portland, Portland International Airport
+ KPWM -> Portland, Portland International Jetport
+ KHIO -> Portland, Portland-Hillsboro Airport
+ KTTD -> Portland, Portland-Troutdale Airport
+ KPTW -> Pottstown, Pottstown Limerick Airport
+ KPOU -> Poughkeepsie, Dutchess County Airport
+ KPRC -> Prescott, Love Field
+ KPQI -> Presque Isle
+ KPUC -> Price, Carbon County Airport
+ KPNM -> Princeton
+ KPVD -> Providence, Green State Airport
+ KPVC -> Provincetown Automatic Weather Observing / Reporting System
+ KPVU -> Provo Municipal Automatic Weather Observing / Reporting System
+ KPUB -> Pueblo, Pueblo Memorial Airport
+ KPUW -> Pullman / Moscow, Pullman / Moscow Regional Airport
+ KPGD -> Punta Gorda, Charlotte County Airport
+ PAPT -> Puntilla
+ KNYG -> Quantico, Marine Corps Air Facility
+ KUIL -> Quillayute, Quillayute State Airport
+ KUIN -> Quincy Municipal / Baldwin
+ KRAC -> Racine, Batten International Airport
+ KRDU -> Raleigh / Durham, Raleigh-Durham International Airport
+ KRNM -> Ramona, Ramona Airport
+ KRND -> Randolph Air Force Base
+ KRAP -> Rapid City, Rapid City Regional Airport
+ KRTN -> Raton, Raton Municipal \ Crews Field Airport
+ KRWL -> Rawlins Municipal
+ KRDG -> Reading, Reading Regional Airport
+ KRBL -> Red Bluff, Red Bluff Municipal Airport
+ KRDK -> Red Oak
+ KRDD -> Redding, Redding Municipal Airport
+ KRDM -> Redmond Automatic Weather Observing / Reporting System
+ KRWF -> Redwood Falls, Redwood Falls Municipal Airport
+ KRNO -> Reno, Reno Tahoe International Airport
+ KRNT -> Renton, Renton Municipal Airport
+ KRXE -> Rexburg, Rexburg-Madison County Airport
+ KRHI -> Rhinelander, Rhinelander-Oneida County Airport
+ KRIC -> Richmond, Richmond International Airport
+ KLCK -> Rickenbacker Air National Guard Base
+ KRIL -> Rifle, Garfield County Regional Airport
+ KRIV -> Riverside / March Air Force Base
+ KRAL -> Riverside, Riverside Municipal Airport
+ KRIW -> Riverton, Riverton Regional Airport
+ KRZZ -> Roanoke Rapids, Halifax County Airport
+ KROA -> Roanoke, Roanoke Regional Airport
+ KROC -> Rochester, Greater Rochester International Airport
+ KRST -> Rochester, Rochester Municipal Airport
+ KUZA -> Rock Hill, Rock Hill - York County Airport
+ KRKS -> Rock Springs
+ KRFD -> Rockford, Greater Rockford Airport
+ KRKD -> Rockland / Knox Automatic Weather Observing / Reporting System
+ KRKP -> Rockport, Aransas County Airport
+ KRWI -> Rocky Mount, Rocky Mount-Wilson Airport
+ KROG -> Rogers Automatic Weather Observing / Reporting System
+ KVIH -> Rolla / Vichy, Rolla National Airport
+ KP88 -> Rome Automatic Meteorological Observing System
+ KRMG -> Rome, R. B. Russell Airport
+ KREO -> Rome, Rome
+ TJNR -> Roosevelt Roads, Naval Station
+ KROX -> Roseau Municipal Automatic Weather Observing / Reporting System
+ KRBG -> Roseburg, Roseburg Regional Airport
+ KROW -> Roswell, Roswell Industrial Air Center Airport
+ KSRR -> Ruidoso Regional
+ KRSL -> Russell, Russell Municipal Airport
+ KRUE -> Russellville, Russellville Municipal Airport
+ KRUT -> Rutland State Automatic Weather Observing / Reporting System
+ KRPE -> Sabine Pass
+ KSAC -> Sacramento, Sacramento Executive Airport
+ KSMF -> Sacramento, Sacramento Metropolitan Airport
+ KE74 -> Safford Automatic Meteorological Observing System
+ KSAD -> Safford, Safford Municipal Airport
+ KMBS -> Saginaw, MBSy International Airport
+ KSGU -> Saint George Automatic Weather Observing / Reporting System
+ K1V4 -> Saint Johnsbury
+ PASM -> Saint Mary's Automatic Weather Observing / Reporting System
+ PASN -> Saint Paul
+ KSLE -> Salem, McNary Field
+ KSLN -> Salina, Salina Municipal Airport
+ KSNS -> Salinas, Salinas Municipal Airport
+ KSBY -> Salisbury, Salisbury-Wicomico County Regional Airport
+ K27U -> Salmon
+ KSMN -> Salmon / Lemhi Automatic Weather Observing / Reporting System
+ KSLC -> Salt Lake City, Salt Lake City International Airport
+ KP92 -> Salt Point
+ KSJT -> San Angelo, Mathis Field
+ KSAT -> San Antonio, San Antonio International Airport
+ KSSF -> San Antonio, Stinson Municipal Airport
+ KSQL -> San Carlos Airport
+ KSEE -> San Diego / Gillespie
+ KSDM -> San Diego, Brown Field Municipal Airport
+ KNKX -> San Diego, Miramar, Naval Air Station
+ KMYF -> San Diego, Montgomery Field
+ KNZY -> San Diego, North Island, Naval Air Station
+ KSAN -> San Diego, San Diego International-Lindbergh Field
+ KSFO -> San Francisco, San Francisco International Airport
+ KRHV -> San Jose / Reid / Hillv
+ KSJC -> San Jose, San Jose International Airport
+ KSBP -> San Luis Obispo, San Luis Obispo County-Mc Chesney Field
+ KNSI -> San Nicholas Island
+ PASD -> Sand Point
+ KSDB -> Sandberg
+ KP07 -> Sanderson
+ KSFM -> Sanford Municipal Automatic Weather Observing / Reporting System
+ KSNA -> Santa Ana, John Wayne Airport-Orange County Airport
+ KSBA -> Santa Barbara, Santa Barbara Municipal Airport
+ KSAF -> Santa Fe, Santa Fe County Municipal Airport
+ KSMX -> Santa Maria, Santa Maria Public Airport
+ KSMO -> Santa Monica, Santa Monica Municipal Airport
+ KSTS -> Santa Rosa, Sonoma County Airport
+ KSLK -> Saranac Lake, Adirondack Regional Airport
+ KSRQ -> Sarasota / Bradenton, Sarasota-Bradenton International Airport
+ KANJ -> Sault Ste. Marie
+ KSAV -> Savannah, Savannah International Airport
+ PASA -> Savoonga Airport
+ KSPB -> Scappoose, Scappoose Industrial Airpark
+ KSCH -> Schenectady Airport
+ KBLV -> Scott Air Force Base / Belleville
+ KBFF -> Scottsbluff, Heilig Field
+ KSDL -> Scottsdale, Scottsdale Airport
+ KBFI -> Seattle, Seattle Boeing Field
+ KSEA -> Seattle, Seattle-Tacoma International Airport
+ KDMO -> Sedalia, Sedalia Memorial Airport
+ PASK -> Selawik
+ KMTC -> Selfridge Air National Guard Base
+ KSEG -> Selinsgrove, Penn Valley Airport
+ PAWD -> Seward
+ KSXT -> Sexton Summit,
+ KGSB -> Seymour-Johnson Air Force Base
+ KEZF -> Shannon Airport
+ KSSC -> Shaw Air Force Base
+ KSBM -> Sheboygan, Sheboygan County Memorial Airport
+ KGEZ -> Shelbyville, Shelbyville Municipal Airport
+ KSHL -> Sheldon
+ KO87 -> Shelter Cove
+ KSHN -> Shelton, Sanderson Field
+ PASY -> Shemya, Eareckson As
+ KSDA -> Shenandoah Municipal
+ KSHR -> Sheridan, Sheridan County Airport
+ KF39 -> Sherman-Denison
+ PASH -> Shishmaref Automatic Weather Observing / Reporting System
+ KSOW -> Show Low Municipal
+ KDTN -> Shreveport, Shreveport Downtown Airport
+ KSHV -> Shreveport, Shreveport Regional Airport
+ KSNY -> Sidney, Sidney Municipal Airport
+ KSDY -> Sidney-Richland
+ KSLG -> Siloam Spring Automatic Weather Observing / Reporting System
+ KBFW -> Silver Bay
+ KSUX -> Sioux City, Sioux Gateway Airport
+ KFSD -> Sioux Falls, Foss Field
+ K8D3 -> Sisseton, Sisseton Municipal Airport
+ PASI -> Sitka, Sitka Airport
+ PAGY -> Skagway
+ PASW -> Skwentna
+ PADT -> Slana Airport
+ KASD -> Slidell, Slidell Airport
+ KMQY -> Smyrna
+ PALK -> Snowshoe Lake
+ KU78 -> Soda Springs / Tigert
+ PASX -> Soldotna
+ KSME -> Somerset Automatic Weather Observing / Reporting System
+ KN52 -> Somerville, Somerset Airport
+ KSBN -> South Bend, Michiana Regional Airport
+ KTVL -> South Lake Tahoe, Lake Tahoe Airport
+ K7R8 -> South Marsh Island
+ KS58 -> South Timbalier
+ KSOP -> Southern Pines Automatic Weather Observing / Reporting System
+ PASV -> Sparrevohn Airways Facilities Sector
+ KSPA -> Spartanburg Memorial
+ KSPF -> Spearfish / Clyde Ice
+ KSPW -> Spencer, Spencer Municipal Airport
+ KP35 -> Spickard
+ KSFF -> Spokane, Felts Field
+ KGEG -> Spokane, Spokane International Airport
+ KASG -> Springdale Municipal
+ KSPI -> Springfield, Capital Airport
+ KSPD -> Springfield, Comanche National Grassland
+ KVSF -> Springfield, Hartness State Springfield Airport
+ KSGF -> Springfield, Springfield Regional Airport
+ KSET -> St. Charles, St. Charles County Smartt Airport
+ KPHN -> St. Clair County International
+ KSTC -> St. Cloud, St. Cloud Municipal Airport
+ KSTJ -> St. Joseph, Rosecrans Memorial Airport
+ KSTL -> St. Louis, Lambert-St. Louis International Airport
+ KSUS -> St. Louis, Spirit Of St. Louis Airport
+ KSTP -> St. Paul, St. Paul Downtown Holman Field
+ KPIE -> St. Petersburg / Clearwater, St. Petersburg / Clearwater International Airport
+ KSPG -> St. Petersburg, Whitted Airport
+ KSMP -> Stampede Pass
+ KUNV -> State College
+ KSHD -> Staunton / Shenandoah
+ KSBS -> Steamboat Springs
+ KSQI -> Sterling Rockfalls
+ KSWO -> Stillwater, Stillwater Municipal Airport
+ KSCK -> Stockton, Stockton Metropolitan Airport
+ KSLB -> Storm Lake
+ KSUE -> Sturgeon Bay
+ KSGT -> Stuttgart Automatic Weather Observing / Reporting System
+ KFWN -> Sussex, Sussex Airport
+ PAJV -> Sutton
+ KNJM -> Swansboro, Bogue Field, Marine Corps Auxiliary Landing Field
+ KSYR -> Syracuse, Syracuse Hancock International Airport
+ KTCM -> Tacoma / McChord Air Force Base
+ KTIW -> Tacoma, Tacoma Narrows Airport
+ PATK -> Talkeetna
+ KTLH -> Tallahassee, Tallahassee Regional Airport
+ KTPA -> Tampa, Tampa International Airport
+ PATA -> Tanana
+ KSKX -> Taos Municipal Airport Automatic Weather Observing / Reporting System
+ PATL -> Tatalina Automatic Weather Observing / Reporting System
+ KTAN -> Taunton, Taunton Municipal Airport
+ KTQE -> Tekamah, Tekamah Municipal Airport
+ KTEX -> Telluride Regional
+ KTPL -> Temple / Miller Automatic Weather Observing / Reporting System
+ KHUF -> Terre Haute, Hulman Regional Airport
+ KTRL -> Terrell, Terrell Municipal Airport
+ KTEB -> Teterboro, Teterboro Airport
+ KTXK -> Texarkana, Texarkana Regional-Webb Field
+ KDLS -> The Dalles, The Dalles Municipal Airport
+ KTVF -> Thief River Automatic Weather Observing / Reporting System
+ K3TH -> Thompson Falls
+ PATC -> Tin City Airways Facilities Sector
+ KTIK -> Tinker Air Force Base
+ KTIX -> Titusville
+ PATG -> Togiac Village Automatic Weather Observing / Reporting System
+ KTDZ -> Toledo, Metcalf Field
+ KTOL -> Toledo, Toledo Express Airport
+ KTDO -> Toledo-Winlock Memorial
+ KTPH -> Tonopah, Tonopah Airport
+ KT62 -> Tooele
+ KFOE -> Topeka, Forbes Field
+ KTOP -> Topeka, Philip Billard Municipal Airport
+ KTOA -> Torrance Municipal
+ K4SL -> Torreon
+ KTOR -> Torrington, Torrington Municipal Airport
+ KTVC -> Traverse City, Cherry Capital Airport
+ KTTN -> Trenton, Mercer County Airport
+ KTAD -> Trinidad / Animas Co.
+ KTOI -> Troy, Troy Municipal Airport
+ KTRK -> Truckee-Tahoe
+ KTCS -> Truth Or Consequences, Truth Or Consequences Municipal Airport
+ KTUS -> Tucson, Tucson International Airport
+ KTCC -> Tucumcari, Tucumcari Municipal Airport
+ KRVS -> Tulsa, Jones Jr. Airport
+ KTUL -> Tulsa, Tulsa International Airport
+ KTUP -> Tupelo, Tupelo Municipal-Lemons Airport
+ KTCL -> Tuscaloosa, Tuscaloosa Municipal Airport
+ KNXP -> Twenty-Nine Palms, Marine Corps Air-Ground Combat Center
+ KTWF -> Twin Falls, Joslin Field-Magic Valley Regional Airport
+ KTWM -> Two Harbors
+ KTYR -> Tyler, Tyler Pounds Field
+ KPAM -> Tyndall Air Force Base
+ KUKI -> Ukiah Municipal Automatic Weather Observing / Reporting System
+ PAUM -> Umiat
+ PAUN -> Unalakleet
+ KUCA -> Utica, Oneida County Airport
+ KVCB -> Vacaville, Nut Tree Airport
+ PAVD -> Valdez 2
+ KVLD -> Valdosta Regional
+ KVTN -> Valentine, Miller Field
+ KVPS -> Valparaiso / Eglin Air Force Base
+ KVPZ -> Valparaiso, Porter County Municipal Airport
+ KVNY -> Van Nuys, Van Nuys Airport
+ KEND -> Vance Air Force Base / Enid
+ KVUO -> Vancouver, Pearson Airpark
+ KVBG -> Vandenberg Air Force Base
+ KXVW -> Vandenberg Range
+ K7R1 -> Venice, Venice Heliport
+ KVEL -> Vernal, Vernal Airport
+ KVRB -> Vero Beach, Vero Beach Municipal Airport
+ KTVR -> Vicksburg, Vicksburg / Tallulah Regional Airport
+ KVCT -> Victoria, Victoria Regional Airport
+ KMVY -> Vineyard Haven, Marthas Vineyard Airport
+ KNTU -> Virginia Beach, Oceana, Naval Air Station
+ KBCB -> Virginia Tech Airport
+ KVIS -> Visalia Municipal Automatic Weather Observing / Reporting System
+ KVOK -> Volk / Camp Douglas
+ KACT -> Waco, Waco Regional Airport
+ PAWI -> Wainwright Distant Early Warning 
+ PAFB -> Wainwright U. S. Army Airfield
+ KAKQ -> Wakefield, Wakefield Municipal Airport
+ KALW -> Walla Walla, Walla Walla Regional Airport
+ KWAL -> Wallops Island, Wallops Flight Facility Airport
+ KARG -> Walnut Ridge Automatic Weather Observing / Reporting System 
+ KWRB -> Warner Robins Air Force Base
+ KAWG -> Washington
+ KAFJ -> Washington Automatic Weather Observing / Reporting System 
+ KDCA -> Washington DC, Reagan National Airport
+ KIAD -> Washington DC, Washington-Dulles International Airport
+ KALO -> Waterloo, Waterloo Municipal Airport
+ KRYV -> Watertown
+ KART -> Watertown, Watertown International Airport
+ KATY -> Watertown, Watertown Municipal Airport
+ KWVL -> Waterville Automatic Weather Observing / Reporting System
+ KWVI -> Watsonville, Watsonville Municipal Airport
+ KAUW -> Wausau, Wausau Downtown Airport
+ KEBS -> Webster City
+ KEAT -> Wenatchee, Pangborn Memorial Airport
+ KENV -> Wendover / Air Force Auxillary Field
+ KPBI -> West Palm Beach, Palm Beach International Airport
+ KUNO -> West Plains, West Plains Municipal Airport
+ KWYS -> West Yellowstone
+ KBAF -> Westfield, Barnes Municipal Airport
+ KFOK -> Westhampton Beach, The Gabreski Airport
+ KETH -> Wheaton NDB Automatic Weather Observing / Reporting System
+ PHHI -> Wheeler Air Force Base / Oahu
+ KHLG -> Wheeling, Wheeling Ohio County Airport
+ KNUW -> Whidbey Island, Naval Air Station
+ KHPN -> White Plains, Westchester County Airport
+ K2C2 -> White Sands
+ KHIE -> Whitefield, Mount Washington Regional Airport
+ KSZL -> Whiteman Air Force Base
+ PAWR -> Whittier
+ KSPS -> Wichita Falls, Sheppard Air Force Base
+ KAAO -> Wichita, Colonel James Jabara Airport
+ KICT -> Wichita, Wichita Mid-Continent Airport
+ KAWH -> Wildhorse Reservation / Elko
+ KWWD -> Wildwood Automatic Weather Observing / Reporting System
+ KAVP -> Wilkes-Barre - Scranton, Wilkes-Barre / Scranton International Airport
+ KIWA -> Williams Air Force Base / Chandler
+ KIPT -> Williamsport, Williamsport-Lycoming County Airport
+ KIJD -> Willimantic, Windham Airport
+ KISN -> Williston, Sloulin Field International Airport
+ KILL -> Willmar / Rice Automatic Weather Observing / Reporting System
+ KLNN -> Willoughby
+ PAUO -> Willow Airport 
+ KNXX -> Willow Grove, Naval Air Station
+ KILN -> Wilmington, Airborne Airpark Airport
+ KILG -> Wilmington, New Castle County Airport
+ KILM -> Wilmington, New Hanover International Airport
+ KOKV -> Winchester Regional
+ KRQE -> Window Rock, Window Rock Airport
+ KBDL -> Windsor Locks, Bradley International Airport
+ KWLD -> Winfield / Arkansas City, Strother Field
+ KINK -> Wink, Winkler County Airport
+ KWMC -> Winnemucca, Winnemucca Municipal Airport
+ KSFD -> Winner - Bob Wiley Field
+ KONA -> Winona Municipal Automatic Weather Observing / Reporting System
+ KINW -> Winslow, Winslow Municipal Airport
+ KINT -> Winston Salem, Smith Reynolds Airport
+ KGIF -> Winter Haven, Winter Haven's Gilbert Airport
+ KIWI -> Wiscasset, Wiscasset Airport
+ KISW -> Wisconsin Rapids, Alexander Field South Wood County Airport
+ KLNP -> Wise / Lonesome Pine
+ KOLF -> Wolf Point, Clayton Airport
+ KBJJ -> Wooster, Wayne County Airport
+ KORH -> Worcester, Worcester Regional Airport
+ KWRL -> Worland, Worland Municipal Airport
+ KOTG -> Worthington Automatic Weather Observing / Reporting System
+ PAWG -> Wrangell
+ KOSC -> Wurtsmith Air Force Base
+ KYKM -> Yakima, Yakima Air Terminal
+ PAYA -> Yakutat
+ KYKN -> Yankton Automatic Weather Observing / Reporting System
+ KP60 -> Yellowstone Lake
+ KTHV -> York, York Airport
+ KYNG -> Youngstown, Youngstown-Warren Regional Airport
+ KYUM -> Yuma / Yuma International
+ KNYL -> Yuma, Marine Corps Air Station
+ KZZV -> Zanesville, Zanesville Municipal Airport
++
+-Uruguay
+ SUAG -> Artigas
+ SULS -> Capitan Corbeta
+ SUMU -> Carrasco
+ SUCA -> Colonia
+ SUDU -> Durazno
+ SUPE -> Maldonado / Punta Est
+ SUAA -> Melilla
+ SUPU -> Paysandu
+ SURV -> Rivera
+ SUSO -> Salto
+ SUTB -> Tacuarembo
++
+-Uzbekistan
+ UTSS -> Samarkand
+ UTTT -> Tashkent
+ UTST -> Termez
++
+-Vanuatu
+ NVVV -> Bauerfield Efate 
++
+-Venezuela
+ SVAC -> Acarigua
+ SVBC -> Barcelona
+ SVBI -> Barinas
+ SVBM -> Barquisimeto
+ SVCL -> Calabozo
+ SVFM -> Caracas / La Carlota
+ SVMI -> Caracas / Maiquetia Aerop. Intl. Simon Bolivar
+ SVCS -> Caracas / Oscar Macha
+ SVCB -> Ciudad Bolivar
+ SVCR -> Coro
+ SVCU -> Cumana
+ SVGU -> Guanare
+ SVPR -> Guayana / Manuel Car 
+ SVGI -> Guiria
+ SVHG -> Higuerote
+ SVLF -> La Fria
+ SVMC -> Maracaibo-La Chinita
+ SVBS -> Maracay-B. A. Sucre
+ SVMG -> Margarita / Del Carib
+ SVMT -> Maturin
+ SVMN -> Mene Grande
+ SVMD -> Merida
+ SVMP -> Metropolitano Private 
+ SVJC -> Paraguana / Josefa
+ SVPM -> Paramillo Private 
+ SVPC -> Pto. Cabello
+ SVPA -> Puerto Ayacucho
+ SVSA -> San Antonio Del Tachira
+ SVSP -> San Felipe
+ SVSR -> San Fernando De Apure
+ SVST -> San Tome Private 
+ SVSZ -> Santa Barbara Zulia
+ SVSE -> Santa Elena De Uairen
+ SVSO -> Sto. Domingo
+ SVTM -> Tumeremo
+ SVVA -> Valencia
+ SVVL -> Valera
+ SVVP -> Valle De La Pascua
++
+-Viet Nam
+ VVDN -> Da Nang
+ VVNB -> Ha Noi
+ VVTS -> Ho Chi Minh
++
+-Virgin Islands, British
+ TUPJ -> Beef Island, Tortola
++
+-Virgin Islands, U.S.
+ TIST -> Charlotte Amalie, Cyril E. King International Airport, Saint Thomas
++
+-Yemen
+ OYAA -> Aden
+ OYHD -> Hodeidah
+ OYMB -> Marib 
+ OYSN -> Sana'A
+ OYSY -> Sayun
+ OYSQ -> Socotra
+ OYTZ -> Taiz
++
+-Yugoslavia
+ LYBE -> Beograd / Surcin
+ LYNI -> Nis
+ LYTI -> Podgorica / Golubovci
+ LYPG -> Podgorica Titograd 
+ LYPR -> Pristina
+ LQSA -> Sarajevo / Butmir
+ LYTV -> Tivat
++
+-Zaire
+ FZAA -> Kinshasa / N'Djili
++
+-Zambia
+ FLLI -> Livingstone
+ FLLS -> Lusaka Internationalairport
+ FLND -> Ndola
++
+-Zimbabwe
+ FVCZ -> Buffalo Range
+ FVBU -> Bulawayo Airport
+ FVTL -> Gweru
+ FVHA -> Harare Kutsaga 
+ FVMV -> Masvingo
+ FVFA -> Victoria Falls
++
diff --git a/metar/combine.pl b/metar/combine.pl
new file mode 100755
index 0000000..56fa04a
--- /dev/null
+++ b/metar/combine.pl
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+use strict;
+
+my %locations = ();
+open CODES, "<icao.txt";
+while ( my $line = <CODES> ) {
+    chomp $line;
+    my ( $code, $location ) = split ' ', $line, 2;
+    $locations{$code} = $location;
+}
+close CODES;
+
+open CODES, "<icao2.txt";
+while ( my $line = <CODES> ) {
+    chomp $line;
+    my ( $code, $location ) = split ' ', $line, 2;
+    $locations{$code} = $location;
+}
+close CODES;
+
+foreach my $code ( sort keys %locations ) {
+    print "$code $locations{$code}\n";
+
+}
diff --git a/metar/command.cfg b/metar/command.cfg
new file mode 100644
index 0000000..ab2ef23
--- /dev/null
+++ b/metar/command.cfg
@@ -0,0 +1,2 @@
+level = 50
+cache = 300 #5 minutes
\ No newline at end of file
diff --git a/metar/convert.pl b/metar/convert.pl
new file mode 100755
index 0000000..b61d5e2
--- /dev/null
+++ b/metar/convert.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+open LIST, "<CODES";
+
+my $country = "none";
+
+while ( my $line = <LIST> ) {
+    chomp $line;
+    if ( $line =~ /^-(.*)$/ ) {
+        $country = $1;
+
+        #print "Country: $country\n";
+    } elsif ( $line =~ /^ (\w{4}) -> (.*)$/ ) {
+        print "$1 $2 ($country)\n";
+
+    }
+
+}
diff --git a/metar/help.txt b/metar/help.txt
new file mode 100644
index 0000000..0e54196
--- /dev/null
+++ b/metar/help.txt
@@ -0,0 +1 @@
+metar <4-lettercode>: geeft weerrapport van de gevraagde locatie. (lokaties: http://www.gironet.nl/home/aviator1/icao4/icao4.htm)
\ No newline at end of file
diff --git a/metar/icao.txt b/metar/icao.txt
new file mode 100644
index 0000000..a93d600
--- /dev/null
+++ b/metar/icao.txt
@@ -0,0 +1,3657 @@
+10AK    Nuiqsut, Nuiqsut Airport  AK  United States
+AGGH    Honiara / Henderson  Solomon Islands
+AGGL    Santa Cruz  Solomon Islands
+AGGM    Munda  Solomon Islands
+ANAU    Nauru Airport  Nauru
+AYMD    Madang  Papua New Guinea
+AYPY    Moresby  Papua New Guinea
+AYWK    Wewak  Papua New Guinea
+BGAM    Tasiilaq  Greenland
+BGAS    Angisoq  Greenland
+BGAT    Aputiteeq  Greenland
+BGBW    Narsarsuaq  Greenland
+BGCO    Constable Pynt  Greenland
+BGDB    Daneborg  Greenland
+BGDH    Danmarkshavn  Greenland
+BGEM    Egedesminde  Greenland
+BGFH    Frederikshaab  Greenland
+BGGD    Groennedal  Greenland
+BGGH    Godthaab / Nuuk  Greenland
+BGHB    Holsteinsborg  Greenland
+BGJH    Julianehaab  Greenland
+BGJN    Jacobshavn Lufthavn  Greenland
+BGKK    Kulusuk Lufthavn  Greenland
+BGKT    Cape Tobin Automated Reporting Station   Greenland
+BGPC    Prins Christian Sund  Greenland
+BGSC    Scoresbysund  Greenland
+BGSF    Sdr Stroemfjord  Greenland
+BGTL    Thule A. B.  Greenland
+BIAR    Akureyri  Iceland
+BIEG    Egilsstadir  Iceland
+BIGR    Grimsey  Iceland
+BIHN    Akurnes  Iceland
+BIKF    Keflavikurflugvollur  Iceland
+BIRG    Raufarhofn  Iceland
+BIRK    Reykjavik  Iceland
+BIST    Stykkisholmur  Iceland
+BIVM    Vestmannaeyjar  Iceland
+BIVO    Skjaldthingsstadir  Iceland
+BIX1    Biloxi, Keesler Air Force Base, Navu  MS  United States
+BIX2    Biloxi, Keesler Air Force Base, Navu  MS  United States
+BIX3    Biloxi, Keesler Air Force Base, Navu  MS  United States
+CTPP    Camp Canargus  Haiti
+CWAC    Nitinat Lake Meteorological Aeronautical Presentation System   Canada
+CWAD    Cape Mudge Light House   Canada
+CWAE    Whistler   Canada
+CWAF    Ile Rouge Meteorological Aeronautical Presentation System   Canada
+CWAG    La Scie, Nfld.  Canada
+CWAH    Amherst, N. S.  Canada
+CWAJ    Erieau Meteorological Aeronautical Presentation System   Canada
+CWAN    Amphitrite Point  Canada
+CWAQ    Coronach Spc  Canada
+CWAR    Argentia, Nfld  Canada
+CWAS    Pam Rocks  Canada
+CWAU    Dryad Point Light House   Canada
+CWAV    Sundre  Canada
+CWAX    St. Anthony, Nfld.  Canada
+CWBA    Banff, Alta.  Canada
+CWBE    Killarney Meteorological Aeronautical Presentation System   Canada
+CWBF    Burgeo Automated Reporting Station   Canada
+CWBG    Big Creek   Canada
+CWBI    Britt, Ont.  Canada     P
+CWBJ    Inner Whalebacks  Canada
+CWBK    Caribou Point Meteorological Aeronautical Presentation System   Canada
+CWBL    Bachelors Island Automated Reporting Station   Canada
+CWBM    Beaverlodge  Canada
+CWBO    Brooks Automatic Weather Reporting System   Canada
+CWBR    B, R  Canada
+CWBT    Longue Point De Mongue  Canada
+CWBV    Beaven Island, N. S.  Canada
+CWBY    Port Menier, Que.  Canada
+CWBZ    St Anicet  Canada
+CWCA    Cartwright, Nfld.  Canada
+CWCB    Nanakwa Shoals  Canada
+CWCD    Saskatoon Kernen  Canada
+CWCH    Atikokan Automated Reporting Station   Canada
+CWCI    Caribou Island, Ont.  Canada
+CWCJ    Pukaskwa   Canada
+CWCL    Clinton, B. C.  Canada
+CWCM    Carberry Mcdc  Canada
+CWCN    Malloch Dome Automatic Weather Reporting System   Canada
+CWCO    Collingwood Automatic Weather Reporting System   Canada
+CWCQ    Chatham Automatic Weather Reporting System   Canada
+CWCS    Cote-Ste-Cath Mot  Canada
+CWCT    Coronation Automated Reporting Station   Canada
+CWCU    Barrie, Ont.  Canada
+CWCX    Clut Lake Automated Reporting Station   Canada
+CWDA    Englee Meteorological Aeronautical Presentation System   Canada
+CWDB    Burwash Automatic Weather Reporting System   Canada
+CWDC    Uranium City, Sask.  Canada
+CWDE    Lac Benoit  Canada
+CWDF    Oliphant \ Ont  Canada
+CWDH    Daniel's Harbour, Nfld  Canada
+CWDI    Badger, Nfld  Canada
+CWDJ    Regina University  Canada
+CWDK    Claresholm Automatic Weather Reporting System   Canada
+CWDL    Dease Lake B. C.  Canada
+CWDM    Chevery, Que.  Canada
+CWDN    Wasaga Beach Automatic Weather Reporting System   Canada
+CWDO    Twillingate Meteorological Aeronautical Presentation System   Canada
+CWDP    Manouane-Est Automated Reporting Station   Canada
+CWDQ    La Tuque  Canada
+CWDS    St. Lawrence, Nfld.  Canada
+CWDT    Chute Des Passes  Canada
+CWDU    Cop Upper  Canada
+CWDV    Upsala, Ont.  Canada
+CWDZ    Drumheller East  Canada
+CWEA    Pinawa Automatic Weather Reporting System   Canada
+CWEB    Estevan Point, B. C.  Canada
+CWEC    Welcome Island  Canada
+CWEE    Chamouchouane Automatic Weather Reporting System  Canada
+CWEF    Saint Paul Island Meteorological Aeronautical Presentation System   Canada
+CWEG    Alberta Weather Centre   Canada
+CWEH    Eastend Cypress, Sask  Canada
+CWEI    Melita, Man  Canada
+CWEJ    Bow Drill Iii  Canada
+CWEK    Grey Islet Meteorological Aeronautical Presentation System   Canada
+CWEL    Entrance Island Automatic Weather Reporting System   Canada
+CWEO    Lac Eon, Que  Canada
+CWEP    East Point, P. E. I  Canada
+CWEQ    Swan River, Man.  Canada
+CWER    Ile D'Orleans Automated Reporting Station   Canada
+CWET    Egbert Meteorological Aeronautical Presentation System   Canada
+CWEU    Eureka, N. W. T.  Canada
+CWEV    Ellice River Automated Reporting Station   Canada
+CWEW    L'Assomption  Canada
+CWEZ    Saturna Island Meteorological Aeronautical Presentation System   Canada
+CWFD    Cape Dyer, N. W. T.  Canada
+CWFE    Elk Island National Park  Canada
+CWFF    Melfort Automatic Weather Reporting System   Canada
+CWFG    Sartine Island Meteorological Aeronautical Presentation System   Canada
+CWFH    St. Shotts  Canada
+CWFJ    Cardston Automated Reporting Station   Canada
+CWFL    Fort Reliance   Canada
+CWFM    Chatham Point Lighthouse   Canada
+CWFN    Cree Lake Meteorological Aeronautical Presentation System   Canada
+CWFP    Nain  Canada
+CWFQ    Frelighsburg  Canada
+CWFR    Horsefly River, Bc  Canada
+CWFU    Little Macatina  Canada
+CWFW    Baie Comeau  Canada
+CWFX    Colville Lake  Canada
+CWFY    Conne River  Canada
+CWFZ    Fort Reliance, Nwt  Canada
+CWGB    Ballenas Island Automatic Weather Reporting System   Canada
+CWGD    Goderich Automatic Weather Reporting System   Canada
+CWGF    Garden River Automatic Weather Reporting System   Canada
+CWGH    Grenadier Island   Canada
+CWGJ    Montreal River Radar Site  Canada
+CWGL    Lagoon City   Canada
+CWGM    Waterton Park Gate  Canada
+CWGN    Gretna, Man.  Canada
+CWGP    Pemberton Automatic Weather Reporting System   Canada
+CWGQ    Roquemaure  Canada
+CWGR    Iles-De-La-Madelein  Canada
+CWGT    Sisters Island Automatic Weather Reporting System   Canada
+CWGV    Carp Radar Site  Canada
+CWGW    Sparwood Automatic Weather Reporting System   Canada
+CWGY    Esther   Canada
+CWGZ    Grise Fiord Airport  Canada
+CWHA    Highvale  Canada
+CWHC    Vancouver Automatic Weather Reporting System   Canada
+CWHE    Ellerslie  Canada
+CWHH    Hunters Point Mar  Canada
+CWHI    Three Hills  Canada
+CWHL    Holland Rock Automatic Weather Reporting System   Canada
+CWHM    Varennes  Canada
+CWHN    Jimmy Lake   Canada
+CWHO    Hopedale Meteorological Aeronautical Presentation System   Canada
+CWHP    Heath Point Meteorological Aeronautical Presentation System   Canada
+CWHS    Bernard Harbour  Canada
+CWHT    Haines Junction  Canada
+CWHU    Star Brook  Canada
+CWHV    Beauceville  Canada
+CWHW    Comfort Cove, Nfld.  Canada
+CWHY    Mont-Orford  Canada
+CWIC    Isachsen Meteorological Aeronautical Presentation System   Canada
+CWID    Fort Providence  Canada
+CWIE    Indian River  Canada
+CWIF    Quatsino Light Station   Canada
+CWII    Victoria Beach  Canada
+CWIJ    Lupin, N. W. T.  Canada
+CWIK    Broadview, Sask.  Canada
+CWIM    Upsala Radar Site  Canada
+CWIO    Iskut River   Canada
+CWIQ    Primrose Lake  Canada
+CWIR    Victoria Marine   Canada
+CWIT    Saint Clothilde Automated Reporting Station   Canada
+CWIW    Watrous East Automated Reporting Station   Canada
+CWIX    Mistook Automated Reporting Station   Canada
+CWIY    St Leonard Automatic Weather Reporting System  Canada
+CWIZ    L'Acadie  Canada
+CWJA    Jasper, Alta.  Canada
+CWJC    Ennadai Lake Meteorological Aeronautical Presentation System   Canada
+CWJD    Grand Rapids, Man.  Canada
+CWJH    Southend Automatic Weather Reporting System   Canada
+CWJI    Assiniboia Airport Automated Reporting Station  Canada
+CWJM    Upper Rideau Lake  Canada
+CWJN    Herschel Island Automatic Weather Reporting System   Canada
+CWJO    Jonquiere Automated Reporting Station   Canada
+CWJP    Porter Lake  Canada
+CWJR    Creston Automatic Weather Reporting System   Canada
+CWJT    St Jovite Automatic Weather Reporting System   Canada
+CWJU    Langara, B. C.  Canada
+CWJW    Jasper Warden Automated Reporting Station   Canada
+CWJX    Leader Airport Automatic Weather Reporting System   Canada
+CWJY    Yathkyed Lake Meteorological Aeronautical Presentation System   Canada
+CWJZ    Dubawnt Lake Meteorological Aeronautical Presentation System   Canada
+CWKD    Bonnard Automated Reporting Station   Canada
+CWKE    Pelly Bay  Canada
+CWKH    Malahat Automatic Weather Reporting System   Canada
+CWKI    Kitimat  Canada
+CWKK    Katatota Island  Canada
+CWKO    Rockglen, Sask.  Canada
+CWKR    King Radar Site  Canada
+CWKU    Whiskey Automated Reporting Station   Canada
+CWKV    Hope Slide  Canada
+CWKW    Cape Kakkiviak  Canada
+CWKX    Dease Lake Coastal Station  Canada
+CWLB    Lac La Biche, Alta.  Canada
+CWLE    Lucky Lake Automatic Weather Reporting System   Canada
+CWLF    Lansdowne House   Canada
+CWLG    Little Chicago  Canada
+CWLI    Liverpool Bay  Canada
+CWLM    Victoria Automatic Weather Reporting System   Canada
+CWLO    Shilo  Canada
+CWLP    Herbert Island Meteorological Aeronautical Presentation System   Canada
+CWLQ    Nipissing  Canada
+CWLS    Mount Forest, Ont.  Canada
+CWLT    Alert, N. W. T.  Canada
+CWLV    Waskesiu Lake Automated Reporting Station   Canada
+CWLX    Longstaff Bluff, N. W. T.  Canada
+CWLY    Lytton, B. C.  Canada
+CWLZ    Candle Lake  Canada
+CWMA    Masset A  Canada
+CWMD    Mould Bay Camp  Canada
+CWME    Cathedral Point Meteorological Aeronautical Presentation System   Canada
+CWMH    Mary's Harbour, Nfld.  Canada
+CWMI    Miscou Island, N. B.  Canada
+CWMJ    Maniwaki  Canada
+CWMM    P. Meadows Coastal Station Automatic Weather Reporting System  Canada
+CWMN    Mcgill Radar Site  Canada
+CWMP    Powder Lake  Canada
+CWMQ    Maplecreek Automatic Weather Reporting System   Canada
+CWMR    Merry Island   Canada
+CWMS    Mcinnes Island, B. C.  Canada
+CWMT    Lac La Martre  Canada
+CWMU    Rampart River Automatic Weather Reporting System   Canada
+CWMV    St Charles Creek  Canada
+CWMW    Maniwaki, Que.  Canada
+CWMX    Mildred Lake  Canada
+CWMZ    Western Island Meteorological Aeronautical Presentation System   Canada
+CWNB    S. E. Shoal Meteorological Aeronautical Presentation System   Canada
+CWNC    Cobourg, Ont.  Canada
+CWND    Pelly Island Automatic Weather Reporting System   Canada
+CWNH    Riviere Du Loup, Que.  Canada
+CWNI    Nipterk Base  Canada
+CWNK    Carman U Of M  Canada
+CWNL    Great Duck Island  Canada
+CWNM    Nelson Automatic Weather Reporting System   Canada
+CWNO    Satah River Automatic Weather Reporting System  Canada
+CWNP    Nakusp Automatic Weather Reporting System   Canada
+CWNQ    Nicolet Automatic Weather Reporting System   Canada
+CWNR    Nakiska Ridgetop   Canada
+CWNT    Turtle Mountain  Canada
+CWNW    Haldane River Automatic Weather Reporting System  Canada
+CWNX    Nechako River   Canada
+CWNZ    Nagagami, Ont.  Canada
+CWOA    Camsell River, N. W. T.  Canada
+CWOB    Brevoort Island  Canada
+CWOC    New Carlisle  Canada
+CWOD    Normandin  Canada
+CWOE    Onefour Automatic Weather Reporting System   Canada
+CWOH    Ste Agathe Des Mont  Canada
+CWOI    Ivvavik Park Automatic Weather Reporting System  Canada
+CWOK    Elbow Marine Aviation Reporting Station   Canada
+CWOL    Sable Island Man   Canada
+CWON    Dawson Automatic Weather Reporting System   Canada
+CWOU    Primrose Lake   Canada
+CWOY    Wynyard Marine Aviation Reporting Station   Canada
+CWPA    Henderickson Automatic Weather Reporting System  Canada
+CWPB    Beausoleil Island Automated Reporting Station   Canada
+CWPC    Port Colborne Automated Reporting Station   Canada
+CWPD    Parc Des Laurentid  Canada
+CWPH    Inukjuak, Que  Canada    P
+CWPI    Pine Island Meteorological Aeronautical Presentation System   Canada
+CWPJ    Point Escuminac Meteorological Aeronautical Presentation System   Canada
+CWPK    Parent, Que.  Canada
+CWPL    Pickle Lake, Ont.  Canada
+CWPO    Pilot Mound, Man.  Canada
+CWPQ    Montreal-Est  Canada
+CWPR    Princeton Automatic Weather Reporting System   Canada
+CWPS    Long Point Meteorological Aeronautical Presentation System   Canada
+CWPU    Puntzi Mountain, B. C.  Canada
+CWPY    Fort Chipewyan Automated Reporting Station   Canada
+CWQC    Port Alberni, B. C.  Canada
+CWQE    Toronto Headland  Canada
+CWQF    Rabbit Kettle Automated Reporting Station  Canada
+CWQG    Valcartier  Canada
+CWQH    Lennoxville  Canada
+CWQJ    Sedco   Canada
+CWQK    Race Rocks Automatic Weather Reporting System   Canada
+CWQL    Lethbridge Automated Reporting Station   Canada
+CWQM    Cap Rouge  Canada
+CWQO    Ile Bicquette  Canada
+CWQP    Point Petre, Ont.  Canada
+CWQQ    Lacombe Cda  Canada
+CWQR    Ice Auxiliary Perroquets  Canada
+CWQS    Kindakun Rocks, B. C.  Canada
+CWQV    Puinte Claveau  Canada
+CWQW    Cape Whittle  Canada
+CWQY    Hanbury River Automated Reporting Station   Canada
+CWQZ    Quesnel Automatic Weather Reporting System   Canada
+CWRA    Cape Race, Nfld  Canada
+CWRD    Red Earth  Canada
+CWRF    Pelly Bay   Canada
+CWRJ    Rosetown East, Sask  Canada
+CWRK    Bancroft Automatic Weather Reporting System  Canada
+CWRM    Rocky House Marine Aviation Reporting Station   Canada
+CWRN    Hart Island Meteorological Aeronautical Presentation System   Canada
+CWRO    Rose Spit Meteorological Aeronautical Presentation System   Canada
+CWRP    Nicholson Peninsul   Canada
+CWRQ    Trois Rivieres  Canada
+CWRT    Crowsnest  Canada
+CWRU    Solander Island Meteorological Aeronautical Presentation System   Canada
+CWRV    Camrose  Canada
+CWRW    Fourchu Head Meteorological Aeronautical Presentation System   Canada
+CWRY    Milk River  Canada
+CWRZ    Cap D'Espoir Meteorological Aeronautical Presentation System   Canada
+CWSA    Sable Island, N. S.  Canada
+CWSD    Summerside Automatic Weather Reporting System   Canada
+CWSE    Edmonton Stony Plain Alta.  Canada
+CWSF    Cap Madeleine Meteorological Aeronautical Presentation System   Canada
+CWSG    Cap Chat Meteorological Aeronautical Presentation System   Canada
+CWSH    Sousa Crk Avt   Canada
+CWSI    Simcoe, Ont.  Canada
+CWSK    Squamish Airport, B. C  Canada
+CWSL    Salmon Arm Automatic Weather Reporting System   Canada
+CWSO    Exeter Radar Site  Canada
+CWSP    Sheringham Automatic Weather Reporting System   Canada
+CWSQ    Aulvik National Park  Canada
+CWSR    Spiritwood West, Sask  Canada
+CWSS    St. Stephen, N. B.  Canada
+CWST    La Pocatiere  Canada
+CWSV    Blue River Marine Aviation Reporting Station   Canada
+CWSW    Sparwood / Elk Valley  Canada
+CWSY    Sachs Harbour, N. W. T.  Canada
+CWSZ    Fisher Branch Marine Aviation Reporting Station   Canada
+CWTA    Mc Tavish Automated Reporting Station   Canada
+CWTB    Border, Que.  Canada
+CWTC    Ethelda Bay  Canada
+CWTD    Robertson Lake Automated Reporting Station   Canada
+CWTE    Trout Lake  Canada
+CWTF    Beartooth Island  Canada
+CWTG    Pointe Des Monts  Canada
+CWTN    Cap Tourmente  Canada
+CWTO    Toronto Aes Hq   Canada
+CWTY    Trois Rivieres  Canada
+CWTZ    Toronto Island  Canada
+CWUL    Quebec Fcst Office  Canada
+CWUM    Faro, Y. T.  Canada
+CWUP    Cape Hooper, N. W. T.  Canada
+CWUR    Truro, N. S.  Canada
+CWUS    Summerland Automatic Weather Reporting System   Canada
+CWUT    Shoal Lake Airport Automated Reporting Station   Canada
+CWUU    Mackar Inlet  Canada
+CWUW    Dewar Lakes, N. W. T.  Canada
+CWUY    Rouyn  Canada
+CWVA    Bonavista, Nfld.  Canada
+CWVC    Swift Current Automatic Weather Reporting System   Canada
+CWVD    Broughton Island  Canada
+CWVE    Valleyfield  Canada
+CWVI    Vegreville Automatic Weather Reporting System   Canada
+CWVK    Vernon, B. C.  Canada
+CWVN    Val Marie Southeast, Sask  Canada
+CWVO    Vauxhall Cda  Canada
+CWVP    Cypress Hills Park  Canada
+CWVQ    Ste Anne De Bell   Canada
+CWVT    Buffalo Narrows, Sask.  Canada
+CWVV    Vic. Hartland Automatic Weather Reporting System  Canada
+CWVY    Villeroy Radar Site  Canada
+CWWA    W Vancouver Automatic Weather Reporting System   Canada
+CWWB    Burlington Piers   Canada
+CWWC    Collins Bay Automatic Weather Reporting System   Canada
+CWWE    Western Head, N. S.  Canada
+CWWF    Weyburn Automatic Weather Reporting System   Canada
+CWWK    White Rock Automatic Weather Reporting System   Canada
+CWWL    Bonilla Island Meteorological Aeronautical Presentation System   Canada
+CWWM    Grant Automatic Weather Reporting System   Canada
+CWWN    Peawanuck Meteorological Aeronautical Presentation System   Canada
+CWWO    Willow Creek  Canada
+CWWP    Wasagaming, Man.  Canada
+CWWS    George Island Meteorological Aeronautical Presentation System   Canada
+CWWU    Ingenika Point  Canada
+CWWV    Killinek Meteorological Aeronautical Presentation System   Canada
+CWWX    Cove Island Meteorological Aeronautical Presentation System   Canada
+CWWZ    Port Weller, Ont.  Canada
+CWXA    Bow Valley  Canada
+CWXI    Ferolle Point Meteorological Aeronautical Presentation System   Canada
+CWXJ    Bull Arm Automatic Weather Reporting System  Canada
+CWXL    Bow Island  Canada
+CWXM    Helmcken Island Meteorological Aeronautical Presentation System   Canada
+CWXO    Rowan Gorilla Iii  Canada
+CWXP    Pangnirtung  Canada
+CWXV    Back River Meteorological Aeronautical Presentation System   Canada
+CWXW    Alexis River Meteorological Aeronautical Presentation System   Canada
+CWYB    N. Bay Weather Office  Canada
+CWYE    Outlook Pfra  Canada
+CWYG    Charlottetown  Canada
+CWYH    Rae Lakes  Canada
+CWYJ    Victoria University  Canada
+CWYL    Yoho Park Automatic Weather Reporting System   Canada
+CWYM    Cape Mercy  Canada
+CWYO    Wynyard, Sask.  Canada
+CWYY    Osoyoos Automatic Weather Reporting System   Canada
+CWZA    Agassiz Automated Reporting Station   Canada
+CWZB    Port-Aux-Basques, Nfld.  Canada
+CWZD    Scudder Point Meteorological Aeronautical Presentation System   Canada
+CWZG    Banff Marine Aviation Reporting Station   Canada
+CWZL    Cumshewa Island Meteorological Aeronautical Presentation System   Canada
+CWZN    Sagona Island Meteorological Aeronautical Presentation System   Canada
+CWZT    Dauphin Coastal Station  Canada
+CWZV    Virginia Falls  Canada
+CWZW    Teslin Marine Aviation Reporting Station   Canada
+CWZZ    Saglek Bay   Canada
+CYAD    La Grande Iii Supplementary Aviation Weather Reporting Station   Canada
+CYAH    La Grande Iv, Que.  Canada
+CYAJ    Komakuk Beach Airport  Canada
+CYAM    Sault Ste Marie, Ont.  Canada
+CYAS    Kangirsuk Supplementary Aviation Weather Reporting Station   Canada
+CYAW    Shearwater, N. S.  Canada
+CYAY    Saint Anthony Airport  Canada
+CYAZ    Tofino Airport  Canada
+CYBB    Pelly Bay Airport  Canada
+CYBC    Baie Comeau, Que.  Canada
+CYBD    Bella Coola Airport   Canada
+CYBG    Bagotville, Que.  Canada
+CYBK    Baker Lake, N. W. T.  Canada
+CYBL    Campbell River Airport  Canada
+CYBR    Brandon, Man.  Canada
+CYBU    Nipawin, Sask.  Canada
+CYBV    Berens River Airport  Canada
+CYBW    Calgary / Springbank  Canada
+CYBX    Blanc Sablon, Que.  Canada
+CYCA    Cartwright Man   Canada
+CYCB    Cambridge Bay, N. W. T.  Canada
+CYCD    Nanaimo Airport  Canada
+CYCG    Castlegar Airport  Canada
+CYCH    Chatham Can-Mil   Canada
+CYCL    Charlo, N. B.  Canada
+CYCO    Coppermine, N. W. T.  Canada
+CYCP    Blue River, B. C.  Canada
+CYCQ    Chetwynd Airport  Canada
+CYCS    Chesterfield Inlet  Canada
+CYCT    Coronation Marine Aviation Reporting Station   Canada
+CYCX    Gagetown Can-Mil   Canada
+CYCY    Clyde, N. W. T.  Canada
+CYDA    Dawson, Y. T.  Canada
+CYDB    Burwash Airport  Canada
+CYDC    Princeton Airport   Canada
+CYDF    Deer Lake, Nfld.  Canada
+CYDM    Ross River Airport  Canada
+CYDN    Dauphin, Man.  Canada
+CYDP    Nain, Nfld  Canada     P
+CYDQ    Dawson Creek Airport   Canada
+CYED    Edmonton Namao Alta.  Canada
+CYEG    Edmonton International, Alta.  Canada
+CYEK    Arviat Airport  Canada
+CYEL    Elliot Lake Supplementary Aviation Weather Reporting Station   Canada
+CYEN    Estevan, Sask.  Canada
+CYET    Edson, Alta.  Canada
+CYEU    Eureka Man   Canada
+CYEV    Inuvik, N. W. T.  Canada
+CYFB    Iqaluit, N. W. T.  Canada
+CYFC    Fredericton, N. B.  Canada
+CYFO    Flin Flon Airport  Canada
+CYFR    Fort Resolution  Canada
+CYFS    Fort Simpson, N. W. T.  Canada
+CYFT    Makkovik Airport  Canada
+CYGE    Golden Airport  Canada
+CYGH    Fort Good Hope Airport  Canada
+CYGK    Kingston, Ont.  Canada
+CYGL    La Grande Riviere, Que  Canada
+CYGM    Gimli Industrial, Man  Canada
+CYGP    Gaspe, Que.  Canada
+CYGQ    Geraldton, Ont.  Canada
+CYGR    Iles De La Madeleineque.  Canada
+CYGT    Igloolik Airport  Canada
+CYGV    Havre St Pierre   Canada
+CYGW    Kuujjuarapik, Que.  Canada
+CYGX    Gillam, Man.  Canada
+CYHA    Quaqtaq Airport  Canada
+CYHB    Hudson Bay, Sask.  Canada
+CYHD    Dryden Airport  Canada
+CYHE    Hope, B. C.  Canada
+CYHH    Nemiscau Airport Supplementary Aviation Weather Reporting Station   Canada
+CYHI    Holman Island Airport  Canada
+CYHK    Gjoa Haven Airport  Canada
+CYHM    Hamilton Airport   Canada
+CYHU    Saint Hubert Airport   Canada
+CYHY    Hay River, N. W. T.  Canada
+CYHZ    Halifax International Airport   Canada
+CYID    Digby Airport Aviation Weather Reporting Station   Canada
+CYIK    Ivujivik Airport Supplementary Aviation Weather Reporting Station   Canada
+CYIO    Pond Inlet, N. W. T.  Canada
+CYIV    Island Lake, Man.  Canada
+CYJF    Fort Liard Airport  Canada
+CYJT    Stephenville, Nfld.  Canada
+CYKA    Kamloops, B. C.  Canada
+CYKD    Aklavik Airport  Canada
+CYKF    Waterloo Well   Canada
+CYKG    Kangiqsujuaq Supplementary Aviation Weather Reporting Station   Canada
+CYKJ    Key Lake  Canada
+CYKL    Schefferville, Que.  Canada
+CYKO    Akulivik Airport  Canada
+CYKQ    Waskaganish Airport  Canada
+CYKY    Kindersley, Sask.  Canada
+CYKZ    Toronto Buttonville  Canada
+CYLC    Kimmirut A Nwt  Canada
+CYLD    Chapleau Airport Supplementary Aviation Weather Reporting Station   Canada
+CYLJ    Meadow Lake, Sask.  Canada
+CYLL    Lloydminister, Alta.  Canada
+CYLT    Alert Airport  Canada
+CYLU    Kangiksualujjuaq A  Canada
+CYLW    Kelowna Airport  Canada
+CYMA    Mayo Airport  Canada
+CYMD    Mould Bay, N. W. T.  Canada
+CYMH    Mary's Harbour   Canada
+CYMJ    Moose Jaw, Sask.  Canada
+CYML    Charlevoix Airport  Canada
+CYMM    Fort Mcmurray, Alta.  Canada
+CYMO    Moosonee, Ont.  Canada
+CYMT    Chibougamau-Chapais, Que  Canada
+CYMU    Umiujaq  Canada
+CYMX    Montreal / Mirabel  Canada
+CYNA    Natashquan, Que.  Canada
+CYND    Gatineau Airport  Canada
+CYNE    Norway House, Man.  Canada
+CYNM    Matagami, Que.  Canada
+CYOC    Old Crow Airport  Canada
+CYOD    Cold Lake, Alta.  Canada
+CYOJ    High Level, Alta  Canada
+CYOW    Ottawa Int'L. Ont.  Canada
+CYOY    Valcartier Airport  Canada
+CYPA    Prince Albert, Sask.  Canada
+CYPC    Paulatuk Airport  Canada
+CYPD    Port Hawkesbury  Canada
+CYPE    Peace River, Alta.  Canada
+CYPG    Portage Southport A  Canada
+CYPH    Inukjuak Airport Supplementary Aviation Weather Reporting Station   Canada
+CYPL    Pickle Lake Man   Canada
+CYPN    Port Menier Man   Canada
+CYPQ    Peterborough Airport   Canada
+CYPR    Prince Rupert, B. C.  Canada
+CYPW    Powell River Airport   Canada
+CYPX    Povungnituq  Canada
+CYPY    Fort Chipewyan, Alta.  Canada
+CYPZ    Burns Lake   Canada
+CYQA    Muskoka, Ont.  Canada
+CYQB    Quebec, Que  Canada
+CYQD    The Pas, Man.  Canada
+CYQF    Red Deer, Alta.  Canada
+CYQG    Windsor, Ont.  Canada
+CYQH    Watson Lake, Y. T.  Canada
+CYQI    Yarmouth, N. S.  Canada
+CYQK    Kenora, Ont.  Canada
+CYQL    Lethbridge, Alta.  Canada
+CYQM    Moncton, N. B.  Canada
+CYQQ    Comox, B. C.  Canada
+CYQR    Regina, Sask.  Canada
+CYQT    Thunder Bay, Ont.  Canada
+CYQU    Grande Prairie, Alta.  Canada
+CYQV    Yorkton, Sask.  Canada
+CYQW    North Battleford, Sask.  Canada
+CYQX    Gander Int. Airport, Nfld.  Canada
+CYQY    Sydney, N. S.  Canada
+CYQZ    Quesnel Airport  Canada
+CYRB    Resolute, N. W. T.  Canada
+CYRJ    Roberval, Que.  Canada
+CYRL    Red Lake, Ont.  Canada
+CYRM    Rocky Mountain House, Alta  Canada
+CYRT    Rankin Inlet, N. W. T.  Canada
+CYRV    Revelstoke, B. C.  Canada
+CYSA    Sable Island Airport   Canada
+CYSB    Sudbury, Ont.  Canada
+CYSC    Sherbrooke, Que.  Canada
+CYSD    Suffield Airport  Canada
+CYSF    Stony Rapids Airport  Canada
+CYSJ    Saint John, N. B.  Canada
+CYSK    Sanikiluaq Airport  Canada
+CYSL    Saint Leonard Airport   Canada
+CYSM    Fort Smith, N. W. T.  Canada
+CYSN    Saint Catharines Airport  Canada
+CYSR    Nanisivik Airport   Canada
+CYSU    Summerside Can-Mil   Canada
+CYSY    Sachs Harbour Airport  Canada
+CYTE    Cape Dorset, N. W. T.  Canada
+CYTH    Thompson Weather Office, Man  Canada
+CYTJ    Terrace Bay Supplementary Aviation Weather Reporting Station   Canada
+CYTL    Big Trout Lake  Canada
+CYTQ    Tasiujaq A  Canada
+CYTR    Trenton, Ont.  Canada
+CYTS    Timmins, Ont.  Canada
+CYTZ    Toronto Island Airport Automated Reporting Station  Canada
+CYUA    Shingle Point, Y. T.  Canada
+CYUB    Tuktoyaktuk   Canada
+CYUI    Cape Young Airport  Canada
+CYUJ    Lady Franklin Point, N. W. T.  Canada
+CYUK    Byron Bay Airport  Canada
+CYUL    Montreal / Dorval International, Que  Canada
+CYUQ    Jenny Lind Island Airport  Canada
+CYUS    Shepherd Bay, N. W. T.  Canada
+CYUT    Repulse Bay Airport  Canada
+CYUV    Longstaff Blf Airport  Canada
+CYUX    Hall Beach, N. W. T.  Canada
+CYUY    Rouyn Airport  Canada
+CYVC    La Ronge, Sask  Canada
+CYVM    Broughton Island Airport  Canada
+CYVO    Val D'Or, Que.  Canada
+CYVP    Kuujjuaq, Que.  Canada
+CYVQ    Norman Wells, N. W. T.  Canada
+CYVR    Vancouver International Air-Port, B. C.  Canada
+CYVT    Buffalo Narrows Man  Canada
+CYVV    Wiarton, Ont.  Canada
+CYWA    Petawawa, Ont.  Canada
+CYWG    Winnipeg Int. Airportman.  Canada
+CYWH    Victoria Harbour  Canada
+CYWJ    Fort Franklin Airport  Canada
+CYWK    Wabush Lake, Nfld.  Canada
+CYWL    Williams Lake, B. C.  Canada
+CYWO    Lupin Airport Supplementary Aviation Weather Reporting Station   Canada
+CYWV    Wainwright Airport  Canada
+CYWY    Wrigley Airport  Canada
+CYXC    Cranbrook, B. C.  Canada
+CYXD    Edmonton Municipal Alta.  Canada
+CYXE    Saskatoon, Sask.  Canada
+CYXH    Medicine Hat, Alta.  Canada
+CYXJ    Fort St John, B. C.  Canada
+CYXL    Sioux Lookout, Ont.  Canada
+CYXN    Whale Cove Airport  Canada
+CYXP    Pangnirtung Airport  Canada
+CYXQ    Beaver Creek Airport  Canada
+CYXR    Earlton, Ont.  Canada
+CYXS    Prince George, B. C.  Canada
+CYXT    Terrace, B. C.  Canada
+CYXU    London, Ont.  Canada
+CYXX    Abbotsford, B. C.  Canada
+CYXY    Withehorse, Y. T.  Canada
+CYXZ    Wawa, Ont.  Canada
+CYYB    North Bay, Ont.  Canada
+CYYC    Calgary International, Alta.  Canada
+CYYD    Smithers, B. C.  Canada
+CYYE    Fort Nelson, B. C.  Canada
+CYYF    Penticton, B. C.  Canada
+CYYG    Charlottetown, P. E. I.  Canada
+CYYH    Spence Bay Airport   Canada
+CYYJ    Victoria Int. Airportb. C.  Canada
+CYYL    Lynn Lake, Man.  Canada
+CYYN    Swift Current, Sask.  Canada
+CYYQ    Churchill, Man.  Canada
+CYYR    Goose, Nfld.  Canada
+CYYT    St. John's, Nfld  Canada
+CYYU    Kapuskasing, Ont.  Canada
+CYYW    Armstrong, Ont.  Canada
+CYYY    Mont Joli, Que.  Canada
+CYYZ    Toronto Pearson Int'L. Ont.  Canada
+CYZE    Gore Bay, Ont.  Canada
+CYZF    Yellowknife, N. W. T.  Canada
+CYZG    Salliut Airport Supplementary Aviation Weather Reporting Station   Canada
+CYZH    Slave Lake, Alta  Canada
+CYZP    Sandspit, B. C.  Canada
+CYZR    Sarnia Airport   Canada
+CYZS    Coral Harbour, N. W. T.  Canada
+CYZT    Port Hardy, B. C.  Canada
+CYZU    Whitecourt, Alta.  Canada
+CYZV    Sept-Iles, Que.  Canada
+CYZW    Teslin, Y. T.  Canada
+CYZX    Greenwood, N. S.  Canada
+CYZY    Mackenzie, B. C.  Canada
+CZAG    La Grande Iv Remote Environment Automatic Data Acquisition Concept  Canada
+CZBF    Bathurst Airport Aviation Weather Reporting Station   Canada
+CZDI    Churchill Falls  Canada
+CZEM    Eastmain River Airport  Canada
+CZFA    Faro Airport  Canada
+CZFM    Fort Mcpherson Airport  Canada
+CZFN    Fort Norman Airport  Canada
+CZNB    North Bay Remote Environment Automatic Data Acquisition Concept   Canada
+CZOC    Old Crow Automatic Weather Reporting System   Canada
+CZPC    Pincher Creek Airport  Canada
+CZPK    Paulatuk Automated Reporting Station   Canada
+CZST    Stewart Airport  Canada
+CZUB    Tuktoyaktuk Automated Reporting Station   Canada
+CZUE    Cape Parry, N. W. T.  Canada
+CZUM    Churchill Falls, Nfld.  Canada
+CZVL    Edmonton / Villeneuve  Canada
+CZWN    Wainwright Automatic Weather Reporting System   Canada
+DAAD    Bou-Saada  Algeria 
+DAAE    Bejaia  Algeria
+DAAF    Aoulef   Algeria     
+DAAG    Dar-El-Beida  Algeria  
+DAAJ    Djanet  Algeria  
+DAAP    Illizi  Algeria  
+DAAS    Setif  Algeria  
+DAAT    Tamanrasset / Aguenna  Algeria     
+DAAV    Jijel Achouat  Algeria 
+DAAY    Mecheria  Algeria 
+DABB    Annaba  Algeria
+DABC    Constantine  Algeria  
+DABP    Skikda  Algeria
+DABS    Tebessa  Algeria  
+DABT    Batna  Algeria 
+DAFI    Djelfa  Algeria  
+DAOB    Tiaret  Algeria 
+DAOF    Tindouf  Algeria 
+DAOI    Chlef  Algeria  
+DAON    Tlemcen Zenata   Algeria
+DAOO    Oran / Es Senia  Algeria 
+DAOR    Bechar  Algeria 
+DAUA    Adrar  Algeria 
+DAUB    Biskra  Algeria  
+DAUE    El Golea  Algeria  
+DAUG    Ghardaia  Algeria  
+DAUH    Hassi-Messaoud  Algeria 
+DAUI    In Salah North  Algeria     
+DAUK    Touggourt  Algeria  
+DAUL    Laghouat  Algeria  
+DAUO    El Oued  Algeria  
+DAUT    Timimoun  Algeria  
+DAUU    Ouargla  Algeria  
+DAUZ    In Amenas  Algeria  
+DBBB    Cotonou  Benin
+DBBC    Bohicon  Benin 
+DBBK    Kandi  Benin  
+DBBN    Natitingou  Benin 
+DBBP    Parakou  Benin  
+DBBS    Save  Benin 
+DFCC    Ouahigouya  Burkina Faso     
+DFCO    Boromo  Burkina Faso     
+DFCP    Po  Burkina Faso     
+DFEE    Dori  Burkina Faso      
+DFEF    Fada N'Gourma  Burkina Faso     
+DFFD    Ouagadougou  Burkina Faso 
+DFOD    Dedougou  Burkina Faso     
+DFOG    Gaoua  Burkina Faso     
+DFOO    Bobo-Dioulasso  Burkina Faso 
+DGAA    Accra  Ghana 
+DGAD    Ada  Ghana
+DGAH    Ho  Ghana 
+DGAK    Akuse  Ghana 
+DGAS    Saltpond  Ghana
+DGAT    Tema  Ghana 
+DGKA    Akim Oda  Ghana
+DGKK    Koforidua  Ghana
+DGLB    Bole  Ghana 
+DGLE    Tamale  Ghana 
+DGLN    Navrongo  Ghana
+DGLW    Wa  Ghana
+DGLY    Yendi  Ghana
+DGSB    Sefwi Bekwai  Ghana
+DGSI    Kumasi  Ghana 
+DGSN    Sunyani  Ghana
+DGSW    Wenchi  Ghana
+DGTK    Takoradi  Ghana
+DGTX    Axim  Ghana
+DIAD    Adiake  Cote D'Ivoire
+DIAP    Abidjan  Cote D'Ivoire
+DIBK    Bouake  Cote D'Ivoire 
+DIBU    Bondoukou  Cote D'Ivoire
+DIDK    Dimbokro  Cote D'Ivoire
+DIDL    Daloa  Cote D'Ivoire
+DIGA    Gagnoa  Cote D'Ivoire
+DIKO    Korhogo  Cote D'Ivoire 
+DIMN    Man  Cote D'Ivoire 
+DIOD    Odienne  Cote D'Ivoire 
+DISP    San Pedro  Cote D'Ivoire
+DISS    Sassandra  Cote D'Ivoire
+DITB    Tabou  Cote D'Ivoire 
+DIYO    Yamoussoukro  Cote D'Ivoire
+DNBI    Bida  Nigeria 
+DNCA    Calabar  Nigeria 
+DNGU    Gusau  Nigeria 
+DNIB    Ibadan  Nigeria  
+DNIL    Ilorin  Nigeria 
+DNJO    Jos  Nigeria 
+DNKA    Kaduna  Nigeria 
+DNKN    Kano  Nigeria  
+DNMK    Makurdi  Nigeria  
+DNMM    Lagos / Ikeja  Nigeria  
+DNOS    Oshogbo  Nigeria 
+DNPO    Port Harcourt  Nigeria  
+DNSO    Sokoto  Nigeria 
+DNYO    Yola  Nigeria  
+DNZA    Zaria  Nigeria 
+DRRB    Birni-N'Konni  Niger      
+DRRG    Gaya  Niger     
+DRRI    Bilma  Niger      
+DRRL    Tillabery  Niger     
+DRRM    Maradi  Niger      
+DRRN    Niamey-Aero  Niger      
+DRRT    Tahoua  Niger     
+DRZA    Agadez  Niger      
+DRZF    Diffa  Niger     
+DRZG    Goure  Niger     
+DRZM    Maine-Soroa  Niger     
+DRZR    Zinder  Niger      
+DTKA    Tabarka  Tunisia      
+DTMB    Habib Bourguiba   Tunisia     
+DTTA    Tunis-Carthage  Tunisia
+DTTB    Bizerte  Tunisia
+DTTD    Remada  Tunisia  
+DTTF    Gafsa  Tunisia  
+DTTG    Gabes  Tunisia    
+DTTJ    Djerba Mellita  Tunisia
+DTTK    Kairouan  Tunisia  
+DTTL    Kelibia  Tunisia  
+DTTM    Monastir-Skanes  Tunisia
+DTTN    Jendouba  Tunisia  
+DTTR    El Borma  Tunisia  
+DTTX    Sfax El-Maou  Tunisia  
+DTTZ    Tozeur  Tunisia  
+DXAK    Atakpame  Togo 
+DXMG    Mango  Togo 
+DXNG    Niamtougou  Togo 
+DXSK    Sokode  Togo  
+DXTA    Tabligbo  Togo 
+DXXX    Lome  Togo  
+EBAW    Antwerpen / Deurne  Belgium
+EBBE    Beauvechain  Belgium
+EBBL    Kleine Brogel  Belgium
+EBBR    Bruxelles National  Belgium
+EBBT    Brasschaat  Belgium
+EBBX    Bertrix Bel-Afb   Belgium
+EBCI    Charleroi / Gosselies  Belgium
+EBCV    Chievres  Belgium
+EBDT    Schaffen  Belgium
+EBFN    Koksijde  Belgium
+EBFS    Florennes  Belgium
+EBGT    Gent / Industrie-Zone  Belgium
+EBLB    Elsenborn  Belgium
+EBLG    Bierset  Belgium
+EBMB    Melsbroek Bel-Afb   Belgium
+EBMT    Munte  Belgium
+EBOS    Oostende Airport   Belgium
+EBSP    Spa / La Sauveniere  Belgium
+EBST    Sint-Truiden  Belgium
+EBSU    St-Hubert  Belgium
+EBTN    Goetsenhoven  Belgium
+EBWE    Weelde Military   Belgium
+EBZW    Genk  Belgium
+EDAC    Altenburg Nobitz  Germany
+EDAH    Heringsdorf  Germany
+EDDB    Berlin-Schoenefeld  Germany
+EDDC    Dresden-Klotzsche  Germany
+EDDE    Erfurt-Bindersleben  Germany
+EDDF    Frankfurt / M-Flughafen  Germany
+EDDG    Muenster / Osnabrueck  Germany
+EDDH    Hamburg-Fuhlsbuettel  Germany
+EDDI    Berlin-Tempelhof  Germany
+EDDK    Koeln / Bonn  Germany
+EDDL    Duesseldorf  Germany
+EDDM    Munich / Riem  Germany
+EDDN    Nuernberg  Germany
+EDDP    Leipzig-Schkeuditz  Germany
+EDDR    Saarbruecken / Ensheim  Germany
+EDDS    Stuttgart-Echterdingen  Germany
+EDDT    Berlin-Tegel  Germany
+EDDV    Hannover  Germany
+EDDW    Bremen  Germany
+EDFH    Hahn  Germany
+EDHI    Hamburg-Finkenwerder  Germany
+EDHK    Kiel / Holtenau Civilian  Germany
+EDHL    Luebeck-Blankensee  Germany
+EDLN    Monchengladbach  Germany
+EDLP    Paderborn / Lippstadt  Germany
+EDLW    Dortmund / Wickede  Germany
+EDMA    Augsburg  Germany
+EDMO    Oberpfaffenhofen  Germany
+EDNY    Friedrichshafen  Germany
+EDQD    Bayreuth  Germany
+EDQM    Hof  Germany
+EDTZ    Konstanz  Germany
+EDVE    Braunschweig  Germany
+EDVK    Kassel / Calden  Germany
+EDWD    Lemwerder  Germany
+EDXW    Westerland / Sylt  Germany
+EDZE    Essen  Germany
+EFHA    Halli  Finland
+EFHF    Helsinki-Malmi  Finland
+EFHK    Helsinki-Vantaa  Finland
+EFHL    Hailuoto  Finland
+EFHT    Ahtari  Finland
+EFIL    Ilmajoki  Finland
+EFIV    Ivalo  Finland
+EFJO    Joensuu  Finland
+EFJY    Jyvaskyla  Finland
+EFKA    Kauhava  Finland
+EFKE    Kemi  Finland
+EFKI    Kajaani  Finland
+EFKK    Kruunupyy  Finland
+EFKS    Kuusamo  Finland
+EFKT    Kittila  Finland
+EFKU    Kuopio  Finland
+EFMA    Mariehamn / Aland Island  Finland
+EFMI    Mikkeli  Finland
+EFOU    Oulu  Finland
+EFPE    Pello  Finland
+EFPO    Pori  Finland
+EFPU    Pudasjarvi  Finland
+EFRO    Rovaniemi  Finland
+EFSA    Savonlinna  Finland
+EFSO    Sodankyla  Finland
+EFSU    Suomussalmi  Finland
+EFTP    Tampere / Pirkkala  Finland
+EFTU    Turku  Finland
+EFUT    Utti  Finland
+EFVA    Vaasa  Finland
+EFVI    Viitasaari  Finland
+EFVR    Varkaus  Finland
+EGAA    Belfast / Aldergrove Airport  United Kingdom
+EGAC    Belfast / Harbour  United Kingdom
+EGAE    Eglinton / Londonderr  United Kingdom
+EGBB    Birmingham / Airport  United Kingdom
+EGBE    Coventry Airport   United Kingdom
+EGBJ    Staverton Private   United Kingdom
+EGCC    Manchester Airport  United Kingdom
+EGDB    Plymouth  United Kingdom
+EGDC    Chivenor  United Kingdom
+EGDG    Saint Mawgan  United Kingdom
+EGDK    Kemble Royal Air Force Base   United Kingdom
+EGDL    Lyneham  United Kingdom
+EGDM    Boscombe Down  United Kingdom
+EGDP    Portland / Rnas  United Kingdom
+EGDR    Culdrose  United Kingdom    P
+EGDX    St Athan Royal Air Force Base  United Kingdom
+EGDY    Yeovilton  United Kingdom
+EGFF    Cardiff-Wales Airport  United Kingdom
+EGFH    Swansea  United Kingdom
+EGGD    Bristol / Lulsgate   United Kingdom
+EGGP    Liverpool Airport   United Kingdom
+EGGW    Luton Airport   United Kingdom
+EGHD    Plymouth / Roborough  United Kingdom
+EGHE    Scilly, Saint Mary'S  United Kingdom
+EGHH    Bournemouth Airport  United Kingdom
+EGHI    Southampton / Weather Centre  United Kingdom
+EGJA    Alderney / Channel Island  United Kingdom
+EGJB    Guernsey Airport  United Kingdom
+EGJJ    Jersey Airport  United Kingdom
+EGKA    Shoreham Airport  United Kingdom
+EGKB    Biggin Hill   United Kingdom
+EGKK    London / Gatwick Airport  United Kingdom
+EGLC    London City Airport  United Kingdom
+EGLF    Farnborough  United Kingdom
+EGLL    London / Heathrow Airport  United Kingdom
+EGMC    Southend-On-Sea   United Kingdom
+EGMD    Lydd Airport   United Kingdom
+EGNC    Carlisle  United Kingdom
+EGNH    Blackpool Airport  United Kingdom
+EGNJ    Humberside  United Kingdom
+EGNL    Walney Island  United Kingdom
+EGNM    Leeds And Bradford  United Kingdom
+EGNR    Hawarden  United Kingdom
+EGNS    Isle Of Man / Ronaldsway Airport  United Kingdom
+EGNT    Newcastle   United Kingdom
+EGNV    Tees-Side  United Kingdom
+EGNX    East Midlands  United Kingdom
+EGOD    Llanbedr  United Kingdom
+EGOM    Spadeadam  United Kingdom
+EGOP    Pembrey Sands  United Kingdom
+EGOS    Shawbury  United Kingdom
+EGOV    Valley  United Kingdom
+EGOY    West Freugh  United Kingdom
+EGPA    Kirkwall Airport  United Kingdom
+EGPB    Sumburgh Cape   United Kingdom
+EGPC    Wick  United Kingdom
+EGPD    Aberdeen / Dyce  United Kingdom
+EGPE    Inverness / Dalcross  United Kingdom
+EGPF    Glasgow Airport  United Kingdom
+EGPH    Edinburgh Airport  United Kingdom
+EGPK    Prestwick Airport  United Kingdom
+EGPL    Benbecula  United Kingdom
+EGPM    Scatsa / Shetland Island  United Kingdom
+EGPN    Dundee / Riverside  United Kingdom
+EGPO    Stornoway  United Kingdom
+EGPT    Perth / Scone   United Kingdom
+EGPU    Tiree  United Kingdom
+EGPW    Unst Island  United Kingdom
+EGQA    Tain Range  United Kingdom
+EGQJ    Machrihanish  United Kingdom
+EGQK    Kinloss  United Kingdom
+EGQL    Leuchars  United Kingdom
+EGQM    Boulmer  United Kingdom
+EGQS    Lossiemouth  United Kingdom
+EGRB    London Weather Centre  United Kingdom
+EGRR    Bracknell / Beaufort Park  United Kingdom
+EGSC    Cambridge  United Kingdom
+EGSH    Norwich Weather Centre  United Kingdom
+EGSS    Stansted Airport  United Kingdom
+EGTC    Cranfield  United Kingdom
+EGTE    Exeter Airport  United Kingdom
+EGTG    Filton Private   United Kingdom
+EGTH    Hatfeild Private   United Kingdom
+EGUA    Upper Heyford Royal Air Force Base   United Kingdom
+EGUB    Benson  United Kingdom
+EGUC    Aberporth  United Kingdom
+EGUF    Farnborough Military   United Kingdom
+EGUL    Lakenheath Royal Air Force Base  United Kingdom
+EGUM    Manston  United Kingdom
+EGUN    Mildenhall Royal Air Force Base  United Kingdom
+EGUP    Sculthorpe Af Met   United Kingdom
+EGUW    Wattisham  United Kingdom
+EGUY    Wyton Royal Air Force Base  United Kingdom
+EGVA    Fairford Royal Air Force Base  United Kingdom
+EGVG    Woodbridge Royal Air Force Base   United Kingdom
+EGVI    Greenham Common Royal Air Force Base  United Kingdom
+EGVJ    Bentwaters Royal Air Force Base   United Kingdom
+EGVN    Brize Norton  United Kingdom
+EGVO    Odiham  United Kingdom
+EGVP    Middle Wallop  United Kingdom
+EGWC    Cosford Royal Air Force Base  United Kingdom
+EGWU    Northolt  United Kingdom
+EGWZ    Alconbury Royal Air Force Base  United Kingdom
+EGXC    Coningsby Royal Air Force Base  United Kingdom
+EGXD    Disforth  United Kingdom
+EGXE    Leeming  United Kingdom
+EGXF    Cowden  United Kingdom
+EGXG    Church Fenton  United Kingdom
+EGXH    Honington Royal Air Force Base  United Kingdom
+EGXJ    Cottesmore  United Kingdom
+EGXN    Newton  United Kingdom
+EGXT    Wittering  United Kingdom
+EGXU    Linton-On-Ouse  United Kingdom
+EGXV    Leconfield  United Kingdom
+EGXW    Waddington  United Kingdom
+EGXZ    Topcliffe Royal Air Force Base   United Kingdom
+EGYC    Coltishall  United Kingdom
+EGYD    Cranwell  United Kingdom
+EGYE    Barkston Heath Royal Air Force Base   United Kingdom
+EGYH    Holbeach  United Kingdom
+EGYM    Marham  United Kingdom
+EGYP    Mount Pleasant Airport  South Georgia and the South Sandwich Islands
+EGYW    Wainfleet  United Kingdom
+EHAM    Amsterdam Airport Schiphol  Netherlands
+EHBK    Maastricht Airport Zuid Limburg  Netherlands
+EHDB    De Bilt  Netherlands
+EHDL    Deelen  Netherlands
+EHEH    Eindhoven  Netherlands
+EHGG    Groningen Airport Eelde  Netherlands
+EHGR    Gilze-Rijen  Netherlands
+EHKD    De Kooy  Netherlands
+EHLW    Leeuwarden  Netherlands
+EHRD    Rotterdam Airport Zestienhoven  Netherlands
+EHSB    Soesterberg  Netherlands
+EHTW    Twenthe  Netherlands
+EHVB    Valkenburg  Netherlands
+EHVK    Volkel  Netherlands
+EHVL    Vlieland  Netherlands
+EHWO    Woensdrecht  Netherlands
+EICK    Cork Airport  Ireland
+EIDW    Dublin Airport  Ireland
+EIME    Casement Aerodrome  Ireland
+EINN    Shannon Airport  Ireland
+EKAH    Tirstrup  Denmark
+EKAT    Anholt Island Automated Reporting Station   Denmark
+EKAV    Avno Danish Air Force Base   Denmark
+EKBI    Billund Lufthavn  Denmark
+EKCH    Koebenhavn / Kastrup  Denmark
+EKEB    Esbjerg  Denmark
+EKHO    Lindtorp Airport  Denmark
+EKHS    Hadsund  Denmark
+EKKA    Karup  Denmark
+EKMB    Maribo Lufthavn  Denmark
+EKOD    Odense / Beldringe  Denmark
+EKRK    Koebenhavn / Roskilde  Denmark
+EKRN    Roenne  Denmark
+EKSB    Soenderborg Lufthavn  Denmark
+EKSN    Sindal Flyveplads  Denmark
+EKSP    Skrydstrup  Denmark
+EKST    Sydfyns Flyveplads  Denmark
+EKSV    Skive Lufthavn  Denmark
+EKTS    Thisted Lufthavn  Denmark
+EKVA    Vandel  Denmark
+EKVD    Vamdrup  Denmark
+EKVG    Soervaag / Vagar  Denmark
+EKVJ    Stauning Lufthavn  Denmark
+EKVL    Vaerloese  Denmark
+EKYT    Aalborg  Denmark
+ELLX    Luxembourg / Luxembourg  Luxembourg
+ENAL    Alesund / Vigra  Norway
+ENAN    Andoya  Norway
+ENAS    Ny-Alesund Ii  Norway
+ENAT    Alta Lufthavn  Norway
+ENBJ    Bjornoya  Norway
+ENBL    Forde / Bringeland  Norway
+ENBM    Voss-Bo  Norway
+ENBN    Bronnoysund / Bronnoy  Norway
+ENBO    Bodo Vi  Norway
+ENBR    Bergen / Flesland  Norway
+ENBS    Batsfjord  Norway
+ENBV    Berlevag  Norway
+ENCN    Kristiansand / Kjevik  Norway
+ENDI    Dagali  Norway
+ENDU    Bardufoss  Norway
+ENEK    Ekofisk Oil Platform  Norway
+ENEV    Evenes  Norway
+ENFB    Oslo / Fornebu  Norway
+ENFG    Fagernes Leirin  Norway
+ENFL    Floro  Norway
+ENFR    Frigg  Norway
+ENGC    Gullfax Platform   Norway
+ENGM    Oslo / Gardermoen  Norway
+ENHD    Haugesund / Karmoy  Norway
+ENHF    Hammerfest  Norway
+ENHK    Hasvik  Norway
+ENHO    Hopen  Norway
+ENHV    Honningsvag / Valan  Norway
+ENJA    Jan Mayen  Norway
+ENKA    Kautokeino  Norway
+ENKB    Kristiansund / Kvernberget  Norway
+ENKR    Kirkenes Lufthavn  Norway
+ENLI    Lista Flyplass  Norway
+ENLK    Leknes  Norway
+ENMH    Mehamn  Norway
+ENML    Molde / Aro  Norway
+ENMS    Mosjoen Kjaerstad  Norway
+ENNA    Banak  Norway
+ENNK    Narvik Iii  Norway
+ENNM    Namsos Lufthavn  Norway
+ENNO    Notodden  Norway
+ENOA    Oseberg   Norway
+ENOL    Orland Iii  Norway
+ENOV    Orsta-Volda / Hovden  Norway
+ENRA    Mo I Rana / Rossvoll  Norway
+ENRM    Rorvik / Ryum  Norway
+ENRO    Roros Lufthavn  Norway
+ENRS    Rost Flyplass  Norway
+ENRY    Rygge  Norway
+ENSB    Svalbard Lufthavn  Norway
+ENSD    Sandane / Anda  Norway
+ENSG    Sogndal / Haukasen  Norway
+ENSH    Svolvaer / Helle  Norway
+ENSK    Storkmarknes / Skagen  Norway
+ENSN    Skien-Geiteryggen  Norway
+ENSO    Stord / Soerstokken  Norway
+ENSR    Sorkjosen  Norway
+ENSS    Svartnes  Norway
+ENST    Sandnessjoen / Stokka  Norway
+ENTC    Tromso / Langnes  Norway
+ENTO    Torp  Norway
+ENVA    Trondheim / Vaernes  Norway
+ENVD    Vadso  Norway
+ENZV    Stavanger / Sola  Norway
+EPGD    Gdansk-Rebiechowo  Poland
+EPKK    Krakow  Poland
+EPKO    Koszalin  Poland
+EPKT    Katowice  Poland
+EPPO    Poznan  Poland
+EPRZ    Rzeszow-Jasionka  Poland
+EPSC    Szczecin  Poland
+EPSK    Slupsk   Poland
+EPWA    Warszawa-Okecie  Poland
+EPWR    Wroclaw Ii  Poland
+EPZG    Zielona Gora  Poland
+ESCF    Linkoping / Malmen  Sweden
+ESCL    Soderhamn  Sweden
+ESCM    Uppsala  Sweden
+ESDA    Ljungbyhed  Sweden
+ESDB    Angelholm  Sweden
+ESDF    Ronneby  Sweden
+ESGG    Goteborg / Landvetter  Sweden
+ESGJ    Jonkoping Flygplats  Sweden
+ESGP    Goteborg / Save  Sweden
+ESGR    Skovde Flygplats  Sweden
+ESGT    Trollhattan Private   Sweden
+ESIB    Satenas  Sweden
+ESKM    Siljan / Mora  Sweden
+ESKN    Skavasta / Stockholm  Sweden
+ESMK    Kristianstad / Everod  Sweden
+ESMQ    Kalmar  Sweden
+ESMS    Malmo / Sturup  Sweden
+ESMT    Halmstad Swedish Air Force Base   Sweden
+ESMV    Hagshult  Sweden
+ESMX    Vaxjo  Sweden
+ESNG    Gallivare  Sweden
+ESNJ    Jokkmokk  Sweden
+ESNK    Kramfors Flygplats  Sweden
+ESNN    Sundsvall-Harnosand Flygplats  Sweden
+ESNO    Ornskoldsvik Airport  Sweden
+ESNQ    Kiruna Airport  Sweden
+ESNS    Skelleftea Airport  Sweden
+ESNU    Umea Flygplats  Sweden
+ESOE    Orebro Private   Sweden
+ESOW    Vasteras / Hasslo  Sweden
+ESPA    Lulea / Kallax  Sweden
+ESPC    Ostersund / Froson  Sweden
+ESPD    Gunnarn  Sweden
+ESPE    Vidsel  Sweden
+ESSA    Stockholm / Arlanda  Sweden
+ESSB    Stockholm / Bromma  Sweden
+ESSD    Borlange  Sweden
+ESSF    Hultsfred Swedish Air Force Base   Sweden
+ESSK    Gavle / Sandviken Air Force Base  Sweden
+ESSL    Linkoping / Saab  Sweden
+ESSP    Norrkoping  Sweden
+ESSQ    Karlstad Flygplats  Sweden
+ESSV    Visby Flygplats  Sweden
+ETAD    Spangdahlem  Germany
+ETAR    Ramstein  Germany
+ETAS    Sembach United States Air Force Operated Base In Foreign Country   Germany
+ETBA    Aachen / Merzbruck  Germany
+ETCE    Mebstetten / Albstadt  Germany
+ETEB    Ansbach / Katterbach  Germany
+ETEH    Bad Kreuznach  Germany
+ETEU    Giebelstadt  Germany
+ETGB    Bergen  Germany
+ETGG    Gluecksburg / Meierwik  Germany
+ETGI    Idar-Oberstein  Germany
+ETGK    Kuemmersruck  Germany
+ETGM    Meppen  Germany
+ETGW    Wittstock  Germany
+ETGY    Kalkar  Germany
+ETGZ    Messstetten  Germany
+ETHA    Altenstadt  Germany
+ETHB    Bueckeburg  Germany
+ETHC    Celle  Germany
+ETHE    Rheine-Bentlage  Germany
+ETHF    Fritzlar  Germany
+ETHI    Itzehoe  Germany
+ETHL    Laupheim  Germany
+ETHM    Mendig  Germany
+ETHN    Niederstetten  Germany
+ETHR    Roth  Germany
+ETHS    Fassberg  Germany
+ETHT    Cottbus Flugplatz   Germany
+ETIC    Grafenwoehr  Germany
+ETID    Hanau  Germany
+ETIE    Heidelberg  Germany
+ETIH    Hohenfels  Germany
+ETIK    Illesheim  Germany
+ETIN    Kitzingen Usa \ Af   Germany
+ETME    Eggebek  Germany
+ETMK    Kiel-Holtenau  Germany
+ETMN    Nordholz  Germany
+ETND    Diepholz  Germany
+ETNG    Geilenkirchen  Germany
+ETNH    Hohn  Germany
+ETNJ    Jever  Germany
+ETNL    Laage  Germany
+ETNN    Noervenich  Germany
+ETNP    Hopsten  Germany
+ETNR    Preschen  Germany
+ETNS    Schleswig-Jagel  Germany
+ETNT    Wittmundhaven  Germany
+ETNU    Trollenhagen  Germany
+ETNW    Wunstorf  Germany
+ETOR    Coleman Mannheim   Germany
+ETOU    Wiesbaden  Germany
+ETSA    Landsberg  Germany
+ETSB    Buechel  Germany
+ETSE    Erding  Germany
+ETSF    Fuerstenfeldbruck  Germany
+ETSH    Holzdorf  Germany
+ETSI    Ingolstadt  Germany
+ETSL    Lechfeld  Germany
+ETSM    Memmingen  Germany
+ETSN    Neuburg / Donau  Germany
+ETSP    Pferdsfeld  Germany
+ETUL    Laarbruch  Germany
+ETUN    Nordhorn  Germany
+ETUO    Guetersloh  Germany
+ETUR    Brueggen  Germany
+EVRA    Riga Airport  Belarus
+EYVI    Vilnius  Lithuania
+FAAB    Alexander Bay  South Africa
+FAAN    Aliwal North  South Africa
+FABL    Bloemfontein J. B. M. Hertzog   South Africa
+FABM    Bethlehem Airport  South Africa
+FABY    Beaufort West  South Africa
+FACL    Carolina  South Africa
+FACT    Cape Town D. F. Malan   South Africa
+FACV    Calvinia  South Africa
+FADA    De Aar  South Africa
+FADN    Durban Louis Botha   South Africa
+FAEL    East London  South Africa
+FAEO    Ermelo  South Africa
+FAFF    Frankfort  South Africa
+FAFR    Fraserburg  South Africa
+FAGB    Gobabis  Namibia
+FAGE    Gough Island  South Africa
+FAGG    George Airport  South Africa
+FAGM    Johannesburg / Rand  South Africa
+FAGR    Graaff Reinet  South Africa
+FAHS    Hoedspruit  South Africa
+FAIR    Pretoria Irene   South Africa
+FAJS    Jan Smuts  South Africa
+FAKM    Kimberley  South Africa
+FALA    Lanseria Civ / Mil   South Africa
+FALT    Lichtenburg  South Africa
+FALW    Langebaanweg  South Africa
+FALY    Ladysmith  South Africa
+FAMB    Middelburg  South Africa
+FAME    Marion Island  South Africa
+FAMG    Margate  South Africa
+FAMM    Mmabatho Airport  South Africa
+FAMO    Mossel Bay Cape Saint Blaize   South Africa
+FANC    Newcastle  South Africa
+FANS    Nelspruit  South Africa
+FAOB    Overberg  South Africa
+FAOH    Oudtshoorn  South Africa
+FAPB    Pietersburg  South Africa
+FAPE    Port Elizabeth  South Africa
+FAPH    Phalaborwa  South Africa
+FAPI    Pietersburg Civil   South Africa
+FAPJ    Port St Johns  South Africa
+FAPM    Pietermaritzburg  South Africa
+FAPR    Pretoria  South Africa
+FAQT    Queenstown  South Africa
+FARB    Richard Bay  South Africa
+FASB    Springbok  South Africa
+FATC    Tristan Da Cunha  South Africa
+FATZ    Tzaneen   South Africa
+FAUP    Upington  South Africa
+FAUT    Umtata  South Africa
+FAVB    Vryburg  South Africa
+FAVR    Vredendal  South Africa
+FAVY    Vryheid  South Africa
+FAWB    Wonderboom / Pretoria  South Africa
+FAWK    Waterkloof Lmb  South Africa
+FAWM    Welkom  South Africa
+FAWW    Windhoek  Namibia
+FBFT    Francistown  Botswana
+FBGZ    Ghanzi  Botswana
+FBJW    Jwaneng  Botswana
+FBKE    Kasane  Botswana
+FBLT    Letlhakane  Botswana
+FBMN    Maun  Botswana
+FBSK    Seretse Khama International Airport  Botswana
+FBSN    Sua-Pan  Botswana
+FBSW    Shakawe  Botswana
+FBTE    Tshane  Botswana
+FBTS    Tsabong  Botswana
+FCBB    Brazzaville / Maya-Maya  Congo
+FCBD    Djambala  Congo
+FCBM    Mouyondzi  Congo
+FCBO    M'Pouya  Congo
+FCBS    Sibiti  Congo
+FCOG    Gamboma  Congo
+FCOI    Impfondo  Congo
+FCOM    Makoua  Congo
+FCOS    Souanke  Congo
+FCOU    Ouesso  Congo
+FCPA    Makabana  Congo
+FCPL    Loubomo  Congo
+FCPP    Pointe-Noire  Congo
+FDMS    Manzini / Matsapa Airport  Swaziland
+FEFA    Alindao  Central African Republic
+FEFB    Obo  Central African Republic
+FEFF    Bangui  Central African Republic
+FEFG    Bangassou  Central African Republic
+FEFI    Birao  Central African Republic
+FEFL    Bossembele  Central African Republic
+FEFM    Bambari  Central African Republic
+FEFN    N'Dele  Central African Republic
+FEFO    Bouar  Central African Republic
+FEFR    Bria  Central African Republic
+FEFS    Bossangoa  Central African Republic
+FEFT    Berberati  Central African Republic
+FEFY    Yalinga  Central African Republic
+FHAW    Wide Awake Field Ascension Island
+FIMP    Plaisance Mauritius   Mauritius
+FIMR    Rodrigues  Mauritius
+FJDG    Diego Garcia  Unknown
+FKAB    Banyo  Cameroon
+FKAF    Bafia  Cameroon
+FKAG    Abong-Mbang  Cameroon
+FKAL    Lomie  Cameroon
+FKAM    Meiganga  Cameroon
+FKAN    Nkongsamba  Cameroon
+FKAO    Betare-Oya  Cameroon
+FKAY    Yoko  Cameroon
+FKKA    Maroua-Salak  Cameroon
+FKKB    Kribi  Cameroon
+FKKC    Tiko  Cameroon
+FKKD    Douala Obs.  Cameroon
+FKKF    Mamfe  Cameroon
+FKKI    Batouri  Cameroon
+FKKM    Koundja  Cameroon
+FKKN    Ngaoundere  Cameroon
+FKKR    Garoua  Cameroon
+FKKV    Bamenda   Cameroon
+FKKY    Younde Ii  Cameroon
+FKYS    Yaounde  Cameroon
+FLBA    Mbala  Zambia
+FLCH    Choma  Zambia
+FLCP    Chipata  Zambia
+FLIK    Isoka  Zambia
+FLKB    Kawambwa  Zambia
+FLKO    Kaoma  Zambia
+FLKS    Kasama  Zambia
+FLKW    Kabwe  Zambia
+FLLC    Lusaka City Airport  Zambia
+FLLD    Lundazi  Zambia
+FLLI    Livingstone  Zambia
+FLLS    Lusaka International Airport  Zambia
+FLMA    Mansa  Zambia
+FLMG    Mongu  Zambia
+FLMP    Mpika  Zambia
+FLMW    Mwinilunga  Zambia
+FLND    Ndola  Zambia
+FLPA    Kasempa  Zambia
+FLPE    Petauke  Zambia
+FLPO    Kabompo  Zambia
+FLSE    Serenje  Zambia
+FLSN    Senanga  Zambia
+FLSS    Sesheke  Zambia
+FLSW    Solwezi  Zambia
+FLZB    Zambezi  Zambia
+FMCH    Hahaya International Airport  Comoros
+FMCV    Ouani Anjouan   Comoros
+FMCZ    Dzaoudzi / Pamanzi Mayotte   Comoros
+FMEE    Saint-Denis / Gillot Reunion   Unknown
+FMEP    Saint-Pierre Reunion   Unknown
+FMME    Antsirabe  Madagascar
+FMMH    Mahanoro  Madagascar
+FMMI    Antananarivo / Ivato  Madagascar
+FMMO    Maintirano  Madagascar
+FMMS    Sainte-Marie Aerodrome  Madagascar
+FMMT    Tamatave  Madagascar
+FMMV    Morondava  Madagascar
+FMNA    Diego-Suarez  Madagascar
+FMND    Andapa  Madagascar
+FMNH    Antalaha  Madagascar
+FMNL    Analalava  Madagascar
+FMNM    Majunga  Madagascar
+FMNN    Fascene Nossi-Be   Madagascar
+FMNQ    Besalampy  Madagascar
+FMNS    Sambava  Madagascar
+FMNV    Vohemar  Madagascar
+FMSD    Fort-Dauphin  Madagascar
+FMSF    Fianarantsoa  Madagascar
+FMSG    Farafangana  Madagascar
+FMSM    Mananjary  Madagascar
+FMSO    Ranohira  Madagascar
+FMSR    Morombe  Madagascar
+FMST    Tulear  Madagascar
+FNBG    Monbaca Benguela   Angola
+FNCA    Cabinda  Angola
+FNHU    Huambo Nova Lisboa   Angola
+FNKU    Bie Silva Porto   Angola
+FNLU    Luanda  Angola
+FOGM    Mouila  Gabon
+FOGR    Lambarene  Gabon
+FOOB    Bitam  Gabon
+FOOC    Cocobeach  Gabon
+FOOD    Moanda  Gabon
+FOOE    Mekambo  Gabon
+FOOG    Port-Gentil  Gabon
+FOOK    Makokou  Gabon
+FOOL    Libreville  Gabon
+FOOM    Mitzic  Gabon
+FOON    Franceville / Mvengue  Gabon
+FOOR    Lastoursville  Gabon
+FOOT    Tchibanga  Gabon
+FOOY    Mayumba  Gabon
+FPPR    Principe  Unknown
+FPST    S. Tome  Unknown
+FQBR    Beira  Mozambique
+FQCB    Cuamba  Mozambique
+FQCH    Chimoio  Mozambique
+FQIN    Inhambane  Mozambique
+FQLC    Lichinga  Mozambique
+FQLU    Lumbo  Mozambique
+FQMA    Maputo / Mavalane  Mozambique
+FQMP    Mocimboa Da Praia  Mozambique
+FQNP    Nampula  Mozambique
+FQPB    Pemba  Mozambique
+FQQL    Quelimane  Mozambique
+FQTE    Tete  Mozambique
+FQTT    Tete / Chingozi  Mozambique
+FQVL    Vilanculos  Mozambique
+FQXA    Xai Xai  Mozambique
+FSIA    Seychelles Inter-National Airport  Seychelles
+FSSS    Seychelles International Airport Rawinsonde Station   Seychelles
+FTTA    Sarh  Chad
+FTTC    Abeche  Chad
+FTTD    Moundou  Chad
+FTTJ    Ndjamena  Chad
+FTTK    Bokoro  Chad
+FTTL    Bol-Berim  Chad
+FTTN    Am-Timan  Chad
+FTTP    Pala  Chad
+FTTY    Faya  Chad
+FVBB    Beitbridge  Zimbabwe
+FVBI    Binga  Zimbabwe
+FVBU    Bulawayo Airport  Zimbabwe
+FVCH    Chipinge  Zimbabwe
+FVCZ    Buffalo Range  Zimbabwe
+FVFA    Victoria Falls  Zimbabwe
+FVGO    Gokwe  Zimbabwe
+FVHA    Harare Kutsaga   Zimbabwe
+FVKA    Karoi  Zimbabwe
+FVKB    Kariba  Zimbabwe
+FVMT    Mutoko  Zimbabwe
+FVMV    Masvingo  Zimbabwe
+FVRU    Rusape  Zimbabwe
+FVTL    Gweru  Zimbabwe
+FVWN    Hwange National Park  Zimbabwe
+FWCL    Chileka  Malawi
+FWCT    Chitipa  Malawi
+FWDZ    Dedza  Malawi
+FWKA    Karonga  Malawi
+FWKI    Lilongwe International Airport  Malawi
+FWKK    Nkhota Kota  Malawi
+FWMG    Mangochi  Malawi
+FWMY    Monkey Bay  Malawi
+FWMZ    Mzimba  Malawi
+FWSM    Salima  Malawi
+FWUU    Mzuzu  Malawi
+FXMM    Maseru / Moshoeshoe  Lesotho
+FXMU    Maseru-Mia  Lesotho
+FYGF    Grootfontein  Namibia
+FYKT    Keetmanshoop  Namibia
+FYLZ    Luderitz / Diaz Point  Namibia
+FYRK    Rooikop Saaf / Civ   Namibia
+FYRU    Rundu  Namibia
+FYWH    J. G. Strijdom  Namibia
+FZAA    Kinshasa / N'Djili  Zaire
+FZAG    Moanda  Zaire
+FZAM    Matadi  Zaire
+FZAN    Inga  Zaire
+FZBA    Inongo  Zaire
+FZBO    Bandundu  Zaire
+FZCA    Kikwit  Zaire
+FZCS    Kenge  Zaire
+FZEA    Mbandaka  Zaire
+FZFK    Gemena  Zaire
+FZGN    Boende  Zaire
+FZIA    Kisangani  Zaire
+FZMB    Butembo  Zaire
+FZNA    Goma  Zaire
+FZNC    Rutshuru  Zaire
+FZOA    Kindu  Zaire
+FZQA    Lubumbashi-Luano  Zaire
+FZQM    Kolwezi  Zaire
+FZRA    Manono  Zaire
+FZRF    Kalemie  Zaire
+FZRQ    Kongolo  Zaire
+FZSA    Kamina / Base  Zaire
+FZUA    Kananga  Zaire
+FZUK    Tshikapa  Zaire
+FZVA    Lodja  Zaire
+FZVI    Lusambo  Zaire
+FZVS    Ilebo  Zaire
+FZWA    Mbuji-Mayi  Zaire
+GABG    Bougouni  Mali
+GABS    Bamako / Senou  Mali
+GAGO    Gao  Mali
+GAHB    Hombori  Mali
+GAKA    Kenieba  Mali
+GAKL    Kidal  Mali
+GAKO    Koutiala  Mali
+GAKT    Kita  Mali
+GAKY    Kayes  Mali
+GAMB    Mopti  Mali
+GAMK    Menaka  Mali
+GANK    Nara  Mali
+GANR    Nioro Du Sahel  Mali
+GASG    Segou  Mali
+GASK    Sikasso  Mali
+GASN    San  Mali
+GATB    Tombouctou  Mali
+GATS    Tessalit  Mali
+GBYD    Banjul / Yundum  Gambia
+GCFV    Fuerteventura / Aeropuerto  Spain
+GCHI    Hierro / Aeropuerto  Spain
+GCLA    La Palma / Aeropuerto  Spain
+GCLP    Las Palmas De Gran Canaria / Gando  Spain
+GCRR    Lanzarote / Aeropuerto  Spain
+GCTS    Tenerife Sur  Spain
+GCXO    Tenerife / Los Rodeos  Spain
+GEML    Melilla  Spain
+GFLL    Lungi  Sierra Leone
+GGBF    Bafata  Guinea-Bissau
+GGOV    Bissau Aeroport   Guinea-Bissau
+GMAA    Agadir  Morocco
+GMAD    Agadir Al Massira  Morocco
+GMAT    Tan-Tan  Morocco
+GMFF    Fes-Sais  Morocco
+GMFI    Ifrane  Morocco
+GMFK    Errachidia  Morocco
+GMFM    Meknes  Morocco
+GMFN    Nador  Morocco
+GMFO    Oujda  Morocco
+GMFZ    Taza  Morocco
+GMMC    Casablanca  Morocco
+GMME    Rabat-Sale  Morocco
+GMMF    Sidi Ifni  Morocco
+GMMI    Essaouira  Morocco
+GMMN    Nouasseur  Morocco
+GMMS    Safi  Morocco
+GMMX    Marrakech  Morocco
+GMMY    Kenitra  Morocco
+GMMZ    Ouarzazate  Morocco
+GMTA    Al Hoceima  Morocco
+GMTN    Tetuan / Sania Ramel  Morocco
+GMTT    Tanger Aerodrome   Morocco
+GOGG    Ziguinchor  Senegal
+GOGK    Kolda  Senegal
+GOGS    Cap-Skirring  Senegal
+GOOD    Diourbel  Senegal
+GOOG    Linguere  Senegal
+GOOK    Kaolack  Senegal
+GOOY    Dakar / Yoff  Senegal
+GOSM    Matam  Senegal
+GOSP    Podor  Senegal
+GOSS    Saint-Louis  Senegal
+GOTK    Kedougou  Senegal
+GOTT    Tambacounda  Senegal
+GQNA    Aioun El Atrouss  Mauritania
+GQNB    Boutilimit  Mauritania
+GQND    Tidjikja  Mauritania
+GQNF    Kiffa  Mauritania
+GQNI    Nema  Mauritania
+GQNJ    Akjoujt  Mauritania
+GQNK    Kaedi  Mauritania
+GQNN    Nouakchott  Mauritania
+GQNR    Rosso  Mauritania
+GQPA    Atar  Mauritania
+GQPP    Nouadhibou  Mauritania
+GQPT    Bir Moghrein  Mauritania
+GSVO    Villa Cisneros  Western Sahara
+GUCY    Conakry / Gbessia  Guinea
+GUFH    Faranah / Badala  Guinea
+GUID    Kindia  Guinea
+GUKU    Kissidougou  Guinea
+GULB    Labe  Guinea
+GUMA    Macenta  Guinea
+GUNZ    N'Zerekore  Guinea
+GUOK    Boke  Guinea
+GUSI    Siguiri  Guinea
+GUXD    Kankan  Guinea
+GVAC    Sal  Cape Verde 
+HAAB    Addis Ababa  Ethiopia
+HAAG    Agordat   Ethiopia
+HAAM    Arba Minch  Ethiopia
+HAAW    Awash   Ethiopia
+HAAX    Axum  Ethiopia
+HABC    Baco / Bako   Ethiopia
+HABD    Bahar Dar  Ethiopia
+HADC    Combolcha  Ethiopia
+HADM    Debremarcos  Ethiopia
+HADR    Dire Dawa  Ethiopia
+HAGH    Ghinnir / Ginir   Ethiopia
+HAGN    Gondar  Ethiopia
+HAGO    Gode  Ethiopia
+HAGR    Gore  Ethiopia
+HAHM    Harar Meda  Ethiopia
+HAJJ    Jiggiga  Ethiopia
+HAJM    Jimma  Ethiopia
+HAKD    Kabre Dare Military   Ethiopia
+HALA    Awassa  Ethiopia
+HAMK    Makale  Ethiopia
+HAML    Masslo / Meslo   Ethiopia
+HAMS    Massawa  Ethiopia
+HANG    Neghelli  Ethiopia
+HASB    Assab  Ethiopia
+HASO    Assosa / Asosa   Ethiopia
+HATS    Tessenei / Teseney   Ethiopia
+HBBA    Bujumbura  Burundi
+HCMM    Mogadiscio  Somalia
+HCMN    Belet Uen  Somalia
+HDAM    Djibouti \ Ambouli  Djibouti
+HEAR    El Arish  Egypt
+HEAT    Asyut  Egypt
+HEAX    Alexandria / Nouzha  Egypt
+HECA    Cairo Airport  Egypt
+HEGN    Hurgada  Egypt
+HELX    Luxor  Egypt
+HEMM    Mersa Matruh  Egypt
+HEPS    Port Said  Egypt
+HESH    Sharm El Sheikhintl  Egypt
+HESN    Asswan  Egypt
+HETR    El Tor  Egypt
+HFFF    Djibouti  Djibouti
+HHAS    Asmara  Ethiopia
+HKEL    Eldoret  Kenya
+HKEM    Embu  Kenya
+HKGA    Garissa  Kenya
+HKIS    Isiolo   Kenya
+HKJK    Nairobi / Kenyatta Airport  Kenya
+HKKG    Kakamega  Kenya
+HKKI    Kisumu  Kenya
+HKKR    Kericho  Kenya
+HKKS    Kisii  Kenya
+HKKT    Kitale  Kenya
+HKLO    Lodwar  Kenya
+HKLU    Lamu  Kenya
+HKMA    Mandera  Kenya
+HKMB    Marsabit  Kenya
+HKME    Meru  Kenya
+HKML    Malindi  Kenya
+HKMO    Mombasa  Kenya
+HKMU    Makindu  Kenya
+HKMY    Moyale  Kenya
+HKNC    Nairobi / Dagoretti  Kenya
+HKNI    Nyeri  Kenya
+HKNK    Nakuru  Kenya
+HKNO    Narok  Kenya
+HKNW    Nairobi / Wilson  Kenya
+HKNY    Nanyuki   Kenya
+HKVO    Voi  Kenya
+HKWJ    Wajir  Kenya
+HLGT    Ghat  Libyan Arab Jamahiriya
+HLKF    Kufra  Libyan Arab Jamahiriya
+HLLB    Benina  Libyan Arab Jamahiriya
+HLLS    Sebha  Libyan Arab Jamahiriya
+HLLT    Tripoli Inter-National Airport  Libyan Arab Jamahiriya
+HLTD    Ghadames  Libyan Arab Jamahiriya
+HRYG    Gisenyi  Rwanda
+HRYR    Kigali  Rwanda
+HSAT    Atbara  Sudan
+HSDN    Dongola  Sudan
+HSDZ    Damazine  Sudan
+HSFS    El Fasher  Sudan
+HSGF    Gedaref  Sudan
+HSGN    Geneina  Sudan
+HSKA    Kassala  Sudan
+HSKI    Kosti  Sudan
+HSLI    Kadugli  Sudan
+HSNL    Nyala  Sudan
+HSNR    Sennar  Sudan
+HSOB    El Obeid  Sudan
+HSPN    Port Sudan International  Sudan
+HSRN    Renk  Sudan
+HSSJ    Juba  Sudan
+HSSM    Malakal  Sudan
+HSSP    Port Sudan  Sudan
+HSSS    Khartoum  Sudan
+HSSW    Wadi Halfa  Sudan
+HTAR    Arusha  Tanzania, United Republic of
+HTBU    Bukoba  Tanzania, United Republic of
+HTDA    Dar Es Salaam Airport  Tanzania, United Republic of
+HTDO    Dodoma  Tanzania, United Republic of
+HTIR    Iringa  Tanzania, United Republic of
+HTKA    Kigoma  Tanzania, United Republic of
+HTKI    Kilwa Masoko   Tanzania, United Republic of
+HTKJ    Kilimanjaro Airport  Tanzania, United Republic of
+HTMB    Mbeya  Tanzania, United Republic of
+HTMG    Morogoro  Tanzania, United Republic of
+HTMO    Mombo  Tanzania, United Republic of
+HTMS    Moshi  Tanzania, United Republic of
+HTMT    Mtwara  Tanzania, United Republic of
+HTMU    Musoma  Tanzania, United Republic of
+HTMW    Mwanza  Tanzania, United Republic of
+HTNA    Nachingwea  Tanzania, United Republic of
+HTPE    Pemba / Karume Airport  Tanzania, United Republic of
+HTSE    Same  Tanzania, United Republic of
+HTSO    Songea  Tanzania, United Republic of
+HTSY    Shinyanga  Tanzania, United Republic of
+HTTB    Tabora Airport  Tanzania, United Republic of
+HTTG    Tanga  Tanzania, United Republic of
+HTZA    Zanzibar / Kisauni  Tanzania, United Republic of
+HUAR    Arua  Uganda
+HUEN    Entebbe Airport  Uganda
+HUFP    Fort Portal   Uganda
+HUGU    Gulu  Uganda
+HUJI    Jinja  Uganda
+HUKB    Kabale  Uganda
+HUKS    Kasese  Uganda
+HULI    Lira  Uganda
+HUMA    Mbarara  Uganda
+HUMI    Masindi  Uganda
+HUMO    Moroto   Uganda
+HUSO    Soroti  Uganda
+HUTO    Tororo  Uganda 
+K01R    Claiborne Range, La. Airways Facilities Sector   LA  USA
+K01T    High Island  LA  USA
+K03Y    Hallock  MN  USA
+K07S    Deer Park, Deer Park Airport  WA  USA
+K0B9    Goat Island Remote Automatic Meteorological Observing System   ME  USA
+K0E4    Payson  AZ  USA
+K0L3    Zuma Beach  CA  USA
+K0V1    Custer, Custer County Airport  SD  USA
+K0W8    Chincoteague  VA  USA
+K0Y2    Sturgeon Bay   WI  USA
+K0Y7    Lamoni, Lamoni Municipal Airport  IA  USA
+K12B    New Castles Coast Guard Light Station   NH  USA
+K12N    Andover, Aeroflex-Andover Airport  NJ  USA
+K13A    Nogales Automatic Meteorological Observing System   AZ  USA
+K13G    Niagara Coast Guard Station   NY  USA
+K14B    Great Duck Island Coast Guard Light Station  ME  USA
+K14C    Frankfort Coast Guard Station   MI  USA
+K15B    Halfway Rock Coast Guard Light Station   ME  USA
+K15C    Milwaukee Coast Guard Light Station   WI  USA
+K16B    Heron Neck Coast Guard Light Station   ME  USA
+K16C    Kenosha Coast Guard Station   WI  USA
+K17C    Ludington Coast Guard Station   MI  USA
+K18B    Monhegan / Manana Island  ME  USA
+K18C    Michigan City Coast Guard Station   IN  USA
+K18N    New London Ledge Cg  CT  USA
+K19C    Muskegon Coast Guard Station   MI  USA
+K19D    Mora Municipal Automatic Weather Observing / Reporting System   MN  USA
+K19G    Buffalo Coast Guard Station   NY  USA
+K19R    Ship Shoal Platform  LA  USA
+K1G7    Mississippi Canyon  LA  USA
+K1J1    Saint Simon Island Coast Guard Station   GA  USA
+K1J2    Tybee Coast Guard Station   GA  USA
+K1J3    Ponce De Leon Inlet  FL  USA
+K1J4    Cape San Blas Coast Guard Station   FL  USA
+K1J5    Santa Rosa Coast Guard Station   FL  USA
+K1K5    Elkhart / Elkhart-Morton County A.  KS  USA
+K1L2    Santa Monica Pier  CA  USA
+K1O5    Montague  CA  USA
+K1S4    Scappoose, Scappoose Industrial Airpark  OR  USA
+K1V1    Rifle Aviation Weather Reporting Station   CO  USA
+K1V4    Saint Johnsbury, Saint Johnsbury  VT  USA
+K1W9    Wrightsville Beach  NC  USA
+K20B    Rockland Coast Guard Station   ME  USA
+K20C    Saint Joseph Coast Guard Station   MI  USA
+K20G    Ashtabula Coast Guard Station   OH  USA
+K20J    West Jonesport Coast Guard Station   ME  USA
+K21C    Sheboygan Coast Guard Station   WI  USA
+K21G    Marblehead Coast Guard Station   OH  USA
+K22G    Lorain / Elyria, Lorain County Regional Airport  OH  USA
+K23B    Seguin Island Coast Guard Light Station   ME  USA
+K23G    Cleveland Hrbr Coast Guard Station   OH  USA
+K24B    W. Quoddy Head Coast Guard Light Station  ME  USA
+K24G    Toledo Coast Guard Station   OH  USA
+K25B    Portsmouth Harbor  NH  USA
+K25G    Erie Coast Guard Station   PA  USA
+K26B    Isle Of Shoals Coast Guard Station   NH  USA
+K26G    Rochester Coast Guard Light Station   NY  USA
+K27B    Cape Neddick Coast Guard Light Station   ME  USA
+K27G    Lorain Coast Guard Station   OH  USA
+K27U    Salmon  ID  USA
+K27Y    Grand Marais Coast Guard Station   MI  USA
+K28G    Oswego Coast Guard Station   NY  USA
+K28K    Grncyn Blk52 Supplementary Aviation Weather Reporting Station   LA  USA
+K28T    Sabine Pass  TX  USA
+K28Y    North Manitou Shoal  MI  USA
+K29B    Boston / Hull Coast Guard Light Station   MA  USA
+K29G    Ravenna / Portage Co.  OH  USA
+K29J    Rock Hill, Rock Hill-York County Airport  SC  USA
+K29Y    Devils Island Light Station   WI  USA
+K2B8    Portland Head Coast Guard Light Station   ME  USA
+K2C2    White Sands, Nm.  NM  USA
+K2DP    Dare County Gunnery Range, Nc.  NC  USA
+K2G6    Meadville, Port Meadville Airport  PA  USA
+K2H1    Huntington B. Oil  CA  USA
+K2I4    Columbus / Bolton Field  OH  USA
+K2I8    Newark, Newark-Heath Airport  OH  USA
+K2L6    Marina Del Rey  CA  USA
+K2L7    Solana Beach  CA  USA
+K2PJ    Poinsett Range, Sumpter Sc.  SC  USA
+K2S9    Willapa Harbor  WA  USA
+K2U7    Stanley, Stanley Ranger Station  ID  USA
+K2V9    Gunnison Aviation Weather Reporting Station   CO  USA
+K2WX    Buffalo, Buffalo  SD  USA
+K30B    Sandwich Coast Guard Station   MA  USA
+K30G    Saginaw River Coast Guard Station   MI  USA
+K30N    Faulkner Island Coast Guard Light Station   CT  USA
+K30Y    Duluth Harbor Coast Guard Station   MN  USA
+K31B    Chatham Coast Guard Station   MA  USA
+K31G    Belle Isle Coast Guard Station   MI  USA
+K31Y    Eagle Harbor Coast Guard Light Station   MI  USA
+K32N    Little Gulf Island Light Station   CT  USA
+K32Y    Portage Coast Guard Station   MI  USA
+K33B    Buzzards Bay Cgsl   MA  USA
+K33G    Port Huron Coast Guard Station   MI  USA
+K34B    Gloucester Coast Guard Station   MA  USA
+K34N    Eatons Neck Coast Guard Station   NY  USA
+K34Y    Marquette Coast Guard Light Station   MI  USA
+K35B    Merrimac River Coast Guard Station   MA  USA
+K36B    Race Point Coast Guard Station   MA  USA
+K36Y    Point Betsie / Frankfort  MI  USA
+K37B    Scituate Coast Guard Station   MA  USA
+K38Y    Saint Ignace  MI  USA
+K39Y    Tawas Point Coast Guard Station   MI  USA
+K3B1    Greenville, Greenville Municipal Airport  ME  USA
+K3B2    Marshfield Airport  MA  USA
+K3DU    Drummond  MT  USA
+K3HE    Howell  MI  USA
+K3HT    Harlowton  MT  USA
+K3KM    Wichita, Colonel James Jabara Airport  KS  USA
+K3L3    Newport Beach  CA  USA
+K3O6    Treasure Island  CA  USA
+K3OI    Lamoni  IA  USA
+K3R5    New Braunfels, New Braunfels Municipal Airport  TX  USA
+K3RN    Graying Af Range, Mi.  MI  USA
+K3S2    Aurora State  OR  USA
+K3SE    Spencer, Ia.  IA  USA
+K3SM    Shelbyville, Shelbyville Municipal Airport  IN  USA
+K3SZ    St Charles, St Charles County Smartt Airport  MO  USA
+K3TH    Thompson Falls  MT  USA
+K3V8    Venice Heliport  LA  USA
+K3W4    Swansboro / Bogue  NC  USA
+K40B    Clayton Lake  ME  USA
+K40J    Perry-Foley, Perry-Foley Airport  FL  USA
+K40N    Chester County Airport  PA  USA
+K40Y    Thunder Bay Island  MI  USA
+K41G    Bath  MI  USA
+K41I    Eugene Island B266c  LA  USA
+K43F    Litchfield Municipal  MN  USA
+K43S    West Point Coast Guard Light Station   WA  USA
+K44N    Millbrook / Sky Acres  NY  USA
+K44W    Diamond Shoals Coast Guard Station   NC  USA
+K44Y    Sault Ste Marie Coast Guard Station  MI  USA
+K45B    Brant Point Coast Guard Station   MA  USA
+K45N    Bay Shore / Fire Island  NY  USA
+K45W    Oracoke Coast Guard Station   NC  USA
+K48N    Montauk Point Coast Guard Light Station   NY  USA
+K49N    East Moriches Coast Guard Station   NY  USA
+K4BK    Brookings  OR  USA
+K4BL    Blanding   UT  USA
+K4BQ    Broadus   MT  USA
+K4CB    Cuddleback Gunnery Range, Ca.  CA  USA
+K4CR    Corona / Lincoln  NM  USA
+K4DG    Douglas  WY  USA
+K4HV    Hanksville   UT  USA
+K4L7    Hermosa Beach Pier  CA  USA
+K4LW    Lakeview  OR  USA
+K4MR    Melrose Gunnery Range, Nm.  NM  USA
+K4MY    Moriarty  NM  USA
+K4OM    Omak, Wa.  WA  USA
+K4SL    Torreon  NM  USA
+K4SU    Superior Valley Gunnery Range, Ca  CA  USA
+K4SV    Strevell  ID  USA
+K4V5    Durango Aviation Weather Reporting Station   CO  USA
+K50N    Rockaway Coast Guard Station   NY  USA
+K50Q    Farallon Island  CA  USA
+K51N    Short Beach Coast Guard Station   NY  USA
+K51Q    San Francisco Pbs   CA  USA
+K52N    Wildwood  NJ  USA
+K52Q    Davis Point Aviation Weather Reporting Station   CA  USA
+K53D    Glenwood  MN  USA
+K53Q    Pillar Pt / El Granda  CA  USA
+K53S    Point Wilson Coast Guard Light Station   WA  USA
+K54N    Manasquan Inl Coast Guard Station   NJ  USA
+K54Q    Castroville / Moss  CA  USA
+K55N    Atlantic City Coast Guard Station   NJ  USA
+K56N    Sandy Hook Coast Guard Station   NJ  USA
+K5B5    Bennington, Morse State Airport  VT  USA
+K5I3    Pikeville Remote Automatic Meteorological Observing System   KY  USA
+K5L8    Long Beach   CA  USA
+K5R0    East Addition B323  TX  USA
+K61N    Indian River Coast Guard Station   DE  USA
+K61W    Annapolis Coast Guard Station   MD  USA
+K62G    Wilmette Marines   IL  USA
+K62W    Cape Henry Coast Guard Light Station   VA  USA
+K63G    Chicago / Calumet Coast Guard Station  IL  USA
+K63W    Milford Haven Coast Guard Station   VA  USA
+K64W    Parramore Beach  VA  USA
+K65W    Thomas Point Coast Guard Station   MD  USA
+K66W    Cove Point Coast Guard Light Station   MD  USA
+K67B    Castle Hill Coast Guard Station   RI  USA
+K67W    Stillpond Coast Guard Station   MD  USA
+K6B1    Rochester, Skyhaven Airport  NH  USA
+K6L9    Huntington Beach  CA  USA
+K6R0    Slidell, Slidell Airport  LA  USA
+K6R6    Dryden, Terrel County Airport  TX  USA
+K75S    Burlington / Mt Vern  WA  USA
+K76S    Oak Harbor Airpark  WA  USA
+K77M    Malta  ID  USA
+K77W    Cape Lookout Coast Guard Station   NC  USA
+K78W    S. Port / Oak Island Coast Guard Station  NC  USA
+K79J    Andalusia, Andalusia-Opp Municipal Airport  AL  USA
+K79W    Oregon Inlet Coast Guard Station   NC  USA
+K7A9    Plains / Peterson Field  GA  USA
+K7G2    Ashtabula, Ashtabula County Airport  OH  USA
+K7R1    Venice, Venice Heliport  LA  USA
+K7R2    Leeville  LA  USA
+K7R3    Amelia / Lake Palourd  LA  USA
+K7R4    Intracoastal City  LA  USA
+K7R5    Cameron Heliport  LA  USA
+K7R8    South Marsh Island  LA  USA
+K82S    Cape Disappointment  WA  USA
+K83S    Coos Bay Coast Guard Station   OR  USA
+K84J    Folly Beach Long Range Navigation   SC  USA
+K84Q    Blunts Reef Coast Guard Station   CA  USA
+K84S    Grays Harbor Coast Guard Station   WA  USA
+K85J    Georgetown Coast Guard Light Station   SC  USA
+K85Q    Santa Cruz Harbor  CA  USA
+K85S    Siuslaw River Coast Guard Station   OR  USA
+K86J    Sullivans Island Coast Guard Station   SC  USA
+K86Q    St George Reef Coast Guard Light Station  CA  USA
+K86S    Smith Island Coast Guard Light Station   WA  USA
+K87Q    Point Piedras Blanca, Point Piedras Blanca  CA  USA
+K87S    Quillayute River Coast Guard Light Station  WA  USA
+K88Q    Samoa / Humboldt Bay  CA  USA
+K88S    Tillamook Bay Coast Guard Station   OR  USA
+K89Q    Point Arena Coast Guard Light Station   CA  USA
+K8B9    Egg Rock Light Station   ME  USA
+K8D3    Sisseton, Sisseton Municipal Airport  SD  USA
+K8R0    Pascagoula Coast Guard Station   MS  USA
+K8R1    Mobile Point Coast Guard Station   AL  USA
+K8R3    Southwest Pass Coast Guard Station   LA  USA
+K8R5    Grand Isle Coast Guard Station   LA  USA
+K8R6    Calcasieu Coast Guard Station   LA  USA
+K8R7    Sabine Pass Coast Guard Station   TX  USA
+K8R8    Freeport Coast Guard Station   TX  USA
+K8Y8    Crane Lake Automatic Weather Observing / Reporting System   MN  USA
+K90S    Umpqua River Coast Guard Station   OR  USA
+K91Q    Point Blunt Coast Guard Light Station   CA  USA
+K91S    Alki Point Coast Guard Light Station   WA  USA
+K92Q    Bodega Bay Coast Guard Light Station   CA  USA
+K92S    Cape Blanco Coast Guard Station   OR  USA
+K93Q    Pigeon Point Coast Guard Light Station   CA  USA
+K93S    Cape Flattery Coast Guard Light Station   WA  USA
+K94B    Wood Island Light Station   ME  USA
+K94Q    Point Bonita Coast Guard Light Station   CA  USA
+K95B    Cape Vincent Marine Aviation Reporting Station   NY  USA
+K95Q    Point Pinos Coast Guard Light Station   CA  USA
+K95S    Yaquina Bay Coast Guard Station   OR  USA
+K96B    Owl's Head Light Station   ME  USA
+K96Q    Trinidad Head Coast Guard Light Station   CA  USA
+K96S    New Dungeness Coast Guard Station   WA  USA
+K97Q    Point Reyes Coast Guard Station   CA  USA
+K97S    Point No Point Coast Guard Station   WA  USA
+K98Q    Rio Vista Coast Guard Light Station   CA  USA
+K99Q    Port Chicago  CA  USA
+K99S    Point Robinson Coast Guard Light Station   WA  USA
+K9B2    Newport, Vt.  VT  USA
+K9B5    Bear Island Coast Guard Station   ME  USA
+K9F2    Fourchon Supplementary Aviation Weather Reporting Station   LA  USA
+K9L0    Dana Point  CA  USA
+K9R0    Galveston Coast Guard Station   TX  USA
+K9R1    Port Aransas Coast Guard Station   TX  USA
+K9V9    Chamberlain, Chamberlain Municipal Airport  SD  USA
+KA21    Portage Glacier, Portage Visitor Center  AK  USA
+KABE    Allentown, Lehigh Valley International Airport  PA  USA
+KABI    Abilene, Abilene Regional Airport  TX  USA
+KABQ    Albuquerque, Albuquerque International Airport  NM  USA
+KABR    Aberdeen, Aberdeen Regional Airport  SD  USA
+KABX    Albuquerque Nexrad  NM  USA
+KABY    Albany, Southwest Georgia Regional Airport  GA  USA
+KACK    Nantucket, Nantucket Memorial Airport  MA  USA
+KACT    Waco, Waco Regional Airport  TX  USA
+KACV    Arcata / Eureka, Arcata Airport  CA  USA
+KACY    Atlantic City, Atlantic City International Airport  NJ  USA
+KADG    Adrian, Lenawee County Airport  MI  USA
+KADM    Ardmore Municipal  OK  USA
+KADQ    Kodiak, Kodiak Airport  AK  USA
+KADS    Dallas / Addison Airport  TX  USA
+KADW    Camp Springs / Andrewsafb, Md.  MD  USA
+KAEL    Albert Lea Automatic Weather Observing / Reporting System   MN  USA
+KAEX    Alexandria, Alexandria International Airport  LA  USA
+KAFF    Air Force Academy, Co.  CO  USA
+KAFJ    Washington Automatic Weather Observing / Reporting System   PA  USA
+KAFN    Jaffrey, Jaffrey Municipal-Silver Ranch Airport  NH  USA
+KAFW    Fort Worth, Fort Worth Alliance Airport  TX  USA
+KAGC    Pittsburgh, Allegheny County Airport  PA  USA
+KAGR    Avon Park Gunnery Range, Fl.  FL  USA
+KAGS    Augusta, Bush Field  GA  USA
+KAHN unty Airport  NY  USA
+KALI    Alice, Alice International Airport  TX  USA
+KALM    Alamogordo-White  NM  USA
+KALN    Alton / St Louis Regional  IL  USA
+KALO    Waterloo, Waterloo Municipal Airport  IA  USA
+KALS    Alamosa, San Luis Valley Regional Airport  CO  USA
+KALW    Walla Walla, Walla Walla Regional Airport  WA  USA
+KAMA    Amarillo, Amarillo International Airport  TX  USA
+KAMG    Alma, Bacon County Airport  GA  USA
+KAMW    Ames, Ames Municipal Airport  IA  USA
+KAMX    Miami Nexrad   FL  USA
+KANB    Anniston, Anniston Metropolitan Airport  AL  USA
+KAND    Anderson, Anderson County Airport  SC  USA
+KANE    Minneapolis / Blaine  MN  USA
+KANN    Annette, Annette Island Airport  AK  USA
+KANW    Ainsworth Municipal  NE  USA
+KAOH    Lima, Lima Allen County Airport  OH  USA
+KAOO    Altoona, Altoona-Blair County Airport  PA  USA
+KAPA    Denver, Centennial Airport  CO  USA
+KAPC    Napa, Napa County Airport  CA  USA
+KAPF    Naples Municipal  FL  USA
+KAPG    Phillips Aaf / Aberdn  MD  USA
+KAPN    Alpena, Alpena County Regional Airport  MI  USA
+KAPV    Apple Valley  CA  USA
+KAQQ    Apalachicola, Apalachicola  FL  USA
+KAQW    North Adams, Harriman-And-West Airport  MA  USA
+KARA    New Iberia, Acadiana Regional Airport  LA  USA
+KARB    Ann Arbor, Ann Arbor Municipal Airport  MI  USA
+KARG    Walnut Ridge Automatic Weather Observing / Reporting System   AR  USA
+KARR    Chicago / Aurora, Aurora Municipal Airport  IL  USA
+KART    Watertown, Watertown International Airport  NY  USA
+KARV    Minocqua / Woodruff  WI  USA
+KASE    Aspen, Aspen-Pitkin County Airport  CO  USA
+KASG    Springdale Municipal  AR  USA
+KASH    Nashua / Boire Field  NH  USA
+KAST    Astoria, Astoria Regional Airport  OR  USA
+KASX    Ashland, Kennedy Memorial Airport  WI  USA
+KATL    Atlanta, Hartsfield Atlanta International Airport  GA  USA
+KATW    Appleton / Outagamie  WI  USA
+KATX    Seattle Nexrad   WA  USA
+KATY    Watertown, Watertown Municipal Airport  SD  USA
+KAUB    Auburn University Automatic Meteorological Observing System   AL  USA
+KAUG    Augusta, Augusta State Airport  ME  USA
+KAUM    Austin Municipal  MN  U Binghamton, Binghamton Regional Airport  NY  USA
+KBGR    Bangor, Bangor International Airport  ME  USA
+KBHB    Bar Harbor Automatic Weather Observing / Reporting System   ME  USA
+KBHK    Baker, Baker Municipal Airport  MT  USA
+KBHM    Birmingham, Birmingham International Airport  AL  USA
+KBHX    Eureka Nexrad   CA  USA
+KBID    Block Island Automatic Weather Observing / Reporting System   RI  USA
+KBIE    Beatrice Municipal  NE  USA
+KBIF    Biggs Aaf / Ft. Bliss  TX  USA
+KBIG    Delta Junction / Ft Greely, Allen Army Air Field  AK  USA
+KBIH    Bishop, Bishop Airport  CA  USA
+KBIL    Billings, Billings Logan International Airport  MT  USA
+KBIS    Bismarck, Bismarck Municipal Airport  ND  USA
+KBIV    Holland, Tulip City Airport  MI  USA
+KBIX    Keesler Afb / Biloxi  MS  USA
+KBJC    Broomfield / Jeffco  CO  USA
+KBJI    Bemidji / Mun., Mn.  MN  USA
+KBJJ    Wooster, Wayne County Airport  OH  USA
+KBKE    Baker, Baker Municipal Airport  OR  USA
+KBKF    Buckley Angb / Denver  CO  USA
+KBKL    Cleveland, Burke Lakefront Airport  OH  USA
+KBKT    Ft Pickett / Blacksto  VA  USA
+KBKV    Brooksville, Hernando County Airport  FL  USA
+KBKW    Beckley, Raleigh County Memorial Airport  WV  USA
+KBKX    Brookings Automatic Weather Observing / Reporting System   SD  USA
+KBLF    Bluefield, Mercer County Airport  WV  USA
+KBLH    Blythe, Blythe Airport  CA  USA
+KBLI    Bellingham, Bellingham International Airport  WA  USA
+KBLM    Belmar-Farmdale  NJ  USA
+KBLU    Emigrant Gap, Blue Canyon Nyack Airport  CA  USA
+KBLV    Scott Afb / Bellevill  IL  USA
+KBLX    Billing Yell Nexrad  MT  USA
+KBMG    Bloomington, Monroe County Airport  IN  USA
+KBMI    Bloomington / Normal  IL  USA
+KBML    Berlin, Berlin Municipal Airport  NH  USA
+KBMQ    Burnet, Burnet Municipal Craddock Field  TX  USA
+KBMX    Birmingham Nexrad  AL  USA
+KBNA    Nashville, Nashville International Airport  TN  USA
+KBNO    Burns, Burns Municipal Airport  OR  USA
+KBNW    Boone Municipal  IA  USA
+KBNY    Burney  CA  USA
+KBOI    Boise, Boise Air Terminal  ID  USA
+KBOS    Boston, Logan Internaton, Clemson-Oconee County Airport  SC  USA
+KCEW    Crestview, Sikes Airport  FL  USA
+KCEZ    Cortez, Cortez-Montezuma County Airport  CO  USA
+KCFV    Coffeyville, Coffeyville Municipal Airport  KS  USA
+KCGF    Cleveland / Cuyahoga  OH  USA
+KCGI    Cape Girardeau, Cape Girardeau Regional Airport  MO  USA
+KCGX    Chicago / Meigs  IL  USA
+KCGZ    Casa Granda Automatic Weather Observing / Reporting System   AZ  USA
+KCHA    Chattanooga, Lovell Field  TN  USA
+KCHH    Chatham, Ma.  MA  USA
+KCHI    Chicago Wsfo   IL  USA
+KCHO    Charlottesville, Charlottesville-Albemarle Airport  VA  USA
+KCHS    Charleston, Charleston Air Force Base  SC  USA
+KCIC    Chico Municipal   CA  USA
+KCID    Cedar Rapids, Cedar Rapids Municipal Airport  IA  USA
+KCIN    Carroll  IA  USA
+KCIU    Chippewa International Automatic Weather Observing / Reporting System   MI  USA
+KCKB    Clarksburg, Benedum Airport  WV  USA
+KCKL    Centreville, Al.  AL  USA
+KCKN    Crookston Municipal Field  MN  USA
+KCKV    Clarksville, Outlaw Field  TN  USA
+KCLE    Cleveland, Cleveland-Hopkins International Airport  OH  USA
+KCLL    College Station, Easterwood Field  TX  USA
+KCLM    Port Angeles, William R Fairchild International Airport  WA  USA
+KCLT    Charlotte, Charlotte / Douglas International Airport  NC  USA
+KCMA    Camarillo Automatic Weather Observing / Reporting System   CA  USA
+KCMH    Columbus, Port Columbus International Airport  OH  USA
+KCMI    Champaign / Urbana, University Of Illinois-Willard Airport  IL  USA
+KCMX    Hancock, Houghton County Memorial Airport  MI  USA
+KCMY    Mccoy USA Army Air Field   WI  USA
+KCNC    Chariton  IA  USA
+KCNK    Concordia, Blosser Municipal Airport  KS  USA
+KCNM    Carlsbad, Cavern City Air Terminal  NM  USA
+KCNO    Chino, Chino Airport  CA  USA
+KCNU    Chanute, Chanute Martin Johnson Airport  KS  USA
+KCNY    Moab, Canyonlands Field  UT  USA
+KCOD    Cody / Mun., Wy.  WY  USA
+KCOE    Coeur D'Alene Automatic Weather Observing / Reporting System   ID  USA
+KCOF    Cocoa / Patrick Air Force Base, Fl.  FL  USA
+KCON    Concord, Concord Municip Airport  TX  USA
+KCXY    Harrisburg, Capital City Airport  PA  USA
+KCYS    Cheyenne, Cheyenne Airport  WY  USA
+KCZD    Cozad Municipal  NE  USA
+KCZK    Cascade Locks State  OR  USA
+KCZZ    Campo, Campo  CA  USA
+KD07    Faith, Faith Municipal Airport  SD  USA
+KD45    Warroad, Mn  MN  USA
+KD97    South St Paul Municipal  MN  USA
+KDAA    Fort Belvoir / Daviso  VA  USA
+KDAB    Daytona Beach, Daytona Beach Regional Airport  FL  USA
+KDAG    Daggett, Barstow-Daggett Airport  CA  USA
+KDAL    Dallas, Dallas Love Field  TX  USA
+KDAN    Danville, Danville Regional Airport  VA  USA
+KDAX    Sacramento Nexrad  CA  USA
+KDAY    Dayton, Cox Dayton International Airport  OH  USA
+KDBQ    Dubuque, Dubuque Regional Airport  IA  USA
+KDCA    Washington Dc, Washington National Airport  VA  USA
+KDCU    Decatur, Pryor Field  AL  USA
+KDDC    Dodge City, Dodge City Regional Airport  KS  USA
+KDEC    Decatur, Decatur Airport  IL  USA
+KDEE    Deering, Deering Airport  AK  USA
+KDEH    Decorah  IA  USA
+KDEN    Denver, Denver International Airport  CO  USA
+KDEQ    De Queen, Helms Sevier County Airport  AR  USA
+KDET    Detroit, Detroit City Airport  MI  USA
+KDFI    Defiance, Defiance Memorial Airport  OH  USA
+KDFW    Dallas / Fort Worth, Dallas / Fort Worth International Airport  TX  USA
+KDGW    Douglas, Converse County Airport  WY  USA
+KDHN    Dothan, Dothan Airport  AL  USA
+KDHT    Dalhart, Dalhart Municipal Airport  TX  USA
+KDIK    Dickinson, Dickinson Municipal Airport  ND  USA
+KDIX    Phila. Nexrad   PA  USA
+KDKK    Dunkirk, Chautauqua County / Dunkirk Airport  NY  USA
+KDKX    Knoxville Downtown  TN  USA
+KDLF    Laughlin, Laughlin Air Force Base Auxiliary Airfield  TX  USA
+KDLH    Duluth, Duluth International Airport  MN  USA
+KDLN    Dillon, Dillon Airport  MT  USA
+KDLS    The Dalles, The Dalles Municipal Airport  OR  USA
+KDMA    Davis-Monthan Air Force Base  AZ  USA
+KDMN    Deming, Deming Municipal Airport  NM  USA
+KDMO    Sedalia, Sedalia Memorial Airport  MO  USA
+KDMX    Des Moines Nexrad  IA  USA
+KDNL    Augusta, Daniel Field  GA  USA
+KDso International Airport  TX  USA
+KELY    Ely, Ely Airport  NV  USA
+KELZ    Wellsville, Wellsville Municipal Airport  NY  USA
+KEMP    Emporia, Emporia Municipal Airport  KS  USA
+KEMT    El Monte   CA  USA
+KEND    Vance Afb / Enid  OK  USA
+KENN    Nenana, Nenana Municipal Airport  AK  USA
+KENV    Wendover / Af. Aux. Field, Ut.  UT  USA
+KENW    Kenosha, Kenosha Regional Airport  WI  USA
+KENX    Albany Nexrad   NY  USA
+KEOK    Keokuk Municipal  IA  USA
+KEPH    Ephrata, Ephrata Municipal Airport  WA  USA
+KEPO    Eastport, Me.  ME  USA
+KEPZ    Santa Teresa, Nm.  NM  USA
+KEQY    Monroe, Monroe Airport  NC  USA
+KERI    Erie, Erie International Airport  PA  USA
+KERV    Kerrville Municipal  TX  USA
+KESC    Escanaba, Mi.  MI  USA
+KESF    Alexandria, Alexandria Esler Regional Airport  LA  USA
+KESN    Easton / Newman / Fld  MD  USA
+KEST    Estherville, Estherville Municipal Airport  IA  USA
+KESX    Las Vegas Nexrad  NV  USA
+KETH    Wheaton Ndb Automatic Weather Observing / Reporting System   MN  USA
+KEUG    Eugene, Mahlon Sweet Field  OR  USA
+KEUL    Caldwell Automatic Weather Observing / Reporting System   ID  USA
+KEVM    Eveleth Municipal Automatic Weather Observing / Reporting System   MN  USA
+KEVV    Evansville, Evansville Regional Airport  IN  USA
+KEVW    Evanston, Evanston-Uinta County Burns Field  WY  USA
+KEWB    New Bedford, New Bedford Regional Airport  MA  USA
+KEWK    Newton Automatic Weather Observing / Reporting System   KS  USA
+KEWN    New Bern, Craven County Regional Airport  NC  USA
+KEWR    Newark, Newark International Airport  NJ  USA
+KEWX    San Antonio Nexrad  TX  USA
+KEYE    Indianapolis, Eagle Creek Airpark  IN  USA
+KEYW    Key West, Key West International Airport  FL  USA
+KEZF    Shannon Airport  VA  USA
+KF10    Henryetta Municipal  OK  USA
+KF30    Sulphur Municipal  OK  USA
+KF39    Sherman-Denison  TX  USA
+KF54    Arlington, Arlington Municipal Airport  TX  USA
+KFAF    Fort Eustis / Felker  VA  USA
+KFAM    Farmington Airport  MO  USA
+KFAR    Fargo, Hector International Airport  ND  USA
+KFAT    Fresno, Fresno Air Terminal  CAield  KS  USA
+KFOK    Westhampton Beach, The Gabreski Airport  NY  USA
+KFOQ    Freeport Supplementary Aviation Weather Reporting Station   TX  USA
+KFPR    Fort Pierce, St Lucie County International Airport  FL  USA
+KFRG    Farmingdale, Republic Airport  NY  USA
+KFRI    Fort Riley, Ks. Army   KS  USA
+KFRM    Fairmont Municipal Automatic Weather Observing / Reporting System   MN  USA
+KFSD    Sioux Falls, Foss Field  SD  USA
+KFSE    Fosston Automatic Weather Observing / Reporting System   MN  USA
+KFSI    Fort Sill, Ok. Army   OK  USA
+KFSM    Fort Smith, Fort Smith Regional Airport  AR  USA
+KFST    Fort Stockton, Fort Stockton-Pecos County Airport  TX  USA
+KFSW    Fort Madison  IA  USA
+KFTG    Denver Nexrad  CO  USA
+KFTK    Ft. Knox, Ky. Army   KY  USA
+KFTW    Fort Worth, Meacham International Airport  TX  USA
+KFTY    Atlanta, Fulton County Airport-Brown Field  GA  USA
+KFUL    Fullerton, Fullerton Municipal Airport  CA  USA
+KFVE    Frenchville, Northern Aroostook Regional Airport  ME  USA
+KFVX    Farmville  VA  USA
+KFWA    Fort Wayne, Fort Wayne International Airport  IN  USA
+KFWD    Ft Worth, Tx.  TX  USA
+KFWN    Sussex, Sussex Airport  NJ  USA
+KFWS    Dfw Nexrad  TX  USA
+KFXE    Fort Lauderdale, Fort Lauderdale Executive Airport  FL  USA
+KFYV    Fayetteville, Drake Field  AR  USA
+KGAD    Gadsen Municipal Automatic Weather Observing / Reporting System   AL  USA
+KGAG    Gage, Gage Airport  OK  USA
+KGBD    Great Bend Automatic Weather Observing / Reporting System   KS  USA
+KGBN    Gila Bend U. S. Army Airfield, Az.  AZ  USA
+KGCC    Gillette, Gillette-Campbell County Airport  WY  USA
+KGCK    Garden City, Garden City Regional Airport  KS  USA
+KGCN    Grand Canyon, Grand Canyon National Park Airport  AZ  USA
+KGDP    Pine Springs, Guadalupe Mountains National Park  TX  USA
+KGDV    Glendive Automatic Weather Observing / Reporting System   MT  USA
+KGED    Georgetown, Sussex County Airport  DE  USA
+KGEG    Spokane, Spokane International Airport  WA  USA
+KGEY    Greybull, South Big Horn County Airport  WY  USA
+KGFA    Malmstrom Air Force Base  MT  USA
+KGFK    Grand Forks, Grand Forks International Airport  ND  USA
+HDO    Hondo, Hondo Municipal Airport  TX  USA
+KHEF    Manassas Municipal Automatic Weather Observing / Reporting System   VA  USA
+KHEI    Hettinger, Hettinger Municipal Airport  ND  USA
+KHEY    Hanchey Ahp / Ozark  AL  USA
+KHEZ    Natchez / Hardy Automatic Weather Observing / Reporting System   MS  USA
+KHFD    Hartford, Hartford-Brainard Airport  CT  USA
+KHFF    Mackall U. S. Army Airfield  NC  USA
+KHGR    Hagerstown, Washington County Regional Airport  MD  USA
+KHGX    Hustn / Glvstn Nexrad  TX  USA
+KHHF    Canadian / Hemphill  TX  USA
+KHHR    Hawthorne, Hawthorne Municipal Airport  CA  USA
+KHIB    Hibbing, Chisholm-Hibbing Airport  MN  USA
+KHIE    Whitefield, Mount Washington Regional Airport  NH  USA
+KHIF    Hill Afb / Ogden  UT  USA
+KHIO    Portland, Portland-Hillsboro Airport  OR  USA
+KHKA    Blytheville, Blytheville Municipal Airport  AR  USA
+KHKS    Jackson, Hawkins Field  MS  USA
+KHKY    Hickory, Hickory Regional Airport  NC  USA
+KHLC    Hill City, Hill City Municipal Airport  KS  USA
+KHLG    Wheeling, Wheeling Ohio County Airport  WV  USA
+KHLN    Helena, Helena Regional Airport  MT  USA
+KHLR    Fort Hood, Tx. Army   TX  USA
+KHLX    Hillsville  VA  USA
+KHMM    Hamilton / Ravalli County  MT  USA
+KHMN    Holloman Air Force Base, Nm  NM  USA
+KHMS    Hanford, Wa.  WA  USA
+KHNB    Huntingburg  IN  USA
+KHNS    Haines, Haines Airport  AK  USA
+KHOB    Hobbs / Lea Co.  NM  USA
+KHOM    Homer, Homer Airport  AK  USA
+KHON    Huron, Huron Regional Airport  SD  USA
+KHOP    Fort Campbell U. S. Army Airfield, Ky.  KY  USA
+KHOT    Hot Springs, Memorial Field  AR  USA
+KHOU    Houston, Hobby Airport  TX  USA
+KHPN    White Plains, Westchester County Airport  NY  USA
+KHQM    Hoquiam, Bowerman Airport  WA  USA
+KHRL    Harlingen, Rio Grande Valley International Airport  TX  USA
+KHRO    Harrison, Boone County Airport  AR  USA
+KHRT    Hurlburt Field, Fl. Af   FL  USA
+KHSE    Hatteras, Mitchell Field  NC  USA
+KHSI    Hastings, Hastings Municipal Airport  NE  USA
+KHSP    Hot Springs / Ingalls  VA  USA
+KHSS    Hot Springs Aviation Weather Reporting Station   NC  USKIOW    Iowa City, Iowa City Municipal Airport  IA  USA
+KIPL    Imperial, Imperial County Airport  CA  USA
+KIPT    Williamsport, Williamsport-Lycoming County Airport  PA  USA
+KIRK    Kirksville, Kirksville Regional Airport  MO  USA
+KISN    Williston, Sloulin Field International Airport  ND  USA
+KISO    Kinston / Stallings  NC  USA
+KISP    Islip, Long Island Mac Arthur Airport  NY  USA
+KISW    Wisconsin Rapids, Alexander Field South Wood County Airport  WI  USA
+KITH    Ithaca / Tompkins Co.  NY  USA
+KITR    Burlington, Carson County Airport  CO  USA
+KIWA    Williams Afb / Chandl  AZ  USA
+KIWD    Ironwood Automatic Weather Observing / Reporting System   MI  USA
+KIWI    Wiscasset, Wiscasset Airport  ME  USA
+KIWS    W. Houston / Lakeside  TX  USA
+KIXD    Olathe, New Century Aircenter  KS  USA
+KIYK    Inyokern  CA  USA
+KIZG    Fryeburg, Eastern Slopes Regional Airport  ME  USA
+KJAC    Jackson Hole Automatic Weather Observing / Reporting System   WY  USA
+KJAN    Jackson, Jackson International Airport  MS  USA
+KJAX    Jacksonville, Jacksonville International Airport  FL  USA
+KJBR    Jonesboro, Jonesboro Municipal Airport  AR  USA
+KJCT    Junction, Kimble County Airport  TX  USA
+KJDN    Jordan, Jordan Airport  MT  USA
+KJEF    Jefferson City, Jefferson City Memorial Airport  MO  USA
+KJFK    New York, Kennedy International Airport  NY  USA
+KJHW    Jamestown Automatic Weather Observing / Reporting System   NY  USA
+KJKL    Jackson, Carroll Airport  KY  USA
+KJLN    Joplin, Joplin Regional Airport  MO  USA
+KJMS    Jamestown, Jamestown Municipal Airport  ND  USA
+KJNW    Newport  OR  USA
+KJOT    Joliet Park Distric  IL  USA
+KJST    Johnstown, Johnstown-Cambria County Airport  PA  USA
+KJVL    Janesville / Rock Co.  WI  USA
+KJWX    Fort Ritchie / Site R  MD  USA
+KJXN    Jackson / Reynolds  MI  USA
+KJYO    Leesburg / Godfrey  VA  USA
+KKAL    Kaltag, Kaltag Airport  AK  USA
+KKLS    Kelso-Longveiw Automatic Weather Observing / Reporting System  WA  USA
+KKVL    Kivalina, Kivalina Airport  AK  USA
+KL10    San Clemente  CA  USA
+KL13    Point Loma / Cabrillo  CA  USA
+KL14    Lafayette, Lafayette Regional Airport  LA  USA
+KLGA    New York, La Guardia Airport  NY  USA
+KLGB    Long Beach, Long Beach Airport  CA  USA
+KLGD    La Grande Automatic Weather Observing / Reporting System   OR  USA
+KLGU    Logan, Logan-Cache Airport  UT  USA
+KLHD    Anchorage, Lake Hood Sea Plane Base  AK  USA
+KLHQ    Lancaster, Fairfield County Airport  OH  USA
+KLHU    Lake Havasu Automatic Weather Observing / Reporting System   AZ  USA
+KLHW    Ft. Stewart, Ga.  GA  USA
+KLHX    La Junta, La Junta Municipal Airport  CO  USA
+KLIC    Limon, Limon Municipal Airport  CO  USA
+KLIT    Little Rock, Adams Field  AR  USA
+KLIX    Slidell / Mun. La  LA  USA
+KLIZ    Loring Afb / Limeston  ME  USA
+KLKV    Lakeview Automatic Weather Observing / Reporting System   OR  USA
+KLLQ    Monticello, Monticello Municipal Airport  AR  USA
+KLMT    Klamath Falls, Klamath Falls International Airport  OR  USA
+KLND    Lander, Lander  WY  USA
+KLNK    Lincoln, Lincoln Municipal Airport  NE  USA
+KLNN    Willoughby  OH  USA
+KLNP    Wise / Lonesome Pine  VA  USA
+KLNR    Lone Rock, Tri-County Regional Airport  WI  USA
+KLNS    Lancaster, Lancaster Airport  PA  USA
+KLOL    Lovelock, Derby Field  NV  USA
+KLOR    Fort Rucker, Lowe Army Heliport  AL  USA
+KLOT    Chicago Nexrad  IL  USA
+KLOU    Louisville, Bowman Field  KY  USA
+KLOZ    London, London-Corbin Airport-Magee Field  KY  USA
+KLPC    Lompoc Automatic Weather Observing / Reporting System   CA  USA
+KLRD    Laredo International Airport  TX  USA
+KLRF    Little Rock Air Force Base  AR  USA
+KLRJ    Le Marine Aviation Reporting Station  IA  USA
+KLRU    Las Cruces International  NM  USA
+KLRX    Elko Nexrad  NV  USA
+KLSD    Lexington / Creech  KY  USA
+KLSE    La Crosse, La Crosse Municipal Airport  WI  USA
+KLSF    Fort Benning, Ga Army   GA  USA
+KLSV    Nellis Air Force Base  NV  USA
+KLTS    Altus Air Force Base, Ok.  OK  USA
+KLTX    Wilmington Nexrad  NC  USA
+KLUF    Luke Afb / Phoenix  AZ  USA
+KLUK    Cincinnati, Cincinnati Municipal Airport Lunken Field  OH  USA
+KLVK    Livermore, Livermore Municipal Airport  CA  USA
+KLVM    Livingston, Mission Field  MT  USA
+KLVS    Las Vegas, Las / Reporting System   SD  USA
+KMHK    Manhattan, Manhattan Municipal Airport  KS  USA
+KMHN    Mullen / Hooker Co.  NE  USA
+KMHR    Mather Field  CA  USA
+KMHS    Mount Shasta,  CA  USA
+KMHT    Manchester, Manchester Airport  NH  USA
+KMHV    Mojave  CA  USA
+KMHX    Newport, Nc.  NC  USA
+KMIA    Miami, Miami International Airport  FL  USA
+KMIB    Minot Air Force Base  ND  USA
+KMIC    Minneapolis, Crystal Airport  MN  USA
+KMIE    Muncie, Delaware County-Johnson Field  IN  USA
+KMIV    Millville, Millville Municipal Airport  NJ  USA
+KMIW    Marshalltown, Marshalltown Municipal Airport  IA  USA
+KMJQ    Jackson Municipal Automatic Weather Observing / Reporting System   MN  USA
+KMKC    Kansas City, Kansas City Downtown Airport  MO  USA
+KMKE    Milwaukee, General Mitchell International Airport  WI  USA
+KMKG    Muskegon, Muskegon County Airport  MI  USA
+KMKJ    Marion / Wytheville  VA  USA
+KMKK    Kaunakakai, Molokai Airport  HI  USA
+KMKL    Jackson, Mc Kellar-Sipes Regional Airport  TN  USA
+KMKO    Muskogee, Davis Field  OK  USA
+KMKT    Mankato Automatic Weather Observing / Reporting System   MN  USA
+KMKX    Milwaukee Nexrad   WI  USA
+KMLB    Melbourne, Melbourne International Airport  FL  USA
+KMLC    Mc Alester, Mc Alester Regional Airport  OK  USA
+KMLD    Malad City  ID  USA
+KMLF    Milford, Milford Municipal Airport  UT  USA
+KMLI    Moline, Quad-City Airport  IL  USA
+KMLP    Mullan Pass, Mullan Pass Vor  ID  USA
+KMLS    Miles City, Wiley Field  MT  USA
+KMLT    Millinocket, Millinocket Municipal Airport  ME  USA
+KMLU    Monroe, Monroe Regional Airport  LA  USA
+KMMH    Mammoth / June Lakes  CA  USA
+KMMK    Meriden, Meriden Markham Municipal Airport  CT  USA
+KMML    Marshall / Ryan Automatic Weather Observing / Reporting System   MN  USA
+KMMO    Marseilles, Island  IL  USA
+KMMT    Mcentire Air National Guard Weather Facility Base  SC  USA
+KMMU    Morristown Municipal  NJ  USA
+KMMV    Mcminnville, Mcminnville Municipal Airport  OR  USA
+KMNI    Manning / Cooper Regional  SC  USA
+KMNM    Menominee Automatic Weather Observing / Reporting Sysent Astor  FL  USA
+KNAK    Annapolis, USA Naval Academy  MD  USA
+KNBC    Beaufort, Marine Corps Air Station  SC  USA
+KNBE    Dallas USA Naval Air Station   TX  USA
+KNBG    New Orleans, Naval Air Station  LA  USA
+KNBJ    Barin, Barin Field, Naval Air Facility  AL  USA
+KNBQ    Kings Bay, Naval Station  GA  USA
+KNBT    Piney Island, Bt-11 Bombing Range  NC  USA
+KNCA    Jacksonville, New River, Marine Corps Air Station  NC  USA
+KNDZ    Milton, Whiting Field South  FL  USA
+KNED    Winner, Wiley Field  SD  USA
+KNEL    Lakehurst / Nas, Nj.  NJ  USA
+KNEW    New Orleans, Lakefront Airport  LA  USA
+KNEX    Charleston Nise   SC  USA
+KNFE    Fentress, Naval Auxiliary Landing Field  VA  USA
+KNFG    Oceanside, Camp Pendleton, Marine Corps Air Station  CA  USA
+KNFJ    Milton, Choctaw Pensacola, Naval Auxiliary Landing Field  FL  USA
+KNFL    Fallon, Naval Air Station  NV  USA
+KNFW    Fort Worth, Naval Air Station  TX  USA
+KNGP    Corpus Christi, Naval Air Station  TX  USA
+KNGU    Norfolk, Naval Air Station  VA  USA
+KNGW    Corpus Christi, Cabiness Field, Naval Auxiliary Landing Field  TX  USA
+KNGZ    Alameda / Nas, Ca.  CA  USA
+KNHK    Patuxent River, Naval Air Station  MD  USA
+KNHZ    Brunswick, Naval Air Station  ME  USA
+KNID    China Lake, Naval Air Facility  CA  USA
+KNIP    Jacksonville, Naval Air Station  FL  USA
+KNIS    Cherry Point, Marine Corps Air Station  NC  USA
+KNJK    El Centro, Naval Air Facility  CA  USA
+KNJM    Swansboro, Bogue Field, Marine Corps Auxiliary Landing Field  NC  USA
+KNJW    Meridian Range, B, Meridian Range, B  MS  USA
+KNKT    Cherry Point, Marine Corps Air Station  NC  USA
+KNKX    San Diego, Miramar, Naval Air Station  CA  USA
+KNLC    Lemoore, Naval Air Station  CA  USA
+KNLT    Atlantic, Atlantic Field Olf  NC  USA
+KNMM    Meridian, Naval Air Station  MS  USA
+KNMT    Mcmullen, Mcmullen Target Site  TX  USA
+KNNZ    Point Sur  CA  USA
+KNOG    Orange Grove, Naval Auxiliary Landing Field  TX  USA
+KNOW    Port Angeles / Cgas, Wa.  WA  USA
+KNPA    Pensacola, Naval Air Station  FL  USA
+KNQI    Kingsville, Naval Air Stattem   IN  USA
+KOKV    Winchester Regional  VA  USA
+KOKX    N. Y. City Nexrad   NY  USA
+KOLD    Old Town / Dewitt Field  ME  USA
+KOLE    Olean Municipal  NY  USA
+KOLF    Wolf Point, Clayton Airport  MT  USA
+KOLM    Olympia, Olympia Airport  WA  USA
+KOLS    Nogales, Nogales International Airport  AZ  USA
+KOLU    Columbus Municipal Automatic Weather Observing / Reporting System   NE  USA
+KOLZ    Oelwen  IA  USA
+KOMA    Omaha, Eppley Airfield  NE  USA
+KOMK    Omak, Omak Airport  WA  USA
+KONA    Winona Municipal Automatic Weather Observing / Reporting System   MN  USA
+KONL    O'Neill / Baker Field  NE  USA
+KONM    Socorro Municipal  NM  USA
+KONO    Ontario, Ontario Municipal Airport  OR  USA
+KONP    Newport Municipal  OR  USA
+KONT    Ontario, Ontario International Airport  CA  USA
+KOPF    Miami, Opa Locka Airport  FL  USA
+KOQU    N. Kingston / Quonset  RI  USA
+KORB    Orr  MN  USA
+KORC    Orange City  IA  USA
+KORD    Chicago, Chicago-O'Hare International Airport  IL  USA
+KORE    Orange, Orange Municipal Airport  MA  USA
+KORF    Norfolk, Norfolk International Airport  VA  USA
+KORH    Worcester, Worcester Municipal Airport  MA  USA
+KORL    Orlando, Orlando Executive Airport  FL  USA
+KOSC    Wurtsmith Air Force Base  MI  USA
+KOSH    Oshkosh, Wittman Regional Airport  WI  USA
+KOSU    Columbus, Ohio State University Airport  OH  USA
+KOTG    Worthington Automatic Weather Observing / Reporting System   MN  USA
+KOTH    North Bend Automatic Weather Observing / Reporting System   OR  USA
+KOTM    Ottumwa, Ottumwa Industrial Airport  IA  USA
+KOUN    Norman / Max Westheimer A, Ok.  OK  USA
+KOVE    Oroville, Oroville Municipal Airport  CA  USA
+KOVS    Boscobel, Boscobel Airport  WI  USA
+KOWA    Owatonna Automatic Weather Observing / Reporting System   MN  USA
+KOWB    Owensboro / Daviess  KY  USA
+KOWD    Norwood, Norwood Memorial Airport  MA  USA
+KOWY    Owyhee  NV  USA
+KOXC    Oxford Automatic Weather Observing / Reporting System   CT  USA
+KOXR    Oxnard, Oxnard Airport  CA  USA
+KOXV    Knoxville  IA  USA
+KOZR    Cairns Aaf / Ozark  AL  URegional Airport  SD  USA
+KPIT    Pittsburgh, Pittsburgh International Airport  PA  USA
+KPJB    Payson  AZ  USA
+KPJI    Point Judith Coast Guard Station   RI  USA
+KPKB    Parkersburg / Wilson   WV  USA
+KPKD    Park Rapids, Park Rapids Municipal Airport  MN  USA
+KPKF    Park Falls, Wi.  WI  USA
+KPLB    Plattsburgh, Clinton County Airport  NY  USA
+KPLN    Pellston, Pellston Regional Airport  MI  USA
+KPMD    Palmdale, Palmdale Production Flight Plant  CA  USA
+KPMP    Pompano Beach, Pompano Beach Airpark  FL  USA
+KPNC    Ponca City, Ponca City Municipal Airport  OK  USA
+KPNE    Philadelphia, Northeast Philadelphia Airport  PA  USA
+KPNM    Princeton  MN  USA
+KPNS    Pensacola, Pensacola Regional Airport  FL  USA
+KPOB    Pope Air Force Base, Nc.  NC  USA
+KPOC    La Verne / Brackett  CA  USA
+KPOE    Fort Polk, La. Army   LA  USA
+KPOF    Poplar Bluff, Poplar Bluff Municipal Airport  MO  USA
+KPOU    Poughkeepsie, Dutchess County Airport  NY  USA
+KPPF    Parsons, Tri-City Airport  KS  USA
+KPQI    Presque Isle, Me.  ME  USA
+KPQL    Pascagoula, Lott International Airport  MS  USA
+KPQN    Pipestone Automatic Weather Observing / Reporting System   MN  USA
+KPRB    Paso Robles, Paso Robles Municipal Airport  CA  USA
+KPRC    Prescott, Love Field  AZ  USA
+KPRX    Paris / Cox Field  TX  USA
+KPSC    Pasco, Tri-Cities Airport  WA  USA
+KPSF    Pittsfield, Pittsfield Municipal Airport  MA  USA
+KPSK    Dublin / New River Valley  VA  USA
+KPSM    Pease Afb / Portsmout  NH  USA
+KPSP    Palm Springs, Palm Springs Regional Airport  CA  USA
+KPSX    Palacios Municipal  TX  USA
+KPTB    Petersburg Automatic Weather Observing / Reporting System   VA  USA
+KPTK    Pontiac, Oakland-Pontiac Airport  MI  USA
+KPTN    Patterson Memorial  LA  USA
+KPTT    Pratt Municipal  KS  USA
+KPTV    Porterville Automatic Weather Observing / Reporting System   CA  USA
+KPTW    Pottstown, Pottstown Limerick Airport  PA  USA
+KPUB    Pueblo, Pueblo Memorial Airport  CO  USA
+KPUC    Price, Carbon County Airport  UT  USA
+KPUW    Pullman / Moscow, Pullman / Moscow Regional Airport  WA  USA  4
+K    Ship Shoal 198g  LA  USA
+KS80    Grangeville   ID  USA
+KS88    Arlington Automatic Weather Observing / Reporting System   WA  USA
+KSAC    Sacramento, Sacramento Executive Airport  CA  USA
+KSAD    Safford, Safford Municipal Airport  AZ  USA
+KSAF    Santa Fe, Santa Fe County Municipal Airport  NM  USA
+KSAN    San Diego, San Diego International-Lindbergh Field  CA  USA
+KSAT    San Antonio, San Antonio International Airport  TX  USA
+KSAV    Savannah, Savannah International Airport  GA  USA
+KSBA    Santa Barbara, Santa Barbara Municipal Airport  CA  USA
+KSBD    Norton Afb / San Bern  CA  USA
+KSBM    Sheboygan, Sheboygan County Memorial Airport  WI  USA
+KSBN    South Bend, Michiana Regional Airport  IN  USA
+KSBP    San Luis Obispo, San Luis Obispo County-Mc Chesney Field  CA  USA
+KSBS    Steamboat Springs  CO  USA
+KSBY    Salisbury, Salisbury-Wicomico County Regional Airport  MD  USA
+KSCC    Deadhorse, Deadhorse Airport  AK  USA
+KSCH    Schenectady Airport  NY  USA
+KSCK    Stockton, Stockton Metropolitan Airport  CA  USA
+KSDA    Shenandoah Municipal  IA  USA
+KSDB    Sandberg,  CA  USA
+KSDF    Louisville, Standiford Field  KY  USA
+KSDL    Scottsdale, Scottsdale Airport  AZ  USA
+KSDM    San Diego, Brown Field Municipal Airport  CA  USA
+KSDY    Sidney-Richland  MT  USA
+KSEA    Seattle, Seattle-Tacoma International Airport  WA  USA
+KSEE    San Diego / Gillespie  CA  USA
+KSEG    Selinsgrove, Penn Valley Airport  PA  USA
+KSEM    Craig Field / Selma  AL  USA
+KSEP    Stephenville / Clark Field Municipal, Tx.  TX  USA
+KSEZ    Sedona Airport  AZ  USA
+KSFB    Sanford / Orlando  FL  USA
+KSFF    Spokane, Felts Field  WA  USA
+KSFM    Sanford Municipal Automatic Weather Observing / Reporting System   ME  USA
+KSFO    San Francisco, San Francisco International Airport  CA  USA
+KSFZ    Pawtucket Automatic Weather Observing / Reporting System   RI  USA
+KSGF    Springfield, Springfield Regional Airport  MO  USA
+KSGH    Springfield Municipal  OH  USA
+KSGT    Stuttgart Automatic Weather Observing / Reporting System   AR  USA
+KSGU    Saint George Automatic Weather Observing / Reporting System   UT  USA
+KSHD    Staunton / Shenandoah  VA  USA
+KSHL    Sheldon enton International Airport  FL  USA
+KSRR    Ruidoso Regional  NM  USA
+KSSC    Shaw Air Force Base, Sc.  SC  USA
+KSSF    San Antonio, Stinson Municipal Airport  TX  USA
+KSSI    Brunswick, Mc Kinnon Airport  GA  USA
+KSSU    White Sulphur Sprng  WV  USA
+KSTC    St Cloud, St Cloud Municipal Airport  MN  USA
+KSTJ    St Joseph, Rosecrans Memorial Airport  MO  USA
+KSTL    St Louis, Lambert-St Louis International Airport  MO  USA
+KSTP    St Paul, St Paul Downtown Holman Field  MN  USA
+KSTS    Santa Rosa, Sonoma County Airport  CA  USA
+KSTT    Charlotte Amalie, King Airport  VI  USA
+KSTX    Christiansted, Hamilton Airport  VI  USA
+KSUE    Sturgeon Bay  WI  USA
+KSUN    Hailey / Friedman Memorial  ID  USA
+KSUS    St Louis, Spirit Of St Louis Airport  MO  USA
+KSUU    Fairfield / Travis Afbca.  CA  USA
+KSUX    Sioux City, Sioux Gateway Airport  IA  USA
+KSVC    Silver City / Grant  NM  USA
+KSVE    Susanville Municipal  CA  USA
+KSVN    Hunter U. S. Army Airfield   GA  USA
+KSWD    Seward, Seward Airport  AK  USA
+KSWF    Newburgh / Stewart  NY  USA
+KSWO    Stillwater, Stillwater Municipal Airport  OK  USA
+KSXT    Sexton Summit,  OR  USA
+KSYR    Syracuse, Syracuse Hancock International Airport  NY  USA
+KSZL    Whiteman Air Force Base  MO  USA
+KSZN    Santa Cruz Island  CA  USA
+KT02    Houston, Clover Field  TX  USA
+KT31    Port Isabel, Port Isabel-Cameron County Airport  TX  USA
+KT46    South Brazos A70  TX  USA
+KT62    Tooele  UT  USA
+KTAD    Trinidad / Animas Co.  CO  USA
+KTAL    Tanana, Calhoun Memorial Airport  AK  USA
+KTAN    Taunton, Taunton Municipal Airport  MA  USA
+KTBN    Fort Leonard Wood  MO  USA
+KTBW    Tampa Bay Area, Fl.  FL  USA
+KTCC    Tucumcari, Tucumcari Municipal Airport  NM  USA
+KTCL    Tuscaloosa, Tuscaloosa Municipal Airport  AL  USA
+KTCM    Tacoma / Mc Chord Air Force Base, Wa.  WA  USA
+KTCS    Truth Or Consequences, Truth Or Consequences Municipal Airport  NM  USA
+KTDO    Toledo-Winlock Memorial  WA  USA
+KTDZ    Toledo, Metcalf Field  OH  USA
+KTEB    Teterboro, Teterboro Airport  NJ  USA
+KTEX    Telluride Regional  CO  USA
+KTFX   Marina  UT  USA
+KU24    Delta  UT  USA
+KU28    Green River Range   UT  USA
+KU31    Austin  NV  USA
+KU67    Roosevelt, Ut  UT  USA
+KU71    Vernal  UT  USA
+KU73    Jerome, Jerome County Airport  ID  USA
+KU78    Soda Springs / Tigert  ID  USA
+KUAO    Aurora, Aurora State Airport  OR  USA
+KUCA    Utica, Oneida County Airport  NY  USA
+KUEX    Grand Island Nexrad  NE  USA
+KUGN    Chicago / Waukegan  IL  USA
+KUIL    Quillayute, Quillayute State Airport  WA  USA
+KUIN    Quincy Muni / Baldwin  IL  USA
+KUKI    Ukiah Municipal Automatic Weather Observing / Reporting System   CA  USA
+KULM    New Ulm Municipal Automatic Weather Observing / Reporting System   MN  USA
+KUNO    West Plains, West Plains Municipal Airport  MO  USA
+KUNV    State College  PA  USA
+KUTS    Huntsville, Huntsville Municipal Airport  TX  USA
+KUUU    Newport, Newport State Airport  RI  USA
+KVAD    Moody Air Force Base, Ga  GA  USA
+KVAY    Mount Holly, South Jersey Regional Airport  NJ  USA
+KVBG    Vandenberg Air Force Base, Ca.  CA  USA
+KVBT    Bentonville Automatic Weather Observing / Reporting System   AR  USA
+KVCT    Victoria, Victoria Regional Airport  TX  USA
+KVCV    George Afb / Victorvi  CA  USA
+KVEL    Vernal, Vernal Airport  UT  USA
+KVIH    Rolla / Vichy, Rolla National Airport  MO  USA
+KVIS    Visalia Municipal Automatic Weather Observing / Reporting System   CA  USA
+KVJI    Abington  VA  USA
+KVKS    Vicksburg Municipal  MS  USA
+KVLD    Valdosta Regional  GA  USA
+KVNY    Van Nuys, Van Nuys Airport  CA  USA
+KVOK    Volk / Camp Douglas  WI  USA
+KVPC    Cartersville, Cartersville Airport  GA  USA
+KVPS    Valparaiso / Eglin Air Force Base, Fl.  FL  USA
+KVPZ    Valparaiso, Porter County Municipal Airport  IN  USA
+KVQN    Volens  VA  USA
+KVRB    Vero Beach, Vero Beach Municipal Airport  FL  USA
+KVRX    Vermillion Area  LA  USA
+KVSF    Springfield, Hartness State Springfield Airport  VT  USA
+KVTN    Valentine, Miller Field  NE  USA
+KVTX    Los Angeles Nexrad  CA  USA
+KVUO    Vancouver, Pearson Airpark  WA  USA
+KVUW    Eugene Island  LA  USA
+KW08    Weirwood LDSP    Split / Resnik  Croatia
+LDVA    Varazdin  Croatia
+LDZA    Zagreb / Pleso  Croatia
+LDZD    Zadar / Zemunik  Croatia
+LEAB    Albacete / Los Llanos  Spain
+LEAL    Alicante / El Altet  Spain
+LEAM    Almeria / Aeropuerto  Spain
+LEAS    Asturias / Aviles  Spain
+LEBA    Cordoba / Aeropuerto  Spain
+LEBB    Bilbao / Sondica  Spain
+LEBG    Burgos / Villafria  Spain
+LEBL    Barcelona / Aeropuerto  Spain
+LEBZ    Badajoz / Talavera La Real  Spain
+LECH    Calamocha  Spain
+LECO    La Coruna / Alvedro  Spain
+LECV    Madri-Colmenar  Spain
+LEGE    Gerona / Costa Brava  Spain
+LEGR    Granada / Aeropuerto  Spain
+LEGT    Madrid / Getafe  Spain
+LEHI    Hinojosa Del Duque  Spain
+LEIB    Ibiza / Es Codola  Spain
+LEJR    Jerez De La Fronteraaeropuerto  Spain
+LELC    Murcia / San Javier  Spain
+LELL    Sabadell  Spain
+LELN    Leon / Virgen Del Camino  Spain
+LELO    Logrono / Agoncillo  Spain
+LEMD    Madrid / Barajas  Spain
+LEMG    Malaga / Aeropuerto  Spain
+LEMH    Menorca / Mahon  Spain
+LEMO    Moron De La Frontera  Spain
+LEPA    Palma De Mallorca / Son San Juan  Spain
+LEPP    Pamplona / Noain  Spain
+LERI    Murcia / Alcantarilla  Spain
+LERS    Reus / Aeropuerto  Spain
+LERT    Rota  Spain
+LESA    Salamanca / Matacan  Spain
+LESO    San Sebastian / Fuenterrabia  Spain
+LEST    Santiago / Labacolla  Spain
+LETO    Madrid / Torrejon  Spain
+LEVC    Valencia / Aeropuerto  Spain
+LEVD    Valladolid / Villanubla  Spain
+LEVS    Madrid / Cuatro Vientos  Spain
+LEVT    Vitoria  Spain
+LEVX    Vigo / Peinador  Spain
+LEXJ    Santander / Parayas  Spain
+LEZA    Zaragoza United States Air Force Operated Base In Foreign Country   Spain
+LEZG    Zaragoza / Aeropuerto  Spain
+LEZL    Sevilla / San Pablo  Spain
+LFAT    Le Touquet  France
+LFBA    Agen  France
+LFBC    Cazaux  France
+LFBD    Bordeaux / Merignac  France
+LFBE    Bergerac  France
+LFBF    Toulouse / Francazal  France
+LFBG    Cognac  France
+LFBH    La Rochelle  France
+LFBI    Poitiers  France
+LFBK    Montlucon / Gueret  France
+LFBL    Limoges  France
+LFBM    Mont-De-Marsan  France
+LFBN    Niort  FrLFOW    Saint-Quentin  France
+LFPB    Paris / Le Bourget  France
+LFPC    Creil Fafb   France
+LFPG    Paris-Aeroport Charles De Gaulle  France
+LFPM    Melun  France
+LFPN    Toussus Le Noble  France
+LFPO    Paris-Orly  France
+LFPV    Villacoublay  France
+LFPW    Paris Met Center  France
+LFQB    Troyes  France
+LFQG    Nevers  France
+LFQH    Chatillon-Sur-Seine  France
+LFQI    Cambrai  France
+LFQQ    Lille  France
+LFQV    Charleville  France
+LFRA    Angers  France
+LFRB    Brest  France
+LFRC    Cherbourg / Maupertus  France
+LFRD    Dinard  France
+LFRH    Lann Bihoue  France
+LFRI    La Roche-Sur-Yon  France
+LFRJ    Landivisiau  France
+LFRK    Caen  France
+LFRL    Lanveoc Poulmic  France
+LFRM    Le Mans  France
+LFRN    Rennes  France
+LFRO    Lannion / Servel  France
+LFRQ    Quimper  France
+LFRS    Nantes  France
+LFRT    Saint-Brieuc  France
+LFRU    Morlaix / Ploujean  France
+LFRZ    St-Nazaire  France
+LFSA    Besancon  France
+LFSB    Bale-Mulhouse  France
+LFSC    Colmar  France
+LFSD    Dijon  France
+LFSF    Metz / Frescaty  France
+LFSI    St-Dizier  France
+LFSL    Toul / Rosieres  France
+LFSN    Nancy / Essey  France
+LFSO    Nancy / Ochey  France
+LFSQ    Belfort  France
+LFSR    Reims  France
+LFST    Strasbourg  France
+LFSX    Luxeuil  France
+LFTH    Hyeres  France
+LFTU    St-Raphael  France
+LFTW    Nimes / Garons  France
+LFVP    Saint-Pierre  Saint Pierre and Miquelon
+LFXA    Amberieu  France
+LFXI    Airport  France
+LFYR    Romorantin  France
+LGAD    Andravida Airport   Greece
+LGAL    Alexandroupoli Airport   Greece
+LGAT    Athinai Airport   Greece
+LGBL    Anchialos Airport   Greece
+LGEL    Elefsis Airport   Greece
+LGHI    Chios Airport   Greece
+LGIR    Heraklion Airport   Greece
+LGKA    Kastoria Airport   Greece
+LGKF    Kefalhnia Airport   Greece
+LGKL    Kalamata Airport   Greece
+LGKO    Kos Airport   Greece
+LGKR    Kerkyra Airport   Greece
+LGKV    Chrysoupoli Airport   Greece
+LGKZ    Kozani Airport   Greece
+LGLM    Limnos Airport   Greece
+LGLR    Larissa Airport   Greece
+LGMT    Mytilini Airport   Greece
+LGPZ    Aktio Gela  Italy
+LICM    Calopezzati   Italy
+LICO    Cozzo Spadaro  Italy
+LICP    Palermo Boccadifalco  Italy
+LICR    Reggio Calabria  Italy
+LICT    Trapani / Birgi  Italy
+LICU    Ustica  Italy
+LICZ    Catania / Sigonella  Italy
+LIEA    Alghero  Italy
+LIEB    Capo Bellavista  Italy
+LIEC    Capo Carbonara  Italy
+LIED    Decimomannu  Italy
+LIEE    Cagliari / Elmas  Italy
+LIEF    Capo Frasca  Italy
+LIEG    Guardiavecchia  Italy
+LIEH    Capo Caccia  Italy
+LIEL    Capo S. Lorenzo  Italy
+LIEN    Fonni  Italy
+LIEO    Olbia / Costa Smeralda  Italy
+LIEP    Perdasdefogu  Italy
+LIMC    Milano / Malpensa  Italy
+LIME    Bergamo / Orio Al Serio  Italy
+LIMF    Torino / Caselle  Italy
+LIMG    Albenga  Italy
+LIMH    Pian Rosa  Italy
+LIMJ    Genova / Sestri  Italy
+LIMK    Torino / Bric Della Croce  Italy
+LIML    Milano / Linate  Italy
+LIMN    Novara / Cameri  Italy
+LIMO    Monte Bisbino  Italy
+LIMS    Piacenza  Italy
+LIMT    Passo Della Cisa  Italy
+LIMU    Capo Mele  Italy
+LIMV    Passo Dei Giovi  Italy
+LIMY    Monte Malanotte  Italy
+LIPA    Aviano  Italy
+LIPB    Bolzano  Italy
+LIPC    Cervia  Italy
+LIPD    Udine / Campoformido  Italy
+LIPE    Bologna / Borgo Panigale  Italy
+LIPF    Ferrara  Italy
+LIPH    Treviso / S. Angelo  Italy
+LIPI    Udine / Rivolto  Italy
+LIPK    Forli  Italy
+LIPL    Brescia / Ghedi  Italy
+LIPP    Dova Area Control Center  Italy
+LIPQ    Ronchi Dei Legionari  Italy
+LIPR    Rimini  Italy
+LIPS    Treviso / Istrana  Italy
+LIPT    Vicenza  Italy
+LIPX    Verona / Villafranca  Italy
+LIPY    Falconara  Italy
+LIPZ    Venezia / Tessera  Italy
+LIQB    Arezzo  Italy
+LIQC    Capri  Italy
+LIQD    Porretta Pass  Italy
+LIQI    Gran Sasso Mountain Range   Italy
+LIQJ    Civitavecchia  Italy
+LIQK    Capo Palinuro  Italy
+LIQN    Rieti  Italy
+LIQO    Monte Argentario  Italy
+LIQP    Isola Di Palmaria  Italy
+LIQR    Radicofani  Italy
+LIQV    Volterra  Italy
+LIQW    Sarzana / Luni  Italy
+LIQZ    Ponza  Italy
+LIRA    Roma / Ciampino  Italy
+LIRB    Vigna Di Valle  Italy
+LIRE    Pratica Di Mare  Italy
+LIRF    Roma Fiumicino  Italy
+LIRG    Guidonia  IAeroporto  Portugal
+LPFU    Funchal / S. Catarina  Portugal
+LPHR    Horta / Castelo Branco Acores   Portugal
+LPLA    Lajes Acores   Portugal
+LPPD    Ponta Delgada / Nordela Acores   Portugal
+LPPR    Porto / Pedras Rubras  Portugal
+LPPS    Porto Santo  Portugal
+LPPT    Lisboa / Portela  Portugal
+LPVR    Vila Real  Portugal
+LQBI    Bihac  Yugoslavia
+LQBK    Banja Luka  Yugoslavia
+LQLV    Livno  Bosia and Herzegovina
+LQMO    Mostar  Yugoslavia
+LQSA    Sarajevo / Butmir  Yugoslavia
+LQTZ    Tuzla  Yugoslavia
+LRAR    Arad  Romania
+LRBC    Bacau  Romania
+LRBM    Baia Mare  Romania
+LRBS    Bucuresti / Imh  Romania
+LRCK    Kogalniceanu  Romania
+LRCL    Cluj-Napoca  Romania
+LRCS    Caransebes  Romania
+LRCV    Craiova  Romania
+LRIA    Iasi  Romania
+LROD    Oradea  Romania
+LROP    Bucuresti Otopeni  Romania
+LRSB    Sibiu  Romania
+LRSM    Satu Mare  Romania
+LRSV    Suceava / Salcea  Romania
+LRTC    Tulcea  Romania
+LRTM    Tirgu Mures  Romania
+LRTR    Timisoara  Romania
+LSGG    Geneve-Cointrin  Switzerland
+LSGL    Lausanne  Switzerland
+LSGN    Neuchatel  Switzerland
+LSGS    Sion  Switzerland
+LSMP    Payerne  Switzerland
+LSZA    Lugano  Switzerland
+LSZB    Bern / Belp   Switzerland
+LSZH    Zurich-Kloten  Switzerland
+LTAB    Ankara / Guvercin Lik  Turkey
+LTAC    Ankara / Esenboga  Turkey
+LTAD    Ankara / Etimesgut  Turkey
+LTAE    Murted Tur-Afb   Turkey
+LTAF    Adana / Sakirpasa  Turkey
+LTAG    Adana / Incirlik  Turkey
+LTAH    Afyon  Turkey
+LTAI    Antalya  Turkey
+LTAJ    Gaziantep  Turkey
+LTAK    Iskenderun  Turkey
+LTAN    Konya  Turkey
+LTAP    Merzifon  Turkey
+LTAQ    Samsun  Turkey
+LTAR    Sivas  Turkey
+LTAS    Zonguldak  Turkey
+LTAT    Malatya / Erhac  Turkey
+LTAU    Kayseri / Erkilet  Turkey
+LTAV    Sivrihisar  Turkey
+LTAW    Tokat  Turkey
+LTAY    Cardak  Turkey
+LTBA    Istanbul / Ataturk  Turkey
+LTBD    Aydin  Turkey
+LTBE    Bursa  Turkey
+LTBF    Balikesir  Turkey
+LTBG    Bandirma  Turkey
+LTBH    Canakkale  Turkey
+LTBI    Eskisehir  Turkey
+LTBJ    Izmir / Adnan Menderes  Turkey
+LTBL    Izmir / Cigli  Turkey
+LTBM    Isparta  Turkey
+LTBO    Usak SR    Santa Rosa De Copan  Honduras
+MHTE    Tela  Honduras
+MHTG    Tegucigalpa  Honduras
+MHYR    Yoro  Honduras
+MKJP    Kingston / Norman Manley  Jamaica
+MKJS    Montego Bay / Sangster  Jamaica
+MMAA    Acapulco / G. Alvarez  Mexico
+MMAN    Aerop. Internacional Monterrey, N. L.  Mexico
+MMAS    Aguascalientes, Ags.  Mexico
+MMBT    Bahias De Huatulco   Mexico
+MMCB    Cuernavaca, Mor.  Mexico
+MMCE    Ciudad Del Carmen   Mexico
+MMCL    Culiacan, Sin.  Mexico
+MMCM    Chetumal, Q. Roo  Mexico
+MMCN    Santa Rosalia, B. C. S.  Mexico
+MMCP    Campeche, Camp.  Mexico
+MMCS    Ciudad Juarez International   Mexico
+MMCU    Chihuahua International Airport  Mexico
+MMCV    Ciudad Victoria Airport  Mexico
+MMCZ    Cozumel Civ / Mil   Mexico
+MMDO    Durango Airport  Mexico
+MMEP    Tepic, Nay.  Mexico
+MMGL    Don Miguel / Guadalaj  Mexico
+MMGM    Guaymas International Airport  Mexico
+MMHO    Hermosillo, Son.  Mexico
+MMIA    Colima   Mexico
+MMIO    Saltillo, Coah.  Mexico
+MMLC    Lazaro Cardenas  Mexico
+MMLM    Los Mochis Airport  Mexico
+MMLO    Del Bajio / Leon  Mexico
+MMLP    La Paz International Airport  Mexico
+MMLT    Loreto, B. C. S.  Mexico
+MMMA    Matamoros International   Mexico
+MMMD    Aerop. Internacional Merida, Yuc  Mexico
+MMML    Mexicali International Airport   Mexico
+MMMM    Morelia New  Mexico
+MMMT    Minatitlan  Mexico
+MMMV    Monclova, Coah.  Mexico
+MMMX    Mexico City / Licenci  Mexico
+MMMY    Monterrey / Gen Maria  Mexico
+MMMZ    Mazatlan / G. Buelna  Mexico
+MMNL    Nuevo Laredo International   Mexico
+MMOX    Oaxaca / Xoxocotlan  Mexico
+MMPB    Puebla, Pue.  Mexico
+MMPG    Piedras Negras, Coah.  Mexico
+MMPN    Uruapan / Gen Rayon  Mexico
+MMPR    Puerto Vallarta / Lic  Mexico
+MMPS    Puerto Escondido   Mexico
+MMQT    Queretaro, Qro.  Mexico
+MMRX    Reynosa International Airport   Mexico
+MMSD    San Jose Del Cabo   Mexico
+MMSP    San Luis Potosi, S. L. P.  Mexico
+MMTC    Torreon, Coah.  Mexico
+MMTG    Tuxtla Gutierrez, Chis.  Mexico
+MMTJ    Tijuana International Airport   Mexico
+MMTL    Tulancingo   Mexico
+MMTM    Tampico YGF    Freeport, Grand Bahama  Bahamas
+MYGW    West End, Grand Bahama  Bahamas
+MYIG    Matthew Town, Inagua  Bahamas
+MYNN    Nassau Airport  Bahamas
+MYSM    Cockburn Town, San Salvador  Bahamas
+MZBZ    Belize / Phillip Goldston Intl. Airport  Belize 
+NCRG    Rarotonga  Cook Islands
+NEXC    Charleston, Navelexcen  SC  United States
+NFFN    Nandi  Fiji
+NFNA    Nausori  Fiji
+NFNK    Lakemba  Fiji
+NFNR    Rotuma  Fiji
+NFTF    Fua'Amotu  Tonga
+NFTL    Haapai  Tonga
+NGBR    Beru  Kiribati
+NGFO    Nanumea  Tuvalu
+NGFU    Funafuti  Tuvalu
+NGTA    Tarawa  Kiribati
+NGTR    Arorae  Kiribati
+NGTU    Butaritari  Kiribati
+NIUE    Alofi / Niue  Cook Islands
+NLWF    Maopoopo Ile Futuna   France
+NLWW    Hihifo Ile Wallis   France
+NSAP    Apia / Upolu Island  Samoa
+NSFA    Faleolo Intl / Apia  Samoa
+NSTU    Pago Pago / Int. Airp.  United States
+NTAA    Tahiti-Faaa  French Polynesia
+NTAT    Tubuai  French Polynesia
+NTTB    Bora-Bora  French Polynesia
+NTTG    Rangiroa / Tuamoto Island  French Polynesia
+NTTO    Hao  French Polynesia
+NTTX    Mururoa  French Polynesia
+NVSC    Sola Vanua Lava   Vanuatu
+NVSL    Lamap Malekula   Vanuatu
+NVSS    Pekoa Airport Santo   Vanuatu
+NVVV    Bauerfield Efate   Vanuatu
+NWWE    Moue Ile Des Pins   New Caledonia
+NWWK    Koumac Nlle-Caledonie   New Caledonia
+NWWL    Ouanaham Ile Lifou   New Caledonia
+NWWN    Noumea Nlle-Caledonie   New Caledonia
+NWWR    La Roche Ile Mare   New Caledonia
+NWWV    Ouloup Ile Ouvea   New Caledonia
+NWWW    La Tontouta Nlle-Caledonie   New Caledonia
+NZAA    Auckland Airport  New Zealand
+NZCH    Christchurch  New Zealand
+NZCI    Chatham Island  New Zealand
+NZCM    Williams Field  Antarctic
+NZDN    Dunedin Aerodrome  New Zealand
+NZGS    Gisborne Aerodrome  New Zealand
+NZHK    Hokitika Aerodrome  New Zealand
+NZKI    Kaikoura   New Zealand
+NZNP    New Plymouth Aerodrome  New Zealand
+NZNV    Invercargill Aerodrome  New Zealand
+NZOH    Ohakea  New Zealand
+NZPP    Paraparaumu Aerodrome  New Zealand
+NZRN    Raoul Island, Kermadec Island  New Zealand
+NZRO    Rotorua Aerodrome  New Zealand
+NZTG    Tauranga Aerodro, Islamic Republic of
+OIMT    Tabas  Iran, Islamic Republic of
+OING    Gorgan  Iran, Islamic Republic of
+OINR    Ramsar  Iran, Islamic Republic of
+OISA    Abadeh  Iran, Islamic Republic of
+OISF    Fasa  Iran, Islamic Republic of
+OISS    Shiraz  Iran, Islamic Republic of
+OITK    Khoy  Iran, Islamic Republic of
+OITR    Orumieh  Iran, Islamic Republic of
+OITS    Saghez  Iran, Islamic Republic of
+OITT    Tabriz  Iran, Islamic Republic of
+OITZ    Zanjan  Iran, Islamic Republic of
+OIYY    Yazd  Iran, Islamic Republic of
+OIZB    Zabol  Iran, Islamic Republic of
+OIZC    Chahbahar  Iran, Islamic Republic of
+OIZH    Zahedan  Iran, Islamic Republic of
+OIZI    Iranshahr  Iran, Islamic Republic of
+OIZJ    Jask  Iran, Islamic Republic of
+OJAI    Queen Alia Airport  Jordan
+OJAM    Amman Airport  Jordan
+OJAQ    Aqaba Airport  Jordan
+OJBD    Irbid  Jordan
+OJHF    H-'Safawi  Jordan
+OJHR    H-'Irwaished  Jordan
+OJMF    Mafraq  Jordan
+OJMN    Ma'An  Jordan
+OKBK    Kuwait Internationalairport  Kuwait
+OLBA    Beyrouth Aeroport   Lebanon
+OMAA    Abu Dhabi International Airport  United Arab Emirates
+OMAB    Buhasa  United Arab Emirates
+OMAD    Abu Dhabi Bateen Airport  United Arab Emirates
+OMAL    Al Ain International Airport  United Arab Emirates
+OMDB    Dubai International Airport  United Arab Emirates
+OMFJ    Fujairah  United Arab Emirates
+OMRK    Ras Al Khaimah International Airport  United Arab Emirates
+OMSJ    Sharjah International Airport  United Arab Emirates
+OOBR    Buraimi  Oman
+OOFD    Fahud  Oman
+OOKB    Khassab  Oman
+OOMA    Masirah  Oman
+OOMS    Seeb, International Airport  Oman
+OOSA    Salalah  Oman
+OOSH     Sohar Majis  Oman
+OOSQ    Saiq  Oman
+OOSR    Sur  Oman
+OOTH    Thumrait  Oman
+OPDI    Dera Ismail Khan  Pakistan
+OPJA    Jacobabad  Pakistan
+OPJI    Jiwani  Pakistan
+OPKC    Karachi Airport  Pakistan
+OPKD    Hyderabad Airport  Pakistan
+OPLA    Lahore Airport  Pakistan
+OPLH    Lahore City  Pakistan
+OPMI    Mianwali  Pakistan
+OPMT    Multan  Pakistan
+OPNH    Nawabshah  Pakistan
+OPPG    Panjgur  Pakistan
+OPPS    Peshawar  Pakistan
+OPQT      Angoon  AK  USA
+PAGS    Gustavus  AK  USA
+PAGT    Nightmute  AK  USA
+PAGY    Skagway  AK  USA
+PAHD    Homer / Municipal  AK  USA
+PAHN    Haines  AK  USA
+PAHO    Homer  AK  USA
+PAHP    Hooper Bay Automatic Weather Observing / Reporting System   AK  USA
+PAHS    Huslia  AK  USA
+PAHV    Healy River Airport  AK  USA
+PAHY    Hydaburg Seaplane  AK  USA
+PAHZ    Hayes River  AK  USA
+PAII    Egegik Automatic Weather Observing / Reporting System   AK  USA
+PAIK    Kinana / Bob Baker Me  AK  USA
+PAIL    Iliamna / Iliamna Airport  AK  USA
+PAIM    Indian Mountain Airways Facilities Sector  AK  USA
+PAIN    Mckinley Park  AK  USA
+PAIZ    Lazy Mtn / Wolverine  AK  USA
+PAJB    Biorka Island Supplementary Aviation Weather Reporting Station  AK  USA
+PAJN    Juneau, Juneau International Airport  AK  USA
+PAJO    Johnstone Point  AK  USA
+PAJV    Sutton  AK  USA
+PAKN    King Salmon, King Salmon Airport  AK  USA
+PAKO    Nikolski  AK  USA
+PAKP    Anaktuvuk Pass  AK  USA
+PAKT    Ketchikan, Ketchikan International Airport  AK  USA
+PAKU    Kuparuk Airport   AK  USA
+PAKW    Klawock  AK  USA
+PALH    Lake Hood Seaplane  AK  USA
+PALJ    Port Alsworth  AK  USA
+PALK    Snowshoe Lake  AK  USA
+PALR    Chandalar Lake  AK  USA
+PALU    Cape Lisburne Airways Facilities Sector  AK  USA
+PALV    Big River Lake  AK  USA
+PAMC    Mcgrath  AK  USA
+PAMD    Middleton Island, Ak  AK  USA
+PAMH    Minchumina  AK  USA
+PAML    Manley Hot Springs   AK  USA
+PAMR    Merrill Field  AK  USA
+PAMX    Mccarthy  AK  USA
+PAMY    Mekoryuk  AK  USA
+PANC    Anchorage, Anchorage International Airport  AK  USA
+PANI    Aniak  AK  USA
+PANN    Nenana / Mun.  AK  USA
+PANR    Funter Bay Seaplane  AK  USA
+PANT    Annette Island  AK  USA
+PANV    Annik Airport  AK  USA
+PAOH    Hoonah Seaplane  AK  USA
+PAOM    Nome, Nome Airport  AK  USA
+PAOR    Northway, Northway Airport  AK  USA
+PAOT    Kotzebue, Wien Memorial Airport  AK  USA
+PAPC    Port Clarence  AK  USA
+PAPG    Petersburg  AK  USA
+PAPH    Port Heiden  AK  USA
+PAPM    Platinum  AK  USA
+PAPO    Point Hope Automatic Weather Observing /  USA
+PJON    Johnston Island  USA Minor Outlying Islands
+PKMJ    Majuro / Marshall Island  Marshall Islands
+PKWA    Kwajalein / Bucholz  Marshall Islands
+PLCH    Christmas / Cassidy  New Zealand
+PLFA    Fanning Island  New Zealand
+PMDY    Midway Island Naval Air Facility  HI  USA
+POLI    Oliktok Distant Early Warning   AK  USA
+PPIZ    Point Lay  AK  USA
+PTKK    Truk Intl / Moen Island  Mirconesia, Federated States of
+PTPN    Ponape Island  Mirconesia, Federated States of
+PTRO    Koror / Palau Island  Mirconesia, Federated States of
+PTSA    Kusaie / Kosrae East  Mirconesia, Federated States of
+PTTK    Kosrae Carolines / V  Mirconesia, Federated States of
+PTYA    Yap Island  Mirconesia, Federated States of
+PWAK    Wake Island Airfld  USA  Minor Outlying Islands 
+RCAY    Kangshan Tw-Afb   Taiwan, Province of China
+RCBS    Chinmem / Shatou Air Force Base   Taiwan, Province of China
+RCDC    Pingtung South Air Force Base   Taiwan, Province of China
+RCFG    Mazu =    Taiwan, Province of China
+RCFN    Feng Nin Tw-Afb   Taiwan, Province of China
+RCFS    Chia Tung  Taiwan, Province of China
+RCGM    Taoyuan Ab =   Taiwan, Province of China
+RCKH    Kaohsiung International Airport  Taiwan, Province of China
+RCKU    Chiayi Tw-Afb   Taiwan, Province of China
+RCKW    Hengchun  Taiwan, Province of China
+RCLG    Taichung Tw-Afb   Taiwan, Province of China
+RCLM    Dongsha =    Taiwan, Province of China
+RCLY    Lan Yu =    Taiwan, Province of China
+RCMJ    Donggang =    Taiwan, Province of China
+RCMQ    Wuchia Observatory  Taiwan, Province of China
+RCMS    Ilan  Taiwan, Province of China
+RCNN    Tainan Tw-Afb   Taiwan, Province of China
+RCNO    Dongshi  Taiwan, Province of China
+RCPO    Hsinchu Tw-Afb   Taiwan, Province of China
+RCQC    Makung Ab =    Taiwan, Province of China
+RCQS    Chihhang Tw-Afb   Taiwan, Province of China
+RCSQ    Pingtung North Air Force Base   Taiwan, Province of China
+RCSS    Sungshan / Taipei  Taiwan, Province of China
+RCTP    Chiang Kai Shek  Taiwan, Province of China
+RCUK    Pa Kuei / Bakuai  Taiwan, Province of China
+O Rokaf Wc  Korea, Republic of
+RKSG    Pyongtaek Ab  Korea, Republic of
+RKSH    Command Post Tango  Korea, Republic of
+RKSJ    Taesong-San  Korea, Republic of
+RKSL    Seoul  Korea, Republic of
+RKSM    Seoul E Ab  Korea, Republic of
+RKSO    Osan Ab  Korea, Republic of
+RKSP    Paengnyongdo Ab  Korea, Republic of
+RKSQ    Yeonpyeungdo  Korea, Republic of
+RKSS    Seoul / Kimp'O International Airport  Korea, Republic of
+RKST    Camp Casey / Tongduch  Korea, Republic of
+RKSU    Yeoju Range  Korea, Republic of
+RKSV    Pyoripsan  Korea, Republic of
+RKSW    Suwon Ab  Korea, Republic of
+RKSX    Camp Stanley / H-  Korea, Republic of
+RKSY    Yongsan / H- Hp  Korea, Republic of
+RKTA    Andong  Korea, Republic of
+RKTB    Paekado  Korea, Republic of
+RKTD    Taejon Kor-Afb   Korea, Republic of
+RKTE    Songmu Ab  Korea, Republic of
+RKTF    Taejon  Korea, Republic of
+RKTG    Camp Walker H-   Korea, Republic of
+RKTH    Pohang Ab  Korea, Republic of
+RKTI    Jung Won Rok-Ab   Korea, Republic of
+RKTM    Mangilsan Ab  Korea, Republic of
+RKTN    Taegu Ab  Korea, Republic of
+RKTP    Hae Mi  Korea, Republic of
+RKTS    Sangju  Korea, Republic of
+RKTT    Taegu  Korea, Republic of
+RKTU    Chongju Ab  Korea, Republic of
+RKTV    Chungju  Korea, Republic of
+RKTW    Woong Cheon  Korea, Republic of
+RKTY    Yechon Ab  Korea, Republic of
+RKXX    Nightmare Range  Korea, Republic of
+ROAH    Naha Airport  Japan
+RODE    Iejima Auxiliary Ab  Japan
+RODN    Kadena Ab  Japan
+ROHF    Hamby U. S. Army Airfield  Japan
+ROIG    Ishigakijima  Japan
+ROKJ    Kumejima  Japan
+ROMD    Minamidaitojima  Japan
+ROMY    Miyakojima  Japan
+RORA    Aguni Island  Japan
+RORH    Hateruma  Japan
+RORK    Kitadaito Island  Japan
+RORS    Shimoji-Shima Island  Japan
+RORT    Tarama Island  Japan
+RORY    Yoron Island  Japan
+ROTM    Futenma Marine Corps Air Facility  Japan
+ROYN    Yonaguni Airport  Japan
+RPLB    Subic Bay Weather Station  Philippines
+RPLI    Laoag  Philippines
+RPLL    Ninoy Aquino Inter-National Airport  Philippines
+RPMD    Davao Airport  Philippines
+RPMK    Clark Ab  Philippines
+RPMPSAVV    Viedma Aerodrome  Argentina
+SAWA    Lago Argentino Aerodrome  Argentina
+SAWD    Puerto Deseado Aerodrome  Argentina
+SAWE    Rio Grande B. A.  Argentina
+SAWG    Rio Gallegos Aerodrome  Argentina
+SAWH    Ushuaia Aerodrome  Argentina
+SAWJ    San Julian Aerodrome  Argentina
+SAWP    Perito Moreno Aerodrome  Argentina
+SAWR    Gobernador Gregores Aerodrome  Argentina
+SAWU    Santa Cruz Aerodrome  Argentina
+SAZA    Azul Airport  Argentina
+SAZB    Bahia Blanca Aerodrome  Argentina
+SAZD    Dolores Aerodrome  Argentina
+SAZE    Pigue Aerodrome  Argentina
+SAZG    General Pico Aerodrome  Argentina
+SAZH    Tres Arroyos  Argentina
+SAZM    Mar Del Plata Aerodrome  Argentina
+SAZN    Neuquen Aerodrome  Argentina
+SAZP    Pehuajo Aerodrome  Argentina
+SAZQ    Rio Colorado  Argentina
+SAZR    Santa Rosa Aerodrome  Argentina
+SAZS    Bariloche Aerodrome  Argentina
+SAZT    Tandil Aerodrome  Argentina
+SAZV    Villa Gesell  Argentina
+SAZY    Chapelco  Argentina
+SBAA    Conceicao Do Araguaia  Brazil
+SBAF    Afonsos Aeroporto   Brazil
+SBAN    Anapolis Braz-Afb   Brazil
+SBAR    Aracaju Aeroporto   Brazil
+SBAT    Alta Floresta Aeroporto   Brazil
+SBBC    Benjamin Constant  Brazil
+SBBE    Belem Aeroporto   Brazil
+SBBG    Bage Aeroporto   Brazil
+SBBH    Belo Horizonte Aeroporto   Brazil
+SBBI    Curitiba  Brazil
+SBBQ    Barbacena  Brazil
+SBBR    Brasilia Aeroporto   Brazil
+SBBU    Bauru  Brazil
+SBBV    Boa Vista Aeropor-To   Brazil
+SBBW    Barra Do Garcas  Brazil
+SBCC    Cachimbo  Brazil
+SBCF    Belo Horizonte  Brazil
+SBCG    Campo Grande Aeroporto   Brazil
+SBCJ    Carajas / Maraba  Brazil
+SBCO    Porto Alegre  Brazil
+SBCP    Campos  Brazil
+SBCR    Corumba  Brazil
+SBCT    Curitiba Aeroporto   Brazil
+SBCV    Caravelas Aeropor-To   Brazil
+SBCY    Cuiaba Aeroporto   Brazil
+SBCZ    Cruzeiro Do Sul  Brazil
+SBDN    Presidente Prudente  Brazil
+SBEG    Eduardo Gomes International  Brazil
+SBEK    Jacareacanga  Brazil
+SBES    S. P. Aldeia Aerodrome   Brazil
+SBFI    Foz Do Iguacu Aeroporto   Brazil
+SBFL    Florianopolis Aeroporto   Brazil
+SBFN    Fernaibia  Paraguay
+SGNA    Nueva Asuncion  Paraguay
+SKAR    Armenia / El Eden  Colombia
+SKAS    Puerto Asis  Colombia
+SKBG    Bucaramanga / Palonegro  Colombia
+SKBO    Bogota / Eldorado  Colombia
+SKBQ    Barranquilla / Ernestocortissoz  Colombia
+SKBU    Buenaventura  Colombia
+SKCC    Cucuta / Camilo Daza  Colombia
+SKCG    Cartagena / Rafael Nunez  Colombia
+SKCL    Cali / Alfonso Bonillaaragon  Colombia
+SKEJ    Barrancabermeja / Yariguies  Colombia
+SKIB    Ibague / Perales  Colombia
+SKIP    Ipiales / San Luis  Colombia
+SKLC    Apartado / Los Cedros  Colombia
+SKLT    Leticia / Vasquez Cobo  Colombia
+SKMD    Medellin / Olaya Herrera  Colombia
+SKMR    Monteria / Los Garzones  Colombia
+SKMU    Mitu  Colombia
+SKNV    Neiva / Benito Salas  Colombia
+SKPC    Puerto Carreno / A. Guauquea  Colombia
+SKPE    Pereira / Matecana  Colombia
+SKPP    Popayan / Guillermo  Colombia
+SKPS    Pasto / Antonio Narin  Colombia
+SKPV    Providencia Isla / El Embrujo  Colombia
+SKRG    Rionegro / J. M. Cordova  Colombia
+SKRH    Riohacha / Almirante Padilla  Colombia
+SKSJ    San Jose Del Guaviare  Colombia
+SKSM    Santa Marta / Simon Bolivar  Colombia
+SKSP    San Andres Isla / Sesquicentenario  Colombia
+SKUC    Arauca / Santiago Perez  Colombia
+SKUI    Quibdo / El Carano  Colombia
+SKVP    Valledupar / Alfonso Lopez  Colombia
+SKVV    Villavicencio / Vanguardia  Colombia
+SLAP    Apolo  Bolivia
+SLAS    Ascencion De Guarayos  Bolivia
+SLCA    Camiri  Bolivia
+SLCB    Cochabamba  Bolivia
+SLCN    Charana  Bolivia
+SLCO    Cobija  Bolivia
+SLCP    Concepcion  Bolivia
+SLET    Santa Cruz / El Trompillo  Bolivia
+SLGY    Guayaramerin  Bolivia
+SLJE    San Jose De Chiquitos  Bolivia
+SLJO    San Joaquin  Bolivia
+SLJV    San Javier  Bolivia
+SLLP    La Paz / Alto  Bolivia
+SLMG    Magdalena  Bolivia
+SLOR    Oruro  Bolivia
+SLPO    Potosi  Bolivia
+SLPS    Puerto Suarez  Bolivia
+SLRB    Robore  Bolivia
+SLRI    Riberalta  Bolivia
+SLRQ    Rurrenabaque  Bolivia
+SLRY    Reyes  Bolivia
+SLSA    Santa Ana  Bolivia
+SLSB    San Borja  Bolivia
+SLSI    San Ignacio De Velasco  Bolivia
+SLSM    San Ignacio De Moxoos  Brazil
+SYGT    Georgetown  Guyana
+SYTM    Timehri Airport  Guyana 
+TAKA    Takao Radar Site  Japan
+TAPA    Vc Bird International Airport Antigua  Antigua and Barbuda
+TBPB    Grantley Adams  Barbados
+TBPO    Bridgetown City   Barbados
+TDCF    Canefield Airport  Dominica
+TDPD    Melville Hall Airport  Dominica
+TDPR    Roseau  Dominica
+TFFF    Le Lamentin  Martinique
+TFFJ    Gustavia, Saint Barthelemy  Guadeloupe
+TFFR    Le Raizet, Guadeloupe  Guadeloupe
+TGPY    Point Salines Airport  Grenada
+TIST    C. Amalie / Truman, Saint Thomas  Puerto Rico
+TISX    Christiansted / Alex. Hamilton Field, Saint Croix  Puerto Rico
+TJBQ    Aquadilla / Borinquen  Puerto Rico
+TJMZ    Mayaguez / Eugenio  Puerto Rico
+TJNR    Roosevelt Roads, Naval Station  PR  United States
+TJPS    Ponce / Mercedita   Puerto Rico
+TJSJ    Luis Munoz Marin  Puerto Rico
+TKPK    Golden Rock  Saint Kitts and Nevis
+TKPN    Charlestown / Newcast  Antigua and Barbuda
+TLPC    Vigie  Saint Lucia
+TLPL    Hewanorra International Airport  Saint Lucia
+TNCA    Queen Beatrix Airport, Aruba  Aruba
+TNCB    Flamingo Airport, Bonaire  Netherlands Antilles
+TNCC    Hato Airport, Curacao  Netherlands Antilles
+TNCE    Roosevelt Airport Saint Eustatius  Netherlands Antilles
+TNCM    Juliana Airport, Saint Maarten  Netherlands Antilles
+TRPM    Blackburne / Plymouth  Antigua and Barbuda
+TTCP    Crown Pt./ Scarborou  Trinidad and Tobago
+TTPP    Piarco International Airport, Trinidad  Trinidad and Tobago
+TTPT    Crown Point Airport, Tobago  Trinidad and Tobago
+TUPJ    Beef Island, Tortola  Virgin Islands, British
+TVSV    Arnos Vale  Saint Vincent and the Grenadines 
+UAAA    Almaty  Kazakstan
+UAFF    Bishkek  Kyrgyzstan
+UAII    Shymkent  Kazakstan
+UAOO    Kzyl-Orda  Kazakstan
+UARR    Uralsk  Kazakstan
+UATA    Aralskoe More  Kazakstan
+UATT    Aktjubinsk  Kazakstan
+UBBB    Baku / Bine Airport  Azerbaijan
+UEEE    Jakutsk  Russian Federation
+UELL    Cul'Man  Russian Federation
+UGEE    Yerevan  Armenia
+UGGG    Tbilisi  Georgia
+UGMM    Muhrani  Georgia
+UHBP    Ekimchan  Russian Federation
+UHHH   war  India
+VECC    Calcutta / Dum Dum  India
+VECX    Car Nicobar  India
+VEGK    Gorakhpur  India
+VEGT    Gauhati  India
+VEGY    Gaya  India
+VEIM    Imphal Tulihal  India
+VEJH    Jharsuguda  India
+VEJS    Jamshedpur  India
+VELR    North Lakhimpur  India
+VEMN    Dibrugarh / Mohanbari  India
+VEPB    Port Blair  India
+VEPT    Patna  India
+VERC    M. O. Ranchi  India
+VGCB    Cox's Bazar  Bangladesh
+VGEG    Chittagong Patenga   Bangladesh
+VGIS    Ishurdi  Bangladesh
+VGJR    Jessore  Bangladesh
+VGRJ    Rajshahi  Bangladesh
+VGSY    Sylhet  Bangladesh
+VGTJ    Dhaka  Bangladesh
+VGZR    Kurmitola, Dia  Bangladesh
+VHCH    Cheung Chau  Hong Kong
+VHHH    Hong Kong International Airport  Hong Kong
+VIAG    Agra  India
+VIAL    Allahabad / Bamhrauli  India
+VIAR    Amritsar  India
+VIBN    Varanasi / Babatpur  India
+VIBY    Bareilly  India
+VICX    Kanpur / Chakeri  India
+VIDD    New Delhi / Safdarjung  India
+VIDP    New Delhi / Palam  India
+VIGR    Gwalior  India
+VIHR    Hissar  India
+VIJN    Jhansi  India
+VIJO    Jodhpur  India
+VIJP    Jaipur / Sanganer  India
+VIKO    Kota Aerodrome  India
+VILK    Lucknow / Amausi  India
+VIST    Satna  India
+VIUD    Udaipur Dabok  India
+VLAP    Attopeu  Laos People's Democratic Republic
+VLIP    Pakse  Laos People's Democratic Republic
+VLLB    Luang-Prabang  Laos People's Democratic Republic
+VLSB    Sayaboury  Laos People's Democratic Republic
+VLSK    Savannakhet  Laos People's Democratic Republic
+VLSV    Saravane  Laos People's Democratic Republic
+VLTK    Thakhek  Laos People's Democratic Republic
+VLVT    Vientiane  Laos People's Democratic Republic
+VMMC    Taipa  Macau
+VNBW    Bhairawa Airport  Nepal
+VNJL    Jumla  Nepal
+VNKT    Kathmandu Airport  Nepal
+VNPK    Pokhara Airport  Nepal
+VNSI    Simra Airport  Nepal
+VNSK    Surkhet  Nepal
+VNTJ    Taplejung  Nepal
+VNVT    Biratnagar Airport  Nepal
+VOBI    Bellary  India
+VOBZ    Vijayawada / Gannavaram  India
+VOCB    Coimbatore / Peelamedu  India
+VOCC    Cochin / Willingdon  India
+VOCP    Cuddapah  India
+VOHY    Hyderabad Airport  India
+VOMD    Madurai  India
+WAJI    Sarmi  Indonesia
+WAJJ    Jayapura / Sentani  Indonesia
+WAJW    Wamena / Wamena  Indonesia
+WAKK    Merauke / Mopah  Indonesia
+WAKT    Tanah Merah / Tanah Merah  Indonesia
+WAMA    Galela / Gamarmalamu  Indonesia
+WAMG    Gorontalo / Jalaluddin  Indonesia
+WAMH    Tahuna  Indonesia
+WAMI    Toli-Toli / Lalos  Indonesia
+WAML    Palu / Mutiara  Indonesia
+WAMM    Menado / Dr. Sam Ratulangi  Indonesia
+WAMP    Poso / Kasiguncu  Indonesia
+WAMT    Ternate / Babullah  Indonesia
+WAMW    Luwuk / Bubung  Indonesia
+WAPA    Amahai  Indonesia
+WAPH    Labuha / Taliabu  Indonesia
+WAPI    Saumlaki  Indonesia
+WAPN    Sanana  Indonesia
+WAPP    Ambon / Pattimura  Indonesia
+WAPR    Namlea  Indonesia
+WASF    Fak-Fak / Torea  Indonesia
+WASK    Kaimana / Utarom  Indonesia
+WASR    Manokwari / Rendani  Indonesia
+WASS    Sorong / Jefman  Indonesia
+WBGB    Bintulu  Malaysia
+WBGG    Kuching  Malaysia
+WBGR    Miri  Malaysia
+WBGS    Sibu  Malaysia
+WBKK    Kota Kinabalu  Malaysia
+WBKL    Labuan  Malaysia
+WBKS    Sandakan  Malaysia
+WBKT    Kudat  Malaysia
+WBKW    Tawau  Malaysia
+WBSB    Brunei Airport  Brunei Darussalam
+WIAA    Sabang / Cut Bau  Indonesia
+WIAG    Menggala / Astra Ksetra  Indonesia
+WIAM    Tasikmalaya / Cibeureum  Indonesia
+WIAR    Madiun / Iswahyudi  Indonesia
+WIAS    Malang / Abdul Rahkmansaleh  Indonesia
+WIBB    Pakanbaru / Simpangtiga  Indonesia
+WIIA    Curug / Budiarto  Indonesia
+WIIB    Bandung / Husein  Indonesia
+WIIH    Jakarta Halim Perdanakusuma  Indonesia
+WIII    Jakarta / Soekarno-Hatta  Indonesia
+WIIJ    Jogyakarta / Adisucipto  Indonesia
+WIIK    Kalijati  Indonesia
+WIIL    Cilacap  Indonesia
+WIIS    Semarang / Ahmadyani  Indonesia
+WIIT    Telukbetung / Beranti  Indonesia
+WIKD    Tanjungpandan / Buluh Tumbang  Indonesia
+WIKK    Pangkalpinang / Pangkalpinang  Indonesia
+WIKN    Tanjungpinang / Kijang  Indonesia
+WIKS    Singkep / Dabo  Indonesia
+WIMB    Gunung Sitoli / Binaka  Indonesia
+WIMG    Padang / Tabing  Indonesia
+WIMM    Medan / Polonia  Indonesia
+WIMS    Sibolga / Pinangsori  Indonesia
+WIOI    Singkawang Ii  YSNF    Norfolk Island Airport  Australia
+YSNW    Nowra Ran Air Station  Australia
+YSRI    Richmond Aus-Afb   Australia
+YSSY    Sydney Airport  Australia
+YSTW    Tamworth Airport  Australia
+YSWG    Wagga Airport  Australia
+YSWM    Williamtown Aerodrome  Australia 
+ZBAA    Beijing  China
+ZBHH    Hohhot  China
+ZBTJ    Tianjin / Zhangguizhu  China
+ZBYN    Taiyuan  China
+ZGCS    Changsha  China
+ZGGG    Guangzhou  China
+ZGHK    Haikou  China
+ZGKL    Guilin  China
+ZGNN    Nanning  China
+ZGOW    Shantou  China
+ZGSZ    Shenzhen  China
+ZGZJ    Zhanjiang  China
+ZHCC    Zhengzhou  China
+ZHHH    Wuhan  China
+ZKKC    Kimchaek  Korea, Democratic People's Republic of
+ZKPY    Pyongyang  Korea, Democratic People's Republic of
+ZLIC    Yinchuan  China
+ZLJQ    Jiuquan  China
+ZLSN    Xi'An  China
+ZLXN    Xining  China
+ZLYA    Yan An  China
+ZPPP    Kunming  China
+ZSAM    Xiamen  China
+ZSCN    Nanchang  China
+ZSFZ    Fuzhou  China
+ZSGZ    Ganzhou  China
+ZSHC    Hangzhou  China
+ZSNJ    Nanjing  China
+ZSOF    Hefei  China
+ZSQD    Qingdao  China
+ZSSS    Shanghai / Hongqiao  China
+ZSTN    Jinan  China
+ZUCK    Chongqing  China
+ZUGY    Guiyang  China
+ZULS    Lhasa  China
+ZUUU    Chengdu  China
+ZWHM    Hami  China
+ZWSH    Kashi  China
+ZWTN    Hotan  China
+ZWWW    Urum-Qi / Diwopu  China
+ZWYN    Yining  China
+ZYCC    Changchun  China
+ZYQQ    Qiqihar  China
+ZYTL    Dalian  China
+ZYTX    Shenyang / Taokian  China
diff --git a/metar/icao2.txt b/metar/icao2.txt
new file mode 100644
index 0000000..a381a8f
--- /dev/null
+++ b/metar/icao2.txt
@@ -0,0 +1,2925 @@
+LATI Tirana (Albania)
+FNLU Luanda (Angola)
+NZCM Williams Field (Antarctic)
+TAPA Vc Bird International Airport Antigua (Antigua and Barbuda)
+DAUA Adrar (Algeria)
+DABB Annaba (Algeria)
+DABC Constantine (Algeria)
+DAAG Dar-El-Beida (Algeria)
+DAUG Ghardaia (Algeria)
+DAUH Hassi-Messaoud (Algeria)
+DAUZ In Amenas (Algeria)
+DAOO Oran / Es Senia (Algeria)
+DAAT Tamanrasset / Aguenna (Algeria)
+DABS Tebessa (Algeria)
+DAON Tlemcen Zenata  (Algeria)
+SABE Aeroparque Bs. As. Aerodrome (Argentina)
+SAZB Bahia Blanca Aerodrome (Argentina)
+SAZS Bariloche Aerodrome (Argentina)
+SAVC Comodoro Rivadavia Aerodrome (Argentina)
+SAAC Concordia Aerodrome (Argentina)
+SACO Cordoba Aerodrome (Argentina)
+SARC Corrientes Aero. (Argentina)
+SADD Don Torcuato Aerodrome (Argentina)
+SAEZ Ezeiza Aerodrome (Argentina)
+SARF Formosa Aerodrome (Argentina)
+SARI Iguazu Aerodrome (Argentina)
+SASJ Jujuy Aerodrome (Argentina)
+SAZM Mar Del Plata Aerodrome (Argentina)
+SAME Mendoza Aerodrome (Argentina)
+SAZN Neuquen Aerodrome (Argentina)
+SARL Paso De Los Libres Aerodrome (Argentina)
+SARP Posadas Aero. (Argentina)
+SARE Resistencia Aero. (Argentina)
+SAWG Rio Gallegos Aerodrome (Argentina)
+SAWE Rio Grande B. A. (Argentina)
+SAAR Rosario Aerodrome (Argentina)
+SASA Salta Aerodrome (Argentina)
+SANU San Juan Aerodrome (Argentina)
+SANE Santiago Del Estero Aero. (Argentina)
+SAAV Sauce Viejo Aerodrome (Argentina)
+SAVT Trelew Aerodrome (Argentina)
+SANT Tucuman Aerodrome (Argentina)
+SAOR Villa Reynolds Aerodrome (Argentina)
+UGEE Yerevan (Armenia)
+TNCA Queen Beatrix Airport, Aruba (Aruba)
+YPAD Adelaide Airport (Australia)
+YBAS Alice Springs Aerodrome (Australia)
+YPPH Belmont Perth Airport  (Australia)
+YBBN Brisbane Airport M. O (Australia)
+YBRM Broome Airport (Australia)
+YPEA Bullsbrook Pearce Amo (Australia)
+YBCS Cairns Airport (Australia)
+YSCB Canberra (Australia)
+YPDN Darwin Airport (Australia)
+YSDU Dubbo (Australia)
+YMHB Hobart Airport (Australia)
+YPTN Katherine Aerodrome (Australia)
+YPLM Learmonth Airport (Australia)
+YMML Melbourne Airport (Australia)
+YSNF Norfolk Island Airport (Australia)
+YPPD Port Hedland Pardoo (Australia)
+YSRI Richmond Aus-Afb  (Australia)
+YBRK Rockhampton Airport (Australia)
+YSSY Sydney Airport (Australia)
+YBTL Townsville Amo (Australia)
+LOWG Graz-Thalerhof-Flughafen (Austria)
+LOWI Innsbruck-Flughafen (Austria)
+LOWK Klagenfurt-Flughafen (Austria)
+LOWL Linz / Hoersching-Flughafen (Austria)
+LOWS Salzburg-Flughafen (Austria)
+LOWW Wien / Schwechat-Flughafen (Austria)
+UBBB Baku / Bine Airport (Azerbaijan)
+MYGF Freeport, Grand Bahama (Bahamas)
+MYNN Nassau Airport (Bahamas)
+OBBI Bahrain International Airport  (Bahrain)
+VGEG Chittagong Patenga  (Bangladesh)
+VGZR Kurmitola, Dia (Bangladesh)
+TBPB Grantley Adams (Barbados)
+UMMS Minsk (Belarus)
+EVRA Riga Airport (Belarus)
+UMII Vitebsk (Belarus)
+EBAW Antwerpen / Deurne (Belgium)
+EBBE Beauvechain (Belgium)
+EBLG Bierset (Belgium)
+EBBT Brasschaat (Belgium)
+EBBR Bruxelles National (Belgium)
+EBCI Charleroi / Gosselies (Belgium)
+EBCV Chievres (Belgium)
+EBLB Elsenborn (Belgium)
+EBFS Florennes (Belgium)
+EBTN Goetsenhoven (Belgium)
+EBBL Kleine Brogel (Belgium)
+EBFN Koksijde (Belgium)
+EBOS Oostende Airport  (Belgium)
+EBDT Schaffen (Belgium)
+EBSP Spa / La Sauveniere (Belgium)
+MZBZ Belize / Phillip Goldston Intl. Airport (Belize)
+DBBB Cotonou (Benin)
+TXKF Bermuda (Bermuda)
+SLCA Camiri (Bolivia)
+SLCN Charana (Bolivia)
+SLCO Cobija (Bolivia)
+SLCB Cochabamba (Bolivia)
+SLCP Concepcion (Bolivia)
+SLLP La Paz / Alto (Bolivia)
+SLMG Magdalena (Bolivia)
+SLOR Oruro (Bolivia)
+SLPO Potosi (Bolivia)
+SLPS Puerto Suarez (Bolivia)
+SLRY Reyes (Bolivia)
+SLRI Riberalta (Bolivia)
+SLRB Robore (Bolivia)
+SLRQ Rurrenabaque (Bolivia)
+SLSI San Ignacio De Velasco (Bolivia)
+SLJO San Joaquin (Bolivia)
+SLJE San Jose De Chiquitos (Bolivia)
+SLSA Santa Ana (Bolivia)
+SLSU Sucre (Bolivia)
+SLTJ Tarija (Bolivia)
+SLTR Trinidad (Bolivia)
+SLVM Villamontes (Bolivia)
+SLVR Viru-Viru (Bolivia)
+SLYA Yacuiba (Bolivia)
+FBFT Francistown (Botswana)
+FBGZ Ghanzi (Botswana)
+FBJW Jwaneng (Botswana)
+FBKE Kasane (Botswana)
+FBMN Maun (Botswana)
+FBSK Seretse Khama International Airport (Botswana)
+FBSW Shakawe (Botswana)
+FBTS Tsabong (Botswana)
+FBTE Tshane (Botswana)
+SBAF Afonsos Aeroporto  (Brazil)
+SBAT Alta Floresta Aeroporto  (Brazil)
+SBHT Altamira (Brazil)
+SBAR Aracaju Aeroporto  (Brazil)
+SBBG Bage Aeroporto  (Brazil)
+SBBU Bauru (Brazil)
+SBBE Belem Aeroporto  (Brazil)
+SBCF Belo Horizonte (Brazil)
+SBBH Belo Horizonte Aeroporto  (Brazil)
+SBBV Boa Vista Aeropor-To  (Brazil)
+SBBR Brasilia Aeroporto  (Brazil)
+SBKG Campina Grande (Brazil)
+SBKP Campinas Aeroporto  (Brazil)
+SBCG Campo Grande Aeroporto  (Brazil)
+SBCV Caravelas Aeropor-To  (Brazil)
+SBAA Conceicao Do Araguaia (Brazil)
+SBCR Corumba (Brazil)
+SBCY Cuiaba Aeroporto  (Brazil)
+SBBI Curitiba (Brazil)
+SBCT Curitiba Aeroporto  (Brazil)
+SBEG Eduardo Gomes International (Brazil)
+SBFN Fernando De Noronha (Brazil)
+SBFL Florianopolis Aeroporto  (Brazil)
+SBFZ Fortaleza Aeropor-To  (Brazil)
+SBFI Foz Do Iguacu Aeroporto  (Brazil)
+SBGL Galeao (Brazil)
+SBGO Goiania Aeroporto  (Brazil)
+SBGW Guaratingueta (Brazil)
+SBGR Guarulhos Civ / Mil  (Brazil)
+SBIL Ilheus Aeroporto  (Brazil)
+SBIZ Imperatriz (Brazil)
+SBIH Itaituba (Brazil)
+SBLO Londrina Aeroporto  (Brazil)
+SBME Macae (Brazil)
+SBMQ Macapa (Brazil)
+SBMO Maceio Aeroporto  (Brazil)
+SBMN Manaus Aeroporto  (Brazil)
+SBMA Maraba (Brazil)
+SBMT Marte Civ / Mil  (Brazil)
+SBNT Natal Aeroporto (Brazil)
+SBPK Pelotas (Brazil)
+SBYS Pirassununga (Brazil)
+SBPC Pocos De Caldas (Brazil)
+SBPP Ponta Pora Aeropor-To  (Brazil)
+SBCO Porto Alegre (Brazil)
+SBPA Porto Alegre Aero-Porto  (Brazil)
+SBPN Porto Nacional Aeroporto  (Brazil)
+SBPV Porto Velho Aeroporto  (Brazil)
+SBDN Presidente Prudente (Brazil)
+SBRF Recife Aeroporto  (Brazil)
+SBJR Rio / Jacarepagua (Brazil)
+SBRB Rio Branco (Brazil)
+SBRJ Rio De Janeiro Aeroporto  (Brazil)
+SBSV Salvador Aeroporto  (Brazil)
+SBSC Santa Cruz Aeropor-To  (Brazil)
+SBSM Santa Maria Aero-Porto  (Brazil)
+SBSN Santarem-Aeroporto (Brazil)
+SBST Santos Aeroporto  (Brazil)
+SBSJ Sao Jose Dos Campo  (Brazil)
+SBSL Sao Luiz Aeroporto  (Brazil)
+SBSP Sao Paulo Aeropor-To  (Brazil)
+SBTT Tabatinga (Brazil)
+SBTF Tefe (Brazil)
+SBTE Teresina Aeroporto  (Brazil)
+SBTU Tucurui (Brazil)
+SBUR Uberaba (Brazil)
+SBUG Uruguaiana Aeroporto  (Brazil)
+SBVH Vilhena Aeroporto  (Brazil)
+SBVT Vitoria Aeroporto  (Brazil)
+FJDG Diego Garcia (British Indian Ocean Territory)
+WBSB Brunei Airport (Brunei Darussalam)
+LBBG Burgas (Bulgaria)
+LBPD Plovdiv (Bulgaria)
+LBSF Sofia Observ.  (Bulgaria)
+LBWN Varna (Bulgaria)
+HBBA Bujumbura (Burundi)
+VDPP Phnom-Penh / Pochentong (Cambodia)
+FKKD Douala Obs. (Cameroon)
+CYXX Abbotsford, B. C. (Canada)
+CYBG Bagotville, Que. (Canada)
+CYYC Calgary International, Alta. (Canada)
+CYCB Cambridge Bay, N. W. T. (Canada)
+CYCH Chatham Can-Mil  (Canada)
+CZUM Churchill Falls, Nfld. (Canada)
+CYYQ Churchill, Man. (Canada)
+CYOD Cold Lake, Alta. (Canada)
+CYQQ Comox, B. C. (Canada)
+CYZS Coral Harbour, N. W. T. (Canada)
+CYEG Edmonton International, Alta. (Canada)
+CYET Edson, Alta. (Canada)
+CZFM Fort Mcpherson Airport (Canada)
+CYFC Fredericton, N. B. (Canada)
+CYQX Gander Int. Airport, Nfld. (Canada)
+CYYR Goose, Nfld. (Canada)
+CYZX Greenwood, N. S. (Canada)
+CYHZ Halifax International Airport  (Canada)
+CYFB Iqaluit, N. W. T. (Canada)
+CYAH La Grande Iv, Que. (Canada)
+CYGL La Grande Riviere, Que (Canada)
+CYZY Mackenzie, B. C. (Canada)
+CYNM Matagami, Que. (Canada)
+CYXH Medicine Hat, Alta. (Canada)
+CYQM Moncton, N. B. (Canada)
+CYUL Montreal / Dorval International, Que (Canada)
+CYMX Montreal / Mirabel (Canada)
+CYBU Nipawin, Sask. (Canada)
+CYOC Old Crow Airport (Canada)
+CYOW Ottawa Int'L. Ont. (Canada)
+CYYF Penticton, B. C. (Canada)
+CYZT Port Hardy, B. C. (Canada)
+CYPG Portage Southport A (Canada)
+CYQB Quebec, Que (Canada)
+CYUY Rouyn Airport (Canada)
+CWZZ Saglek Bay  (Canada)
+CYAY Saint Anthony Airport (Canada)
+CYZV Sept-Iles, Que. (Canada)
+CYAW Shearwater, N. S. (Canada)
+CYUA Shingle Point, Y. T. (Canada)
+CYYT St. John's, Nfld (Canada)
+CYJT Stephenville, Nfld. (Canada)
+CYYN Swift Current, Sask. (Canada)
+CYQY Sydney, N. S. (Canada)
+CYTH Thompson Weather Office, Man (Canada)
+CYYZ Toronto Pearson Int'L. Ont. (Canada)
+CYTR Trenton, Ont. (Canada)
+CYVR Vancouver International Air-Port, B. C. (Canada)
+CYYJ Victoria Int. Airportb. C. (Canada)
+CYQG Windsor, Ont. (Canada)
+CYWG Winnipeg Int. Airportman. (Canada)
+CYZF Yellowknife, N. W. T. (Canada)
+GVAC Sal (Cape Verde)
+MWCR Owen Roberts Airportgrand Cayman (Cayman Islands)
+FEFF Bangui (Central African Republic)
+FTTJ Ndjamena (Chad)
+SCFA Antofagasta (Chile)
+SCAR Arica (Chile)
+SCIE Concepcion (Chile)
+SCHA Copiapo (Chile)
+SCDA Iquique / Diego Arac (Chile)
+SCIP Isla De Pascua (Chile)
+SCSE La Serena (Chile)
+SCEL Pudahuel (Chile)
+SCTE Puerto Montt (Chile)
+SCCI Punta Arenas (Chile)
+ZBAA Beijing (China)
+ZUUU Chengdu (China)
+ZYTL Dalian (China)
+ZGGG Guangzhou (China)
+ZSHC Hangzhou (China)
+ZSOF Hefei (China)
+ZPPP Kunming (China)
+ZGNN Nanning (China)
+ZSSS Shanghai / Hongqiao (China)
+ZGSZ Shenzhen (China)
+ZBYN Taiyuan (China)
+ZBTJ Tianjin / Zhangguizhu (China)
+ZWWW Urum-Qi / Diwopu (China)
+ZSAM Xiamen (China)
+YPXM Christmas Island Aerodrome (Christmas Island)
+YPCC Cocos Island Airport (Christmas Island)
+SKBQ Barranquilla / Ernestocortissoz (Colombia)
+SKBO Bogota / Eldorado (Colombia)
+SKBG Bucaramanga / Palonegro (Colombia)
+SKCL Cali / Alfonso Bonillaaragon (Colombia)
+SKCG Cartagena / Rafael Nunez (Colombia)
+SKLT Leticia / Vasquez Cobo (Colombia)
+SKMD Medellin / Olaya Herrera (Colombia)
+SKPE Pereira / Matecana (Colombia)
+SKRG Rionegro / J. M. Cordova (Colombia)
+SKSP San Andres Isla / Sesquicentenario (Colombia)
+SKSM Santa Marta / Simon Bolivar (Colombia)
+FMCZ Dzaoudzi / Pamanzi Mayotte  (Comoros)
+FMCH Hahaya International Airport (Comoros)
+FCBB Brazzaville / Maya-Maya (Congo)
+FCPP Pointe-Noire (Congo)
+NCRG Rarotonga (Cook Islands)
+MRCH Chacarita (Costa Rica)
+MROC Juan Santamaria (Costa Rica)
+MRLB Liberia (Costa Rica)
+MRLM Puerto Limon (Costa Rica)
+MRPV Tobias Bolanos International (Costa Rica)
+DIAP Abidjan (Cote D'Ivoire)
+LDDU Dubrovnik / Cilipi (Croatia)
+LDPL Pula Aerodrome (Croatia)
+LDRI Rijeka / Omisalj (Croatia)
+LDSP Split / Resnik (Croatia)
+LDZD Zadar / Zemunik (Croatia)
+LDZA Zagreb / Pleso (Croatia)
+MUHA Aeropuerto Jose Mar-Ti, Rancho-Boyeros, Habana (Cuba)
+MUBA Baracoa, Oriente (Cuba)
+MUBY Bayamo  (Cuba)
+MUCM Camaguey Aeropuerto (Cuba)
+MUCL Cayo Largo Del Sur (Cuba)
+MUGT Guantanamo, Oriente (Cuba)
+MUHG Holguin Civ / Mil  (Cuba)
+MUVT Las Tunas, Las Tunas (Cuba)
+MUMZ Manzanillo, Oriente (Cuba)
+MUMO Moa Military  (Cuba)
+MUNG Nueva Gerona, Isla De Pinos (Cuba)
+MUCU Santiago De Cuba, Oriente (Cuba)
+MUVR Varadero, Matanzas (Cuba)
+MUCA Venezuela, Ciego De Avila (Cuba)
+LCRA Akrotiri (Cyprus)
+LCEN Ercan (Cyprus)
+LCLK Larnaca Airport (Cyprus)
+LCPH Paphos Airport (Cyprus)
+LKTB Brno / Turany (Czech Republic)
+LKMT Ostrava / Mosnov (Czech Republic)
+LKPR Praha / Ruzyne (Czech Republic)
+EKYT Aalborg (Denmark)
+EKBI Billund Lufthavn (Denmark)
+EKEB Esbjerg (Denmark)
+EKKA Karup (Denmark)
+EKCH Koebenhavn / Kastrup (Denmark)
+EKRK Koebenhavn / Roskilde (Denmark)
+EKMB Maribo Lufthavn (Denmark)
+EKOD Odense / Beldringe (Denmark)
+EKRN Roenne (Denmark)
+EKSN Sindal Flyveplads (Denmark)
+EKSV Skive Lufthavn (Denmark)
+EKSP Skrydstrup (Denmark)
+EKSB Soenderborg Lufthavn (Denmark)
+EKVG Soervaag / Vagar (Denmark)
+EKVJ Stauning Lufthavn (Denmark)
+EKTS Thisted Lufthavn (Denmark)
+EKAH Tirstrup (Denmark)
+EKVL Vaerloese (Denmark)
+EKVD Vamdrup (Denmark)
+EKVA Vandel (Denmark)
+HDAM Djibouti \ Ambouli (Djibouti)
+TDCF Canefield Airport (Dominica)
+TDPD Melville Hall Airport (Dominica)
+MDLR La Romana International Airport (Dominican Republic)
+MDSD Las Americas (Dominican Republic)
+MDPP Puerto Plata International (Dominican Republic)
+MDPC Punta Cana (Dominican Republic)
+MDST Santiago (Dominican Republic)
+SEGU Guayaquil / Simon Bolivar (Ecuador)
+SELT Latacunga (Ecuador)
+SEMT Manta (Ecuador)
+SEQU Quito / Mariscal Sucre (Ecuador)
+HEAX Alexandria / Nouzha (Egypt)
+HESN Asswan (Egypt)
+HECA Cairo Airport (Egypt)
+HELX Luxor (Egypt)
+HEMM Mersa Matruh (Egypt)
+HEPS Port Said (Egypt)
+HESH Sharm El Sheikhintl (Egypt)
+MSAC Acajutla (El Salvador)
+MSLP El Salvador Intl. Airport / Comalapa (El Salvador)
+MSSM San Miguel / El Papalon (El Salvador)
+MSSS San Salvador / Ilopango (El Salvador)
+MSSA Santa Ana / El Palmar (El Salvador)
+HAAB Addis Ababa (Ethiopia)
+HADR Dire Dawa (Ethiopia)
+NFFN Nandi (Fiji)
+NFNA Nausori (Fiji)
+EFHF Helsinki-Malmi (Finland)
+EFHK Helsinki-Vantaa (Finland)
+EFIV Ivalo (Finland)
+EFJY Jyvaskyla (Finland)
+EFKE Kemi (Finland)
+EFKK Kruunupyy (Finland)
+EFKU Kuopio (Finland)
+EFMA Mariehamn / Aland Island (Finland)
+EFOU Oulu (Finland)
+EFPO Pori (Finland)
+EFRO Rovaniemi (Finland)
+EFTP Tampere / Pirkkala (Finland)
+EFTU Turku (Finland)
+EFVA Vaasa (Finland)
+LFBA Agen (France)
+LFKJ Ajaccio (France)
+LFSB Bale-Mulhouse (France)
+LFKB Bastia (France)
+LFOB Beauvais (France)
+LFBZ Biarritz (France)
+LFBD Bordeaux / Merignac (France)
+LFLD Bourges (France)
+LFRB Brest (France)
+LFRK Caen (France)
+LFKC Calvi (France)
+LFMD Cannes (France)
+LFBC Cazaux (France)
+LFLB Chambery / Aix-Les-Bains (France)
+LFRC Cherbourg / Maupertus (France)
+LFLC Clermont-Ferrand (France)
+LFBG Cognac (France)
+LFSC Colmar (France)
+LFSD Dijon (France)
+LFRD Dinard (France)
+LFOE Evreux (France)
+LFKF Figari (France)
+LFLS Grenoble / St. Geoirs (France)
+LFTH Hyeres (France)
+LFOH La Heve (France)
+LFRH Lann Bihoue (France)
+LFRO Lannion / Servel (France)
+LFRM Le Mans (France)
+LFAT Le Touquet (France)
+LFQQ Lille (France)
+LFBL Limoges (France)
+LFSX Luxeuil (France)
+LFLY Lyon / Bron (France)
+LFLL Lyon / Satolas (France)
+LFML Marseille / Marignane (France)
+LFSF Metz / Frescaty (France)
+LFJL Metz-Nancy-Lorraine (France)
+LFBM Mont-De-Marsan (France)
+LFMT Montpellier (France)
+LFSN Nancy / Essey (France)
+LFSO Nancy / Ochey (France)
+LFRS Nantes (France)
+LFMN Nice (France)
+LFTW Nimes / Garons (France)
+LFPB Paris / Le Bourget (France)
+LFPG Paris-Aeroport Charles De Gaulle (France)
+LFPO Paris-Orly (France)
+LFBP Pau (France)
+LFMP Perpignan (France)
+LFBI Poitiers (France)
+LFRQ Quimper (France)
+LFSR Reims (France)
+LFRN Rennes (France)
+LFOP Rouen (France)
+LFRT Saint-Brieuc (France)
+LFSI St-Dizier (France)
+LFMH St-Etienne Boutheon (France)
+LFCG St-Girons (France)
+LFRZ St-Nazaire (France)
+LFST Strasbourg (France)
+LFBT Tarbes / Ossun (France)
+LFSL Toul / Rosieres (France)
+LFBO Toulouse / Blagnac (France)
+LFOT Tours (France)
+LFPN Toussus Le Noble (France)
+LFQB Troyes (France)
+LFLV Vichy (France)
+LFPV Villacoublay (France)
+SOCA Cayenne / Rochambeau (French Guiana)
+NTTO Hao (French Polynesia)
+NTAA Tahiti-Faaa (French Polynesia)
+FOON Franceville / Mvengue (Gabon)
+FOOL Libreville (Gabon)
+FOOG Port-Gentil (Gabon)
+GBYD Banjul / Yundum (Gambia)
+UGGG Tbilisi (Georgia)
+EDMA Augsburg (Germany)
+EDQD Bayreuth (Germany)
+EDDB Berlin-Schoenefeld (Germany)
+EDDT Berlin-Tegel (Germany)
+EDDI Berlin-Tempelhof (Germany)
+EDVE Braunschweig (Germany)
+EDDW Bremen (Germany)
+ETHC Celle (Germany)
+EDLW Dortmund / Wickede (Germany)
+EDDC Dresden-Klotzsche (Germany)
+EDDL Duesseldorf (Germany)
+ETHS Fassberg (Germany)
+EDDF Frankfurt / M-Flughafen (Germany)
+EDNY Friedrichshafen (Germany)
+EDFH Hahn (Germany)
+EDHI Hamburg-Finkenwerder (Germany)
+EDDH Hamburg-Fuhlsbuettel (Germany)
+EDDV Hannover (Germany)
+EDQM Hof (Germany)
+ETHI Itzehoe (Germany)
+EDVK Kassel / Calden (Germany)
+EDDK Koeln / Bonn (Germany)
+EDDP Leipzig-Schkeuditz (Germany)
+EDWD Lemwerder (Germany)
+EDHL Luebeck-Blankensee (Germany)
+EDLN Monchengladbach (Germany)
+EDDG Muenster / Osnabrueck (Germany)
+EDDM Munich / Riem (Germany)
+EDDN Nuernberg (Germany)
+EDMO Oberpfaffenhofen (Germany)
+EDLP Paderborn / Lippstadt (Germany)
+ETHE Rheine-Bentlage (Germany)
+EDDR Saarbruecken / Ensheim (Germany)
+EDDS Stuttgart-Echterdingen (Germany)
+EDXW Westerland / Sylt (Germany)
+DGAA Accra (Ghana)
+LXGB Gibraltar (Gibraltar)
+LGPZ Aktion Airport  (Greece)
+LGAL Alexandroupoli Airport  (Greece)
+LGAD Andravida Airport  (Greece)
+LGRX Araxos Airport  (Greece)
+LGAT Athinai Airport  (Greece)
+LGKV Chrysoupoli Airport  (Greece)
+LGEL Elefsis Airport  (Greece)
+LGIR Heraklion Airport  (Greece)
+LGKL Kalamata Airport  (Greece)
+LGKF Kefalhnia Airport  (Greece)
+LGKR Kerkyra Airport  (Greece)
+LGKO Kos Airport  (Greece)
+LGKZ Kozani Airport  (Greece)
+LGLM Limnos Airport  (Greece)
+LGMT Mytilini Airport  (Greece)
+LGRP Rhodes Airport  (Greece)
+LGSM Samos Airport  (Greece)
+LGSR Santorini Island (Greece)
+LGSK Skiathos Island (Greece)
+LGSA Souda Airport  (Greece)
+LGTS Thessaloniki Airport  (Greece)
+LGZA Zakinthos Airport  (Greece)
+BGCO Constable Pynt (Greenland)
+BGGH Godthaab / Nuuk (Greenland)
+BGJN Jacobshavn Lufthavn (Greenland)
+BGKK Kulusuk Lufthavn (Greenland)
+BGBW Narsarsuaq (Greenland)
+BGSF Sdr Stroemfjord (Greenland)
+BGTL Thule A. B. (Greenland)
+TGPY Point Salines Airport (Grenada)
+TFFR Le Raizet, Guadeloupe (Guadeloupe)
+MGFL Flores (Guatemala)
+MGGT Guatemala Aeropuertola Aurora  (Guatemala)
+MGHT Huehuetenango (Guatemala)
+MGPB Puerto Barrios (Guatemala)
+MGQZ Quezaltenango (Guatemala)
+MGSJ San Jose (Guatemala)
+MGZA Zacapa (Guatemala)
+GGOV Bissau Aeroport  (Guinea-Bissau)
+GUCY Conakry / Gbessia (Guinea)
+SYTM Timehri Airport (Guyana)
+MTPP Port-Au-Prince / Aeroport International (Haiti)
+MHAM Amapala (Honduras)
+MHCA Catacamas (Honduras)
+MHCH Choluteca (Honduras)
+MHLC La Ceiba Airport  (Honduras)
+MHLE La Esperanza (Honduras)
+MHLM La Mesa San Pedro Sula  (Honduras)
+MHSC Nueva Ocotepeque (Honduras)
+MHPL Puerto Lempira (Honduras)
+MHRO Roatan (Honduras)
+MHSR Santa Rosa De Copan (Honduras)
+MHTG Tegucigalpa (Honduras)
+MHTE Tela (Honduras)
+MHYR Yoro (Honduras)
+VHHH Hong Kong Inter-National Airport (Hong Kong)
+LHBP Budapest / Ferihegy (Hungary)
+LHPA Papa (Hungary)
+LHSY Szombathely (Hungary)
+BIEG Egilsstadir (Iceland)
+BIKF Keflavikurflugvollur (Iceland)
+BIRK Reykjavik (Iceland)
+VAAH Ahmadabad (India)
+VIAR Amritsar (India)
+VABB Bombay / Santacruz (India)
+VECC Calcutta / Dum Dum (India)
+VOHY Hyderabad Airport (India)
+VOMM Madras / Minambakkam (India)
+VANP Nagpur Sonegaon (India)
+VIDP New Delhi / Palam (India)
+VEPT Patna (India)
+VOTV Thiruvananthapuram (India)
+VOTR Tiruchchirapalli (India)
+VIBN Varanasi / Babatpur (India)
+WRLL Balikpapan / Sepinggan (Indonesia)
+WABB Biak / Mokmer (Indonesia)
+WRRR Denpasar / Ngurah-Rai (Indonesia)
+WIII Jakarta / Soekarno-Hatta (Indonesia)
+WIIH Jakarta Halim Perdanakusuma (Indonesia)
+WIMM Medan / Polonia (Indonesia)
+WRSJ Surabaya / Juanda (Indonesia)
+WRLR Tarakan / Juwata (Indonesia)
+WAAA Ujung Pandang / Hasanuddin (Indonesia)
+OIAW Ahwaz (Iran, Islamic Republic of)
+OIKB Bandarabbass (Iran, Islamic Republic of)
+OIFM Esfahan (Iran, Islamic Republic of)
+OIKK Kerman (Iran, Islamic Republic of)
+OIMM Mashhad (Iran, Islamic Republic of)
+OISS Shiraz (Iran, Islamic Republic of)
+OITT Tabriz (Iran, Islamic Republic of)
+OIII Tehran-Mehrabad (Iran, Islamic Republic of)
+EICK Cork Airport (Ireland)
+EIDW Dublin Airport (Ireland)
+EINN Shannon Airport (Ireland)
+LLBG Ben-Gurion International Airport (Israel)
+LLET Eilat (Israel)
+LLOV Ovda (Israel)
+LIMG Albenga (Italy)
+LIEA Alghero (Italy)
+LIBA Amendola (Italy)
+LIPA Aviano (Italy)
+LIBD Bari / Palese Macchie (Italy)
+LIME Bergamo / Orio Al Serio (Italy)
+LIPE Bologna / Borgo Panigale (Italy)
+LIPB Bolzano (Italy)
+LIPL Brescia / Ghedi (Italy)
+LIBR Brindisi (Italy)
+LIEE Cagliari / Elmas (Italy)
+LIEB Capo Bellavista (Italy)
+LIMU Capo Mele (Italy)
+LIQC Capri (Italy)
+LICC Catania / Fontanarossa (Italy)
+LICZ Catania / Sigonella (Italy)
+LIPC Cervia (Italy)
+LIBC Crotone (Italy)
+LIED Decimomannu (Italy)
+LIVD Dobbiaco (Italy)
+LIPY Falconara (Italy)
+LIPF Ferrara (Italy)
+LIRQ Firenze / Peretola (Italy)
+LIPK Forli (Italy)
+LIVF Frontone (Italy)
+LIRH Frosinone (Italy)
+LIMJ Genova / Sestri (Italy)
+LIBV Gioia Del Colle (Italy)
+LIRS Grosseto (Italy)
+LIBG Grottaglie (Italy)
+LIRG Guidonia (Italy)
+LICA Lamezia Terme (Italy)
+LICD Lampedusa (Italy)
+LIRL Latina (Italy)
+LIBN Lecce (Italy)
+LICF Messina (Italy)
+LIML Milano / Linate (Italy)
+LIMC Milano / Malpensa (Italy)
+LIQO Monte Argentario (Italy)
+LIMO Monte Bisbino (Italy)
+LIVC Monte Cimone (Italy)
+LIMY Monte Malanotte (Italy)
+LIBQ Monte Scuro (Italy)
+LIRK Monte Terminillo (Italy)
+LIRN Napoli / Capodichino (Italy)
+LIMN Novara / Cameri (Italy)
+LIEO Olbia / Costa Smeralda (Italy)
+LIVP Paganella (Italy)
+LICJ Palermo / Punta Raisi (Italy)
+LICG Pantelleria (Italy)
+LIMV Passo Dei Giovi (Italy)
+LIMT Passo Della Cisa (Italy)
+LIVR Passo Rolle (Italy)
+LIRZ Perugia (Italy)
+LIBP Pescara (Italy)
+LIMS Piacenza (Italy)
+LIMH Pian Rosa (Italy)
+LIRP Pisa / S. Giusto (Italy)
+LIRE Pratica Di Mare (Italy)
+LIVM Punta Marina (Italy)
+LICR Reggio Calabria (Italy)
+LIVE Resia Pass  (Italy)
+LIQN Rieti (Italy)
+LIPR Rimini (Italy)
+LIRA Roma / Ciampino (Italy)
+LIRU Roma / Urbe (Italy)
+LIRF Roma Fiumicino (Italy)
+LIPQ Ronchi Dei Legionari (Italy)
+LIBY S. Maria Di Leuca (Italy)
+LIQW Sarzana / Luni (Italy)
+LIVO Tarvisio (Italy)
+LIMK Torino / Bric Della Croce (Italy)
+LIMF Torino / Caselle (Italy)
+LICT Trapani / Birgi (Italy)
+LIRT Trevico (Italy)
+LIPS Treviso / Istrana (Italy)
+LIPH Treviso / S. Angelo (Italy)
+LIVT Trieste (Italy)
+LIPI Udine / Rivolto (Italy)
+LIPZ Venezia / Tessera (Italy)
+LIPX Verona / Villafranca (Italy)
+LIPT Vicenza (Italy)
+LIRV Viterbo (Italy)
+MKJP Kingston / Norman Manley (Jamaica)
+MKJS Montego Bay / Sangster (Jamaica)
+RJOE Akeno Ab (Japan)
+RJSK Akita Airport (Japan)
+RJKA Amami Airport (Japan)
+RJSA Aomori Airport (Japan)
+RJCA Asahikawa Ab (Japan)
+RJEC Asahikawa Airport (Japan)
+RJFA Ashiya Ab (Japan)
+RJTA Atsugi United States Naval Air Station (Japan)
+RJAO Chichijima (Japan)
+RJCC Chitose Ab (Japan)
+RJCJ Chitose Japanese Air Self Defense Force  (Japan)
+RJTF Chofu Airport (Japan)
+RJAT Fuji Ab (Japan)
+RJFE Fukue Airport (Japan)
+RJNF Fukui Airport (Japan)
+RJFF Fukuoka Airport (Japan)
+RJNG Gifu Ab (Japan)
+RJTH Hachijojima Airport (Japan)
+RJSH Hachinohe Ab (Japan)
+RJCH Hakodate Airport (Japan)
+RJNH Hamamatsu Ab (Japan)
+RJSI Hanamaki Airport (Japan)
+RJOA Hiroshima Airport (Japan)
+RJOF Hofu Ab (Japan)
+RJAH Hyakuri Ab (Japan)
+RJAI Ichikawa  (Japan)
+RJDB Iki Airport (Japan)
+RJTJ Iruma Ab (Japan)
+RJOI Iwakuni Marine Corps Air Station (Japan)
+RJAW Iwojima (Japan)
+RJOC Izumo Airport (Japan)
+RODN Kadena Ab (Japan)
+RJFK Kagoshima Airport (Japan)
+RJDK Kamigoto (Japan)
+RJFY Kanoya Ab (Japan)
+RJBB Kansai International Airport (Japan)
+RJAK Kasumigaura Ab (Japan)
+RJSU Kasuminome Ab (Japan)
+RJKI Kikai Island (Japan)
+RJTK Kisarazu Ab (Japan)
+RJFR Kitakyushu Airport (Japan)
+RJOK Kochi Airport (Japan)
+RJNK Komatsu Ab (Japan)
+RJOP Komatsujima Ab (Japan)
+RJFT Kumamoto Airport (Japan)
+RJCK Kushiro Airport (Japan)
+RJAF Matsumoto Airport (Japan)
+RJST Matsushima Ab (Japan)
+RJOM Matsuyama Airport (Japan)
+RJCM Memambetsu Airport (Japan)
+RJDM Metabaru Ab (Japan)
+RJOH Miho Ab (Japan)
+RJAM Minamitorishima (Japan)
+RJSM Misawa Ab (Japan)
+RJTQ Miyakejima Airport (Japan)
+RJFM Miyazaki Airport (Japan)
+RJEB Mombetsu Airport (Japan)
+RJFU Nagasaki Airport (Japan)
+RJNN Nagoya Airport (Japan)
+ROAH Naha Airport (Japan)
+RJCN Nakashibetsu Airport (Japan)
+RJBD Nankishirahama Airport (Japan)
+RJAA New Tokyo Inter-National Airport (Japan)
+RJSN Niigata Airport (Japan)
+RJFN Nyutabaru Ab (Japan)
+RJCB Obihiro Airport (Japan)
+RJFO Oita Airport (Japan)
+RJDO Ojika Island  (Japan)
+RJOB Okayama Airport (Japan)
+RJNO Oki Airport (Japan)
+RJKB Okinoerabu (Japan)
+RJEO Okushiri Island (Japan)
+RJSO Ominato Ab (Japan)
+RJOO Osaka International Airport (Japan)
+RJTO Oshima Airport (Japan)
+RJOZ Ozuki Ab (Japan)
+RJCR Rebun Island (Japan)
+RJER Rishiri Island (Japan)
+RJCO Sapporo Ab (Japan)
+RJSS Sendai Airport (Japan)
+RJTL Shimofusa Ab (Japan)
+RJNY Shizuhama Ab (Japan)
+RJTC Tachikawa Ab (Japan)
+RJBT Tajima (Japan)
+RJOT Takamatsu Airport (Japan)
+RJFG Tanegashima Airport (Japan)
+RJTE Tateyama Ab (Japan)
+RJCT Tokachi Japanese Ground Self Defense Force  (Japan)
+RJKN Tokunoshima Island (Japan)
+RJOS Tokushima Ab (Japan)
+RJTI Tokyo Heliport (Japan)
+RJTT Tokyo International Airport (Japan)
+RJOR Tottori Airport (Japan)
+RJNT Toyama Airport (Japan)
+RJFZ Tsuiki Ab (Japan)
+RJDT Tsushima Airport (Japan)
+RJTU Utsunomiya Ab (Japan)
+RJCW Wakkanai Airport (Japan)
+RJFC Yakushima (Japan)
+RJSC Yamagata Airport (Japan)
+RJDC Yamaguchi Ube Airport (Japan)
+RJOY Yao Airport (Japan)
+RJTX Yokosuka Fwf (Japan)
+RJTY Yokota Ab (Japan)
+RJTR Zama Airfield (Japan)
+OJAM Amman Airport (Jordan)
+OJAQ Aqaba Airport (Jordan)
+LLJR Jerusalem Airport (Jordan)
+OJAI Queen Alia Airport (Jordan)
+HKEL Eldoret (Kenya)
+HKEM Embu (Kenya)
+HKGA Garissa (Kenya)
+HKKG Kakamega (Kenya)
+HKKR Kericho (Kenya)
+HKKS Kisii (Kenya)
+HKKI Kisumu (Kenya)
+HKKT Kitale (Kenya)
+HKLU Lamu (Kenya)
+HKLO Lodwar (Kenya)
+HKMU Makindu (Kenya)
+HKML Malindi (Kenya)
+HKMA Mandera (Kenya)
+HKMB Marsabit (Kenya)
+HKME Meru (Kenya)
+HKMO Mombasa (Kenya)
+HKMY Moyale (Kenya)
+HKNC Nairobi / Dagoretti (Kenya)
+HKJK Nairobi / Kenyatta Airport (Kenya)
+HKNW Nairobi / Wilson (Kenya)
+HKNK Nakuru (Kenya)
+HKNO Narok (Kenya)
+HKNI Nyeri (Kenya)
+HKVO Voi (Kenya)
+HKWJ Wajir (Kenya)
+NGTA Tarawa (Kiribati)
+ZKPY Pyongyang (Korea, Democratic People's Republic of)
+RKSX Camp Stanley / H-207 (Korea, Republic of)
+RKPC Cheju International Airport (Korea, Republic of)
+RKTU Chongju Ab (Korea, Republic of)
+RKTM Mangilsan Ab (Korea, Republic of)
+RKSO Osan Ab (Korea, Republic of)
+RKTB Paekado (Korea, Republic of)
+RKSP Paengnyongdo Ab (Korea, Republic of)
+RKTH Pohang Ab (Korea, Republic of)
+RKPK Pusan / Kimhae International Airport (Korea, Republic of)
+RKSG Pyongtaek Ab (Korea, Republic of)
+RKTS Sangju (Korea, Republic of)
+RKSS Seoul / Kimp'O International Airport (Korea, Republic of)
+RKSF Seoul / Yongdungp'O Rokaf Wc (Korea, Republic of)
+RKSM Seoul E Ab (Korea, Republic of)
+RKTE Songmu Ab (Korea, Republic of)
+RKSW Suwon Ab (Korea, Republic of)
+RKTT Taegu (Korea, Republic of)
+RKTN Taegu Ab (Korea, Republic of)
+RKTF Taejon (Korea, Republic of)
+RKPU Ulsan (Korea, Republic of)
+RKTW Woong Cheon (Korea, Republic of)
+RKTY Yechon Ab (Korea, Republic of)
+RKSU Yeoju Range (Korea, Republic of)
+RKSQ Yeonpyeungdo (Korea, Republic of)
+RKSY Yongsan / H-208 Hp (Korea, Republic of)
+RKJY Yosu Airport (Korea, Republic of)
+OKBK Kuwait Internationalairport (Kuwait)
+VLVT Vientiane (Lao People's Democratic Republic)
+OLBA Beyrouth Aeroport  (Lebanon)
+HLLB Benina (Libyan Arab Jamahiriya)
+HLLT Tripoli Inter-National Airport (Libyan Arab Jamahiriya)
+EYVI Vilnius (Lithuania)
+ELLX Luxembourg / Luxembourg (Luxembourg)
+VMMC Taipa (Macau)
+LWOH Ohrid (Macedonia, the Former Yugoslav Republic of)
+LWSK Skopje-Petrovec (Macedonia, the Former Yugoslav Republic of)
+FMMI Antananarivo / Ivato (Madagascar)
+FMMT Tamatave (Madagascar)
+FWCL Chileka (Malawi)
+FWUU Mzuzu (Malawi)
+WBKK Kota Kinabalu (Malaysia)
+WMKK Kuala Lumpur / Subang (Malaysia)
+WBGG Kuching (Malaysia)
+WMKP Penang / Bayan Lepas (Malaysia)
+VRMM Male (Maldives)
+GABS Bamako / Senou (Mali)
+LMML Luqa (Malta)
+PKWA Kwajalein / Bucholz (Marshall Islands)
+PKMJ Majuro / Marshall Island (Marshall Islands)
+TFFF Le Lamentin (Martinique)
+GQPP Nouadhibou (Mauritania)
+GQNN Nouakchott (Mauritania)
+FIMP Plaisance Mauritius  (Mauritius)
+MMAA Acapulco / G. Alvarez (Mexico)
+MMMD Aerop. Internacional Merida, Yuc (Mexico)
+MMAN Aerop. Internacional Monterrey, N. L. (Mexico)
+MMAS Aguascalientes, Ags. (Mexico)
+MMBT Bahias De Huatulco  (Mexico)
+MMCP Campeche, Camp. (Mexico)
+MMUN Cancun International Airport (Mexico)
+MMCM Chetumal, Q. Roo (Mexico)
+MMCU Chihuahua International Airport (Mexico)
+MMCE Ciudad Del Carmen  (Mexico)
+MMCS Ciudad Juarez International  (Mexico)
+MMCV Ciudad Victoria Airport (Mexico)
+MMIA Colima  (Mexico)
+MMCZ Cozumel Civ / Mil  (Mexico)
+MMCB Cuernavaca, Mor. (Mexico)
+MMCL Culiacan, Sin. (Mexico)
+MMLO Del Bajio / Leon (Mexico)
+MMGL Don Miguel / Guadalaj (Mexico)
+MMDO Durango Airport (Mexico)
+MMVR Gen. Heriberto Jara (Mexico)
+MMGM Guaymas International Airport (Mexico)
+MMHO Hermosillo, Son. (Mexico)
+MMZH Ixtapa-Zihuatanejo (Mexico)
+MMLP La Paz International Airport (Mexico)
+MMLM Los Mochis Airport (Mexico)
+MMZO Manzanillo International  (Mexico)
+MMMA Matamoros International  (Mexico)
+MMMZ Mazatlan / G. Buelna (Mexico)
+MMML Mexicali International Airport  (Mexico)
+MMMX Mexico City / Licenci (Mexico)
+MMMT Minatitlan (Mexico)
+MMMV Monclova, Coah. (Mexico)
+MMMY Monterrey / Gen Maria (Mexico)
+MMMM Morelia New (Mexico)
+MMNL Nuevo Laredo International  (Mexico)
+MMOX Oaxaca / Xoxocotlan (Mexico)
+MMPG Piedras Negras, Coah. (Mexico)
+MMPB Puebla, Pue. (Mexico)
+MMPS Puerto Escondido  (Mexico)
+MMPR Puerto Vallarta / Lic (Mexico)
+MMQT Queretaro, Qro. (Mexico)
+MMRX Reynosa International Airport  (Mexico)
+MMIO Saltillo, Coah. (Mexico)
+MMSD San Jose Del Cabo  (Mexico)
+MMSP San Luis Potosi, S. L. P. (Mexico)
+MMCN Santa Rosalia, B. C. S. (Mexico)
+MMTM Tampico / Gen Fj Mina (Mexico)
+MMTP Tapachula  (Mexico)
+MMEP Tepic, Nay. (Mexico)
+MMTJ Tijuana International Airport  (Mexico)
+MMTO Toluca / Jose Maria  (Mexico)
+MMTC Torreon, Coah. (Mexico)
+MMTL Tulancingo  (Mexico)
+MMTG Tuxtla Gutierrez, Chis. (Mexico)
+MMPN Uruapan / Gen Rayon (Mexico)
+MMVA Villahermosa  (Mexico)
+MMZC Zacatecas Airport (Mexico)
+PTSA Kusaie / Kosrae East (Micronesia, Federated States of)
+PTPN Ponape Island (Micronesia, Federated States of)
+PTKK Truk Intl / Moen Island (Micronesia, Federated States of)
+PTYA Yap Island (Micronesia, Federated States of)
+GMAA Agadir (Morocco)
+GMTA Al Hoceima (Morocco)
+GMFF Fes-Sais (Morocco)
+GMMX Marrakech (Morocco)
+GMMN Nouasseur (Morocco)
+GMFO Oujda (Morocco)
+GMME Rabat-Sale (Morocco)
+GMTT Tanger Aerodrome  (Morocco)
+GMTN Tetuan / Sania Ramel (Morocco)
+FQBR Beira (Mozambique)
+FQMA Maputo / Mavalane (Mozambique)
+VBRR Mingaladon (Myanmar)
+ANAU Nauru Airport (Nauru)
+VNKT Kathmandu Airport (Nepal)
+TNCB Flamingo Airport, Bonaire (Netherlands Antilles)
+TNCC Hato Airport, Curacao (Netherlands Antilles)
+TNCM Juliana Airport, Saint Maarten (Netherlands Antilles)
+TNCE Roosevelt Airport Saint Eustatius (Netherlands Antilles)
+EHAM Amsterdam Airport Schiphol (Netherlands)
+EHKD De Kooy (Netherlands)
+EHDL Deelen (Netherlands)
+EHEH Eindhoven (Netherlands)
+EHGR Gilze-Rijen (Netherlands)
+EHGG Groningen Airport Eelde (Netherlands)
+EHLW Leeuwarden (Netherlands)
+EHBK Maastricht Airport Zuid Limburg (Netherlands)
+EHRD Rotterdam Airport Zestienhoven (Netherlands)
+EHSB Soesterberg (Netherlands)
+EHTW Twenthe (Netherlands)
+EHVB Valkenburg (Netherlands)
+EHVL Vlieland (Netherlands)
+EHVK Volkel (Netherlands)
+EHWO Woensdrecht (Netherlands)
+NWWW La Tontouta Nlle-Caledonie  (New Caledonia)
+NZAA Auckland Airport (New Zealand)
+NZCH Christchurch (New Zealand)
+PLCH Christmas / Cassidy (New Zealand)
+NZWN Wellington Airport (New Zealand)
+MNBL Bluefields (Nicaragua)
+MNCH Chinandega (Nicaragua)
+MNJG Jinotega (Nicaragua)
+MNJU Juigalpa (Nicaragua)
+MNMG Managua A. C. Sandino (Nicaragua)
+MNPC Puerto Cabezas (Nicaragua)
+MNRS Rivas (Nicaragua)
+DRRN Niamey-Aero (Niger)
+ENAL Alesund / Vigra (Norway)
+ENAT Alta Lufthavn (Norway)
+ENAN Andoya (Norway)
+ENNA Banak (Norway)
+ENDU Bardufoss (Norway)
+ENBR Bergen / Flesland (Norway)
+ENBV Berlevag (Norway)
+ENBO Bodo Vi (Norway)
+ENBN Bronnoysund / Bronnoy (Norway)
+ENDI Dagali (Norway)
+ENEK Ekofisk Oil Platform (Norway)
+ENEV Evenes (Norway)
+ENFG Fagernes Leirin (Norway)
+ENFL Floro (Norway)
+ENBL Forde / Bringeland (Norway)
+ENFR Frigg (Norway)
+ENGC Gullfax Platform  (Norway)
+ENHF Hammerfest (Norway)
+ENHD Haugesund / Karmoy (Norway)
+ENHV Honningsvag / Valan (Norway)
+ENKR Kirkenes Lufthavn (Norway)
+ENCN Kristiansand / Kjevik (Norway)
+ENKB Kristiansund / Kvernberget (Norway)
+ENLK Leknes (Norway)
+ENLI Lista Flyplass (Norway)
+ENMH Mehamn (Norway)
+ENRA Mo I Rana / Rossvoll (Norway)
+ENML Molde / Aro (Norway)
+ENMS Mosjoen Kjaerstad (Norway)
+ENNM Namsos Lufthavn (Norway)
+ENNK Narvik Iii (Norway)
+ENNO Notodden (Norway)
+ENOL Orland Iii (Norway)
+ENOV Orsta-Volda / Hovden (Norway)
+ENOA Oseberg  (Norway)
+ENFB Oslo / Fornebu (Norway)
+ENGM Oslo / Gardermoen (Norway)
+ENRO Roros Lufthavn (Norway)
+ENRM Rorvik / Ryum (Norway)
+ENRS Rost Flyplass (Norway)
+ENRY Rygge (Norway)
+ENSD Sandane / Anda (Norway)
+ENST Sandnessjoen / Stokka (Norway)
+ENSN Skien-Geiteryggen (Norway)
+ENSG Sogndal / Haukasen (Norway)
+ENSR Sorkjosen (Norway)
+ENZV Stavanger / Sola (Norway)
+ENSO Stord / Soerstokken (Norway)
+ENSK Storkmarknes / Skagen (Norway)
+ENSB Svalbard Lufthavn (Norway)
+ENSH Svolvaer / Helle (Norway)
+ENTO Torp (Norway)
+ENTC Tromso / Langnes (Norway)
+ENVA Trondheim / Vaernes (Norway)
+ENVD Vadso (Norway)
+OOMA Masirah (Oman)
+OOSQ Saiq (Oman)
+OOSA Salalah (Oman)
+OOMS Seeb, International Airport (Oman)
+OOTH Thumrait (Oman)
+OPRN Islamabad Airport (Pakistan)
+OPKC Karachi Airport (Pakistan)
+OPLA Lahore Airport (Pakistan)
+OPNH Nawabshah (Pakistan)
+PTRO Koror / Palau Island (Palau)
+MPBO Bocas Del Toro International (Panama)
+MPDA David (Panama)
+MPHO Howard Air Force Base (Panama)
+MPMG Marcos A. Gelabert (Panama)
+MPSA Santiago (Panama)
+MPTO Tocumen (Panama)
+SGES Aeropuerto Guarany (Paraguay)
+SGAS Asuncion / Aeropuerto (Paraguay)
+SPHY Andahuayla (Peru)
+SPQU Arequipa (Peru)
+SPHO Ayacucho (Peru)
+SPJR Cajamarca (Peru)
+SPPY Chachapoyas (Peru)
+SPHI Chiclayo (Peru)
+SPEO Chimbote (Peru)
+SPZO Cuzco (Peru)
+SPNC Huanuco (Peru)
+SPQT Iquitos (Peru)
+SPJI Juanjui (Peru)
+SPJL Juliaca (Peru)
+SPIM Lima-Callao / Aerop. Internacional Jorgechavez (Peru)
+SPSO Pisco (Peru)
+SPUR Piura (Peru)
+SPCL Pucallpa (Peru)
+SPTU Puerto Maldonado (Peru)
+SPJA Rioja (Peru)
+SPTN Tacna (Peru)
+SPYL Talara (Peru)
+SPST Tarapoto (Peru)
+SPGM Tingo Maria (Peru)
+SPRU Trujillo (Peru)
+SPME Tumbes (Peru)
+SPMS Yurimaguas (Peru)
+RPVM Masbate (Philippines)
+RPLL Ninoy Aquino Inter-National Airport (Philippines)
+RPLB Subic Bay Weather Station (Philippines)
+EPGD Gdansk-Rebiechowo (Poland)
+EPKT Katowice (Poland)
+EPKK Krakow (Poland)
+EPPO Poznan (Poland)
+EPRZ Rzeszow-Jasionka (Poland)
+EPSC Szczecin (Poland)
+EPWA Warszawa-Okecie (Poland)
+EPWR Wroclaw Ii (Poland)
+LPBJ Beja (Portugal)
+LPFR Faro / Aeroporto (Portugal)
+LPFU Funchal / S. Catarina (Portugal)
+LPLA Lajes Acores  (Portugal)
+LPPT Lisboa / Portela (Portugal)
+LPPD Ponta Delgada / Nordela Acores  (Portugal)
+LPPR Porto / Pedras Rubras (Portugal)
+LPPS Porto Santo (Portugal)
+LPAZ Santa Maria Acores  (Portugal)
+TJBQ Aquadilla / Borinquen (Puerto Rico)
+TISX Christiansted / Alex. Hamilton Field, Saint Croix (Puerto Rico)
+TJSJ Luis Munoz Marin (Puerto Rico)
+TJMZ Mayaguez / Eugenio (Puerto Rico)
+TJPS Ponce / Mercedita  (Puerto Rico)
+OTBD Doha International Airport (Qatar)
+FMEE Saint-Denis / Gillot (Reunion)
+LRAR Arad (Romania)
+LRBS Bucuresti / Imh (Romania)
+LROP Bucuresti Otopeni (Romania)
+LRIA Iasi (Romania)
+LRCK Kogalniceanu (Romania)
+LRTR Timisoara (Romania)
+LRTM Tirgu Mures (Romania)
+LRTC Tulcea (Romania)
+UHMA Anadyr (Russian Federation)
+UHMD Buhta Providenja (Russian Federation)
+UIAA Chita (Russian Federation)
+UHHH Habarovsk (Russian Federation)
+UIII Irkutsk (Russian Federation)
+UEEE Jakutsk (Russian Federation)
+UHSS Juzhno-Sahalinsk (Russian Federation)
+UHMM Magadan (Russian Federation)
+UUEE Moscow / Sheremet'Ye  (Russian Federation)
+UUWW Moscow / Vnukovo  (Russian Federation)
+UWPP Penza (Russian Federation)
+UHPP Petropavlovsk-Kamchatskij (Russian Federation)
+ULLI St. Peterburg (Russian Federation)
+UUEM Tver (Russian Federation)
+UIUU Ulan-Ude (Russian Federation)
+UHWW Vladivostok (Russian Federation)
+HRYR Kigali (Rwanda)
+FHAW Wide Awake Field Ascension Island  (Saint Helena)
+TKPK Golden Rock (Saint Kitts and Nevis)
+TLPL Hewanorra International Airport (Saint Lucia)
+TLPC Vigie (Saint Lucia)
+TVSV Arnos Vale (Saint Vincent and the Grenadines)
+NSFA Faleolo Intl / Apia (Samoa)
+FPST S. Tome (Sao Tome and Principe)
+OEAB Abha (Saudi Arabia)
+OEAH Al Ahsa (Saudi Arabia)
+OEBA Al Baha (Saudi Arabia)
+OEPA Al Qaysumah (Saudi Arabia)
+OESK Al-Jouf (Saudi Arabia)
+OERR Arar (Saudi Arabia)
+OEBH Bisha (Saudi Arabia)
+OEDW Dawadmi (Saudi Arabia)
+OEDR Dhahran (Saudi Arabia)
+OEGS Gassim (Saudi Arabia)
+OEGN Gizan (Saudi Arabia)
+OEGT Guriat (Saudi Arabia)
+OEKK Hafr Al-Batin (Saudi Arabia)
+OEHL Hail (Saudi Arabia)
+OEJN Jeddah King Abdul Aziz International Airport  (Saudi Arabia)
+OEKM Khamis Mushait (Saudi Arabia)
+OERK King Khaled International Airport (Saudi Arabia)
+OEMA Madinah (Saudi Arabia)
+OEMK Makkah (Saudi Arabia)
+OENG Najran (Saudi Arabia)
+OERF Rafha (Saudi Arabia)
+OERY Riyadh (Saudi Arabia)
+OESH Sharurah (Saudi Arabia)
+OETB Tabuk (Saudi Arabia)
+OETF Taif (Saudi Arabia)
+OETR Turaif (Saudi Arabia)
+OEWD Wadi Al Dawasser Airport (Saudi Arabia)
+OEWJ Wejh (Saudi Arabia)
+OEYN Yenbo (Saudi Arabia)
+GOGS Cap-Skirring (Senegal)
+GOOY Dakar / Yoff (Senegal)
+GOSS Saint-Louis (Senegal)
+GOTT Tambacounda (Senegal)
+GOGG Ziguinchor (Senegal)
+FSIA Seychelles Inter-National Airport (Seychelles)
+GFLL Lungi (Sierra Leone)
+WSSS Singapore / Changi Airport (Singapore)
+WSAP Singapore / Paya Lebar (Singapore)
+LZIB Bratislava Ivanka (Slovakia)
+LZTT Poprad / Tatry (Slovakia)
+LJLJ Ljubljana / Brnik (Slovenia)
+LJMB Maribor / Slivnica (Slovenia)
+LJPZ Portoroz (Slovenia)
+AGGH Honiara / Henderson (Solomon Islands)
+HCMM Mogadiscio (Somalia)
+FABM Bethlehem Airport (South Africa)
+FABL Bloemfontein J. B. M. Hertzog  (South Africa)
+FACT Cape Town D. F. Malan  (South Africa)
+FADN Durban Louis Botha  (South Africa)
+FAEL East London (South Africa)
+FAGG George Airport (South Africa)
+FAJS Jan Smuts (South Africa)
+FALW Langebaanweg (South Africa)
+FALT Lichtenburg (South Africa)
+FAPB Pietersburg (South Africa)
+FAPE Port Elizabeth (South Africa)
+FAPR Pretoria (South Africa)
+FASB Springbok (South Africa)
+FAUP Upington (South Africa)
+LEAL Alicante / El Altet (Spain)
+LEAM Almeria / Aeropuerto (Spain)
+LEAS Asturias / Aviles (Spain)
+LEBL Barcelona / Aeropuerto (Spain)
+LEBB Bilbao / Sondica (Spain)
+GCFV Fuerteventura / Aeropuerto (Spain)
+LEGE Gerona / Costa Brava (Spain)
+LEGR Granada / Aeropuerto (Spain)
+GCHI Hierro / Aeropuerto (Spain)
+LEIB Ibiza / Es Codola (Spain)
+LEJR Jerez De La Fronteraaeropuerto (Spain)
+LECO La Coruna / Alvedro (Spain)
+GCLA La Palma / Aeropuerto (Spain)
+GCRR Lanzarote / Aeropuerto (Spain)
+GCLP Las Palmas De Gran Canaria / Gando (Spain)
+LEMD Madrid / Barajas (Spain)
+LEVS Madrid / Cuatro Vientos (Spain)
+LEMG Malaga / Aeropuerto (Spain)
+GEML Melilla (Spain)
+LEMH Menorca / Mahon (Spain)
+LELC Murcia / San Javier (Spain)
+LEPA Palma De Mallorca / Son San Juan (Spain)
+LEPP Pamplona / Noain (Spain)
+LERS Reus / Aeropuerto (Spain)
+LESO San Sebastian / Fuenterrabia (Spain)
+LEXJ Santander / Parayas (Spain)
+LEST Santiago / Labacolla (Spain)
+LEZL Sevilla / San Pablo (Spain)
+GCXO Tenerife / Los Rodeos (Spain)
+GCTS Tenerife Sur (Spain)
+LEVC Valencia / Aeropuerto (Spain)
+LEVD Valladolid / Villanubla (Spain)
+LEVX Vigo / Peinador (Spain)
+LEVT Vitoria (Spain)
+LEZG Zaragoza / Aeropuerto (Spain)
+VCBI Katunayake (Sri Lanka)
+HSSS Khartoum (Sudan)
+SMJP Johan A. Pengel (Suriname)
+FDMS Manzini / Matsapa Airport (Swaziland)
+ESGG Goteborg / Landvetter (Sweden)
+ESGP Goteborg / Save (Sweden)
+ESGJ Jonkoping Flygplats (Sweden)
+ESSQ Karlstad Flygplats (Sweden)
+ESNQ Kiruna Airport (Sweden)
+ESDA Ljungbyhed (Sweden)
+ESMS Malmo / Sturup (Sweden)
+ESSP Norrkoping (Sweden)
+ESDF Ronneby (Sweden)
+ESSA Stockholm / Arlanda (Sweden)
+ESSB Stockholm / Bromma (Sweden)
+ESNN Sundsvall-Harnosand Flygplats (Sweden)
+ESGT Trollhattan Private  (Sweden)
+ESNU Umea Flygplats (Sweden)
+ESOW Vasteras / Hasslo (Sweden)
+ESMX Vaxjo (Sweden)
+ESSV Visby Flygplats (Sweden)
+LSZB Bern / Belp  (Switzerland)
+LSGG Geneve-Cointrin (Switzerland)
+LSZA Lugano (Switzerland)
+LSGS Sion (Switzerland)
+LSZH Zurich-Kloten (Switzerland)
+OSAP Aleppo International Airport (Syrian Arab Republic)
+OSDI Damascus Int. Airport (Syrian Arab Republic)
+OSLK Lattakia (Syrian Arab Republic)
+RCFS Chia Tung (Taiwan)
+RCTP Chiang Kai Shek (Taiwan)
+RCKU Chiayi Tw-Afb  (Taiwan)
+RCQS Chihhang Tw-Afb  (Taiwan)
+RCBS Chinmem / Shatou Air Force Base  (Taiwan)
+RCLM Dongsha (Taiwan)
+RCNO Dongshi (Taiwan)
+RCFN Feng Nin Tw-Afb  (Taiwan)
+RCKW Hengchun (Taiwan)
+RCPO Hsinchu Tw-Afb  (Taiwan)
+RCYU Hulien Ab (Taiwan)
+RCMS Ilan (Taiwan)
+RCAY Kangshan Tw-Afb  (Taiwan)
+RCKH Kaohsiung International Airport (Taiwan)
+RCQC Makung Ab (Taiwan)
+RCFG Mazu (Taiwan)
+RCUK Pa Kuei / Bakuai (Taiwan)
+RCSQ Pingtung North Air Force Base  (Taiwan)
+RCDC Pingtung South Air Force Base  (Taiwan)
+RCSS Sungshan / Taipei (Taiwan)
+RCLG Taichung Tw-Afb  (Taiwan)
+RCNN Tainan Tw-Afb  (Taiwan)
+RCGM Taoyuan Ab = 589650 (Taiwan)
+RCMQ Wuchia Observatory (Taiwan)
+UTDD Dushanbe (Tajikistan)
+HTAR Arusha (Tanzania, United Republic of)
+HTBU Bukoba (Tanzania, United Republic of)
+HTDA Dar Es Salaam Airport (Tanzania, United Republic of)
+HTDO Dodoma (Tanzania, United Republic of)
+HTIR Iringa (Tanzania, United Republic of)
+HTKA Kigoma (Tanzania, United Republic of)
+HTKJ Kilimanjaro Airport (Tanzania, United Republic of)
+HTMB Mbeya (Tanzania, United Republic of)
+HTMG Morogoro (Tanzania, United Republic of)
+HTMS Moshi (Tanzania, United Republic of)
+HTMU Musoma (Tanzania, United Republic of)
+HTMW Mwanza (Tanzania, United Republic of)
+HTPE Pemba / Karume Airport (Tanzania, United Republic of)
+HTSE Same (Tanzania, United Republic of)
+HTSY Shinyanga (Tanzania, United Republic of)
+HTSO Songea (Tanzania, United Republic of)
+HTTB Tabora Airport (Tanzania, United Republic of)
+HTTG Tanga (Tanzania, United Republic of)
+HTZA Zanzibar / Kisauni (Tanzania, United Republic of)
+VTCC Chiang Mai (Thailand)
+VTBD Don Muang (Thailand)
+VTSS Hat Yai (Thailand)
+VTSP Phuket Airport (Thailand)
+VTBU Rayong (Thailand)
+DXXX Lome (Togo)
+NFTF Fua'Amotu (Tonga)
+TTCP Crown Pt./ Scarborou (Trinidad and Tobago)
+TTPP Piarco International Airport, Trinidad (Trinidad and Tobago)
+DTTB Bizerte (Tunisia)
+DTTJ Djerba Mellita (Tunisia)
+DTTR El Borma (Tunisia)
+DTTG Gabes (Tunisia)
+DTMB Habib Bourguiba  (Tunisia)
+DTTN Jendouba (Tunisia)
+DTTK Kairouan (Tunisia)
+DTTL Kelibia (Tunisia)
+DTTD Remada (Tunisia)
+DTTX Sfax El-Maou (Tunisia)
+DTTZ Tozeur (Tunisia)
+DTTA Tunis-Carthage (Tunisia)
+LTAG Adana / Incirlik (Turkey)
+LTAF Adana / Sakirpasa (Turkey)
+LTAH Afyon (Turkey)
+LTBT Akhisar (Turkey)
+LTAC Ankara / Esenboga (Turkey)
+LTAD Ankara / Etimesgut (Turkey)
+LTAI Antalya (Turkey)
+LTBF Balikesir (Turkey)
+LTBG Bandirma (Turkey)
+LTCJ Batman (Turkey)
+LTBE Bursa (Turkey)
+LTBU Corlu (Turkey)
+LTBS Dalaman (Turkey)
+LTCC Diyarbakir (Turkey)
+LTCA Elazig (Turkey)
+LTCE Erzurum (Turkey)
+LTBI Eskisehir (Turkey)
+LTAJ Gaziantep (Turkey)
+LTBA Istanbul / Ataturk (Turkey)
+LTBJ Izmir / Adnan Menderes (Turkey)
+LTBL Izmir / Cigli (Turkey)
+LTAU Kayseri / Erkilet (Turkey)
+LTAN Konya (Turkey)
+LTAT Malatya / Erhac (Turkey)
+LTAP Merzifon (Turkey)
+LTAE Murted Tur-Afb  (Turkey)
+LTCK Mus Tur-Afb  (Turkey)
+LTAQ Samsun (Turkey)
+LTAR Sivas (Turkey)
+LTAV Sivrihisar (Turkey)
+LTBQ Topel Tur-Afb  (Turkey)
+LTCG Trabzon (Turkey)
+LTCH Urfa (Turkey)
+LTCI Van (Turkey)
+NGFU Funafuti (Tuvalu)
+HUEN Entebbe Airport (Uganda)
+HUKS Kasese (Uganda)
+HUMA Mbarara (Uganda)
+HUSO Soroti (Uganda)
+UKBB Boryspil (Ukraine)
+UKKK Kyiv (Ukraine)
+UKLL L'Viv (Ukraine)
+UKOO Odesa (Ukraine)
+OMAD Abu Dhabi Bateen Airport (United Arab Emirates)
+OMAA Abu Dhabi International Airport (United Arab Emirates)
+OMAL Al Ain International Airport (United Arab Emirates)
+OMDB Dubai International Airport (United Arab Emirates)
+OMFJ Fujairah (United Arab Emirates)
+OMRK Ras Al Khaimah International Airport (United Arab Emirates)
+OMSJ Sharjah International Airport (United Arab Emirates)
+EGPD Aberdeen / Dyce (United Kingdom)
+EGJA Alderney / Channel Island (United Kingdom)
+EGAA Belfast / Aldergrove Airport (United Kingdom)
+EGAC Belfast / Harbour (United Kingdom)
+EGPL Benbecula (United Kingdom)
+EGUB Benson (United Kingdom)
+EGKB Biggin Hill  (United Kingdom)
+EGBB Birmingham / Airport (United Kingdom)
+EGNH Blackpool Airport (United Kingdom)
+EGDM Boscombe Down (United Kingdom)
+EGQM Boulmer (United Kingdom)
+EGHH Bournemouth Airport (United Kingdom)
+EGGD Bristol / Lulsgate  (United Kingdom)
+EGSC Cambridge (United Kingdom)
+EGFF Cardiff-Wales Airport (United Kingdom)
+EGNC Carlisle (United Kingdom)
+EGBE Coventry Airport  (United Kingdom)
+EGTC Cranfield (United Kingdom)
+EGDR Culdrose (United Kingdom)
+EGPN Dundee / Riverside (United Kingdom)
+EGNX East Midlands (United Kingdom)
+EGPH Edinburgh Airport (United Kingdom)
+EGAE Eglinton / Londonderr (United Kingdom)
+EGTE Exeter Airport (United Kingdom)
+EGLF Farnborough (United Kingdom)
+EGPF Glasgow Airport (United Kingdom)
+EGJB Guernsey Airport (United Kingdom)
+EGNJ Humberside (United Kingdom)
+EGPE Inverness / Dalcross (United Kingdom)
+EGNS Isle Of Man / Ronaldsway Airport (United Kingdom)
+EGJJ Jersey Airport (United Kingdom)
+EGQK Kinloss (United Kingdom)
+EGNM Leeds And Bradford (United Kingdom)
+EGQL Leuchars (United Kingdom)
+EGGP Liverpool Airport  (United Kingdom)
+EGKK London / Gatwick Airport (United Kingdom)
+EGLL London / Heathrow Airport (United Kingdom)
+EGLC London City Airport (United Kingdom)
+EGQS Lossiemouth (United Kingdom)
+EGGW Luton Airport  (United Kingdom)
+EGMD Lydd Airport  (United Kingdom)
+EGDL Lyneham (United Kingdom)
+EGCC Manchester Airport (United Kingdom)
+EGVP Middle Wallop (United Kingdom)
+EGNT Newcastle  (United Kingdom)
+EGSH Norwich Weather Centre (United Kingdom)
+EGHD Plymouth / Roborough (United Kingdom)
+EGDP Portland / Rnas (United Kingdom)
+EGPK Prestwick Airport (United Kingdom)
+EGDG Saint Mawgan (United Kingdom)
+EGPM Scatsa / Shetland Island (United Kingdom)
+EGHE Scilly, Saint Mary'S (United Kingdom)
+EGOS Shawbury (United Kingdom)
+EGKA Shoreham Airport (United Kingdom)
+EGHI Southampton / Weather Centre (United Kingdom)
+EGMC Southend-On-Sea  (United Kingdom)
+EGSS Stansted Airport (United Kingdom)
+EGBJ Staverton Private  (United Kingdom)
+EGPO Stornoway (United Kingdom)
+EGPB Sumburgh Cape  (United Kingdom)
+EGFH Swansea (United Kingdom)
+EGNV Tees-Side (United Kingdom)
+EGPU Tiree (United Kingdom)
+EGPW Unst Island (United Kingdom)
+EGOV Valley (United Kingdom)
+EGPC Wick (United Kingdom)
+EGDY Yeovilton (United Kingdom)
+PGUM Agana, Guam, Mariana Islands (United States Minor Outlying Islands)
+PGUA Andersen Air Force Base (United States Minor Outlying Islands)
+PJON Johnston Island (United States Minor Outlying Islands)
+NSTU Pago Pago / Int. Airp. (United States Minor Outlying Islands)
+PGWT Peipeinimaru (United States Minor Outlying Islands)
+PGRO Rota Intl / Rota Island (United States Minor Outlying Islands)
+PGSN Saipan / Isley Coast Guard Station (United States Minor Outlying Islands)
+PWAK Wake Island Airfld (United States Minor Outlying Islands)
+KABR Aberdeen, Aberdeen Regional Airport (United States)
+KABI Abilene, Abilene Regional Airport (United States)
+KVJI Abingdon (United States)
+PADK Adak, Naval Air Station (United States)
+KADG Adrian, Lenawee County Airport (United States)
+KANW Ainsworth Municipal (United States)
+KAFF Air Force Academy (United States)
+KAIT Aitkin NDB Automatic Weather Observing / Reporting System  (United States)
+KCAK Akron, Akron-Canton Regional Airport (United States)
+KAKO Akron, Akron-Washington County Airport (United States)
+KEET Alabaster, Shelby County Airport (United States)
+KALM Alamogordo-White (United States)
+KALS Alamosa, San Luis Valley Regional Airport (United States)
+KALB Albany, Albany County Airport (United States)
+KABY Albany, Southwest Georgia Regional Airport (United States)
+KAEL Albert Lea Automatic Weather Observing / Reporting System  (United States)
+KABQ Albuquerque, Albuquerque International Airport (United States)
+KESF Alexandria, Alexandria Esler Regional Airport (United States)
+KAEX Alexandria, Alexandria International Airport (United States)
+KAXN Alexandria, Chandler Field (United States)
+KAXA Algona (United States)
+KALI Alice, Alice International Airport (United States)
+KABE Allentown, Lehigh Valley International Airport (United States)
+KAIA Alliance, Alliance Municipal Airport (United States)
+KAMG Alma, Bacon County Airport (United States)
+KAPN Alpena, Alpena County Regional Airport (United States)
+KALN Alton / St. Louis Regional (United States)
+KAOO Altoona, Altoona-Blair County Airport (United States)
+KO00 Alturas (United States)
+KLTS Altus Air Force Base (United States)
+KAMA Amarillo, Amarillo International Airport (United States)
+PAFM Ambler (United States)
+K7R3 Amelia / Lake Palourd (United States)
+KAMW Ames, Ames Municipal Airport (United States)
+PAKP Anaktuvuk Pass (United States)
+PAED Anchorage / Elmendorf Air Force Base (United States)
+PANC Anchorage, Anchorage International Airport (United States)
+KAID Anderson Municipal (United States)
+KAND Anderson, Anderson County Airport (United States)
+K12N Andover, Aeroflex-Andover Airport (United States)
+KLBX Angleton / Lake Jackson, Brazoria County Airport (United States)
+PANI Aniak (United States)
+KARB Ann Arbor, Ann Arbor Municipal Airport (United States)
+PANT Annette Island (United States)
+KANB Anniston, Anniston Metropolitan Airport (United States)
+KAIG Antigo - Lang Automatic Weather Observing / Reporting System  (United States)
+KAQQ Apalachicola, Apalachicola (United States)
+KATW Appleton / Outagamie (United States)
+KACV Arcata / Eureka, Arcata Airport (United States)
+PARC Arctic Village (United States)
+KADM Ardmore Municipal (United States)
+KAWO Arlington Municipal (United States)
+KGKY Arlington, Arlington Municipal Airport (United States)
+KAVL Asheville, Asheville Regional Airport (United States)
+KOFP Ashland, Hanover County Municipal Airport (United States)
+KASX Ashland, Kennedy Memorial Airport (United States)
+KHZY Ashtabula, Ashtabula County Airport (United States)
+KASE Aspen, Aspen-Pitkin County Airport (United States)
+KAST Astoria, Astoria Regional Airport (United States)
+KAHN Athens, Athens Airport (United States)
+KPDK Atlanta, De Kalb-Peachtree Airport (United States)
+KFTY Atlanta, Fulton County Airport-Brown Field (United States)
+KATL Atlanta, Hartsfield Atlanta International Airport (United States)
+KFFC Atlanta, Peachtree City-Falcon Field (United States)
+KAIO Atlantic (United States)
+KACY Atlantic City, Atlantic City International Airport (United States)
+KLEW Auburn-Lewiston (United States)
+KAUO Auburn-Opelika Airport (United States)
+KAUG Augusta, Augusta State Airport (United States)
+KAGS Augusta, Bush Field (United States)
+KDNL Augusta, Daniel Field (United States)
+KARR Aurora, Aurora Municipal Airport (United States)
+KUAO Aurora, Aurora State Airport (United States)
+KU31 Austin (United States)
+KAUM Austin Municipal (United States)
+KAUS Austin, Mueller Municipal Airport (United States)
+KAVX Avalon, Catalina Airport (United States)
+KBKE Baker, Baker Municipal Airport (United States)
+KBFL Bakersfield, Meadows Field (United States)
+KMTN Baltimore / Martin (United States)
+KBWI Baltimore, Baltimore-Washington International Airport (United States)
+KDMH Baltimore, Inner Harbor (United States)
+KBGR Bangor, Bangor International Airport (United States)
+KBHB Bar Harbor Automatic Weather Observing / Reporting System (United States)
+KBAD Barksdale Air Force Base (United States)
+KMPV Barre / Montpelier, Knapp State Airport (United States)
+PABR Barrow, Post Rogers Memorial Airport (United States)
+PABA Barter Island (United States)
+KBVO Bartlesville, Bartlesville Municipal Airport (United States)
+KBOW Bartow Municipal (United States)
+KBVX Batesville Automatic Weather Observing / Reporting System (United States)
+KBTR Baton Rouge, Baton Rouge Metropolitan, Ryan Field (United States)
+KBTL Battle Creek, Kellogg Airport (United States)
+KB23 Battle Mountain (United States)
+KBDE Baudette, Baudette International Airport (United States)
+KBAB Beale Air Force Base / Marysvile (United States)
+KBIE Beatrice Municipal (United States)
+KNBC Beaufort, Marine Corps Air Station (United States)
+KMRH Beaufort, Smith Field (United States)
+KBUO Beaumont (United States)
+KBPT Beaumont / Port Arthur, Jefferson County Airport (United States)
+KBVI Beaver Falls Airport (United States)
+KBKW Beckley, Raleigh County Memorial Airport (United States)
+KBED Bedford, Hanscom Field (United States)
+KEFC Belle Fourche (United States)
+KBLI Bellingham, Bellingham International Airport (United States)
+KBLM Belmar-Farmdale (United States)
+KBJI Bemidji (United States)
+KDDH Bennington, Bennington Morse State Airport (United States)
+KBBB Benson Municipal (United States)
+KBEH Benton Harbor, Southwest Michigan Regional Airport (United States)
+KVBT Bentonville Automatic Weather Observing / Reporting System (United States)
+KBSM Bergstrom, Austin-Bergstrom International Airport (United States)
+KBML Berlin, Berlin Municipal Airport (United States)
+PABE Bethel / Bethel Airport (United States)
+PABT Bettles (United States)
+KBVY Beverly, Beverly Municipal Airport (United States)
+KBYS Bicycle Lake U. S. Army Airfield, Ca (United States)
+KBPI Big Piney, Big Piney-Marbleton Airport (United States)
+PALV Big River Lake (United States)
+KBIL Billings, Billings Logan International Airport (United States)
+KBGM Binghamton, Binghamton Regional Airport (United States)
+KBHM Birmingham, Birmingham International Airport (United States)
+KBIH Bishop, Bishop Airport (United States)
+KBIS Bismarck, Bismarck Municipal Airport (United States)
+K4BL Blanding  (United States)
+KBID Block Island Automatic Weather Observing / Reporting System (United States)
+KBMI Bloomington / Normal (United States)
+KBMG Bloomington, Monroe County Airport (United States)
+KBLF Bluefield, Mercer County Airport (United States)
+KBLH Blythe, Blythe Airport (United States)
+KHKA Blytheville, Blytheville Municipal Airport (United States)
+KBOI Boise, Boise Air Terminal (United States)
+KBNW Boone Municipal (United States)
+KBGD Borger, Hutchinson County Airport (United States)
+KOVS Boscobel, Boscobel Airport (United States)
+KBOS Boston, Logan International Airport (United States)
+KBWG Bowling Green, Bowling Green-Warren County Regional Airport (United States)
+KBZN Bozeman, Gallatin Field (United States)
+KBFD Bradford, Bradford Regional Airport (United States)
+PHSF Bradshaw Army Air Field / Hawaii (United States)
+KBRD Brainerd, Brainerd-Crow Wing County Regional Airport (United States)
+KPWT Bremerton National Automatic Weather Observing / Reporting System (United States)
+KHDE Brewster Field Airport (United States)
+KBDR Bridgeport, Sikorsky Memorial Airport (United States)
+KTRI Bristol / Johnson / Kingsport, Tri-City Regional Airport (United States)
+KBBW Broken Bow Municipal (United States)
+K4BK Brookings (United States)
+KBKX Brookings Automatic Weather Observing / Reporting System (United States)
+KBKV Brooksville, Hernando County Airport (United States)
+KBJC Broomfield / Jeffco (United States)
+KBRO Brownsville, Brownsville / South Padre Island International Airport (United States)
+KBQK Brunswick / Glynco (United States)
+KSSI Brunswick, McKinnon Airport (United States)
+KNHZ Brunswick, Naval Air Station (United States)
+KBCE Bryce Canyon, Bryce Canyon Airport (United States)
+KBKF Buckley Air National Guard Base / Denver (United States)
+K2WX Buffalo (United States)
+KBUF Buffalo, Greater Buffalo International Airport (United States)
+KBYG Buffalo, Johnson County Airport (United States)
+KU17 Bullfrog Marina (United States)
+KBUR Burbank, Burbank-Glendale-Pasadena Airport (United States)
+KBYI Burley, Burley Municipal Airport (United States)
+K75S Burlington / Mt Vern (United States)
+KBUY Burlington, Burlington Alamance Regional Airport (United States)
+KBTV Burlington, Burlington International Airport (United States)
+KBRL Burlington, Burlington Regional Airport (United States)
+KITR Burlington, Carson County Airport (United States)
+KBMQ Burnet, Burnet Municipal Craddock Field (United States)
+KBNO Burns, Burns Municipal Airport (United States)
+KBTP Butler County Automatic Weather Observing / Reporting System (United States)
+KBTM Butte, Mooney Airport (United States)
+KCAD Cadillac / Wexford County (United States)
+KCPS Cahokia / St. Louis, St. Louis Downtown-Parks Airport (United States)
+KOZR Cairns Army Air Field / Ozark (United States)
+KEUL Caldwell Automatic Weather Observing / Reporting System (United States)
+KCDW Caldwell, Essex County Airport (United States)
+KP38 Caliente (United States)
+KCMA Camarillo Automatic Weather Observing / Reporting System (United States)
+KCBG Cambridge Municipal (United States)
+K7R5 Cameron Heliport (United States)
+KADW Camp Springs / Andrews Air Force Base (United States)
+KCZZ Campo (United States)
+KCVS Cannon Air Force Base / Clovis (United States)
+PATW Cantwell (United States)
+KCGI Cape Girardeau, Cape Girardeau Regional Airport (United States)
+PALU Cape Lisburne Airways Facilities Sector (United States)
+PAEH Cape Newenham Airways Facilities Sector (United States)
+PACZ Cape Romanzoff Airways Facilities Sector (United States)
+KMDH Carbondale / Murphysboro, Southern Illinois Airport (United States)
+KCAR Caribou, Caribou Municipal Airport (United States)
+KCNM Carlsbad, Cavern City Air Terminal (United States)
+KCRQ Carlsbad, McClellan-Palomar Airport (United States)
+KCIN Carroll (United States)
+KCGZ Casa Granda Automatic Weather Observing / Reporting System (United States)
+KCZK Cascade Locks State (United States)
+KCPR Casper, Natrona County International Airport (United States)
+KNZC Cecil, Naval Air Station (United States)
+KCDC Cedar City, Cedar City Municipal Airport (United States)
+KCID Cedar Rapids, Cedar Rapids Municipal Airport (United States)
+KCDR Chadron, Chadron Municipal Airport (United States)
+KU15 Challis, Challis Airport (United States)
+KE33 Chama (United States)
+K9V9 Chamberlain, Chamberlain Municipal Airport (United States)
+KCMI Champaign / Urbana, University Of Illinois-Willard Airport (United States)
+PALR Chandalar Lake (United States)
+KCNU Chanute, Chanute Martin Johnson Airport (United States)
+KCNC Chariton (United States)
+KCCY Charles City (United States)
+KCHS Charleston, Charleston Air Force Base (United States)
+KCRW Charleston, Yeager Airport (United States)
+KCLT Charlotte, Charlotte / Douglas International Airport (United States)
+KCHO Charlottesville, Charlottesville-Albemarle Airport (United States)
+KCQX Chatham, Chatham Municipal Airport (United States)
+KCHA Chattanooga, Lovell Field (United States)
+KCWF Chenault Airpark (United States)
+KNKT Cherry Point, Marine Corps Air Station (United States)
+KCYS Cheyenne, Cheyenne Airport (United States)
+KCGX Chicago / Meigs (United States)
+KUGN Chicago / Waukegan (United States)
+KDPA Chicago / West Chicago, Dupage Airport (United States)
+KPWK Chicago / Wheeling, Pal-Waukee Airport (United States)
+KMDW Chicago, Chicago Midway Airport (United States)
+KORD Chicago, Chicago-O'Hare International Airport (United States)
+KCIC Chico Municipal  (United States)
+KCEF Chicopee Falls / Westover Air Force Base (United States)
+KCDS Childress, Childress Municipal Airport (United States)
+KCDJ Chillicothe, Chillicothe Agri-Science Center (United States)
+KNID China Lake, Naval Air Facility (United States)
+KCNO Chino, Chino Airport (United States)
+KCIU Chippewa International Automatic Weather Observing / Reporting System (United States)
+PAEC Chulitna (United States)
+KLUK Cincinnati, Cincinnati Municipal Airport Lunken Field (United States)
+PACR Circle City Airport (United States)
+KICL Clarinda (United States)
+KCAV Clarion (United States)
+KCKB Clarksburg, Benedum Airport (United States)
+K40B Clayton Lake (United States)
+KCAO Clayton, Clayton Municipal Airpark (United States)
+KN97 Clearfield, Clearfield-Lawrence Airport (United States)
+KCGF Cleveland / Cuyahoga (United States)
+KBKL Cleveland, Burke Lakefront Airport (United States)
+KCLE Cleveland, Cleveland-Hopkins International Airport (United States)
+KCQC Clines Corner (United States)
+KCWI Clinton Municipal Automatic Weather Observing / Reporting System (United States)
+KCSM Clinton, Clinton-Sherman Airport (United States)
+KCOQ Cloquet Automatic Weather Observing / Reporting System (United States)
+KCVN Clovis Municipal Automatic Weather Observing / Reporting System (United States)
+KCOF Cocoa / Patrick Air Force Base (United States)
+KCOD Cody (United States)
+KCOE Coeur D'Alene Automatic Weather Observing / Reporting System (United States)
+KCFV Coffeyville, Coffeyville Municipal Airport (United States)
+PACD Cold Bay, Cold Bay Airport (United States)
+KCLL College Station, Easterwood Field (United States)
+KCOS Colorado Springs, City Of Colorado Springs Municipal Airport (United States)
+KCAE Columbia, Columbia Metropolitan Airport (United States)
+KCUB Columbia, Columbia Owens Downtown Airport (United States)
+KCOU Columbia, Columbia Regional Airport (United States)
+KBAK Columbus / Balkalar  (United States)
+KCBM Columbus Air Force Base (United States)
+KOLU Columbus Municipal Automatic Weather Observing / Reporting System (United States)
+KCSG Columbus, Columbus Metropolitan Airport (United States)
+KOSU Columbus, Ohio State University Airport (United States)
+KCMH Columbus, Port Columbus International Airport (United States)
+KCQV Colville Municipal (United States)
+KCCR Concord, Buchanan Field (United States)
+KCON Concord, Concord Municipal Airport (United States)
+KCNK Concordia, Blosser Municipal Airport (United States)
+KCXO Conroe, Montgomery County Airport (United States)
+KP59 Copper Harbor (United States)
+PACV Cordova / Mile 13 (United States)
+K4CR Corona / Lincoln (United States)
+KCRP Corpus Christi, Corpus Christi International Airport (United States)
+KNGP Corpus Christi, Naval Air Station (United States)
+KCRS Corsicana, Campbell Field-Corsicana Municipal Airport (United States)
+KCEZ Cortez, Cortez-Montezuma County Airport (United States)
+KCVO Corvallis Municipal Automatic Weather Observing / Reporting System (United States)
+KCOT Cotulla, Cotulla-La Salle County Airport (United States)
+KCBF Council Bluffs (United States)
+KCVG Covington / Cincinnati, Cincinnati / Northern Kentucky International Airport (United States)
+KCAG Craig, Craig-Moffat Airport (United States)
+KCEC Crescent City (United States)
+KCSQ Creston (United States)
+KCEW Crestview, Sikes Airport (United States)
+KCKN Crookston Municipal Field (United States)
+KCTY Cross City, Cross City Airport (United States)
+KCSV Crossville, Crossville Memorial Airport (United States)
+K0V1 Custer, Custer County Airport (United States)
+KCTB Cut Bank Automatic Weather Observing / Reporting System (United States)
+KDAG Daggett, Barstow-Daggett Airport (United States)
+KDHT Dalhart, Dalhart Municipal Airport (United States)
+KADS Dallas / Addison Airport (United States)
+KDFW Dallas / Fort Worth, Dallas / Fort Worth International Airport (United States)
+KDAL Dallas, Dallas Love Field (United States)
+KRBD Dallas, Redbird Airport (United States)
+KDXR Danbury, Danbury Municipal Airport (United States)
+KDAN Danville, Danville Regional Airport (United States)
+KDVN Davenport, Davenport Municipal Airport (United States)
+KDMA Davis-Monthan Air Force Base (United States)
+KFFO Dayton / Wright-Patterson Air Force Base (United States)
+KDAY Dayton, Cox Dayton International Airport (United States)
+KMGY Dayton, Dayton General Airport South Airport (United States)
+KDAB Daytona Beach, Daytona Beach Regional Airport (United States)
+PASC Deadhorse (United States)
+KDEC Decatur, Decatur Airport (United States)
+KDCU Decatur, Pryor Field (United States)
+KDEH Decorah (United States)
+KDEW Deer Park, Deer Park Airport (United States)
+PADE Deering  (United States)
+KDFI Defiance, Defiance Memorial Airport (United States)
+KDRT Del Rio, Del Rio International Airport (United States)
+KU24 Delta (United States)
+KDMN Deming, Deming Municipal Airport (United States)
+KDNS Denison (United States)
+KDTO Denton, Denton Municipal Airport (United States)
+KAPA Denver, Centennial Airport (United States)
+KDEN Denver, Denver International Airport (United States)
+KDSM Des Moines, Des Moines International Airport (United States)
+KDTS Destin, Destin-Ft. Walton Beach Airport (United States)
+KDTL Detroit Lakes Automatic Weather Observing / Reporting System (United States)
+KDET Detroit, Detroit City Airport (United States)
+KDTW Detroit, Detroit Metropolitan Wayne County Airport (United States)
+KYIP Detroit, Willow Run Airport (United States)
+KDVL Devils Lake Automatic Weather Observing / Reporting System (United States)
+KDIK Dickinson, Dickinson Municipal Airport (United States)
+PADL Dillingham Municipal, Ak (United States)
+KDLN Dillon, Dillon Airport (United States)
+KDDC Dodge City, Dodge City Regional Airport (United States)
+KDHN Dothan, Dothan Airport (United States)
+KDUG Douglas Bisbee International (United States)
+KDGW Douglas, Converse County Airport (United States)
+KDOV Dover Air Force Base (United States)
+K3DU Drummond (United States)
+KDUJ Du Bois Automatic Weather Observing / Reporting System (United States)
+KPSK Dublin / New River Valley (United States)
+KDBQ Dubuque, Dubuque Regional Airport (United States)
+KDPG Dugway Proving Grounds (United States)
+KEGI Duke Field / Eglin Auxiliary (United States)
+KDLH Duluth, Duluth International Airport (United States)
+KDKK Dunkirk, Chautauqua County / Dunkirk Airport (United States)
+KDRO Durango, Durango-La Plata County Airport (United States)
+PADU Dutch Harbor (United States)
+KDYR Dyersburg Automatic Weather Observing / Reporting System (United States)
+KEGE Eagle County Regional (United States)
+KBYH Eaker Air Force Base (United States)
+KEAU Eau Claire County Airport (United States)
+KEDW Edwards Air Force Base (United States)
+PAII Egegik Automatic Weather Observing / Reporting System (United States)
+KNJK El Centro, Naval Air Facility (United States)
+KELD El Dorado, South Arkansas Regional Airport (United States)
+KEMT El Monte (United States)
+KELP El Paso, El Paso International Airport (United States)
+PAEL Elfin Cove Seaplane (United States)
+KECG Elizabeth City, Elizabeth City Coast Guard Air Station (United States)
+KEHA Elkhart Automatic Weather Observing / Reporting System (United States)
+KEKM Elkhart Municipal (United States)
+KEKN Elkins, Elkins-Randolph County-Jennings Randolph Field (United States)
+KEKO Elko, Elko Municipal-Harris Field (United States)
+KELN Ellensburg, Bowers Field (United States)
+KRCA Ellsworth Air Force Base (United States)
+KELM Elmira, Elmira / Corning Regional Airport (United States)
+KELO Ely Municipal Automatic Weather Observing / Reporting System (United States)
+KELY Ely, Ely Airport (United States)
+KBLU Emigrant Gap, Blue Canyon Nyack Airport (United States)
+PAEM Emmonak (United States)
+KEMP Emporia, Emporia Municipal Airport (United States)
+KWDG Enid / Woodring Municipal (United States)
+KEPH Ephrata, Ephrata Municipal Airport (United States)
+KERI Erie, Erie International Airport (United States)
+KESC Escanaba (United States)
+KEST Estherville, Estherville Municipal Airport (United States)
+KEUG Eugene, Mahlon Sweet Field (United States)
+PAZK Eureka (United States)
+KEVW Evanston, Evanston-Uinta County Burns Field (United States)
+KEVV Evansville, Evansville Regional Airport (United States)
+KEVM Eveleth Municipal Automatic Weather Observing / Reporting System (United States)
+KPAE Everett, Snohomish County Airport (United States)
+KGZH Evergreen, Middleton Field (United States)
+KFFL Fair Field (United States)
+PAEI Fairbanks / Eielson Air Force Base (United States)
+PAFA Fairbanks, Fairbanks International Airport (United States)
+KSKA Fairchild Air Force Base (United States)
+KSUU Fairfield / Travis Air Force Base (United States)
+KFRM Fairmont Municipal Automatic Weather Observing / Reporting System (United States)
+KD07 Faith (United States)
+KNFL Fallon, Naval Air Station (United States)
+KFNB Falls City / Brenner (United States)
+KFAR Fargo, Hector International Airport (United States)
+KFBL Faribault Municipal Automatic Weather Observing / Reporting System (United States)
+KFRG Farmingdale, Republic Airport (United States)
+KFAM Farmington Airport (United States)
+KFMN Farmington, Four Corners Regional Airport (United States)
+KFVX Farmville (United States)
+KFYV Fayetteville, Drake Field (United States)
+KFAY Fayetteville, Fayetteville Regional Airport (United States)
+KFFM Fergus Falls Automatic Weather Observing / Reporting System (United States)
+KFDY Findlay Automatic Weather Observing / Reporting System (United States)
+KFIT Fitchburg, Fitchburg Municipal Airport (United States)
+KFLG Flagstaff, Flagstaff Pulliam Airport (United States)
+KFNT Flint, Bishop International Airport (United States)
+KFLP Flippin Automatic Weather Observing / Reporting System (United States)
+KFLO Florence, Florence Regional Airport (United States)
+KFLD Fond Du Lac, Fond Du Lac County Airport (United States)
+KDAA Fort Belvoir (United States)
+KLSF Fort Benning (United States)
+KFBG Fort Bragg / Simmons Army Airfield (United States)
+KHOP Fort Campbell U. S. Army Airfield (United States)
+KFCS Fort Carson (United States)
+KFNL Fort Collins Automatic Weather Observing / Reporting System (United States)
+KFOD Fort Dodge (United States)
+KGTB Fort Drum / Wheeler-Sack U. S. Army Airfield (United States)
+KFAF Fort Eustis / Felker (United States)
+PABI Fort Greely / Allen U. S. Army Airfield, Ak (United States)
+KHLR Fort Hood (United States)
+KGRK Fort Hood / Gray U. S. Army Airfield (United States)
+KFHU Fort Huachuca (United States)
+KFTK Fort Knox (United States)
+KFLL Fort Lauderdale, Fort Lauderdale / Hollywood International Airport (United States)
+KFXE Fort Lauderdale, Fort Lauderdale Executive Airport (United States)
+KFLV Fort Leavenworth (United States)
+KTBN Fort Leonard Wood (United States)
+KGRF Fort Lewis / Gray U. S. Army Airfield (United States)
+KFSW Fort Madison (United States)
+KFMY Fort Myers, Page Field (United States)
+KRSW Fort Myers, Southwest Florida International Airport (United States)
+KFPR Fort Pierce, St. Lucie County International Airport (United States)
+KPOE Fort Polk (United States)
+KFRI Fort Riley (United States)
+KJWX Fort Ritchie (United States)
+KFSI Fort Sill (United States)
+KFSM Fort Smith, Fort Smith Regional Airport (United States)
+KFST Fort Stockton, Fort Stockton-Pecos County Airport (United States)
+KFWA Fort Wayne, Fort Wayne International Airport (United States)
+KAFW Fort Worth, Fort Worth Alliance Airport (United States)
+KFTW Fort Worth, Meacham International Airport (United States)
+KNFW Fort Worth, Naval Air Station (United States)
+PFYU Fort Yukon (United States)
+KFSE Fosston Automatic Weather Observing / Reporting System (United States)
+K9F2 Fourchon Supplementary Aviation Weather Reporting Station  (United States)
+KFFT Frankfort, Capital City Airport (United States)
+KFKN Franklin / J B Rose (United States)
+KFKL Franklin Automatic Weather Observing / Reporting System (United States)
+KFDR Frederick, Frederick Municipal Airport (United States)
+KFET Fremont Municipal Airport (United States)
+KFVE Frenchville, Northern Aroostook Regional Airport (United States)
+KFAT Fresno, Fresno Air Terminal (United States)
+KFCH Fresno-Chandler (United States)
+KFHR Friday Harbor, Friday Harbor Airport (United States)
+KIZG Fryeburg, Eastern Slopes Regional Airport (United States)
+KLHW Ft. Stewart (United States)
+KFUL Fullerton, Fullerton Municipal Airport (United States)
+KGAD Gadsden Municipal Automatic Weather Observing / Reporting System (United States)
+KGAG Gage, Gage Airport (United States)
+KGNV Gainesville, Gainesville Regional Airport (United States)
+KGVL Gainesville, Gilmer Memorial Airport (United States)
+PAGB Galbraith Lake (United States)
+PAGA Galena A. (United States)
+KGUP Gallup, Gallup Municipal Airport (United States)
+KGLS Galveston, Scholes Field (United States)
+PAGM Gambell Automatic Weather Observing / Reporting System (United States)
+KGCK Garden City, Garden City Regional Airport (United States)
+KN60 Garrison (United States)
+KGYY Gary Regional (United States)
+KAKH Gastonia, Gastonia Municipal Airport (United States)
+KGLR Gaylord, Otsego County Airport (United States)
+KGTU Georgetown Automatic Weather Observing / Reporting System (United States)
+KGED Georgetown, Sussex County Airport (United States)
+KGBN Gila Bend U. S. Army Airfield (United States)
+KGCC Gillette, Gillette-Campbell County Airport (United States)
+KGGW Glasgow, Glasgow International Airport (United States)
+KGDV Glendive Automatic Weather Observing / Reporting System (United States)
+KGFL Glens Falls, Warren County Airport (United States)
+KGHW Glenwood Automatic Surface Observing System  (United States)
+KGTR Golden Tri Automatic Weather Observing / Reporting System (United States)
+KGLD Goodland, Renner Field (United States)
+KGYR Goodyear Municipal (United States)
+KGSH Goshen, Goshen Municipal Airport (United States)
+KGCN Grand Canyon, Grand Canyon National Park Airport (United States)
+KRDR Grand Forks Air Force Base (United States)
+KGFK Grand Forks, Grand Forks International Airport (United States)
+KGRI Grand Island, Central Nebraska Regional Airport (United States)
+KAXO Grand Isle Supplementary Aviation Weather Reporting Station  (United States)
+KGJT Grand Junction, Walker Field (United States)
+KP61 Grand Marais (United States)
+KGNA Grand Marais, The Bay of Grand Marais (United States)
+KGPZ Grand Rapids Automatic Weather Observing / Reporting System (United States)
+KGRR Grand Rapids, Kent County International Airport (United States)
+KS80 Grangeville  (United States)
+KGNT Grants, Grants-Milan Municipal Airport (United States)
+KGBD Great Bend Automatic Weather Observing / Reporting System (United States)
+KGTF Great Falls, Great Falls International Airport (United States)
+KGXY Greeley / Weld Automatic Weather Observing / Reporting System (United States)
+KGRB Green Bay, Austin Straubel International Airport (United States)
+KU28 Green River Range (United States)
+KGSO Greensboro, Piedmont Triad International Airport (United States)
+KGVT Greenville / Majors (United States)
+KGMU Greenville, Greenville Downtown Airport (United States)
+KGLH Greenville, Greenville Municipal Airport (United States)
+KGWO Greenwood, Greenwood-LeFlore Airport (United States)
+KGSP Greer, Greenville-Spartanburg Airport (United States)
+KGEY Greybull, South Big Horn County Airport (United States)
+KRME Griffiss Air Force Base / Rome (United States)
+KGUS Grissom Air Force Base / Peru (United States)
+KGON Groton / New London, Groton-New London Airport (United States)
+KGPT Gulfport, Gulfport-Biloxi Regional Airport (United States)
+PAGK Gulkana / Intl. Fld. (United States)
+KGUC Gunnison Automatic Weather Observing / Reporting System (United States)
+PAGS Gustavus (United States)
+KGOK Guthrie, Guthrie Municipal Airport (United States)
+KGUY Guymon / Guymon Municipal Airport (United States)
+KHGR Hagerstown, Washington County Regional Airport (United States)
+KSUN Hailey / Friedman Memorial (United States)
+PAHN Haines (United States)
+KHMM Hamilton / Ravalli County (United States)
+KHAO Hamilton, Hamilton-Fairfield Airport (United States)
+KCMX Hancock, Houghton County Memorial Airport (United States)
+KHMS Hanford (United States)
+KO18 Hanford, Hanford Municipal Airport (United States)
+K4HV Hanksville  (United States)
+KHRL Harlingen, Rio Grande Valley International Airport (United States)
+K3HT Harlowton (United States)
+KCXY Harrisburg, Capital City Airport (United States)
+KMDT Harrisburg, Harrisburg International Airport (United States)
+KHRO Harrison, Boone County Airport (United States)
+KHFD Hartford, Hartford-Brainard Airport (United States)
+KHSI Hastings, Hastings Municipal Airport (United States)
+KHSE Hatteras, Mitchell Field (United States)
+KHVR Havre, Havre City-County Airport (United States)
+KHHR Hawthorne, Hawthorne Municipal Airport (United States)
+KHDN Hayden / Yampa Automatic Weather Observing / Reporting System (United States)
+PAHZ Hayes River (United States)
+KHYS Hays Municipal Automatic Weather Observing / Reporting System (United States)
+KHWD Hayward, Hayward Air Terminal (United States)
+KHYR Hayward, Hayward Municipal Airport (United States)
+PAHV Healy River Airport (United States)
+KHLN Helena, Helena Regional Airport (United States)
+KEHR Henderson City (United States)
+KS22 Hermiston, Hermiston Municipal Airport (United States)
+KHEI Hettinger, Hettinger Municipal Airport (United States)
+KHIB Hibbing, Chisholm-Hibbing Airport (United States)
+KHKY Hickory, Hickory Regional Airport (United States)
+KHIF Hill Air Force Base / Ogden (United States)
+KHLC Hill City, Hill City Municipal Airport (United States)
+KHLX Hillsville (United States)
+PHTO Hilo, Hilo International Airport (United States)
+KHBR Hobart, Hobart Municipal Airport (United States)
+KHOB Hobbs / Lea County (United States)
+KBIV Holland, Tulip City Airport (United States)
+KHMN Holloman Air Force Base (United States)
+PAHO Homer (United States)
+KHST Homestead Air Force Base (United States)
+KHDO Hondo, Hondo Municipal Airport (United States)
+PHNL Honolulu, Honolulu International Airport (United States)
+PAOH Hoonah Seaplane (United States)
+KHQM Hoquiam, Bowerman Airport (United States)
+KHSP Hot Springs / Ingalls (United States)
+KHOT Hot Springs, Memorial Field (United States)
+KHTL Houghton Lake, Roscommon County Airport (United States)
+KHUL Houlton, Houlton International Airport (United States)
+KHUM Houma-Terrebonne (United States)
+KEFD Houston / Ellington (United States)
+KT02 Houston, Clover Field (United States)
+KHOU Houston, Hobby Airport (United States)
+KDWH Houston, Hooks Memorial Airport (United States)
+KIAH Houston, Houston Intercontinental Airport (United States)
+KSVN Hunter U. S. Army Airfield  (United States)
+KHNB Huntingburg (United States)
+KHTS Huntington, Tri-State Airport (United States)
+KHSV Huntsville, Huntsville International / Jones Field (United States)
+KUTS Huntsville, Huntsville Municipal Airport (United States)
+KHRT Hurlburt Field (United States)
+KHON Huron, Huron Regional Airport (United States)
+PAHS Huslia (United States)
+KHCD Hutchinson Automatic Weather Observing / Reporting System (United States)
+KHUT Hutchinson, Hutchinson Municipal Airport (United States)
+KHYA Hyannis, Barnstable Municipal-Boardman Airport (United States)
+PAHY Hydaburg Seaplane (United States)
+KIDA Idaho Falls, Fanning Field (United States)
+PAIL Iliamna / Iliamna Airport (United States)
+KNRS Imperial Beach, Naval Auxiliary Landing Field (United States)
+KIML Imperial Municipal (United States)
+KIPL Imperial, Imperial County Airport (United States)
+PAIM Indian Mountain Airways Facilities Sector (United States)
+KIDI Indiana / Stewart Field (United States)
+KEYE Indianapolis, Eagle Creek Airpark (United States)
+KIND Indianapolis, Indianapolis International Airport (United States)
+KINL International Falls, Falls International Airport (United States)
+K7R4 Intracoastal City (United States)
+KIYK Inyokern (United States)
+KIOW Iowa City, Iowa City Municipal Airport (United States)
+KIMT Iron Mountain / Kingsford, Ford Airport (United States)
+KIWD Ironwood Automatic Weather Observing / Reporting System (United States)
+KISP Islip, Long Island Mac Arthur Airport (United States)
+KITH Ithaca / Tompkins County (United States)
+KJXN Jackson / Reynolds (United States)
+KJAC Jackson Hole Automatic Weather Observing / Reporting System (United States)
+KMJQ Jackson Municipal Automatic Weather Observing / Reporting System (United States)
+KJKL Jackson, Carroll Airport (United States)
+KJAN Jackson, Jackson International Airport (United States)
+KMKL Jackson, McKellar-Sipes Regional Airport (United States)
+KOAJ Jacksonville Automatic Weather Observing / Reporting System (United States)
+KCRG Jacksonville, Craig Municipal Airport (United States)
+KJAX Jacksonville, Jacksonville International Airport (United States)
+KNIP Jacksonville, Naval Air Station (United States)
+KNCA Jacksonville, New River, Marine Corps Air Station (United States)
+KAFN Jaffrey, Jaffrey Municipal-Silver Ranch Airport (United States)
+KJHW Jamestown Automatic Weather Observing / Reporting System (United States)
+KJMS Jamestown, Jamestown Municipal Airport (United States)
+KJVL Janesville / Rock County (United States)
+KJEF Jefferson City, Jefferson City Memorial Airport (United States)
+KU73 Jerome, Jerome County Airport (United States)
+KJST Johnstown, Johnstown-Cambria County Airport (United States)
+KJBR Jonesboro, Jonesboro Municipal Airport (United States)
+KJLN Joplin, Joplin Regional Airport (United States)
+KJDN Jordan, Jordan Airport (United States)
+KJCT Junction, Kimble County Airport (United States)
+PAJN Juneau, Juneau International Airport (United States)
+PHOG Kahului, Kahului Airport (United States)
+PHKO Kailua / Kona, Keahole Airport (United States)
+KAIZ Kaiser Memorial Automatic Weather Observing / Reporting System  (United States)
+PAFE Kake Seaplane Base (United States)
+KAZO Kalamazoo, Kalamazoo / Battle Creek International Airport (United States)
+KFCA Kalispell, Glacier Park International Airport (United States)
+PAKV Kaltag, Kaltag Airport (United States)
+PHNG Kaneohe, Marine Corps Air Station (United States)
+KMKC Kansas City, Kansas City Downtown Airport (United States)
+KMCI Kansas City, Kansas City International Airport (United States)
+KGVW Kansas City, Richards-Gebaur Airport (United States)
+KEAR Kearney Municipal Automatic Weather Observing / Reporting System (United States)
+KEEN Keene / Dillant Automatic Weather Observing / Reporting System (United States)
+KBIX Keesler Air Force Base / Biloxi (United States)
+PHBK Kekaha, Pacific Missile Test Facility Barking Sands (United States)
+KSKF Kelly Air Force Base (United States)
+KKLS Kelso-Longview Automatic Weather Observing / Reporting System (United States)
+PAEN Kenai, Kenai Municipal Airport (United States)
+KENW Kenosha, Kenosha Regional Airport (United States)
+KEOK Keokuk Municipal (United States)
+PAKT Ketchikan, Ketchikan International Airport (United States)
+KEYW Key West, Key West International Airport (United States)
+KNQX Key West, Naval Air Station (United States)
+KILE Killeen Municipal Automatic Weather Observing / Reporting System (United States)
+PAKN King Salmon, King Salmon Airport (United States)
+KIGM Kingman, Kingman Airport (United States)
+KNQI Kingsville, Naval Air Station (United States)
+KISO Kinston / Stallings (United States)
+KIRK Kirksville, Kirksville Regional Airport (United States)
+PAVL Kivalina, Kivalina Airport (United States)
+KLMT Klamath Falls, Klamath Falls International Airport (United States)
+PAKW Klawock (United States)
+KOXV Knoxville (United States)
+KTYS Knoxville, McGhee Tyson Airport (United States)
+PADQ Kodiak (United States)
+PAOT Kotzebue, Wien Memorial Airport (United States)
+KLSE La Crosse, La Crosse Municipal Airport (United States)
+KLGD La Grande Automatic Weather Observing / Reporting System (United States)
+KLHX La Junta, La Junta Municipal Airport (United States)
+KPOC La Verne / Brackett (United States)
+KLCI Laconia Municipal Automatic Weather Observing / Reporting System (United States)
+KLFT Lafayette, Lafayette Regional Airport (United States)
+KLAF Lafayette, Purdue University Airport (United States)
+PHJH Lahaina / West Maui (United States)
+KLCH Lake Charles, Lake Charles Regional Airport (United States)
+PALH Lake Hood Seaplane (United States)
+KNEL Lakehurst Naval Air Station (United States)
+KLAL Lakeland Regional (United States)
+K4LW Lakeview (United States)
+KLKV Lakeview Automatic Weather Observing / Reporting System (United States)
+KLAA Lamar, Lamar Municipal Airport (United States)
+KLWD Lamoni, Lamoni Municipal Airport (United States)
+PHNY Lanai City Airport (United States)
+KWJF Lancaster / Fox Field (United States)
+KLHQ Lancaster, Fairfield County Airport (United States)
+KLNS Lancaster, Lancaster Airport (United States)
+KLND Lander (United States)
+KLFI Langley Air Force Base (United States)
+KLAN Lansing, Capital City Airport (United States)
+KLAR Laramie, Laramie Regional Airport (United States)
+KLRD Laredo International Airport (United States)
+KLRU Las Cruces International (United States)
+KLVS Las Vegas, Las Vegas Municipal Airport (United States)
+KLAS Las Vegas, McCarran International Airport (United States)
+KLBE Latrobe / Westmorland (United States)
+KDLF Laughlin, Laughlin Air Force Base Auxiliary Airfield (United States)
+KLWM Lawrence, Lawrence Municipal Airport (United States)
+KLWV Lawrenceville, Lawrenceville-Vincennes International Airport (United States)
+KLAW Lawton, Lawton Municipal Airport (United States)
+KLRJ Le Marine Aviation Reporting Station (United States)
+KLXV Leadville, Lake County Airport (United States)
+KLEB Lebanon, Lebanon Municipal Airport (United States)
+KJYO Leesburg / Godfrey (United States)
+KLEE Leesburg, Leesburg Municipal Airport (United States)
+KY22 Lemmon (United States)
+KNLC Lemoore, Naval Air Station (United States)
+KLWB Lewisburg / Greenbrier (United States)
+KLWS Lewiston, Lewiston-Nez Perce County Airport (United States)
+KLWT Lewistown Municipal (United States)
+KLEX Lexington, Blue Grass Airport (United States)
+KLBL Liberal Municipal Automatic Weather Observing / Reporting System (United States)
+KP67 Lidgerwood Remote Automatic Meteorological Observing System (United States)
+PHLI Lihue, Lihue Airport (United States)
+KAOH Lima, Lima Allen County Airport (United States)
+KLIC Limon, Limon Municipal Airport (United States)
+KLNK Lincoln, Lincoln Municipal Airport (United States)
+KLXL Little Falls Automatic Weather Observing / Reporting System (United States)
+KLRF Little Rock Air Force Base (United States)
+KLIT Little Rock, Adams Field (United States)
+KLVK Livermore, Livermore Municipal Airport (United States)
+KLVM Livingston, Mission Field (United States)
+KLGU Logan, Logan-Cache Airport (United States)
+KLPC Lompoc Automatic Weather Observing / Reporting System (United States)
+KLOZ London, London-Corbin Airport-Magee Field (United States)
+KLNR Lone Rock, Tri-County Regional Airport (United States)
+KLGB Long Beach, Long Beach Airport (United States)
+KGGG Longview, Gregg County Airport (United States)
+KLPR Lorain / Elyria, Lorain County Regional Airport (United States)
+KLAM Los Alamos (United States)
+KLAX Los Angeles, Los Angeles International Airport (United States)
+KLOU Louisville, Bowman Field (United States)
+KSDF Louisville, Standiford Field (United States)
+KLOL Lovelock, Derby Field (United States)
+KP69 Lowell (United States)
+KLBB Lubbock, Lubbock International Airport (United States)
+KLFK Lufkin, Angelina County Airport (United States)
+KLUF Luke Air Force Base / Phoenix (United States)
+KLBT Lumberton, Lumberton Municipal Airport (United States)
+KLYH Lynchburg, Lynchburg Regional Airport (United States)
+KMCF Macdill Air Force Base, Fl. (United States)
+KHFF Mackall U. S. Army Airfield (United States)
+KMCN Macon, Middle Georgia Regional Airport (United States)
+KMAE Madera, Madera Municipal Airport (United States)
+KMSN Madison, Dane County Regional-Truax Field (United States)
+KMLD Malad City (United States)
+K77M Malta (United States)
+KMMH Mammoth / June Lakes (United States)
+KHEF Manassas Municipal Automatic Weather Observing / Reporting System (United States)
+KMHT Manchester, Manchester Airport (United States)
+KMHK Manhattan, Manhattan Municipal Airport (United States)
+KMBL Manistee Automatic Weather Observing / Reporting System (United States)
+KP75 Manistique (United States)
+KMTW Manitowoc Municipal Automatic Weather Observing / Reporting System (United States)
+KMKT Mankato Automatic Weather Observing / Reporting System (United States)
+PAML Manley Hot Springs  (United States)
+KMFD Mansfield, Mansfield Lahm Municipal Airport (United States)
+KMQI Manteo / Dare County Regional (United States)
+KMTH Marathon, Marathon Airport (United States)
+KMRF Marfa (United States)
+KMAI Marianna, Marianna Municipal Airport (United States)
+KMGE Marietta / Dobbins Air Force Base (United States)
+KMKJ Marion / Wytheville (United States)
+KMWA Marion Regional (United States)
+KMNN Marion, Marion Municipal Airport (United States)
+KMQT Marquette (United States)
+KMML Marshall / Ryan Automatic Weather Observing / Reporting System (United States)
+KMIW Marshalltown, Marshalltown Municipal Airport (United States)
+KMFI Marshfield, Marshfield Municipal Airport (United States)
+KMRB Martinsburg, Eastern West Virginia Regional Airport (United States)
+KMTV Martinsville (United States)
+KMYV Marysville, Yuba County Airport (United States)
+KMCW Mason City, Mason City Municipal Airport (United States)
+KMSS Massena, Massena International-Richards Field (United States)
+KMHR Mather Field (United States)
+KMTO Mattoon / Charleston, Coles County Memorial Airport (United States)
+KMEB Maxton, Laurinburg-Maxton Airport (United States)
+KMXF Maxwell Air Force Base / Montgomery (United States)
+KNRB Mayport, Naval Air Facility (United States)
+KPWG Mc Gregor Automatic Weather Observing / Reporting System (United States)
+KMLC McAlester, McAlester Regional Airport (United States)
+KMFE McAllen, Miller International Airport (United States)
+KMYL McCall, McCall Airport (United States)
+PAMX McCarthy (United States)
+KMCC McClellan Air Force Base (United States)
+KMCB McComb, McComb / Pike County Airport (United States)
+KIAB McConnell Air Force Base (United States)
+KMCK McCook, McCook Municipal Airport (United States)
+KMMT McEntire Air National Guard Weather Facility Base (United States)
+PAMC McGrath (United States)
+PAIN McKinley Park (United States)
+KTKI McKinney, McKinney Municipal Airport (United States)
+KMMV McMinnville, McMinnville Municipal Airport (United States)
+KWRI Mcguire Air Force Base (United States)
+KMEH Meacham, Meacham (United States)
+KMFR Medford, Rogue Valley International Airport (United States)
+KP28 Medicine Lodge, Medicine Lodge (United States)
+KEEO Meeker, Meeker Airport (United States)
+PAMY Mekoryuk (United States)
+KMLB Melbourne, Melbourne International Airport (United States)
+KMFV Melfa / Accomack Airport (United States)
+KMEM Memphis, Memphis International Airport (United States)
+KMNM Menominee Automatic Weather Observing / Reporting System (United States)
+KMCE Merced, Merced Municipal Airport (United States)
+KDRA Mercury, Desert Rock Airport (United States)
+KMEI Meridian, Key Field (United States)
+KNMM Meridian, Naval Air Station (United States)
+PAMR Merrill Field (United States)
+KFFZ Mesa / Falcon Field (United States)
+KTMB Miami, Kendall-Tamiami Executive Airport (United States)
+KMIA Miami, Miami International Airport (United States)
+KOPF Miami, Opa Locka Airport (United States)
+PAMD Middleton Island, Ak (United States)
+KMAF Midland, Midland International Airport (United States)
+PMDY Midway Island Naval Air Facility (United States)
+KMLS Miles City, Wiley Field (United States)
+KMLF Milford, Milford Municipal Airport (United States)
+KMLT Millinocket, Millinocket Municipal Airport (United States)
+KMIV Millville, Millville Municipal Airport (United States)
+KNSE Milton, Whiting Field North (United States)
+KMWC Milwaukee / Timmerman (United States)
+KMKE Milwaukee, General Mitchell International Airport (United States)
+PAMH Minchumina (United States)
+KMWL Mineral Wells, Mineral Wells Airport (United States)
+KANE Minneapolis / Blaine (United States)
+KMIC Minneapolis, Crystal Airport (United States)
+KFCM Minneapolis, Flying Cloud Airport (United States)
+KMSP Minneapolis, Minneapolis-St. Paul International Airport (United States)
+KARV Minocqua / Woodruff (United States)
+KMIB Minot Air Force Base (United States)
+KMOT Minot, Minot International Airport (United States)
+KMSO Missoula, Missoula International Airport (United States)
+KMHE Mitchell Automatic Weather Observing / Reporting System (United States)
+KCNY Moab, Canyonlands Field (United States)
+KBFM Mobile, Mobile Downtown Airport (United States)
+KMOB Mobile, Mobile Regional Airport (United States)
+KY26 Mobridge (United States)
+KMBG Mobridge, Mobridge Municipal Airport (United States)
+KMOD Modesto, Modesto City-County-Sham Field (United States)
+KMHV Mojave (United States)
+KMLI Moline, Quad-City Airport (United States)
+PHMK Molokai Automatic Meteorological Observing System (United States)
+KEQY Monroe, Monroe Airport (United States)
+KMLU Monroe, Monroe Regional Airport (United States)
+KSIY Montague / Siskiyou (United States)
+KMTP Montauk, Montauk Airport (United States)
+KMRY Monterey, Monterey Peninsula Airport (United States)
+KMVE Montevideo Automatic Weather Observing / Reporting System (United States)
+KMGM Montgomery, Dannelly Field (United States)
+KMGJ Montgomery, Orange County Airport (United States)
+KMSV Monticello Automatic Weather Observing / Reporting System (United States)
+KMXO Monticello Municipal (United States)
+KLLQ Monticello, Monticello Municipal Airport (United States)
+KMTJ Montrose, Montrose Regional Airport (United States)
+KVAD Moody Air Force Base (United States)
+KMGW Morgantown, Morgantown Municipal-Hart Field (United States)
+K4MY Moriarty (United States)
+KMOX Morris Municipal Automatic Weather Observing / Reporting System (United States)
+KMMU Morristown Municipal (United States)
+KMVL Morrisville, Morrisville-Stowe State Airport (United States)
+KMWH Moses Lake, Grant County Airport (United States)
+KCWA Mosinee / Central Wisconsin (United States)
+KVAY Mount Holly, South Jersey Regional Airport (United States)
+KMWT Mount Ida (United States)
+KMHS Mount Shasta (United States)
+KMVN Mount Vernon Automatic Weather Observing / Reporting System (United States)
+KMWN Mount Washington (United States)
+KMWS Mount Wilson (United States)
+KMUO Mountain Home Air Force Base (United States)
+KBPK Mountain Home, Baxter County Regional Airport (United States)
+KNUQ Mountain View, Moffett Field (United States)
+KMUI Muir Army Air Field / Indiantown (United States)
+KMLP Mullan Pass, Mullan Pass Vor (United States)
+KMIE Muncie, Delaware County-Johnson Field (United States)
+KMUT Muscatine (United States)
+KMSL Muscle Shoals, North West Alabama Regional Airport (United States)
+KMKG Muskegon, Muskegon County Airport (United States)
+KMKO Muskogee, Davis Field (United States)
+KMYR Myrtle Beach Air Force Base (United States)
+KOQU N. Kingston / Quonset (United States)
+KTTS NASA Shuttle Facility (United States)
+PABN Nabesna / Devil Mountain (United States)
+KOCH Nacogdoches Automatic Weather Observing / Reporting System (United States)
+KACK Nantucket, Nantucket Memorial Airport (United States)
+KAPC Napa, Napa County Airport (United States)
+KAPF Naples Municipal (United States)
+KASH Nashua / Boire Field (United States)
+KBNA Nashville, Nashville International Airport (United States)
+KHEZ Natchez / Hardy Automatic Weather Observing / Reporting System (United States)
+KEED Needles Airport (United States)
+KLSV Nellis Air Force Base (United States)
+PANN Nenana / Mun. (United States)
+KEWB New Bedford, New Bedford Regional Airport (United States)
+KEWN New Bern, Craven County Regional Airport (United States)
+KBAX New Braunfels, New Braunfels Municipal Airport (United States)
+KHVN New Haven, Tweed-New Haven Airport (United States)
+KARA New Iberia, Acadiana Regional Airport (United States)
+KNEW New Orleans, Lakefront Airport (United States)
+KNBG New Orleans, Naval Air Station (United States)
+KMSY New Orleans, New Orleans International Airport (United States)
+KPHD New Philadelphia, Harry Clever Field (United States)
+KRRF New Port Richey, Tampa Bay Executive Airport (United States)
+KULM New Ulm Municipal Automatic Weather Observing / Reporting System (United States)
+KJFK New York, Kennedy International Airport (United States)
+KLGA New York, La Guardia Airport (United States)
+KVTA Newark, Newark Heath Airport (United States)
+KEWR Newark, Newark International Airport (United States)
+KSWF Newburgh / Stewart (United States)
+KJNW Newport (United States)
+KONP Newport Municipal (United States)
+KPHF Newport News, Newport News / Williamsburg International Airport (United States)
+KUUU Newport, Newport State Airport (United States)
+KEWK Newton Automatic Weather Observing / Reporting System (United States)
+KTNU Newton Municipal (United States)
+KIAG Niagara Falls, Niagara Falls International Airport (United States)
+PAWN Noatak (United States)
+K13A Nogales Automatic Meteorological Observing System  (United States)
+PAOM Nome, Nome Airport (United States)
+KNGU Norfolk, Naval Air Station (United States)
+KORF Norfolk, Norfolk International Airport (United States)
+KOFK Norfolk, Stefan Memorial Airport (United States)
+KAQW North Adams, Harriman-And-West Airport (United States)
+KOTH North Bend Automatic Weather Observing / Reporting System (United States)
+KCRE North Myrtle Beach, Grand Strand Airport (United States)
+KLBF North Platte, North Platte Regional Airport (United States)
+PAOR Northway, Northway Airport (United States)
+KSBD Norton Air Force Base / San Bern (United States)
+KOWD Norwood, Norwood Memorial Airport (United States)
+PAQT Nuiqsut, Nuiqsut Airport (United States)
+KONL O'Neill / Baker Field (United States)
+PHNA Oahu, Barbers Point, Naval Air Station (United States)
+K76S Oak Harbor Airpark (United States)
+KOAK Oakland, Metropolitan Oakland International Airport (United States)
+KOCF Ocala Municipal Automatic Weather Observing / Reporting System (United States)
+KNFG Oceanside, Camp Pendleton, Marine Corps Air Station (United States)
+KODO Odessa, Odessa-Schlemeyer Field (United States)
+KOLZ Oelwen (United States)
+KOGD Ogden, Ogden-Hinckley Airport (United States)
+KOGS Ogdensburg International (United States)
+KPWA Oklahoma City, Wiley Post Airport (United States)
+KOKC Oklahoma City, Will Rogers World Airport (United States)
+KOJC Olathe, Johnson County Executive Airport (United States)
+KIXD Olathe, New Century Aircenter (United States)
+KOLM Olympia, Olympia Airport (United States)
+KOFF Omaha / Offutt Air Force Base (United States)
+KOMA Omaha, Eppley Airfield (United States)
+KOMK Omak, Omak Airport (United States)
+KONT Ontario, Ontario International Airport (United States)
+KONO Ontario, Ontario Municipal Airport (United States)
+KORC Orange City (United States)
+KORE Orange, Orange Municipal Airport (United States)
+KOGB Orangeburg, Orangeburg Municipal Airport (United States)
+KODX Ord / Sharp Field (United States)
+KSFB Orlando / Sanford Airport (United States)
+KORL Orlando, Orlando Executive Airport (United States)
+KMCO Orlando, Orlando International Airport (United States)
+KOVE Oroville, Oroville Municipal Airport (United States)
+KORB Orr (United States)
+KOSH Oshkosh, Wittman Regional Airport (United States)
+KFMH Otis Air National Guard Base (United States)
+KOTM Ottumwa, Ottumwa Industrial Airport (United States)
+KOWA Owatonna Automatic Weather Observing / Reporting System (United States)
+KOWB Owensboro / Daviess (United States)
+KOXC Oxford Automatic Weather Observing / Reporting System (United States)
+KOXR Oxnard, Oxnard Airport (United States)
+KPAH Paducah, Barkley Regional Airport (United States)
+KPGA Page, Page Municipal Airport (United States)
+KPSX Palacios Municipal (United States)
+KPSP Palm Springs, Palm Springs Regional Airport (United States)
+KTRM Palm Springs, Thermal Airport (United States)
+KPMD Palmdale, Palmdale Production Flight Plant (United States)
+PAAQ Palmer (United States)
+KPAO Palo Alto Airport (United States)
+KPFN Panama City, Panama City-Bay County International Airport (United States)
+KPRX Paris / Cox Field (United States)
+KPKD Park Rapids, Park Rapids Municipal Airport (United States)
+KPKB Parkersburg / Wilson (United States)
+KPPF Parsons, Tri-City Airport (United States)
+KPQL Pascagoula, Lott International Airport (United States)
+KPSC Pasco, Tri-Cities Airport (United States)
+KPRB Paso Robles, Paso Robles Municipal Airport (United States)
+KPTN Patterson Memorial (United States)
+KNHK Patuxent River, Naval Air Station (United States)
+KSFZ Pawtucket Automatic Weather Observing / Reporting System (United States)
+PAXK Paxson (United States)
+K0E4 Payson (United States)
+KPSM Pease Air Force Base / Portsmouth (United States)
+KPLN Pellston, Pellston Regional Airport (United States)
+KPDT Pendleton, Eastern Oregon Regional At Pendleton Airport (United States)
+KPEO Penn Yan, Penn Yan Airport (United States)
+KNPA Pensacola, Naval Air Station (United States)
+KPNS Pensacola, Pensacola Regional Airport (United States)
+KPIA Peoria, Greater Peoria Regional Airport (United States)
+K40J Perry-Foley, Perry-Foley Airport (United States)
+PAPG Petersburg (United States)
+KPTB Petersburg Automatic Weather Observing / Reporting System (United States)
+KPNE Philadelphia, Northeast Philadelphia Airport (United States)
+KPHL Philadelphia, Philadelphia International Airport (United States)
+KPHP Philip, Philip Airport (United States)
+KPBH Phillips / Price County (United States)
+KAPG Phillips Army Air Field / Aberdeen (United States)
+KPHX Phoenix, Phoenix Sky Harbor International Airport (United States)
+KDVT Phoenix, Phoenix-Deer Valley Municipal Airport (United States)
+KPIR Pierre, Pierre Regional Airport (United States)
+K5I3 Pikeville Remote Automatic Meteorological Observing System  (United States)
+KPIB Pine Belt Regional Automatic Weather Observing / Reporting System (United States)
+KPBF Pine Bluff, Grider Field (United States)
+KIEN Pine Ridge, Pine Ridge Airport (United States)
+KGDP Pine Springs, Guadalupe Mountains National Park (United States)
+KPQN Pipestone Automatic Weather Observing / Reporting System (United States)
+KPGV Pitt-Greenville Airport (United States)
+KAGC Pittsburgh, Allegheny County Airport (United States)
+KPIT Pittsburgh, Pittsburgh International Airport (United States)
+KPSF Pittsfield, Pittsfield Municipal Airport (United States)
+KPLB Plattsburgh, Clinton County Airport (United States)
+KPYM Plymouth, Plymouth Municipal Airport (United States)
+KPIH Pocatello, Pocatello Regional Airport (United States)
+PAPO Point Hope Automatic Weather Observing / Reporting System (United States)
+PPIZ Point Lay (United States)
+KNTD Point Mugu, Naval Air Warfare Center (United States)
+K87Q Point Piedras Blanca (United States)
+KPMP Pompano Beach, Pompano Beach Airpark (United States)
+KPNC Ponca City, Ponca City Municipal Airport (United States)
+KPTK Pontiac, Oakland County International Airport (United States)
+KPOB Pope Air Force Base (United States)
+KP02 Poplar Bluff, Mo. (United States)
+KPOF Poplar Bluff, Poplar Bluff Municipal Airport (United States)
+PAAP Port Alexander (United States)
+PALJ Port Alsworth (United States)
+KCLM Port Angeles, William R. Fairchild International Airport (United States)
+PAPH Port Heiden (United States)
+KP58 Port Hope (United States)
+KT31 Port Isabel, Port Isabel-Cameron County Airport (United States)
+KPTV Porterville Automatic Weather Observing / Reporting System (United States)
+KPDX Portland, Portland International Airport (United States)
+KPWM Portland, Portland International Jetport (United States)
+KHIO Portland, Portland-Hillsboro Airport (United States)
+KTTD Portland, Portland-Troutdale Airport (United States)
+KPTW Pottstown, Pottstown Limerick Airport (United States)
+KPOU Poughkeepsie, Dutchess County Airport (United States)
+KPRC Prescott, Love Field (United States)
+KPQI Presque Isle (United States)
+KPUC Price, Carbon County Airport (United States)
+KPNM Princeton (United States)
+KPVD Providence, Green State Airport (United States)
+KPVC Provincetown Automatic Weather Observing / Reporting System (United States)
+KPVU Provo Municipal Automatic Weather Observing / Reporting System (United States)
+KPUB Pueblo, Pueblo Memorial Airport (United States)
+KPUW Pullman / Moscow, Pullman / Moscow Regional Airport (United States)
+KPGD Punta Gorda, Charlotte County Airport (United States)
+PAPT Puntilla (United States)
+KNYG Quantico, Marine Corps Air Facility (United States)
+KUIL Quillayute, Quillayute State Airport (United States)
+KUIN Quincy Municipal / Baldwin (United States)
+KRAC Racine, Batten International Airport (United States)
+KRDU Raleigh / Durham, Raleigh-Durham International Airport (United States)
+KRNM Ramona, Ramona Airport (United States)
+KRND Randolph Air Force Base (United States)
+KRAP Rapid City, Rapid City Regional Airport (United States)
+KRTN Raton, Raton Municipal \ Crews Field Airport (United States)
+KRWL Rawlins Municipal (United States)
+KRDG Reading, Reading Regional Airport (United States)
+KRBL Red Bluff, Red Bluff Municipal Airport (United States)
+KRDK Red Oak (United States)
+KRDD Redding, Redding Municipal Airport (United States)
+KRDM Redmond Automatic Weather Observing / Reporting System (United States)
+KRWF Redwood Falls, Redwood Falls Municipal Airport (United States)
+KRNO Reno, Reno Tahoe International Airport (United States)
+KRNT Renton, Renton Municipal Airport (United States)
+KRXE Rexburg, Rexburg-Madison County Airport (United States)
+KRHI Rhinelander, Rhinelander-Oneida County Airport (United States)
+KRIC Richmond, Richmond International Airport (United States)
+KLCK Rickenbacker Air National Guard Base (United States)
+KRIL Rifle, Garfield County Regional Airport (United States)
+KRIV Riverside / March Air Force Base (United States)
+KRAL Riverside, Riverside Municipal Airport (United States)
+KRIW Riverton, Riverton Regional Airport (United States)
+KRZZ Roanoke Rapids, Halifax County Airport (United States)
+KROA Roanoke, Roanoke Regional Airport (United States)
+KROC Rochester, Greater Rochester International Airport (United States)
+KRST Rochester, Rochester Municipal Airport (United States)
+KUZA Rock Hill, Rock Hill - York County Airport (United States)
+KRKS Rock Springs (United States)
+KRFD Rockford, Greater Rockford Airport (United States)
+KRKD Rockland / Knox Automatic Weather Observing / Reporting System (United States)
+KRKP Rockport, Aransas County Airport (United States)
+KRWI Rocky Mount, Rocky Mount-Wilson Airport (United States)
+KROG Rogers Automatic Weather Observing / Reporting System (United States)
+KVIH Rolla / Vichy, Rolla National Airport (United States)
+KP88 Rome Automatic Meteorological Observing System (United States)
+KRMG Rome, R. B. Russell Airport (United States)
+KREO Rome, Rome (United States)
+TJNR Roosevelt Roads, Naval Station (United States)
+KROX Roseau Municipal Automatic Weather Observing / Reporting System (United States)
+KRBG Roseburg, Roseburg Regional Airport (United States)
+KROW Roswell, Roswell Industrial Air Center Airport (United States)
+KSRR Ruidoso Regional (United States)
+KRSL Russell, Russell Municipal Airport (United States)
+KRUE Russellville, Russellville Municipal Airport (United States)
+KRUT Rutland State Automatic Weather Observing / Reporting System (United States)
+KRPE Sabine Pass (United States)
+KSAC Sacramento, Sacramento Executive Airport (United States)
+KSMF Sacramento, Sacramento Metropolitan Airport (United States)
+KE74 Safford Automatic Meteorological Observing System (United States)
+KSAD Safford, Safford Municipal Airport (United States)
+KMBS Saginaw, MBSy International Airport (United States)
+KSGU Saint George Automatic Weather Observing / Reporting System (United States)
+K1V4 Saint Johnsbury (United States)
+PASM Saint Mary's Automatic Weather Observing / Reporting System (United States)
+PASN Saint Paul (United States)
+KSLE Salem, McNary Field (United States)
+KSLN Salina, Salina Municipal Airport (United States)
+KSNS Salinas, Salinas Municipal Airport (United States)
+KSBY Salisbury, Salisbury-Wicomico County Regional Airport (United States)
+K27U Salmon (United States)
+KSMN Salmon / Lemhi Automatic Weather Observing / Reporting System (United States)
+KSLC Salt Lake City, Salt Lake City International Airport (United States)
+KP92 Salt Point (United States)
+KSJT San Angelo, Mathis Field (United States)
+KSAT San Antonio, San Antonio International Airport (United States)
+KSSF San Antonio, Stinson Municipal Airport (United States)
+KSQL San Carlos Airport (United States)
+KSEE San Diego / Gillespie (United States)
+KSDM San Diego, Brown Field Municipal Airport (United States)
+KNKX San Diego, Miramar, Naval Air Station (United States)
+KMYF San Diego, Montgomery Field (United States)
+KNZY San Diego, North Island, Naval Air Station (United States)
+KSAN San Diego, San Diego International-Lindbergh Field (United States)
+KSFO San Francisco, San Francisco International Airport (United States)
+KRHV San Jose / Reid / Hillv (United States)
+KSJC San Jose, San Jose International Airport (United States)
+KSBP San Luis Obispo, San Luis Obispo County-Mc Chesney Field (United States)
+KNSI San Nicholas Island (United States)
+PASD Sand Point (United States)
+KSDB Sandberg (United States)
+KP07 Sanderson (United States)
+KSFM Sanford Municipal Automatic Weather Observing / Reporting System (United States)
+KSNA Santa Ana, John Wayne Airport-Orange County Airport (United States)
+KSBA Santa Barbara, Santa Barbara Municipal Airport (United States)
+KSAF Santa Fe, Santa Fe County Municipal Airport (United States)
+KSMX Santa Maria, Santa Maria Public Airport (United States)
+KSMO Santa Monica, Santa Monica Municipal Airport (United States)
+KSTS Santa Rosa, Sonoma County Airport (United States)
+KSLK Saranac Lake, Adirondack Regional Airport (United States)
+KSRQ Sarasota / Bradenton, Sarasota-Bradenton International Airport (United States)
+KANJ Sault Ste. Marie (United States)
+KSAV Savannah, Savannah International Airport (United States)
+PASA Savoonga Airport (United States)
+KSPB Scappoose, Scappoose Industrial Airpark (United States)
+KSCH Schenectady Airport (United States)
+KBLV Scott Air Force Base / Belleville (United States)
+KBFF Scottsbluff, Heilig Field (United States)
+KSDL Scottsdale, Scottsdale Airport (United States)
+KBFI Seattle, Seattle Boeing Field (United States)
+KSEA Seattle, Seattle-Tacoma International Airport (United States)
+KDMO Sedalia, Sedalia Memorial Airport (United States)
+PASK Selawik (United States)
+KMTC Selfridge Air National Guard Base (United States)
+KSEG Selinsgrove, Penn Valley Airport (United States)
+PAWD Seward (United States)
+KSXT Sexton Summit, (United States)
+KGSB Seymour-Johnson Air Force Base (United States)
+KEZF Shannon Airport (United States)
+KSSC Shaw Air Force Base (United States)
+KSBM Sheboygan, Sheboygan County Memorial Airport (United States)
+KGEZ Shelbyville, Shelbyville Municipal Airport (United States)
+KSHL Sheldon (United States)
+KO87 Shelter Cove (United States)
+KSHN Shelton, Sanderson Field (United States)
+PASY Shemya, Eareckson As (United States)
+KSDA Shenandoah Municipal (United States)
+KSHR Sheridan, Sheridan County Airport (United States)
+KF39 Sherman-Denison (United States)
+PASH Shishmaref Automatic Weather Observing / Reporting System (United States)
+KSOW Show Low Municipal (United States)
+KDTN Shreveport, Shreveport Downtown Airport (United States)
+KSHV Shreveport, Shreveport Regional Airport (United States)
+KSNY Sidney, Sidney Municipal Airport (United States)
+KSDY Sidney-Richland (United States)
+KSLG Siloam Spring Automatic Weather Observing / Reporting System (United States)
+KBFW Silver Bay (United States)
+KSUX Sioux City, Sioux Gateway Airport (United States)
+KFSD Sioux Falls, Foss Field (United States)
+K8D3 Sisseton, Sisseton Municipal Airport (United States)
+PASI Sitka, Sitka Airport (United States)
+PAGY Skagway (United States)
+PASW Skwentna (United States)
+PADT Slana Airport (United States)
+KASD Slidell, Slidell Airport (United States)
+KMQY Smyrna (United States)
+PALK Snowshoe Lake (United States)
+KU78 Soda Springs / Tigert (United States)
+PASX Soldotna (United States)
+KSME Somerset Automatic Weather Observing / Reporting System (United States)
+KN52 Somerville, Somerset Airport (United States)
+KSBN South Bend, Michiana Regional Airport (United States)
+KTVL South Lake Tahoe, Lake Tahoe Airport (United States)
+K7R8 South Marsh Island (United States)
+KS58 South Timbalier (United States)
+KSOP Southern Pines Automatic Weather Observing / Reporting System (United States)
+PASV Sparrevohn Airways Facilities Sector (United States)
+KSPA Spartanburg Memorial (United States)
+KSPF Spearfish / Clyde Ice (United States)
+KSPW Spencer, Spencer Municipal Airport (United States)
+KP35 Spickard (United States)
+KSFF Spokane, Felts Field (United States)
+KGEG Spokane, Spokane International Airport (United States)
+KASG Springdale Municipal (United States)
+KSPI Springfield, Capital Airport (United States)
+KSPD Springfield, Comanche National Grassland (United States)
+KVSF Springfield, Hartness State Springfield Airport (United States)
+KSGF Springfield, Springfield Regional Airport (United States)
+KSET St. Charles, St. Charles County Smartt Airport (United States)
+KPHN St. Clair County International (United States)
+KSTC St. Cloud, St. Cloud Municipal Airport (United States)
+KSTJ St. Joseph, Rosecrans Memorial Airport (United States)
+KSTL St. Louis, Lambert-St. Louis International Airport (United States)
+KSUS St. Louis, Spirit Of St. Louis Airport (United States)
+KSTP St. Paul, St. Paul Downtown Holman Field (United States)
+KPIE St. Petersburg / Clearwater, St. Petersburg / Clearwater International Airport (United States)
+KSPG St. Petersburg, Whitted Airport (United States)
+KSMP Stampede Pass (United States)
+KUNV State College (United States)
+KSHD Staunton / Shenandoah (United States)
+KSBS Steamboat Springs (United States)
+KSQI Sterling Rockfalls (United States)
+KSWO Stillwater, Stillwater Municipal Airport (United States)
+KSCK Stockton, Stockton Metropolitan Airport (United States)
+KSLB Storm Lake (United States)
+KSUE Sturgeon Bay (United States)
+KSGT Stuttgart Automatic Weather Observing / Reporting System (United States)
+KFWN Sussex, Sussex Airport (United States)
+PAJV Sutton (United States)
+KNJM Swansboro, Bogue Field, Marine Corps Auxiliary Landing Field (United States)
+KSYR Syracuse, Syracuse Hancock International Airport (United States)
+KTCM Tacoma / McChord Air Force Base (United States)
+KTIW Tacoma, Tacoma Narrows Airport (United States)
+PATK Talkeetna (United States)
+KTLH Tallahassee, Tallahassee Regional Airport (United States)
+KTPA Tampa, Tampa International Airport (United States)
+PATA Tanana (United States)
+KSKX Taos Municipal Airport Automatic Weather Observing / Reporting System (United States)
+PATL Tatalina Automatic Weather Observing / Reporting System (United States)
+KTAN Taunton, Taunton Municipal Airport (United States)
+KTQE Tekamah, Tekamah Municipal Airport (United States)
+KTEX Telluride Regional (United States)
+KTPL Temple / Miller Automatic Weather Observing / Reporting System (United States)
+KHUF Terre Haute, Hulman Regional Airport (United States)
+KTRL Terrell, Terrell Municipal Airport (United States)
+KTEB Teterboro, Teterboro Airport (United States)
+KTXK Texarkana, Texarkana Regional-Webb Field (United States)
+KDLS The Dalles, The Dalles Municipal Airport (United States)
+KTVF Thief River Automatic Weather Observing / Reporting System (United States)
+K3TH Thompson Falls (United States)
+PATC Tin City Airways Facilities Sector (United States)
+KTIK Tinker Air Force Base (United States)
+KTIX Titusville (United States)
+PATG Togiac Village Automatic Weather Observing / Reporting System (United States)
+KTDZ Toledo, Metcalf Field (United States)
+KTOL Toledo, Toledo Express Airport (United States)
+KTDO Toledo-Winlock Memorial (United States)
+KTPH Tonopah, Tonopah Airport (United States)
+KT62 Tooele (United States)
+KFOE Topeka, Forbes Field (United States)
+KTOP Topeka, Philip Billard Municipal Airport (United States)
+KTOA Torrance Municipal (United States)
+K4SL Torreon (United States)
+KTOR Torrington, Torrington Municipal Airport (United States)
+KTVC Traverse City, Cherry Capital Airport (United States)
+KTTN Trenton, Mercer County Airport (United States)
+KTAD Trinidad / Animas Co. (United States)
+KTOI Troy, Troy Municipal Airport (United States)
+KTRK Truckee-Tahoe (United States)
+KTCS Truth Or Consequences, Truth Or Consequences Municipal Airport (United States)
+KTUS Tucson, Tucson International Airport (United States)
+KTCC Tucumcari, Tucumcari Municipal Airport (United States)
+KRVS Tulsa, Jones Jr. Airport (United States)
+KTUL Tulsa, Tulsa International Airport (United States)
+KTUP Tupelo, Tupelo Municipal-Lemons Airport (United States)
+KTCL Tuscaloosa, Tuscaloosa Municipal Airport (United States)
+KNXP Twenty-Nine Palms, Marine Corps Air-Ground Combat Center (United States)
+KTWF Twin Falls, Joslin Field-Magic Valley Regional Airport (United States)
+KTWM Two Harbors (United States)
+KTYR Tyler, Tyler Pounds Field (United States)
+KPAM Tyndall Air Force Base (United States)
+KUKI Ukiah Municipal Automatic Weather Observing / Reporting System (United States)
+PAUM Umiat (United States)
+PAUN Unalakleet (United States)
+KUCA Utica, Oneida County Airport (United States)
+KVCB Vacaville, Nut Tree Airport (United States)
+PAVD Valdez 2 (United States)
+KVLD Valdosta Regional (United States)
+KVTN Valentine, Miller Field (United States)
+KVPS Valparaiso / Eglin Air Force Base (United States)
+KVPZ Valparaiso, Porter County Municipal Airport (United States)
+KVNY Van Nuys, Van Nuys Airport (United States)
+KEND Vance Air Force Base / Enid (United States)
+KVUO Vancouver, Pearson Airpark (United States)
+KVBG Vandenberg Air Force Base (United States)
+KXVW Vandenberg Range (United States)
+K7R1 Venice, Venice Heliport (United States)
+KVEL Vernal, Vernal Airport (United States)
+KVRB Vero Beach, Vero Beach Municipal Airport (United States)
+KTVR Vicksburg, Vicksburg / Tallulah Regional Airport (United States)
+KVCT Victoria, Victoria Regional Airport (United States)
+KMVY Vineyard Haven, Marthas Vineyard Airport (United States)
+KNTU Virginia Beach, Oceana, Naval Air Station (United States)
+KBCB Virginia Tech Airport (United States)
+KVIS Visalia Municipal Automatic Weather Observing / Reporting System (United States)
+KVOK Volk / Camp Douglas (United States)
+KACT Waco, Waco Regional Airport (United States)
+PAWI Wainwright Distant Early Warning  (United States)
+PAFB Wainwright U. S. Army Airfield (United States)
+KAKQ Wakefield, Wakefield Municipal Airport (United States)
+KALW Walla Walla, Walla Walla Regional Airport (United States)
+KWAL Wallops Island, Wallops Flight Facility Airport (United States)
+KARG Walnut Ridge Automatic Weather Observing / Reporting System  (United States)
+KWRB Warner Robins Air Force Base (United States)
+KAWG Washington (United States)
+KAFJ Washington Automatic Weather Observing / Reporting System  (United States)
+KDCA Washington DC, Reagan National Airport (United States)
+KIAD Washington DC, Washington-Dulles International Airport (United States)
+KALO Waterloo, Waterloo Municipal Airport (United States)
+KRYV Watertown (United States)
+KART Watertown, Watertown International Airport (United States)
+KATY Watertown, Watertown Municipal Airport (United States)
+KWVL Waterville Automatic Weather Observing / Reporting System (United States)
+KWVI Watsonville, Watsonville Municipal Airport (United States)
+KAUW Wausau, Wausau Downtown Airport (United States)
+KEBS Webster City (United States)
+KEAT Wenatchee, Pangborn Memorial Airport (United States)
+KENV Wendover / Air Force Auxillary Field (United States)
+KPBI West Palm Beach, Palm Beach International Airport (United States)
+KUNO West Plains, West Plains Municipal Airport (United States)
+KWYS West Yellowstone (United States)
+KBAF Westfield, Barnes Municipal Airport (United States)
+KFOK Westhampton Beach, The Gabreski Airport (United States)
+KETH Wheaton NDB Automatic Weather Observing / Reporting System (United States)
+PHHI Wheeler Air Force Base / Oahu (United States)
+KHLG Wheeling, Wheeling Ohio County Airport (United States)
+KNUW Whidbey Island, Naval Air Station (United States)
+KHPN White Plains, Westchester County Airport (United States)
+K2C2 White Sands (United States)
+KHIE Whitefield, Mount Washington Regional Airport (United States)
+KSZL Whiteman Air Force Base (United States)
+PAWR Whittier (United States)
+KSPS Wichita Falls, Sheppard Air Force Base (United States)
+KAAO Wichita, Colonel James Jabara Airport (United States)
+KICT Wichita, Wichita Mid-Continent Airport (United States)
+KAWH Wildhorse Reservation / Elko (United States)
+KWWD Wildwood Automatic Weather Observing / Reporting System (United States)
+KAVP Wilkes-Barre - Scranton, Wilkes-Barre / Scranton International Airport (United States)
+KIWA Williams Air Force Base / Chandler (United States)
+KIPT Williamsport, Williamsport-Lycoming County Airport (United States)
+KIJD Willimantic, Windham Airport (United States)
+KISN Williston, Sloulin Field International Airport (United States)
+KILL Willmar / Rice Automatic Weather Observing / Reporting System (United States)
+KLNN Willoughby (United States)
+PAUO Willow Airport  (United States)
+KNXX Willow Grove, Naval Air Station (United States)
+KILN Wilmington, Airborne Airpark Airport (United States)
+KILG Wilmington, New Castle County Airport (United States)
+KILM Wilmington, New Hanover International Airport (United States)
+KOKV Winchester Regional (United States)
+KRQE Window Rock, Window Rock Airport (United States)
+KBDL Windsor Locks, Bradley International Airport (United States)
+KWLD Winfield / Arkansas City, Strother Field (United States)
+KINK Wink, Winkler County Airport (United States)
+KWMC Winnemucca, Winnemucca Municipal Airport (United States)
+KSFD Winner - Bob Wiley Field (United States)
+KONA Winona Municipal Automatic Weather Observing / Reporting System (United States)
+KINW Winslow, Winslow Municipal Airport (United States)
+KINT Winston Salem, Smith Reynolds Airport (United States)
+KGIF Winter Haven, Winter Haven's Gilbert Airport (United States)
+KIWI Wiscasset, Wiscasset Airport (United States)
+KISW Wisconsin Rapids, Alexander Field South Wood County Airport (United States)
+KLNP Wise / Lonesome Pine (United States)
+KOLF Wolf Point, Clayton Airport (United States)
+KBJJ Wooster, Wayne County Airport (United States)
+KORH Worcester, Worcester Regional Airport (United States)
+KWRL Worland, Worland Municipal Airport (United States)
+KOTG Worthington Automatic Weather Observing / Reporting System (United States)
+PAWG Wrangell (United States)
+KOSC Wurtsmith Air Force Base (United States)
+KYKM Yakima, Yakima Air Terminal (United States)
+PAYA Yakutat (United States)
+KYKN Yankton Automatic Weather Observing / Reporting System (United States)
+KP60 Yellowstone Lake (United States)
+KTHV York, York Airport (United States)
+KYNG Youngstown, Youngstown-Warren Regional Airport (United States)
+KYUM Yuma / Yuma International (United States)
+KNYL Yuma, Marine Corps Air Station (United States)
+KZZV Zanesville, Zanesville Municipal Airport (United States)
+SUAG Artigas (Uruguay)
+SULS Capitan Corbeta (Uruguay)
+SUMU Carrasco (Uruguay)
+SUCA Colonia (Uruguay)
+SUDU Durazno (Uruguay)
+SUPE Maldonado / Punta Est (Uruguay)
+SUAA Melilla (Uruguay)
+SUPU Paysandu (Uruguay)
+SURV Rivera (Uruguay)
+SUSO Salto (Uruguay)
+SUTB Tacuarembo (Uruguay)
+UTSS Samarkand (Uzbekistan)
+UTTT Tashkent (Uzbekistan)
+UTST Termez (Uzbekistan)
+NVVV Bauerfield Efate  (Vanuatu)
+SVAC Acarigua (Venezuela)
+SVBC Barcelona (Venezuela)
+SVBI Barinas (Venezuela)
+SVBM Barquisimeto (Venezuela)
+SVCL Calabozo (Venezuela)
+SVFM Caracas / La Carlota (Venezuela)
+SVMI Caracas / Maiquetia Aerop. Intl. Simon Bolivar (Venezuela)
+SVCS Caracas / Oscar Macha (Venezuela)
+SVCB Ciudad Bolivar (Venezuela)
+SVCR Coro (Venezuela)
+SVCU Cumana (Venezuela)
+SVGU Guanare (Venezuela)
+SVPR Guayana / Manuel Car  (Venezuela)
+SVGI Guiria (Venezuela)
+SVHG Higuerote (Venezuela)
+SVLF La Fria (Venezuela)
+SVMC Maracaibo-La Chinita (Venezuela)
+SVBS Maracay-B. A. Sucre (Venezuela)
+SVMG Margarita / Del Carib (Venezuela)
+SVMT Maturin (Venezuela)
+SVMN Mene Grande (Venezuela)
+SVMD Merida (Venezuela)
+SVMP Metropolitano Private  (Venezuela)
+SVJC Paraguana / Josefa (Venezuela)
+SVPM Paramillo Private  (Venezuela)
+SVPC Pto. Cabello (Venezuela)
+SVPA Puerto Ayacucho (Venezuela)
+SVSA San Antonio Del Tachira (Venezuela)
+SVSP San Felipe (Venezuela)
+SVSR San Fernando De Apure (Venezuela)
+SVST San Tome Private  (Venezuela)
+SVSZ Santa Barbara Zulia (Venezuela)
+SVSE Santa Elena De Uairen (Venezuela)
+SVSO Sto. Domingo (Venezuela)
+SVTM Tumeremo (Venezuela)
+SVVA Valencia (Venezuela)
+SVVL Valera (Venezuela)
+SVVP Valle De La Pascua (Venezuela)
+VVDN Da Nang (Viet Nam)
+VVNB Ha Noi (Viet Nam)
+VVTS Ho Chi Minh (Viet Nam)
+TUPJ Beef Island, Tortola (Virgin Islands, British)
+TIST Charlotte Amalie, Cyril E. King International Airport, Saint Thomas (Virgin Islands, U.S.)
+OYAA Aden (Yemen)
+OYHD Hodeidah (Yemen)
+OYMB Marib  (Yemen)
+OYSN Sana'A (Yemen)
+OYSY Sayun (Yemen)
+OYSQ Socotra (Yemen)
+OYTZ Taiz (Yemen)
+LYBE Beograd / Surcin (Yugoslavia)
+LYNI Nis (Yugoslavia)
+LYTI Podgorica / Golubovci (Yugoslavia)
+LYPG Podgorica Titograd  (Yugoslavia)
+LYPR Pristina (Yugoslavia)
+LQSA Sarajevo / Butmir (Yugoslavia)
+LYTV Tivat (Yugoslavia)
+FZAA Kinshasa / N'Djili (Zaire)
+FLLI Livingstone (Zambia)
+FLLS Lusaka Internationalairport (Zambia)
+FLND Ndola (Zambia)
+FVCZ Buffalo Range (Zimbabwe)
+FVBU Bulawayo Airport (Zimbabwe)
+FVTL Gweru (Zimbabwe)
+FVHA Harare Kutsaga  (Zimbabwe)
+FVMV Masvingo (Zimbabwe)
+FVFA Victoria Falls (Zimbabwe)
diff --git a/metar/icao3.txt b/metar/icao3.txt
new file mode 100644
index 0000000..367d54d
--- /dev/null
+++ b/metar/icao3.txt
@@ -0,0 +1,4999 @@
+10AK Nuiqsut, Nuiqsut Airport  AK  United States
+AGGH Honiara / Henderson (Solomon Islands)
+AGGL Santa Cruz  Solomon Islands
+AGGM Munda  Solomon Islands
+ANAU Nauru Airport (Nauru)
+AYMD Madang  Papua New Guinea
+AYPY Moresby  Papua New Guinea
+AYWK Wewak  Papua New Guinea
+BGAM Tasiilaq  Greenland
+BGAS Angisoq  Greenland
+BGAT Aputiteeq  Greenland
+BGBW Narsarsuaq (Greenland)
+BGCO Constable Pynt (Greenland)
+BGDB Daneborg  Greenland
+BGDH Danmarkshavn  Greenland
+BGEM Egedesminde  Greenland
+BGFH Frederikshaab  Greenland
+BGGD Groennedal  Greenland
+BGGH Godthaab / Nuuk (Greenland)
+BGHB Holsteinsborg  Greenland
+BGJH Julianehaab  Greenland
+BGJN Jacobshavn Lufthavn (Greenland)
+BGKK Kulusuk Lufthavn (Greenland)
+BGKT Cape Tobin Automated Reporting Station   Greenland
+BGPC Prins Christian Sund  Greenland
+BGSC Scoresbysund  Greenland
+BGSF Sdr Stroemfjord (Greenland)
+BGTL Thule A. B. (Greenland)
+BIAR Akureyri  Iceland
+BIEG Egilsstadir (Iceland)
+BIGR Grimsey  Iceland
+BIHN Akurnes  Iceland
+BIKF Keflavikurflugvollur (Iceland)
+BIRG Raufarhofn  Iceland
+BIRK Reykjavik (Iceland)
+BIST Stykkisholmur  Iceland
+BIVM Vestmannaeyjar  Iceland
+BIVO Skjaldthingsstadir  Iceland
+BIX1 Biloxi, Keesler Air Force Base, Navu  MS  United States
+BIX2 Biloxi, Keesler Air Force Base, Navu  MS  United States
+BIX3 Biloxi, Keesler Air Force Base, Navu  MS  United States
+CTPP Camp Canargus  Haiti
+CWAC Nitinat Lake Meteorological Aeronautical Presentation System   Canada
+CWAD Cape Mudge Light House   Canada
+CWAE Whistler   Canada
+CWAF Ile Rouge Meteorological Aeronautical Presentation System   Canada
+CWAG La Scie, Nfld.  Canada
+CWAH Amherst, N. S.  Canada
+CWAJ Erieau Meteorological Aeronautical Presentation System   Canada
+CWAN Amphitrite Point  Canada
+CWAQ Coronach Spc  Canada
+CWAR Argentia, Nfld  Canada
+CWAS Pam Rocks  Canada
+CWAU Dryad Point Light House   Canada
+CWAV Sundre  Canada
+CWAX St. Anthony, Nfld.  Canada
+CWBA Banff, Alta.  Canada
+CWBE Killarney Meteorological Aeronautical Presentation System   Canada
+CWBF Burgeo Automated Reporting Station   Canada
+CWBG Big Creek   Canada
+CWBI Britt, Ont.  Canada     P
+CWBJ Inner Whalebacks  Canada
+CWBK Caribou Point Meteorological Aeronautical Presentation System   Canada
+CWBL Bachelors Island Automated Reporting Station   Canada
+CWBM Beaverlodge  Canada
+CWBO Brooks Automatic Weather Reporting System   Canada
+CWBR B, R  Canada
+CWBT Longue Point De Mongue  Canada
+CWBV Beaven Island, N. S.  Canada
+CWBY Port Menier, Que.  Canada
+CWBZ St Anicet  Canada
+CWCA Cartwright, Nfld.  Canada
+CWCB Nanakwa Shoals  Canada
+CWCD Saskatoon Kernen  Canada
+CWCH Atikokan Automated Reporting Station   Canada
+CWCI Caribou Island, Ont.  Canada
+CWCJ Pukaskwa   Canada
+CWCL Clinton, B. C.  Canada
+CWCM Carberry Mcdc  Canada
+CWCN Malloch Dome Automatic Weather Reporting System   Canada
+CWCO Collingwood Automatic Weather Reporting System   Canada
+CWCQ Chatham Automatic Weather Reporting System   Canada
+CWCS Cote-Ste-Cath Mot  Canada
+CWCT Coronation Automated Reporting Station   Canada
+CWCU Barrie, Ont.  Canada
+CWCX Clut Lake Automated Reporting Station   Canada
+CWDA Englee Meteorological Aeronautical Presentation System   Canada
+CWDB Burwash Automatic Weather Reporting System   Canada
+CWDC Uranium City, Sask.  Canada
+CWDE Lac Benoit  Canada
+CWDF Oliphant \ Ont  Canada
+CWDH Daniel's Harbour, Nfld  Canada
+CWDI Badger, Nfld  Canada
+CWDJ Regina University  Canada
+CWDK Claresholm Automatic Weather Reporting System   Canada
+CWDL Dease Lake B. C.  Canada
+CWDM Chevery, Que.  Canada
+CWDN Wasaga Beach Automatic Weather Reporting System   Canada
+CWDO Twillingate Meteorological Aeronautical Presentation System   Canada
+CWDP Manouane-Est Automated Reporting Station   Canada
+CWDQ La Tuque  Canada
+CWDS St. Lawrence, Nfld.  Canada
+CWDT Chute Des Passes  Canada
+CWDU Cop Upper  Canada
+CWDV Upsala, Ont.  Canada
+CWDZ Drumheller East  Canada
+CWEA Pinawa Automatic Weather Reporting System   Canada
+CWEB Estevan Point, B. C.  Canada
+CWEC Welcome Island  Canada
+CWEE Chamouchouane Automatic Weather Reporting System  Canada
+CWEF Saint Paul Island Meteorological Aeronautical Presentation System   Canada
+CWEG Alberta Weather Centre   Canada
+CWEH Eastend Cypress, Sask  Canada
+CWEI Melita, Man  Canada
+CWEJ Bow Drill Iii  Canada
+CWEK Grey Islet Meteorological Aeronautical Presentation System   Canada
+CWEL Entrance Island Automatic Weather Reporting System   Canada
+CWEO Lac Eon, Que  Canada
+CWEP East Point, P. E. I  Canada
+CWEQ Swan River, Man.  Canada
+CWER Ile D'Orleans Automated Reporting Station   Canada
+CWET Egbert Meteorological Aeronautical Presentation System   Canada
+CWEU Eureka, N. W. T.  Canada
+CWEV Ellice River Automated Reporting Station   Canada
+CWEW L'Assomption  Canada
+CWEZ Saturna Island Meteorological Aeronautical Presentation System   Canada
+CWFD Cape Dyer, N. W. T.  Canada
+CWFE Elk Island National Park  Canada
+CWFF Melfort Automatic Weather Reporting System   Canada
+CWFG Sartine Island Meteorological Aeronautical Presentation System   Canada
+CWFH St. Shotts  Canada
+CWFJ Cardston Automated Reporting Station   Canada
+CWFL Fort Reliance   Canada
+CWFM Chatham Point Lighthouse   Canada
+CWFN Cree Lake Meteorological Aeronautical Presentation System   Canada
+CWFP Nain  Canada
+CWFQ Frelighsburg  Canada
+CWFR Horsefly River, Bc  Canada
+CWFU Little Macatina  Canada
+CWFW Baie Comeau  Canada
+CWFX Colville Lake  Canada
+CWFY Conne River  Canada
+CWFZ Fort Reliance, Nwt  Canada
+CWGB Ballenas Island Automatic Weather Reporting System   Canada
+CWGD Goderich Automatic Weather Reporting System   Canada
+CWGF Garden River Automatic Weather Reporting System   Canada
+CWGH Grenadier Island   Canada
+CWGJ Montreal River Radar Site  Canada
+CWGL Lagoon City   Canada
+CWGM Waterton Park Gate  Canada
+CWGN Gretna, Man.  Canada
+CWGP Pemberton Automatic Weather Reporting System   Canada
+CWGQ Roquemaure  Canada
+CWGR Iles-De-La-Madelein  Canada
+CWGT Sisters Island Automatic Weather Reporting System   Canada
+CWGV Carp Radar Site  Canada
+CWGW Sparwood Automatic Weather Reporting System   Canada
+CWGY Esther   Canada
+CWGZ Grise Fiord Airport  Canada
+CWHA Highvale  Canada
+CWHC Vancouver Automatic Weather Reporting System   Canada
+CWHE Ellerslie  Canada
+CWHH Hunters Point Mar  Canada
+CWHI Three Hills  Canada
+CWHL Holland Rock Automatic Weather Reporting System   Canada
+CWHM Varennes  Canada
+CWHN Jimmy Lake   Canada
+CWHO Hopedale Meteorological Aeronautical Presentation System   Canada
+CWHP Heath Point Meteorological Aeronautical Presentation System   Canada
+CWHS Bernard Harbour  Canada
+CWHT Haines Junction  Canada
+CWHU Star Brook  Canada
+CWHV Beauceville  Canada
+CWHW Comfort Cove, Nfld.  Canada
+CWHY Mont-Orford  Canada
+CWIC Isachsen Meteorological Aeronautical Presentation System   Canada
+CWID Fort Providence  Canada
+CWIE Indian River  Canada
+CWIF Quatsino Light Station   Canada
+CWII Victoria Beach  Canada
+CWIJ Lupin, N. W. T.  Canada
+CWIK Broadview, Sask.  Canada
+CWIM Upsala Radar Site  Canada
+CWIO Iskut River   Canada
+CWIQ Primrose Lake  Canada
+CWIR Victoria Marine   Canada
+CWIT Saint Clothilde Automated Reporting Station   Canada
+CWIW Watrous East Automated Reporting Station   Canada
+CWIX Mistook Automated Reporting Station   Canada
+CWIY St Leonard Automatic Weather Reporting System  Canada
+CWIZ L'Acadie  Canada
+CWJA Jasper, Alta.  Canada
+CWJC Ennadai Lake Meteorological Aeronautical Presentation System   Canada
+CWJD Grand Rapids, Man.  Canada
+CWJH Southend Automatic Weather Reporting System   Canada
+CWJI Assiniboia Airport Automated Reporting Station  Canada
+CWJM Upper Rideau Lake  Canada
+CWJN Herschel Island Automatic Weather Reporting System   Canada
+CWJO Jonquiere Automated Reporting Station   Canada
+CWJP Porter Lake  Canada
+CWJR Creston Automatic Weather Reporting System   Canada
+CWJT St Jovite Automatic Weather Reporting System   Canada
+CWJU Langara, B. C.  Canada
+CWJW Jasper Warden Automated Reporting Station   Canada
+CWJX Leader Airport Automatic Weather Reporting System   Canada
+CWJY Yathkyed Lake Meteorological Aeronautical Presentation System   Canada
+CWJZ Dubawnt Lake Meteorological Aeronautical Presentation System   Canada
+CWKD Bonnard Automated Reporting Station   Canada
+CWKE Pelly Bay  Canada
+CWKH Malahat Automatic Weather Reporting System   Canada
+CWKI Kitimat  Canada
+CWKK Katatota Island  Canada
+CWKO Rockglen, Sask.  Canada
+CWKR King Radar Site  Canada
+CWKU Whiskey Automated Reporting Station   Canada
+CWKV Hope Slide  Canada
+CWKW Cape Kakkiviak  Canada
+CWKX Dease Lake Coastal Station  Canada
+CWLB Lac La Biche, Alta.  Canada
+CWLE Lucky Lake Automatic Weather Reporting System   Canada
+CWLF Lansdowne House   Canada
+CWLG Little Chicago  Canada
+CWLI Liverpool Bay  Canada
+CWLM Victoria Automatic Weather Reporting System   Canada
+CWLO Shilo  Canada
+CWLP Herbert Island Meteorological Aeronautical Presentation System   Canada
+CWLQ Nipissing  Canada
+CWLS Mount Forest, Ont.  Canada
+CWLT Alert, N. W. T.  Canada
+CWLV Waskesiu Lake Automated Reporting Station   Canada
+CWLX Longstaff Bluff, N. W. T.  Canada
+CWLY Lytton, B. C.  Canada
+CWLZ Candle Lake  Canada
+CWMA Masset A  Canada
+CWMD Mould Bay Camp  Canada
+CWME Cathedral Point Meteorological Aeronautical Presentation System   Canada
+CWMH Mary's Harbour, Nfld.  Canada
+CWMI Miscou Island, N. B.  Canada
+CWMJ Maniwaki  Canada
+CWMM P. Meadows Coastal Station Automatic Weather Reporting System  Canada
+CWMN Mcgill Radar Site  Canada
+CWMP Powder Lake  Canada
+CWMQ Maplecreek Automatic Weather Reporting System   Canada
+CWMR Merry Island   Canada
+CWMS Mcinnes Island, B. C.  Canada
+CWMT Lac La Martre  Canada
+CWMU Rampart River Automatic Weather Reporting System   Canada
+CWMV St Charles Creek  Canada
+CWMW Maniwaki, Que.  Canada
+CWMX Mildred Lake  Canada
+CWMZ Western Island Meteorological Aeronautical Presentation System   Canada
+CWNB S. E. Shoal Meteorological Aeronautical Presentation System   Canada
+CWNC Cobourg, Ont.  Canada
+CWND Pelly Island Automatic Weather Reporting System   Canada
+CWNH Riviere Du Loup, Que.  Canada
+CWNI Nipterk Base  Canada
+CWNK Carman U Of M  Canada
+CWNL Great Duck Island  Canada
+CWNM Nelson Automatic Weather Reporting System   Canada
+CWNO Satah River Automatic Weather Reporting System  Canada
+CWNP Nakusp Automatic Weather Reporting System   Canada
+CWNQ Nicolet Automatic Weather Reporting System   Canada
+CWNR Nakiska Ridgetop   Canada
+CWNT Turtle Mountain  Canada
+CWNW Haldane River Automatic Weather Reporting System  Canada
+CWNX Nechako River   Canada
+CWNZ Nagagami, Ont.  Canada
+CWOA Camsell River, N. W. T.  Canada
+CWOB Brevoort Island  Canada
+CWOC New Carlisle  Canada
+CWOD Normandin  Canada
+CWOE Onefour Automatic Weather Reporting System   Canada
+CWOH Ste Agathe Des Mont  Canada
+CWOI Ivvavik Park Automatic Weather Reporting System  Canada
+CWOK Elbow Marine Aviation Reporting Station   Canada
+CWOL Sable Island Man   Canada
+CWON Dawson Automatic Weather Reporting System   Canada
+CWOU Primrose Lake   Canada
+CWOY Wynyard Marine Aviation Reporting Station   Canada
+CWPA Henderickson Automatic Weather Reporting System  Canada
+CWPB Beausoleil Island Automated Reporting Station   Canada
+CWPC Port Colborne Automated Reporting Station   Canada
+CWPD Parc Des Laurentid  Canada
+CWPH Inukjuak, Que  Canada    P
+CWPI Pine Island Meteorological Aeronautical Presentation System   Canada
+CWPJ Point Escuminac Meteorological Aeronautical Presentation System   Canada
+CWPK Parent, Que.  Canada
+CWPL Pickle Lake, Ont.  Canada
+CWPO Pilot Mound, Man.  Canada
+CWPQ Montreal-Est  Canada
+CWPR Princeton Automatic Weather Reporting System   Canada
+CWPS Long Point Meteorological Aeronautical Presentation System   Canada
+CWPU Puntzi Mountain, B. C.  Canada
+CWPY Fort Chipewyan Automated Reporting Station   Canada
+CWQC Port Alberni, B. C.  Canada
+CWQE Toronto Headland  Canada
+CWQF Rabbit Kettle Automated Reporting Station  Canada
+CWQG Valcartier  Canada
+CWQH Lennoxville  Canada
+CWQJ Sedco   Canada
+CWQK Race Rocks Automatic Weather Reporting System   Canada
+CWQL Lethbridge Automated Reporting Station   Canada
+CWQM Cap Rouge  Canada
+CWQO Ile Bicquette  Canada
+CWQP Point Petre, Ont.  Canada
+CWQQ Lacombe Cda  Canada
+CWQR Ice Auxiliary Perroquets  Canada
+CWQS Kindakun Rocks, B. C.  Canada
+CWQV Puinte Claveau  Canada
+CWQW Cape Whittle  Canada
+CWQY Hanbury River Automated Reporting Station   Canada
+CWQZ Quesnel Automatic Weather Reporting System   Canada
+CWRA Cape Race, Nfld  Canada
+CWRD Red Earth  Canada
+CWRF Pelly Bay   Canada
+CWRJ Rosetown East, Sask  Canada
+CWRK Bancroft Automatic Weather Reporting System  Canada
+CWRM Rocky House Marine Aviation Reporting Station   Canada
+CWRN Hart Island Meteorological Aeronautical Presentation System   Canada
+CWRO Rose Spit Meteorological Aeronautical Presentation System   Canada
+CWRP Nicholson Peninsul   Canada
+CWRQ Trois Rivieres  Canada
+CWRT Crowsnest  Canada
+CWRU Solander Island Meteorological Aeronautical Presentation System   Canada
+CWRV Camrose  Canada
+CWRW Fourchu Head Meteorological Aeronautical Presentation System   Canada
+CWRY Milk River  Canada
+CWRZ Cap D'Espoir Meteorological Aeronautical Presentation System   Canada
+CWSA Sable Island, N. S.  Canada
+CWSD Summerside Automatic Weather Reporting System   Canada
+CWSE Edmonton Stony Plain Alta.  Canada
+CWSF Cap Madeleine Meteorological Aeronautical Presentation System   Canada
+CWSG Cap Chat Meteorological Aeronautical Presentation System   Canada
+CWSH Sousa Crk Avt   Canada
+CWSI Simcoe, Ont.  Canada
+CWSK Squamish Airport, B. C  Canada
+CWSL Salmon Arm Automatic Weather Reporting System   Canada
+CWSO Exeter Radar Site  Canada
+CWSP Sheringham Automatic Weather Reporting System   Canada
+CWSQ Aulvik National Park  Canada
+CWSR Spiritwood West, Sask  Canada
+CWSS St. Stephen, N. B.  Canada
+CWST La Pocatiere  Canada
+CWSV Blue River Marine Aviation Reporting Station   Canada
+CWSW Sparwood / Elk Valley  Canada
+CWSY Sachs Harbour, N. W. T.  Canada
+CWSZ Fisher Branch Marine Aviation Reporting Station   Canada
+CWTA Mc Tavish Automated Reporting Station   Canada
+CWTB Border, Que.  Canada
+CWTC Ethelda Bay  Canada
+CWTD Robertson Lake Automated Reporting Station   Canada
+CWTE Trout Lake  Canada
+CWTF Beartooth Island  Canada
+CWTG Pointe Des Monts  Canada
+CWTN Cap Tourmente  Canada
+CWTO Toronto Aes Hq   Canada
+CWTY Trois Rivieres  Canada
+CWTZ Toronto Island  Canada
+CWUL Quebec Fcst Office  Canada
+CWUM Faro, Y. T.  Canada
+CWUP Cape Hooper, N. W. T.  Canada
+CWUR Truro, N. S.  Canada
+CWUS Summerland Automatic Weather Reporting System   Canada
+CWUT Shoal Lake Airport Automated Reporting Station   Canada
+CWUU Mackar Inlet  Canada
+CWUW Dewar Lakes, N. W. T.  Canada
+CWUY Rouyn  Canada
+CWVA Bonavista, Nfld.  Canada
+CWVC Swift Current Automatic Weather Reporting System   Canada
+CWVD Broughton Island  Canada
+CWVE Valleyfield  Canada
+CWVI Vegreville Automatic Weather Reporting System   Canada
+CWVK Vernon, B. C.  Canada
+CWVN Val Marie Southeast, Sask  Canada
+CWVO Vauxhall Cda  Canada
+CWVP Cypress Hills Park  Canada
+CWVQ Ste Anne De Bell   Canada
+CWVT Buffalo Narrows, Sask.  Canada
+CWVV Vic. Hartland Automatic Weather Reporting System  Canada
+CWVY Villeroy Radar Site  Canada
+CWWA W Vancouver Automatic Weather Reporting System   Canada
+CWWB Burlington Piers   Canada
+CWWC Collins Bay Automatic Weather Reporting System   Canada
+CWWE Western Head, N. S.  Canada
+CWWF Weyburn Automatic Weather Reporting System   Canada
+CWWK White Rock Automatic Weather Reporting System   Canada
+CWWL Bonilla Island Meteorological Aeronautical Presentation System   Canada
+CWWM Grant Automatic Weather Reporting System   Canada
+CWWN Peawanuck Meteorological Aeronautical Presentation System   Canada
+CWWO Willow Creek  Canada
+CWWP Wasagaming, Man.  Canada
+CWWS George Island Meteorological Aeronautical Presentation System   Canada
+CWWU Ingenika Point  Canada
+CWWV Killinek Meteorological Aeronautical Presentation System   Canada
+CWWX Cove Island Meteorological Aeronautical Presentation System   Canada
+CWWZ Port Weller, Ont.  Canada
+CWXA Bow Valley  Canada
+CWXI Ferolle Point Meteorological Aeronautical Presentation System   Canada
+CWXJ Bull Arm Automatic Weather Reporting System  Canada
+CWXL Bow Island  Canada
+CWXM Helmcken Island Meteorological Aeronautical Presentation System   Canada
+CWXO Rowan Gorilla Iii  Canada
+CWXP Pangnirtung  Canada
+CWXV Back River Meteorological Aeronautical Presentation System   Canada
+CWXW Alexis River Meteorological Aeronautical Presentation System   Canada
+CWYB N. Bay Weather Office  Canada
+CWYE Outlook Pfra  Canada
+CWYG Charlottetown  Canada
+CWYH Rae Lakes  Canada
+CWYJ Victoria University  Canada
+CWYL Yoho Park Automatic Weather Reporting System   Canada
+CWYM Cape Mercy  Canada
+CWYO Wynyard, Sask.  Canada
+CWYY Osoyoos Automatic Weather Reporting System   Canada
+CWZA Agassiz Automated Reporting Station   Canada
+CWZB Port-Aux-Basques, Nfld.  Canada
+CWZD Scudder Point Meteorological Aeronautical Presentation System   Canada
+CWZG Banff Marine Aviation Reporting Station   Canada
+CWZL Cumshewa Island Meteorological Aeronautical Presentation System   Canada
+CWZN Sagona Island Meteorological Aeronautical Presentation System   Canada
+CWZT Dauphin Coastal Station  Canada
+CWZV Virginia Falls  Canada
+CWZW Teslin Marine Aviation Reporting Station   Canada
+CWZZ Saglek Bay  (Canada)
+CYAD La Grande Iii Supplementary Aviation Weather Reporting Station   Canada
+CYAH La Grande Iv, Que. (Canada)
+CYAJ Komakuk Beach Airport  Canada
+CYAM Sault Ste Marie, Ont.  Canada
+CYAS Kangirsuk Supplementary Aviation Weather Reporting Station   Canada
+CYAW Shearwater, N. S. (Canada)
+CYAY Saint Anthony Airport (Canada)
+CYAZ Tofino Airport  Canada
+CYBB Pelly Bay Airport  Canada
+CYBC Baie Comeau, Que.  Canada
+CYBD Bella Coola Airport   Canada
+CYBG Bagotville, Que. (Canada)
+CYBK Baker Lake, N. W. T.  Canada
+CYBL Campbell River Airport  Canada
+CYBR Brandon, Man.  Canada
+CYBU Nipawin, Sask. (Canada)
+CYBV Berens River Airport  Canada
+CYBW Calgary / Springbank  Canada
+CYBX Blanc Sablon, Que.  Canada
+CYCA Cartwright Man   Canada
+CYCB Cambridge Bay, N. W. T. (Canada)
+CYCD Nanaimo Airport  Canada
+CYCG Castlegar Airport  Canada
+CYCH Chatham Can-Mil  (Canada)
+CYCL Charlo, N. B.  Canada
+CYCO Coppermine, N. W. T.  Canada
+CYCP Blue River, B. C.  Canada
+CYCQ Chetwynd Airport  Canada
+CYCS Chesterfield Inlet  Canada
+CYCT Coronation Marine Aviation Reporting Station   Canada
+CYCX Gagetown Can-Mil   Canada
+CYCY Clyde, N. W. T.  Canada
+CYDA Dawson, Y. T.  Canada
+CYDB Burwash Airport  Canada
+CYDC Princeton Airport   Canada
+CYDF Deer Lake, Nfld.  Canada
+CYDM Ross River Airport  Canada
+CYDN Dauphin, Man.  Canada
+CYDP Nain, Nfld  Canada     P
+CYDQ Dawson Creek Airport   Canada
+CYED Edmonton Namao Alta.  Canada
+CYEG Edmonton International, Alta. (Canada)
+CYEK Arviat Airport  Canada
+CYEL Elliot Lake Supplementary Aviation Weather Reporting Station   Canada
+CYEN Estevan, Sask.  Canada
+CYET Edson, Alta. (Canada)
+CYEU Eureka Man   Canada
+CYEV Inuvik, N. W. T.  Canada
+CYFB Iqaluit, N. W. T. (Canada)
+CYFC Fredericton, N. B. (Canada)
+CYFO Flin Flon Airport  Canada
+CYFR Fort Resolution  Canada
+CYFS Fort Simpson, N. W. T.  Canada
+CYFT Makkovik Airport  Canada
+CYGE Golden Airport  Canada
+CYGH Fort Good Hope Airport  Canada
+CYGK Kingston, Ont.  Canada
+CYGL La Grande Riviere, Que (Canada)
+CYGM Gimli Industrial, Man  Canada
+CYGP Gaspe, Que.  Canada
+CYGQ Geraldton, Ont.  Canada
+CYGR Iles De La Madeleineque.  Canada
+CYGT Igloolik Airport  Canada
+CYGV Havre St Pierre   Canada
+CYGW Kuujjuarapik, Que.  Canada
+CYGX Gillam, Man.  Canada
+CYHA Quaqtaq Airport  Canada
+CYHB Hudson Bay, Sask.  Canada
+CYHD Dryden Airport  Canada
+CYHE Hope, B. C.  Canada
+CYHH Nemiscau Airport Supplementary Aviation Weather Reporting Station   Canada
+CYHI Holman Island Airport  Canada
+CYHK Gjoa Haven Airport  Canada
+CYHM Hamilton Airport   Canada
+CYHU Saint Hubert Airport   Canada
+CYHY Hay River, N. W. T.  Canada
+CYHZ Halifax International Airport  (Canada)
+CYID Digby Airport Aviation Weather Reporting Station   Canada
+CYIK Ivujivik Airport Supplementary Aviation Weather Reporting Station   Canada
+CYIO Pond Inlet, N. W. T.  Canada
+CYIV Island Lake, Man.  Canada
+CYJF Fort Liard Airport  Canada
+CYJT Stephenville, Nfld. (Canada)
+CYKA Kamloops, B. C.  Canada
+CYKD Aklavik Airport  Canada
+CYKF Waterloo Well   Canada
+CYKG Kangiqsujuaq Supplementary Aviation Weather Reporting Station   Canada
+CYKJ Key Lake  Canada
+CYKL Schefferville, Que.  Canada
+CYKO Akulivik Airport  Canada
+CYKQ Waskaganish Airport  Canada
+CYKY Kindersley, Sask.  Canada
+CYKZ Toronto Buttonville  Canada
+CYLC Kimmirut A Nwt  Canada
+CYLD Chapleau Airport Supplementary Aviation Weather Reporting Station   Canada
+CYLJ Meadow Lake, Sask.  Canada
+CYLL Lloydminister, Alta.  Canada
+CYLT Alert Airport  Canada
+CYLU Kangiksualujjuaq A  Canada
+CYLW Kelowna Airport  Canada
+CYMA Mayo Airport  Canada
+CYMD Mould Bay, N. W. T.  Canada
+CYMH Mary's Harbour   Canada
+CYMJ Moose Jaw, Sask.  Canada
+CYML Charlevoix Airport  Canada
+CYMM Fort Mcmurray, Alta.  Canada
+CYMO Moosonee, Ont.  Canada
+CYMT Chibougamau-Chapais, Que  Canada
+CYMU Umiujaq  Canada
+CYMX Montreal / Mirabel (Canada)
+CYNA Natashquan, Que.  Canada
+CYND Gatineau Airport  Canada
+CYNE Norway House, Man.  Canada
+CYNM Matagami, Que. (Canada)
+CYOC Old Crow Airport (Canada)
+CYOD Cold Lake, Alta. (Canada)
+CYOJ High Level, Alta  Canada
+CYOW Ottawa Int'L. Ont. (Canada)
+CYOY Valcartier Airport  Canada
+CYPA Prince Albert, Sask.  Canada
+CYPC Paulatuk Airport  Canada
+CYPD Port Hawkesbury  Canada
+CYPE Peace River, Alta.  Canada
+CYPG Portage Southport A (Canada)
+CYPH Inukjuak Airport Supplementary Aviation Weather Reporting Station   Canada
+CYPL Pickle Lake Man   Canada
+CYPN Port Menier Man   Canada
+CYPQ Peterborough Airport   Canada
+CYPR Prince Rupert, B. C.  Canada
+CYPW Powell River Airport   Canada
+CYPX Povungnituq  Canada
+CYPY Fort Chipewyan, Alta.  Canada
+CYPZ Burns Lake   Canada
+CYQA Muskoka, Ont.  Canada
+CYQB Quebec, Que (Canada)
+CYQD The Pas, Man.  Canada
+CYQF Red Deer, Alta.  Canada
+CYQG Windsor, Ont. (Canada)
+CYQH Watson Lake, Y. T.  Canada
+CYQI Yarmouth, N. S.  Canada
+CYQK Kenora, Ont.  Canada
+CYQL Lethbridge, Alta.  Canada
+CYQM Moncton, N. B. (Canada)
+CYQQ Comox, B. C. (Canada)
+CYQR Regina, Sask.  Canada
+CYQT Thunder Bay, Ont.  Canada
+CYQU Grande Prairie, Alta.  Canada
+CYQV Yorkton, Sask.  Canada
+CYQW North Battleford, Sask.  Canada
+CYQX Gander Int. Airport, Nfld. (Canada)
+CYQY Sydney, N. S. (Canada)
+CYQZ Quesnel Airport  Canada
+CYRB Resolute, N. W. T.  Canada
+CYRJ Roberval, Que.  Canada
+CYRL Red Lake, Ont.  Canada
+CYRM Rocky Mountain House, Alta  Canada
+CYRT Rankin Inlet, N. W. T.  Canada
+CYRV Revelstoke, B. C.  Canada
+CYSA Sable Island Airport   Canada
+CYSB Sudbury, Ont.  Canada
+CYSC Sherbrooke, Que.  Canada
+CYSD Suffield Airport  Canada
+CYSF Stony Rapids Airport  Canada
+CYSJ Saint John, N. B.  Canada
+CYSK Sanikiluaq Airport  Canada
+CYSL Saint Leonard Airport   Canada
+CYSM Fort Smith, N. W. T.  Canada
+CYSN Saint Catharines Airport  Canada
+CYSR Nanisivik Airport   Canada
+CYSU Summerside Can-Mil   Canada
+CYSY Sachs Harbour Airport  Canada
+CYTE Cape Dorset, N. W. T.  Canada
+CYTH Thompson Weather Office, Man (Canada)
+CYTJ Terrace Bay Supplementary Aviation Weather Reporting Station   Canada
+CYTL Big Trout Lake  Canada
+CYTQ Tasiujaq A  Canada
+CYTR Trenton, Ont. (Canada)
+CYTS Timmins, Ont.  Canada
+CYTZ Toronto Island Airport Automated Reporting Station  Canada
+CYUA Shingle Point, Y. T. (Canada)
+CYUB Tuktoyaktuk   Canada
+CYUI Cape Young Airport  Canada
+CYUJ Lady Franklin Point, N. W. T.  Canada
+CYUK Byron Bay Airport  Canada
+CYUL Montreal / Dorval International, Que (Canada)
+CYUQ Jenny Lind Island Airport  Canada
+CYUS Shepherd Bay, N. W. T.  Canada
+CYUT Repulse Bay Airport  Canada
+CYUV Longstaff Blf Airport  Canada
+CYUX Hall Beach, N. W. T.  Canada
+CYUY Rouyn Airport (Canada)
+CYVC La Ronge, Sask  Canada
+CYVM Broughton Island Airport  Canada
+CYVO Val D'Or, Que.  Canada
+CYVP Kuujjuaq, Que.  Canada
+CYVQ Norman Wells, N. W. T.  Canada
+CYVR Vancouver International Air-Port, B. C. (Canada)
+CYVT Buffalo Narrows Man  Canada
+CYVV Wiarton, Ont.  Canada
+CYWA Petawawa, Ont.  Canada
+CYWG Winnipeg Int. Airportman. (Canada)
+CYWH Victoria Harbour  Canada
+CYWJ Fort Franklin Airport  Canada
+CYWK Wabush Lake, Nfld.  Canada
+CYWL Williams Lake, B. C.  Canada
+CYWO Lupin Airport Supplementary Aviation Weather Reporting Station   Canada
+CYWV Wainwright Airport  Canada
+CYWY Wrigley Airport  Canada
+CYXC Cranbrook, B. C.  Canada
+CYXD Edmonton Municipal Alta.  Canada
+CYXE Saskatoon, Sask.  Canada
+CYXH Medicine Hat, Alta. (Canada)
+CYXJ Fort St John, B. C.  Canada
+CYXL Sioux Lookout, Ont.  Canada
+CYXN Whale Cove Airport  Canada
+CYXP Pangnirtung Airport  Canada
+CYXQ Beaver Creek Airport  Canada
+CYXR Earlton, Ont.  Canada
+CYXS Prince George, B. C.  Canada
+CYXT Terrace, B. C.  Canada
+CYXU London, Ont.  Canada
+CYXX Abbotsford, B. C. (Canada)
+CYXY Withehorse, Y. T.  Canada
+CYXZ Wawa, Ont.  Canada
+CYYB North Bay, Ont.  Canada
+CYYC Calgary International, Alta. (Canada)
+CYYD Smithers, B. C.  Canada
+CYYE Fort Nelson, B. C.  Canada
+CYYF Penticton, B. C. (Canada)
+CYYG Charlottetown, P. E. I.  Canada
+CYYH Spence Bay Airport   Canada
+CYYJ Victoria Int. Airportb. C. (Canada)
+CYYL Lynn Lake, Man.  Canada
+CYYN Swift Current, Sask. (Canada)
+CYYQ Churchill, Man. (Canada)
+CYYR Goose, Nfld. (Canada)
+CYYT St. John's, Nfld (Canada)
+CYYU Kapuskasing, Ont.  Canada
+CYYW Armstrong, Ont.  Canada
+CYYY Mont Joli, Que.  Canada
+CYYZ Toronto Pearson Int'L. Ont. (Canada)
+CYZE Gore Bay, Ont.  Canada
+CYZF Yellowknife, N. W. T. (Canada)
+CYZG Salliut Airport Supplementary Aviation Weather Reporting Station   Canada
+CYZH Slave Lake, Alta  Canada
+CYZP Sandspit, B. C.  Canada
+CYZR Sarnia Airport   Canada
+CYZS Coral Harbour, N. W. T. (Canada)
+CYZT Port Hardy, B. C. (Canada)
+CYZU Whitecourt, Alta.  Canada
+CYZV Sept-Iles, Que. (Canada)
+CYZW Teslin, Y. T.  Canada
+CYZX Greenwood, N. S. (Canada)
+CYZY Mackenzie, B. C. (Canada)
+CZAG La Grande Iv Remote Environment Automatic Data Acquisition Concept  Canada
+CZBF Bathurst Airport Aviation Weather Reporting Station   Canada
+CZDI Churchill Falls  Canada
+CZEM Eastmain River Airport  Canada
+CZFA Faro Airport  Canada
+CZFM Fort Mcpherson Airport (Canada)
+CZFN Fort Norman Airport  Canada
+CZNB North Bay Remote Environment Automatic Data Acquisition Concept   Canada
+CZOC Old Crow Automatic Weather Reporting System   Canada
+CZPC Pincher Creek Airport  Canada
+CZPK Paulatuk Automated Reporting Station   Canada
+CZST Stewart Airport  Canada
+CZUB Tuktoyaktuk Automated Reporting Station   Canada
+CZUE Cape Parry, N. W. T.  Canada
+CZUM Churchill Falls, Nfld. (Canada)
+CZVL Edmonton / Villeneuve  Canada
+CZWN Wainwright Automatic Weather Reporting System   Canada
+DAAD Bou-Saada  Algeria 
+DAAE Bejaia  Algeria
+DAAF Aoulef   Algeria     
+DAAG Dar-El-Beida (Algeria)
+DAAJ Djanet  Algeria  
+DAAP Illizi  Algeria  
+DAAS Setif  Algeria  
+DAAT Tamanrasset / Aguenna (Algeria)
+DAAV Jijel Achouat  Algeria 
+DAAY Mecheria  Algeria 
+DABB Annaba (Algeria)
+DABC Constantine (Algeria)
+DABP Skikda  Algeria
+DABS Tebessa (Algeria)
+DABT Batna  Algeria 
+DAFI Djelfa  Algeria  
+DAOB Tiaret  Algeria 
+DAOF Tindouf  Algeria 
+DAOI Chlef  Algeria  
+DAON Tlemcen Zenata  (Algeria)
+DAOO Oran / Es Senia (Algeria)
+DAOR Bechar  Algeria 
+DAUA Adrar (Algeria)
+DAUB Biskra  Algeria  
+DAUE El Golea  Algeria  
+DAUG Ghardaia (Algeria)
+DAUH Hassi-Messaoud (Algeria)
+DAUI In Salah North  Algeria     
+DAUK Touggourt  Algeria  
+DAUL Laghouat  Algeria  
+DAUO El Oued  Algeria  
+DAUT Timimoun  Algeria  
+DAUU Ouargla  Algeria  
+DAUZ In Amenas (Algeria)
+DBBB Cotonou (Benin)
+DBBC Bohicon  Benin 
+DBBK Kandi  Benin  
+DBBN Natitingou  Benin 
+DBBP Parakou  Benin  
+DBBS Save  Benin 
+DFCC Ouahigouya  Burkina Faso     
+DFCO Boromo  Burkina Faso     
+DFCP Po  Burkina Faso     
+DFEE Dori  Burkina Faso      
+DFEF Fada N'Gourma  Burkina Faso     
+DFFD Ouagadougou  Burkina Faso 
+DFOD Dedougou  Burkina Faso     
+DFOG Gaoua  Burkina Faso     
+DFOO Bobo-Dioulasso  Burkina Faso 
+DGAA Accra (Ghana)
+DGAD Ada  Ghana
+DGAH Ho  Ghana 
+DGAK Akuse  Ghana 
+DGAS Saltpond  Ghana
+DGAT Tema  Ghana 
+DGKA Akim Oda  Ghana
+DGKK Koforidua  Ghana
+DGLB Bole  Ghana 
+DGLE Tamale  Ghana 
+DGLN Navrongo  Ghana
+DGLW Wa  Ghana
+DGLY Yendi  Ghana
+DGSB Sefwi Bekwai  Ghana
+DGSI Kumasi  Ghana 
+DGSN Sunyani  Ghana
+DGSW Wenchi  Ghana
+DGTK Takoradi  Ghana
+DGTX Axim  Ghana
+DIAD Adiake  Cote D'Ivoire
+DIAP Abidjan (Cote D'Ivoire)
+DIBK Bouake  Cote D'Ivoire 
+DIBU Bondoukou  Cote D'Ivoire
+DIDK Dimbokro  Cote D'Ivoire
+DIDL Daloa  Cote D'Ivoire
+DIGA Gagnoa  Cote D'Ivoire
+DIKO Korhogo  Cote D'Ivoire 
+DIMN Man  Cote D'Ivoire 
+DIOD Odienne  Cote D'Ivoire 
+DISP San Pedro  Cote D'Ivoire
+DISS Sassandra  Cote D'Ivoire
+DITB Tabou  Cote D'Ivoire 
+DIYO Yamoussoukro  Cote D'Ivoire
+DNBI Bida  Nigeria 
+DNCA Calabar  Nigeria 
+DNGU Gusau  Nigeria 
+DNIB Ibadan  Nigeria  
+DNIL Ilorin  Nigeria 
+DNJO Jos  Nigeria 
+DNKA Kaduna  Nigeria 
+DNKN Kano  Nigeria  
+DNMK Makurdi  Nigeria  
+DNMM Lagos / Ikeja  Nigeria  
+DNOS Oshogbo  Nigeria 
+DNPO Port Harcourt  Nigeria  
+DNSO Sokoto  Nigeria 
+DNYO Yola  Nigeria  
+DNZA Zaria  Nigeria 
+DRRB Birni-N'Konni  Niger      
+DRRG Gaya  Niger     
+DRRI Bilma  Niger      
+DRRL Tillabery  Niger     
+DRRM Maradi  Niger      
+DRRN Niamey-Aero (Niger)
+DRRT Tahoua  Niger     
+DRZA Agadez  Niger      
+DRZF Diffa  Niger     
+DRZG Goure  Niger     
+DRZM Maine-Soroa  Niger     
+DRZR Zinder  Niger      
+DTKA Tabarka  Tunisia      
+DTMB Habib Bourguiba  (Tunisia)
+DTTA Tunis-Carthage (Tunisia)
+DTTB Bizerte (Tunisia)
+DTTD Remada (Tunisia)
+DTTF Gafsa  Tunisia  
+DTTG Gabes (Tunisia)
+DTTJ Djerba Mellita (Tunisia)
+DTTK Kairouan (Tunisia)
+DTTL Kelibia (Tunisia)
+DTTM Monastir-Skanes  Tunisia
+DTTN Jendouba (Tunisia)
+DTTR El Borma (Tunisia)
+DTTX Sfax El-Maou (Tunisia)
+DTTZ Tozeur (Tunisia)
+DXAK Atakpame  Togo 
+DXMG Mango  Togo 
+DXNG Niamtougou  Togo 
+DXSK Sokode  Togo  
+DXTA Tabligbo  Togo 
+DXXX Lome (Togo)
+EBAW Antwerpen / Deurne (Belgium)
+EBBE Beauvechain (Belgium)
+EBBL Kleine Brogel (Belgium)
+EBBR Bruxelles National (Belgium)
+EBBT Brasschaat (Belgium)
+EBBX Bertrix Bel-Afb   Belgium
+EBCI Charleroi / Gosselies (Belgium)
+EBCV Chievres (Belgium)
+EBDT Schaffen (Belgium)
+EBFN Koksijde (Belgium)
+EBFS Florennes (Belgium)
+EBGT Gent / Industrie-Zone  Belgium
+EBLB Elsenborn (Belgium)
+EBLG Bierset (Belgium)
+EBMB Melsbroek Bel-Afb   Belgium
+EBMT Munte  Belgium
+EBOS Oostende Airport  (Belgium)
+EBSP Spa / La Sauveniere (Belgium)
+EBST Sint-Truiden  Belgium
+EBSU St-Hubert  Belgium
+EBTN Goetsenhoven (Belgium)
+EBWE Weelde Military   Belgium
+EBZW Genk  Belgium
+EDAC Altenburg Nobitz  Germany
+EDAH Heringsdorf  Germany
+EDDB Berlin-Schoenefeld (Germany)
+EDDC Dresden-Klotzsche (Germany)
+EDDE Erfurt-Bindersleben  Germany
+EDDF Frankfurt / M-Flughafen (Germany)
+EDDG Muenster / Osnabrueck (Germany)
+EDDH Hamburg-Fuhlsbuettel (Germany)
+EDDI Berlin-Tempelhof (Germany)
+EDDK Koeln / Bonn (Germany)
+EDDL Duesseldorf (Germany)
+EDDM Munich / Riem (Germany)
+EDDN Nuernberg (Germany)
+EDDP Leipzig-Schkeuditz (Germany)
+EDDR Saarbruecken / Ensheim (Germany)
+EDDS Stuttgart-Echterdingen (Germany)
+EDDT Berlin-Tegel (Germany)
+EDDV Hannover (Germany)
+EDDW Bremen (Germany)
+EDFH Hahn (Germany)
+EDHI Hamburg-Finkenwerder (Germany)
+EDHK Kiel / Holtenau Civilian  Germany
+EDHL Luebeck-Blankensee (Germany)
+EDLN Monchengladbach (Germany)
+EDLP Paderborn / Lippstadt (Germany)
+EDLW Dortmund / Wickede (Germany)
+EDMA Augsburg (Germany)
+EDMO Oberpfaffenhofen (Germany)
+EDNY Friedrichshafen (Germany)
+EDQD Bayreuth (Germany)
+EDQM Hof (Germany)
+EDTZ Konstanz  Germany
+EDVE Braunschweig (Germany)
+EDVK Kassel / Calden (Germany)
+EDWD Lemwerder (Germany)
+EDXW Westerland / Sylt (Germany)
+EDZE Essen  Germany
+EFHA Halli  Finland
+EFHF Helsinki-Malmi (Finland)
+EFHK Helsinki-Vantaa (Finland)
+EFHL Hailuoto  Finland
+EFHT Ahtari  Finland
+EFIL Ilmajoki  Finland
+EFIV Ivalo (Finland)
+EFJO Joensuu  Finland
+EFJY Jyvaskyla (Finland)
+EFKA Kauhava  Finland
+EFKE Kemi (Finland)
+EFKI Kajaani  Finland
+EFKK Kruunupyy (Finland)
+EFKS Kuusamo  Finland
+EFKT Kittila  Finland
+EFKU Kuopio (Finland)
+EFMA Mariehamn / Aland Island (Finland)
+EFMI Mikkeli  Finland
+EFOU Oulu (Finland)
+EFPE Pello  Finland
+EFPO Pori (Finland)
+EFPU Pudasjarvi  Finland
+EFRO Rovaniemi (Finland)
+EFSA Savonlinna  Finland
+EFSO Sodankyla  Finland
+EFSU Suomussalmi  Finland
+EFTP Tampere / Pirkkala (Finland)
+EFTU Turku (Finland)
+EFUT Utti  Finland
+EFVA Vaasa (Finland)
+EFVI Viitasaari  Finland
+EFVR Varkaus  Finland
+EGAA Belfast / Aldergrove Airport (United Kingdom)
+EGAC Belfast / Harbour (United Kingdom)
+EGAE Eglinton / Londonderr (United Kingdom)
+EGBB Birmingham / Airport (United Kingdom)
+EGBE Coventry Airport  (United Kingdom)
+EGBJ Staverton Private  (United Kingdom)
+EGCC Manchester Airport (United Kingdom)
+EGDB Plymouth  United Kingdom
+EGDC Chivenor  United Kingdom
+EGDG Saint Mawgan (United Kingdom)
+EGDK Kemble Royal Air Force Base   United Kingdom
+EGDL Lyneham (United Kingdom)
+EGDM Boscombe Down (United Kingdom)
+EGDP Portland / Rnas (United Kingdom)
+EGDR Culdrose (United Kingdom)
+EGDX St Athan Royal Air Force Base  United Kingdom
+EGDY Yeovilton (United Kingdom)
+EGFF Cardiff-Wales Airport (United Kingdom)
+EGFH Swansea (United Kingdom)
+EGGD Bristol / Lulsgate  (United Kingdom)
+EGGP Liverpool Airport  (United Kingdom)
+EGGW Luton Airport  (United Kingdom)
+EGHD Plymouth / Roborough (United Kingdom)
+EGHE Scilly, Saint Mary'S (United Kingdom)
+EGHH Bournemouth Airport (United Kingdom)
+EGHI Southampton / Weather Centre (United Kingdom)
+EGJA Alderney / Channel Island (United Kingdom)
+EGJB Guernsey Airport (United Kingdom)
+EGJJ Jersey Airport (United Kingdom)
+EGKA Shoreham Airport (United Kingdom)
+EGKB Biggin Hill  (United Kingdom)
+EGKK London / Gatwick Airport (United Kingdom)
+EGLC London City Airport (United Kingdom)
+EGLF Farnborough (United Kingdom)
+EGLL London / Heathrow Airport (United Kingdom)
+EGMC Southend-On-Sea  (United Kingdom)
+EGMD Lydd Airport  (United Kingdom)
+EGNC Carlisle (United Kingdom)
+EGNH Blackpool Airport (United Kingdom)
+EGNJ Humberside (United Kingdom)
+EGNL Walney Island  United Kingdom
+EGNM Leeds And Bradford (United Kingdom)
+EGNR Hawarden  United Kingdom
+EGNS Isle Of Man / Ronaldsway Airport (United Kingdom)
+EGNT Newcastle  (United Kingdom)
+EGNV Tees-Side (United Kingdom)
+EGNX East Midlands (United Kingdom)
+EGOD Llanbedr  United Kingdom
+EGOM Spadeadam  United Kingdom
+EGOP Pembrey Sands  United Kingdom
+EGOS Shawbury (United Kingdom)
+EGOV Valley (United Kingdom)
+EGOY West Freugh  United Kingdom
+EGPA Kirkwall Airport  United Kingdom
+EGPB Sumburgh Cape  (United Kingdom)
+EGPC Wick (United Kingdom)
+EGPD Aberdeen / Dyce (United Kingdom)
+EGPE Inverness / Dalcross (United Kingdom)
+EGPF Glasgow Airport (United Kingdom)
+EGPH Edinburgh Airport (United Kingdom)
+EGPK Prestwick Airport (United Kingdom)
+EGPL Benbecula (United Kingdom)
+EGPM Scatsa / Shetland Island (United Kingdom)
+EGPN Dundee / Riverside (United Kingdom)
+EGPO Stornoway (United Kingdom)
+EGPT Perth / Scone   United Kingdom
+EGPU Tiree (United Kingdom)
+EGPW Unst Island (United Kingdom)
+EGQA Tain Range  United Kingdom
+EGQJ Machrihanish  United Kingdom
+EGQK Kinloss (United Kingdom)
+EGQL Leuchars (United Kingdom)
+EGQM Boulmer (United Kingdom)
+EGQS Lossiemouth (United Kingdom)
+EGRB London Weather Centre  United Kingdom
+EGRR Bracknell / Beaufort Park  United Kingdom
+EGSC Cambridge (United Kingdom)
+EGSH Norwich Weather Centre (United Kingdom)
+EGSS Stansted Airport (United Kingdom)
+EGTC Cranfield (United Kingdom)
+EGTE Exeter Airport (United Kingdom)
+EGTG Filton Private   United Kingdom
+EGTH Hatfeild Private   United Kingdom
+EGUA Upper Heyford Royal Air Force Base   United Kingdom
+EGUB Benson (United Kingdom)
+EGUC Aberporth  United Kingdom
+EGUF Farnborough Military   United Kingdom
+EGUL Lakenheath Royal Air Force Base  United Kingdom
+EGUM Manston  United Kingdom
+EGUN Mildenhall Royal Air Force Base  United Kingdom
+EGUP Sculthorpe Af Met   United Kingdom
+EGUW Wattisham  United Kingdom
+EGUY Wyton Royal Air Force Base  United Kingdom
+EGVA Fairford Royal Air Force Base  United Kingdom
+EGVG Woodbridge Royal Air Force Base   United Kingdom
+EGVI Greenham Common Royal Air Force Base  United Kingdom
+EGVJ Bentwaters Royal Air Force Base   United Kingdom
+EGVN Brize Norton  United Kingdom
+EGVO Odiham  United Kingdom
+EGVP Middle Wallop (United Kingdom)
+EGWC Cosford Royal Air Force Base  United Kingdom
+EGWU Northolt  United Kingdom
+EGWZ Alconbury Royal Air Force Base  United Kingdom
+EGXC Coningsby Royal Air Force Base  United Kingdom
+EGXD Disforth  United Kingdom
+EGXE Leeming  United Kingdom
+EGXF Cowden  United Kingdom
+EGXG Church Fenton  United Kingdom
+EGXH Honington Royal Air Force Base  United Kingdom
+EGXJ Cottesmore  United Kingdom
+EGXN Newton  United Kingdom
+EGXT Wittering  United Kingdom
+EGXU Linton-On-Ouse  United Kingdom
+EGXV Leconfield  United Kingdom
+EGXW Waddington  United Kingdom
+EGXZ Topcliffe Royal Air Force Base   United Kingdom
+EGYC Coltishall  United Kingdom
+EGYD Cranwell  United Kingdom
+EGYE Barkston Heath Royal Air Force Base   United Kingdom
+EGYH Holbeach  United Kingdom
+EGYM Marham  United Kingdom
+EGYP Mount Pleasant Airport  South Georgia and the South Sandwich Islands
+EGYW Wainfleet  United Kingdom
+EHAM Amsterdam Airport Schiphol (Netherlands)
+EHBK Maastricht Airport Zuid Limburg (Netherlands)
+EHDB De Bilt  Netherlands
+EHDL Deelen (Netherlands)
+EHEH Eindhoven (Netherlands)
+EHGG Groningen Airport Eelde (Netherlands)
+EHGR Gilze-Rijen (Netherlands)
+EHKD De Kooy (Netherlands)
+EHLW Leeuwarden (Netherlands)
+EHRD Rotterdam Airport Zestienhoven (Netherlands)
+EHSB Soesterberg (Netherlands)
+EHTW Twenthe (Netherlands)
+EHVB Valkenburg (Netherlands)
+EHVK Volkel (Netherlands)
+EHVL Vlieland (Netherlands)
+EHWO Woensdrecht (Netherlands)
+EICK Cork Airport (Ireland)
+EIDW Dublin Airport (Ireland)
+EIME Casement Aerodrome  Ireland
+EINN Shannon Airport (Ireland)
+EKAH Tirstrup (Denmark)
+EKAT Anholt Island Automated Reporting Station   Denmark
+EKAV Avno Danish Air Force Base   Denmark
+EKBI Billund Lufthavn (Denmark)
+EKCH Koebenhavn / Kastrup (Denmark)
+EKEB Esbjerg (Denmark)
+EKHO Lindtorp Airport  Denmark
+EKHS Hadsund  Denmark
+EKKA Karup (Denmark)
+EKMB Maribo Lufthavn (Denmark)
+EKOD Odense / Beldringe (Denmark)
+EKRK Koebenhavn / Roskilde (Denmark)
+EKRN Roenne (Denmark)
+EKSB Soenderborg Lufthavn (Denmark)
+EKSN Sindal Flyveplads (Denmark)
+EKSP Skrydstrup (Denmark)
+EKST Sydfyns Flyveplads  Denmark
+EKSV Skive Lufthavn (Denmark)
+EKTS Thisted Lufthavn (Denmark)
+EKVA Vandel (Denmark)
+EKVD Vamdrup (Denmark)
+EKVG Soervaag / Vagar (Denmark)
+EKVJ Stauning Lufthavn (Denmark)
+EKVL Vaerloese (Denmark)
+EKYT Aalborg (Denmark)
+ELLX Luxembourg / Luxembourg (Luxembourg)
+ENAL Alesund / Vigra (Norway)
+ENAN Andoya (Norway)
+ENAS Ny-Alesund Ii  Norway
+ENAT Alta Lufthavn (Norway)
+ENBJ Bjornoya  Norway
+ENBL Forde / Bringeland (Norway)
+ENBM Voss-Bo  Norway
+ENBN Bronnoysund / Bronnoy (Norway)
+ENBO Bodo Vi (Norway)
+ENBR Bergen / Flesland (Norway)
+ENBS Batsfjord  Norway
+ENBV Berlevag (Norway)
+ENCN Kristiansand / Kjevik (Norway)
+ENDI Dagali (Norway)
+ENDU Bardufoss (Norway)
+ENEK Ekofisk Oil Platform (Norway)
+ENEV Evenes (Norway)
+ENFB Oslo / Fornebu (Norway)
+ENFG Fagernes Leirin (Norway)
+ENFL Floro (Norway)
+ENFR Frigg (Norway)
+ENGC Gullfax Platform  (Norway)
+ENGM Oslo / Gardermoen (Norway)
+ENHD Haugesund / Karmoy (Norway)
+ENHF Hammerfest (Norway)
+ENHK Hasvik  Norway
+ENHO Hopen  Norway
+ENHV Honningsvag / Valan (Norway)
+ENJA Jan Mayen  Norway
+ENKA Kautokeino  Norway
+ENKB Kristiansund / Kvernberget (Norway)
+ENKR Kirkenes Lufthavn (Norway)
+ENLI Lista Flyplass (Norway)
+ENLK Leknes (Norway)
+ENMH Mehamn (Norway)
+ENML Molde / Aro (Norway)
+ENMS Mosjoen Kjaerstad (Norway)
+ENNA Banak (Norway)
+ENNK Narvik Iii (Norway)
+ENNM Namsos Lufthavn (Norway)
+ENNO Notodden (Norway)
+ENOA Oseberg  (Norway)
+ENOL Orland Iii (Norway)
+ENOV Orsta-Volda / Hovden (Norway)
+ENRA Mo I Rana / Rossvoll (Norway)
+ENRM Rorvik / Ryum (Norway)
+ENRO Roros Lufthavn (Norway)
+ENRS Rost Flyplass (Norway)
+ENRY Rygge (Norway)
+ENSB Svalbard Lufthavn (Norway)
+ENSD Sandane / Anda (Norway)
+ENSG Sogndal / Haukasen (Norway)
+ENSH Svolvaer / Helle (Norway)
+ENSK Storkmarknes / Skagen (Norway)
+ENSN Skien-Geiteryggen (Norway)
+ENSO Stord / Soerstokken (Norway)
+ENSR Sorkjosen (Norway)
+ENSS Svartnes  Norway
+ENST Sandnessjoen / Stokka (Norway)
+ENTC Tromso / Langnes (Norway)
+ENTO Torp (Norway)
+ENVA Trondheim / Vaernes (Norway)
+ENVD Vadso (Norway)
+ENZV Stavanger / Sola (Norway)
+EPGD Gdansk-Rebiechowo (Poland)
+EPKK Krakow (Poland)
+EPKO Koszalin  Poland
+EPKT Katowice (Poland)
+EPPO Poznan (Poland)
+EPRZ Rzeszow-Jasionka (Poland)
+EPSC Szczecin (Poland)
+EPSK Slupsk   Poland
+EPWA Warszawa-Okecie (Poland)
+EPWR Wroclaw Ii (Poland)
+EPZG Zielona Gora  Poland
+ESCF Linkoping / Malmen  Sweden
+ESCL Soderhamn  Sweden
+ESCM Uppsala  Sweden
+ESDA Ljungbyhed (Sweden)
+ESDB Angelholm  Sweden
+ESDF Ronneby (Sweden)
+ESGG Goteborg / Landvetter (Sweden)
+ESGJ Jonkoping Flygplats (Sweden)
+ESGP Goteborg / Save (Sweden)
+ESGR Skovde Flygplats  Sweden
+ESGT Trollhattan Private  (Sweden)
+ESIB Satenas  Sweden
+ESKM Siljan / Mora  Sweden
+ESKN Skavasta / Stockholm  Sweden
+ESMK Kristianstad / Everod  Sweden
+ESMQ Kalmar  Sweden
+ESMS Malmo / Sturup (Sweden)
+ESMT Halmstad Swedish Air Force Base   Sweden
+ESMV Hagshult  Sweden
+ESMX Vaxjo (Sweden)
+ESNG Gallivare  Sweden
+ESNJ Jokkmokk  Sweden
+ESNK Kramfors Flygplats  Sweden
+ESNN Sundsvall-Harnosand Flygplats (Sweden)
+ESNO Ornskoldsvik Airport  Sweden
+ESNQ Kiruna Airport (Sweden)
+ESNS Skelleftea Airport  Sweden
+ESNU Umea Flygplats (Sweden)
+ESOE Orebro Private   Sweden
+ESOW Vasteras / Hasslo (Sweden)
+ESPA Lulea / Kallax  Sweden
+ESPC Ostersund / Froson  Sweden
+ESPD Gunnarn  Sweden
+ESPE Vidsel  Sweden
+ESSA Stockholm / Arlanda (Sweden)
+ESSB Stockholm / Bromma (Sweden)
+ESSD Borlange  Sweden
+ESSF Hultsfred Swedish Air Force Base   Sweden
+ESSK Gavle / Sandviken Air Force Base  Sweden
+ESSL Linkoping / Saab  Sweden
+ESSP Norrkoping (Sweden)
+ESSQ Karlstad Flygplats (Sweden)
+ESSV Visby Flygplats (Sweden)
+ETAD Spangdahlem  Germany
+ETAR Ramstein  Germany
+ETAS Sembach United States Air Force Operated Base In Foreign Country   Germany
+ETBA Aachen / Merzbruck  Germany
+ETCE Mebstetten / Albstadt  Germany
+ETEB Ansbach / Katterbach  Germany
+ETEH Bad Kreuznach  Germany
+ETEU Giebelstadt  Germany
+ETGB Bergen  Germany
+ETGG Gluecksburg / Meierwik  Germany
+ETGI Idar-Oberstein  Germany
+ETGK Kuemmersruck  Germany
+ETGM Meppen  Germany
+ETGW Wittstock  Germany
+ETGY Kalkar  Germany
+ETGZ Messstetten  Germany
+ETHA Altenstadt  Germany
+ETHB Bueckeburg  Germany
+ETHC Celle (Germany)
+ETHE Rheine-Bentlage (Germany)
+ETHF Fritzlar  Germany
+ETHI Itzehoe (Germany)
+ETHL Laupheim  Germany
+ETHM Mendig  Germany
+ETHN Niederstetten  Germany
+ETHR Roth  Germany
+ETHS Fassberg (Germany)
+ETHT Cottbus Flugplatz   Germany
+ETIC Grafenwoehr  Germany
+ETID Hanau  Germany
+ETIE Heidelberg  Germany
+ETIH Hohenfels  Germany
+ETIK Illesheim  Germany
+ETIN Kitzingen Usa \ Af   Germany
+ETME Eggebek  Germany
+ETMK Kiel-Holtenau  Germany
+ETMN Nordholz  Germany
+ETND Diepholz  Germany
+ETNG Geilenkirchen  Germany
+ETNH Hohn  Germany
+ETNJ Jever  Germany
+ETNL Laage  Germany
+ETNN Noervenich  Germany
+ETNP Hopsten  Germany
+ETNR Preschen  Germany
+ETNS Schleswig-Jagel  Germany
+ETNT Wittmundhaven  Germany
+ETNU Trollenhagen  Germany
+ETNW Wunstorf  Germany
+ETOR Coleman Mannheim   Germany
+ETOU Wiesbaden  Germany
+ETSA Landsberg  Germany
+ETSB Buechel  Germany
+ETSE Erding  Germany
+ETSF Fuerstenfeldbruck  Germany
+ETSH Holzdorf  Germany
+ETSI Ingolstadt  Germany
+ETSL Lechfeld  Germany
+ETSM Memmingen  Germany
+ETSN Neuburg / Donau  Germany
+ETSP Pferdsfeld  Germany
+ETUL Laarbruch  Germany
+ETUN Nordhorn  Germany
+ETUO Guetersloh  Germany
+ETUR Brueggen  Germany
+EVRA Riga Airport (Belarus)
+EYVI Vilnius (Lithuania)
+FAAB Alexander Bay  South Africa
+FAAN Aliwal North  South Africa
+FABL Bloemfontein J. B. M. Hertzog  (South Africa)
+FABM Bethlehem Airport (South Africa)
+FABY Beaufort West  South Africa
+FACL Carolina  South Africa
+FACT Cape Town D. F. Malan  (South Africa)
+FACV Calvinia  South Africa
+FADA De Aar  South Africa
+FADN Durban Louis Botha  (South Africa)
+FAEL East London (South Africa)
+FAEO Ermelo  South Africa
+FAFF Frankfort  South Africa
+FAFR Fraserburg  South Africa
+FAGB Gobabis  Namibia
+FAGE Gough Island  South Africa
+FAGG George Airport (South Africa)
+FAGM Johannesburg / Rand  South Africa
+FAGR Graaff Reinet  South Africa
+FAHS Hoedspruit  South Africa
+FAIR Pretoria Irene   South Africa
+FAJS Jan Smuts (South Africa)
+FAKM Kimberley  South Africa
+FALA Lanseria Civ / Mil   South Africa
+FALT Lichtenburg (South Africa)
+FALW Langebaanweg (South Africa)
+FALY Ladysmith  South Africa
+FAMB Middelburg  South Africa
+FAME Marion Island  South Africa
+FAMG Margate  South Africa
+FAMM Mmabatho Airport  South Africa
+FAMO Mossel Bay Cape Saint Blaize   South Africa
+FANC Newcastle  South Africa
+FANS Nelspruit  South Africa
+FAOB Overberg  South Africa
+FAOH Oudtshoorn  South Africa
+FAPB Pietersburg (South Africa)
+FAPE Port Elizabeth (South Africa)
+FAPH Phalaborwa  South Africa
+FAPI Pietersburg Civil   South Africa
+FAPJ Port St Johns  South Africa
+FAPM Pietermaritzburg  South Africa
+FAPR Pretoria (South Africa)
+FAQT Queenstown  South Africa
+FARB Richard Bay  South Africa
+FASB Springbok (South Africa)
+FATC Tristan Da Cunha  South Africa
+FATZ Tzaneen   South Africa
+FAUP Upington (South Africa)
+FAUT Umtata  South Africa
+FAVB Vryburg  South Africa
+FAVR Vredendal  South Africa
+FAVY Vryheid  South Africa
+FAWB Wonderboom / Pretoria  South Africa
+FAWK Waterkloof Lmb  South Africa
+FAWM Welkom  South Africa
+FAWW Windhoek  Namibia
+FBFT Francistown (Botswana)
+FBGZ Ghanzi (Botswana)
+FBJW Jwaneng (Botswana)
+FBKE Kasane (Botswana)
+FBLT Letlhakane  Botswana
+FBMN Maun (Botswana)
+FBSK Seretse Khama International Airport (Botswana)
+FBSN Sua-Pan  Botswana
+FBSW Shakawe (Botswana)
+FBTE Tshane (Botswana)
+FBTS Tsabong (Botswana)
+FCBB Brazzaville / Maya-Maya (Congo)
+FCBD Djambala  Congo
+FCBM Mouyondzi  Congo
+FCBO M'Pouya  Congo
+FCBS Sibiti  Congo
+FCOG Gamboma  Congo
+FCOI Impfondo  Congo
+FCOM Makoua  Congo
+FCOS Souanke  Congo
+FCOU Ouesso  Congo
+FCPA Makabana  Congo
+FCPL Loubomo  Congo
+FCPP Pointe-Noire (Congo)
+FDMS Manzini / Matsapa Airport (Swaziland)
+FEFA Alindao  Central African Republic
+FEFB Obo  Central African Republic
+FEFF Bangui (Central African Republic)
+FEFG Bangassou  Central African Republic
+FEFI Birao  Central African Republic
+FEFL Bossembele  Central African Republic
+FEFM Bambari  Central African Republic
+FEFN N'Dele  Central African Republic
+FEFO Bouar  Central African Republic
+FEFR Bria  Central African Republic
+FEFS Bossangoa  Central African Republic
+FEFT Berberati  Central African Republic
+FEFY Yalinga  Central African Republic
+FHAW Wide Awake Field Ascension Island  (Saint Helena)
+FIMP Plaisance Mauritius  (Mauritius)
+FIMR Rodrigues  Mauritius
+FJDG Diego Garcia (British Indian Ocean Territory)
+FKAB Banyo  Cameroon
+FKAF Bafia  Cameroon
+FKAG Abong-Mbang  Cameroon
+FKAL Lomie  Cameroon
+FKAM Meiganga  Cameroon
+FKAN Nkongsamba  Cameroon
+FKAO Betare-Oya  Cameroon
+FKAY Yoko  Cameroon
+FKKA Maroua-Salak  Cameroon
+FKKB Kribi  Cameroon
+FKKC Tiko  Cameroon
+FKKD Douala Obs. (Cameroon)
+FKKF Mamfe  Cameroon
+FKKI Batouri  Cameroon
+FKKM Koundja  Cameroon
+FKKN Ngaoundere  Cameroon
+FKKR Garoua  Cameroon
+FKKV Bamenda   Cameroon
+FKKY Younde Ii  Cameroon
+FKYS Yaounde  Cameroon
+FLBA Mbala  Zambia
+FLCH Choma  Zambia
+FLCP Chipata  Zambia
+FLIK Isoka  Zambia
+FLKB Kawambwa  Zambia
+FLKO Kaoma  Zambia
+FLKS Kasama  Zambia
+FLKW Kabwe  Zambia
+FLLC Lusaka City Airport  Zambia
+FLLD Lundazi  Zambia
+FLLI Livingstone (Zambia)
+FLLS Lusaka Internationalairport (Zambia)
+FLMA Mansa  Zambia
+FLMG Mongu  Zambia
+FLMP Mpika  Zambia
+FLMW Mwinilunga  Zambia
+FLND Ndola (Zambia)
+FLPA Kasempa  Zambia
+FLPE Petauke  Zambia
+FLPO Kabompo  Zambia
+FLSE Serenje  Zambia
+FLSN Senanga  Zambia
+FLSS Sesheke  Zambia
+FLSW Solwezi  Zambia
+FLZB Zambezi  Zambia
+FMCH Hahaya International Airport (Comoros)
+FMCV Ouani Anjouan   Comoros
+FMCZ Dzaoudzi / Pamanzi Mayotte  (Comoros)
+FMEE Saint-Denis / Gillot (Reunion)
+FMEP Saint-Pierre Reunion   Unknown
+FMME Antsirabe  Madagascar
+FMMH Mahanoro  Madagascar
+FMMI Antananarivo / Ivato (Madagascar)
+FMMO Maintirano  Madagascar
+FMMS Sainte-Marie Aerodrome  Madagascar
+FMMT Tamatave (Madagascar)
+FMMV Morondava  Madagascar
+FMNA Diego-Suarez  Madagascar
+FMND Andapa  Madagascar
+FMNH Antalaha  Madagascar
+FMNL Analalava  Madagascar
+FMNM Majunga  Madagascar
+FMNN Fascene Nossi-Be   Madagascar
+FMNQ Besalampy  Madagascar
+FMNS Sambava  Madagascar
+FMNV Vohemar  Madagascar
+FMSD Fort-Dauphin  Madagascar
+FMSF Fianarantsoa  Madagascar
+FMSG Farafangana  Madagascar
+FMSM Mananjary  Madagascar
+FMSO Ranohira  Madagascar
+FMSR Morombe  Madagascar
+FMST Tulear  Madagascar
+FNBG Monbaca Benguela   Angola
+FNCA Cabinda  Angola
+FNHU Huambo Nova Lisboa   Angola
+FNKU Bie Silva Porto   Angola
+FNLU Luanda (Angola)
+FOGM Mouila  Gabon
+FOGR Lambarene  Gabon
+FOOB Bitam  Gabon
+FOOC Cocobeach  Gabon
+FOOD Moanda  Gabon
+FOOE Mekambo  Gabon
+FOOG Port-Gentil (Gabon)
+FOOK Makokou  Gabon
+FOOL Libreville (Gabon)
+FOOM Mitzic  Gabon
+FOON Franceville / Mvengue (Gabon)
+FOOR Lastoursville  Gabon
+FOOT Tchibanga  Gabon
+FOOY Mayumba  Gabon
+FPPR Principe  Unknown
+FPST S. Tome (Sao Tome and Principe)
+FQBR Beira (Mozambique)
+FQCB Cuamba  Mozambique
+FQCH Chimoio  Mozambique
+FQIN Inhambane  Mozambique
+FQLC Lichinga  Mozambique
+FQLU Lumbo  Mozambique
+FQMA Maputo / Mavalane (Mozambique)
+FQMP Mocimboa Da Praia  Mozambique
+FQNP Nampula  Mozambique
+FQPB Pemba  Mozambique
+FQQL Quelimane  Mozambique
+FQTE Tete  Mozambique
+FQTT Tete / Chingozi  Mozambique
+FQVL Vilanculos  Mozambique
+FQXA Xai Xai  Mozambique
+FSIA Seychelles Inter-National Airport (Seychelles)
+FSSS Seychelles International Airport Rawinsonde Station   Seychelles
+FTTA Sarh  Chad
+FTTC Abeche  Chad
+FTTD Moundou  Chad
+FTTJ Ndjamena (Chad)
+FTTK Bokoro  Chad
+FTTL Bol-Berim  Chad
+FTTN Am-Timan  Chad
+FTTP Pala  Chad
+FTTY Faya  Chad
+FVBB Beitbridge  Zimbabwe
+FVBI Binga  Zimbabwe
+FVBU Bulawayo Airport (Zimbabwe)
+FVCH Chipinge  Zimbabwe
+FVCZ Buffalo Range (Zimbabwe)
+FVFA Victoria Falls (Zimbabwe)
+FVGO Gokwe  Zimbabwe
+FVHA Harare Kutsaga  (Zimbabwe)
+FVKA Karoi  Zimbabwe
+FVKB Kariba  Zimbabwe
+FVMT Mutoko  Zimbabwe
+FVMV Masvingo (Zimbabwe)
+FVRU Rusape  Zimbabwe
+FVTL Gweru (Zimbabwe)
+FVWN Hwange National Park  Zimbabwe
+FWCL Chileka (Malawi)
+FWCT Chitipa  Malawi
+FWDZ Dedza  Malawi
+FWKA Karonga  Malawi
+FWKI Lilongwe International Airport  Malawi
+FWKK Nkhota Kota  Malawi
+FWMG Mangochi  Malawi
+FWMY Monkey Bay  Malawi
+FWMZ Mzimba  Malawi
+FWSM Salima  Malawi
+FWUU Mzuzu (Malawi)
+FXMM Maseru / Moshoeshoe  Lesotho
+FXMU Maseru-Mia  Lesotho
+FYGF Grootfontein  Namibia
+FYKT Keetmanshoop  Namibia
+FYLZ Luderitz / Diaz Point  Namibia
+FYRK Rooikop Saaf / Civ   Namibia
+FYRU Rundu  Namibia
+FYWH J. G. Strijdom  Namibia
+FZAA Kinshasa / N'Djili (Zaire)
+FZAG Moanda  Zaire
+FZAM Matadi  Zaire
+FZAN Inga  Zaire
+FZBA Inongo  Zaire
+FZBO Bandundu  Zaire
+FZCA Kikwit  Zaire
+FZCS Kenge  Zaire
+FZEA Mbandaka  Zaire
+FZFK Gemena  Zaire
+FZGN Boende  Zaire
+FZIA Kisangani  Zaire
+FZMB Butembo  Zaire
+FZNA Goma  Zaire
+FZNC Rutshuru  Zaire
+FZOA Kindu  Zaire
+FZQA Lubumbashi-Luano  Zaire
+FZQM Kolwezi  Zaire
+FZRA Manono  Zaire
+FZRF Kalemie  Zaire
+FZRQ Kongolo  Zaire
+FZSA Kamina / Base  Zaire
+FZUA Kananga  Zaire
+FZUK Tshikapa  Zaire
+FZVA Lodja  Zaire
+FZVI Lusambo  Zaire
+FZVS Ilebo  Zaire
+FZWA Mbuji-Mayi  Zaire
+GABG Bougouni  Mali
+GABS Bamako / Senou (Mali)
+GAGO Gao  Mali
+GAHB Hombori  Mali
+GAKA Kenieba  Mali
+GAKL Kidal  Mali
+GAKO Koutiala  Mali
+GAKT Kita  Mali
+GAKY Kayes  Mali
+GAMB Mopti  Mali
+GAMK Menaka  Mali
+GANK Nara  Mali
+GANR Nioro Du Sahel  Mali
+GASG Segou  Mali
+GASK Sikasso  Mali
+GASN San  Mali
+GATB Tombouctou  Mali
+GATS Tessalit  Mali
+GBYD Banjul / Yundum (Gambia)
+GCFV Fuerteventura / Aeropuerto (Spain)
+GCHI Hierro / Aeropuerto (Spain)
+GCLA La Palma / Aeropuerto (Spain)
+GCLP Las Palmas De Gran Canaria / Gando (Spain)
+GCRR Lanzarote / Aeropuerto (Spain)
+GCTS Tenerife Sur (Spain)
+GCXO Tenerife / Los Rodeos (Spain)
+GEML Melilla (Spain)
+GFLL Lungi (Sierra Leone)
+GGBF Bafata  Guinea-Bissau
+GGOV Bissau Aeroport  (Guinea-Bissau)
+GMAA Agadir (Morocco)
+GMAD Agadir Al Massira  Morocco
+GMAT Tan-Tan  Morocco
+GMFF Fes-Sais (Morocco)
+GMFI Ifrane  Morocco
+GMFK Errachidia  Morocco
+GMFM Meknes  Morocco
+GMFN Nador  Morocco
+GMFO Oujda (Morocco)
+GMFZ Taza  Morocco
+GMMC Casablanca  Morocco
+GMME Rabat-Sale (Morocco)
+GMMF Sidi Ifni  Morocco
+GMMI Essaouira  Morocco
+GMMN Nouasseur (Morocco)
+GMMS Safi  Morocco
+GMMX Marrakech (Morocco)
+GMMY Kenitra  Morocco
+GMMZ Ouarzazate  Morocco
+GMTA Al Hoceima (Morocco)
+GMTN Tetuan / Sania Ramel (Morocco)
+GMTT Tanger Aerodrome  (Morocco)
+GOGG Ziguinchor (Senegal)
+GOGK Kolda  Senegal
+GOGS Cap-Skirring (Senegal)
+GOOD Diourbel  Senegal
+GOOG Linguere  Senegal
+GOOK Kaolack  Senegal
+GOOY Dakar / Yoff (Senegal)
+GOSM Matam  Senegal
+GOSP Podor  Senegal
+GOSS Saint-Louis (Senegal)
+GOTK Kedougou  Senegal
+GOTT Tambacounda (Senegal)
+GQNA Aioun El Atrouss  Mauritania
+GQNB Boutilimit  Mauritania
+GQND Tidjikja  Mauritania
+GQNF Kiffa  Mauritania
+GQNI Nema  Mauritania
+GQNJ Akjoujt  Mauritania
+GQNK Kaedi  Mauritania
+GQNN Nouakchott (Mauritania)
+GQNR Rosso  Mauritania
+GQPA Atar  Mauritania
+GQPP Nouadhibou (Mauritania)
+GQPT Bir Moghrein  Mauritania
+GSVO Villa Cisneros  Western Sahara
+GUCY Conakry / Gbessia (Guinea)
+GUFH Faranah / Badala  Guinea
+GUID Kindia  Guinea
+GUKU Kissidougou  Guinea
+GULB Labe  Guinea
+GUMA Macenta  Guinea
+GUNZ N'Zerekore  Guinea
+GUOK Boke  Guinea
+GUSI Siguiri  Guinea
+GUXD Kankan  Guinea
+GVAC Sal (Cape Verde)
+HAAB Addis Ababa (Ethiopia)
+HAAG Agordat   Ethiopia
+HAAM Arba Minch  Ethiopia
+HAAW Awash   Ethiopia
+HAAX Axum  Ethiopia
+HABC Baco / Bako   Ethiopia
+HABD Bahar Dar  Ethiopia
+HADC Combolcha  Ethiopia
+HADM Debremarcos  Ethiopia
+HADR Dire Dawa (Ethiopia)
+HAGH Ghinnir / Ginir   Ethiopia
+HAGN Gondar  Ethiopia
+HAGO Gode  Ethiopia
+HAGR Gore  Ethiopia
+HAHM Harar Meda  Ethiopia
+HAJJ Jiggiga  Ethiopia
+HAJM Jimma  Ethiopia
+HAKD Kabre Dare Military   Ethiopia
+HALA Awassa  Ethiopia
+HAMK Makale  Ethiopia
+HAML Masslo / Meslo   Ethiopia
+HAMS Massawa  Ethiopia
+HANG Neghelli  Ethiopia
+HASB Assab  Ethiopia
+HASO Assosa / Asosa   Ethiopia
+HATS Tessenei / Teseney   Ethiopia
+HBBA Bujumbura (Burundi)
+HCMM Mogadiscio (Somalia)
+HCMN Belet Uen  Somalia
+HDAM Djibouti \ Ambouli (Djibouti)
+HDO Hondo, Hondo Municipal Airport  TX  USA
+HEAR El Arish  Egypt
+HEAT Asyut  Egypt
+HEAX Alexandria / Nouzha (Egypt)
+HECA Cairo Airport (Egypt)
+HEGN Hurgada  Egypt
+HELX Luxor (Egypt)
+HEMM Mersa Matruh (Egypt)
+HEPS Port Said (Egypt)
+HESH Sharm El Sheikhintl (Egypt)
+HESN Asswan (Egypt)
+HETR El Tor  Egypt
+HFFF Djibouti  Djibouti
+HHAS Asmara  Ethiopia
+HKEL Eldoret (Kenya)
+HKEM Embu (Kenya)
+HKGA Garissa (Kenya)
+HKIS Isiolo   Kenya
+HKJK Nairobi / Kenyatta Airport (Kenya)
+HKKG Kakamega (Kenya)
+HKKI Kisumu (Kenya)
+HKKR Kericho (Kenya)
+HKKS Kisii (Kenya)
+HKKT Kitale (Kenya)
+HKLO Lodwar (Kenya)
+HKLU Lamu (Kenya)
+HKMA Mandera (Kenya)
+HKMB Marsabit (Kenya)
+HKME Meru (Kenya)
+HKML Malindi (Kenya)
+HKMO Mombasa (Kenya)
+HKMU Makindu (Kenya)
+HKMY Moyale (Kenya)
+HKNC Nairobi / Dagoretti (Kenya)
+HKNI Nyeri (Kenya)
+HKNK Nakuru (Kenya)
+HKNO Narok (Kenya)
+HKNW Nairobi / Wilson (Kenya)
+HKNY Nanyuki   Kenya
+HKVO Voi (Kenya)
+HKWJ Wajir (Kenya)
+HLGT Ghat  Libyan Arab Jamahiriya
+HLKF Kufra  Libyan Arab Jamahiriya
+HLLB Benina (Libyan Arab Jamahiriya)
+HLLS Sebha  Libyan Arab Jamahiriya
+HLLT Tripoli Inter-National Airport (Libyan Arab Jamahiriya)
+HLTD Ghadames  Libyan Arab Jamahiriya
+HRYG Gisenyi  Rwanda
+HRYR Kigali (Rwanda)
+HSAT Atbara  Sudan
+HSDN Dongola  Sudan
+HSDZ Damazine  Sudan
+HSFS El Fasher  Sudan
+HSGF Gedaref  Sudan
+HSGN Geneina  Sudan
+HSKA Kassala  Sudan
+HSKI Kosti  Sudan
+HSLI Kadugli  Sudan
+HSNL Nyala  Sudan
+HSNR Sennar  Sudan
+HSOB El Obeid  Sudan
+HSPN Port Sudan International  Sudan
+HSRN Renk  Sudan
+HSSJ Juba  Sudan
+HSSM Malakal  Sudan
+HSSP Port Sudan  Sudan
+HSSS Khartoum (Sudan)
+HSSW Wadi Halfa  Sudan
+HTAR Arusha (Tanzania, United Republic of)
+HTBU Bukoba (Tanzania, United Republic of)
+HTDA Dar Es Salaam Airport (Tanzania, United Republic of)
+HTDO Dodoma (Tanzania, United Republic of)
+HTIR Iringa (Tanzania, United Republic of)
+HTKA Kigoma (Tanzania, United Republic of)
+HTKI Kilwa Masoko   Tanzania, United Republic of
+HTKJ Kilimanjaro Airport (Tanzania, United Republic of)
+HTMB Mbeya (Tanzania, United Republic of)
+HTMG Morogoro (Tanzania, United Republic of)
+HTMO Mombo  Tanzania, United Republic of
+HTMS Moshi (Tanzania, United Republic of)
+HTMT Mtwara  Tanzania, United Republic of
+HTMU Musoma (Tanzania, United Republic of)
+HTMW Mwanza (Tanzania, United Republic of)
+HTNA Nachingwea  Tanzania, United Republic of
+HTPE Pemba / Karume Airport (Tanzania, United Republic of)
+HTSE Same (Tanzania, United Republic of)
+HTSO Songea (Tanzania, United Republic of)
+HTSY Shinyanga (Tanzania, United Republic of)
+HTTB Tabora Airport (Tanzania, United Republic of)
+HTTG Tanga (Tanzania, United Republic of)
+HTZA Zanzibar / Kisauni (Tanzania, United Republic of)
+HUAR Arua  Uganda
+HUEN Entebbe Airport (Uganda)
+HUFP Fort Portal   Uganda
+HUGU Gulu  Uganda
+HUJI Jinja  Uganda
+HUKB Kabale  Uganda
+HUKS Kasese (Uganda)
+HULI Lira  Uganda
+HUMA Mbarara (Uganda)
+HUMI Masindi  Uganda
+HUMO Moroto   Uganda
+HUSO Soroti (Uganda)
+HUTO Tororo  Uganda 
+K Ship Shoal 198g  LA  USA
+K01R Claiborne Range, La. Airways Facilities Sector   LA  USA
+K01T High Island  LA  USA
+K03Y Hallock  MN  USA
+K07S Deer Park, Deer Park Airport  WA  USA
+K0B9 Goat Island Remote Automatic Meteorological Observing System   ME  USA
+K0E4 Payson (United States)
+K0L3 Zuma Beach  CA  USA
+K0V1 Custer, Custer County Airport (United States)
+K0W8 Chincoteague  VA  USA
+K0Y2 Sturgeon Bay   WI  USA
+K0Y7 Lamoni, Lamoni Municipal Airport  IA  USA
+K12B New Castles Coast Guard Light Station   NH  USA
+K12N Andover, Aeroflex-Andover Airport (United States)
+K13A Nogales Automatic Meteorological Observing System  (United States)
+K13G Niagara Coast Guard Station   NY  USA
+K14B Great Duck Island Coast Guard Light Station  ME  USA
+K14C Frankfort Coast Guard Station   MI  USA
+K15B Halfway Rock Coast Guard Light Station   ME  USA
+K15C Milwaukee Coast Guard Light Station   WI  USA
+K16B Heron Neck Coast Guard Light Station   ME  USA
+K16C Kenosha Coast Guard Station   WI  USA
+K17C Ludington Coast Guard Station   MI  USA
+K18B Monhegan / Manana Island  ME  USA
+K18C Michigan City Coast Guard Station   IN  USA
+K18N New London Ledge Cg  CT  USA
+K19C Muskegon Coast Guard Station   MI  USA
+K19D Mora Municipal Automatic Weather Observing / Reporting System   MN  USA
+K19G Buffalo Coast Guard Station   NY  USA
+K19R Ship Shoal Platform  LA  USA
+K1G7 Mississippi Canyon  LA  USA
+K1J1 Saint Simon Island Coast Guard Station   GA  USA
+K1J2 Tybee Coast Guard Station   GA  USA
+K1J3 Ponce De Leon Inlet  FL  USA
+K1J4 Cape San Blas Coast Guard Station   FL  USA
+K1J5 Santa Rosa Coast Guard Station   FL  USA
+K1K5 Elkhart / Elkhart-Morton County A.  KS  USA
+K1L2 Santa Monica Pier  CA  USA
+K1O5 Montague  CA  USA
+K1S4 Scappoose, Scappoose Industrial Airpark  OR  USA
+K1V1 Rifle Aviation Weather Reporting Station   CO  USA
+K1V4 Saint Johnsbury (United States)
+K1W9 Wrightsville Beach  NC  USA
+K20B Rockland Coast Guard Station   ME  USA
+K20C Saint Joseph Coast Guard Station   MI  USA
+K20G Ashtabula Coast Guard Station   OH  USA
+K20J West Jonesport Coast Guard Station   ME  USA
+K21C Sheboygan Coast Guard Station   WI  USA
+K21G Marblehead Coast Guard Station   OH  USA
+K22G Lorain / Elyria, Lorain County Regional Airport  OH  USA
+K23B Seguin Island Coast Guard Light Station   ME  USA
+K23G Cleveland Hrbr Coast Guard Station   OH  USA
+K24B W. Quoddy Head Coast Guard Light Station  ME  USA
+K24G Toledo Coast Guard Station   OH  USA
+K25B Portsmouth Harbor  NH  USA
+K25G Erie Coast Guard Station   PA  USA
+K26B Isle Of Shoals Coast Guard Station   NH  USA
+K26G Rochester Coast Guard Light Station   NY  USA
+K27B Cape Neddick Coast Guard Light Station   ME  USA
+K27G Lorain Coast Guard Station   OH  USA
+K27U Salmon (United States)
+K27Y Grand Marais Coast Guard Station   MI  USA
+K28G Oswego Coast Guard Station   NY  USA
+K28K Grncyn Blk52 Supplementary Aviation Weather Reporting Station   LA  USA
+K28T Sabine Pass  TX  USA
+K28Y North Manitou Shoal  MI  USA
+K29B Boston / Hull Coast Guard Light Station   MA  USA
+K29G Ravenna / Portage Co.  OH  USA
+K29J Rock Hill, Rock Hill-York County Airport  SC  USA
+K29Y Devils Island Light Station   WI  USA
+K2B8 Portland Head Coast Guard Light Station   ME  USA
+K2C2 White Sands (United States)
+K2DP Dare County Gunnery Range, Nc.  NC  USA
+K2G6 Meadville, Port Meadville Airport  PA  USA
+K2H1 Huntington B. Oil  CA  USA
+K2I4 Columbus / Bolton Field  OH  USA
+K2I8 Newark, Newark-Heath Airport  OH  USA
+K2L6 Marina Del Rey  CA  USA
+K2L7 Solana Beach  CA  USA
+K2PJ Poinsett Range, Sumpter Sc.  SC  USA
+K2S9 Willapa Harbor  WA  USA
+K2U7 Stanley, Stanley Ranger Station  ID  USA
+K2V9 Gunnison Aviation Weather Reporting Station   CO  USA
+K2WX Buffalo (United States)
+K30B Sandwich Coast Guard Station   MA  USA
+K30G Saginaw River Coast Guard Station   MI  USA
+K30N Faulkner Island Coast Guard Light Station   CT  USA
+K30Y Duluth Harbor Coast Guard Station   MN  USA
+K31B Chatham Coast Guard Station   MA  USA
+K31G Belle Isle Coast Guard Station   MI  USA
+K31Y Eagle Harbor Coast Guard Light Station   MI  USA
+K32N Little Gulf Island Light Station   CT  USA
+K32Y Portage Coast Guard Station   MI  USA
+K33B Buzzards Bay Cgsl   MA  USA
+K33G Port Huron Coast Guard Station   MI  USA
+K34B Gloucester Coast Guard Station   MA  USA
+K34N Eatons Neck Coast Guard Station   NY  USA
+K34Y Marquette Coast Guard Light Station   MI  USA
+K35B Merrimac River Coast Guard Station   MA  USA
+K36B Race Point Coast Guard Station   MA  USA
+K36Y Point Betsie / Frankfort  MI  USA
+K37B Scituate Coast Guard Station   MA  USA
+K38Y Saint Ignace  MI  USA
+K39Y Tawas Point Coast Guard Station   MI  USA
+K3B1 Greenville, Greenville Municipal Airport  ME  USA
+K3B2 Marshfield Airport  MA  USA
+K3DU Drummond (United States)
+K3HE Howell  MI  USA
+K3HT Harlowton (United States)
+K3KM Wichita, Colonel James Jabara Airport  KS  USA
+K3L3 Newport Beach  CA  USA
+K3O6 Treasure Island  CA  USA
+K3OI Lamoni  IA  USA
+K3R5 New Braunfels, New Braunfels Municipal Airport  TX  USA
+K3RN Graying Af Range, Mi.  MI  USA
+K3S2 Aurora State  OR  USA
+K3SE Spencer, Ia.  IA  USA
+K3SM Shelbyville, Shelbyville Municipal Airport  IN  USA
+K3SZ St Charles, St Charles County Smartt Airport  MO  USA
+K3TH Thompson Falls (United States)
+K3V8 Venice Heliport  LA  USA
+K3W4 Swansboro / Bogue  NC  USA
+K40B Clayton Lake (United States)
+K40J Perry-Foley, Perry-Foley Airport (United States)
+K40N Chester County Airport  PA  USA
+K40Y Thunder Bay Island  MI  USA
+K41G Bath  MI  USA
+K41I Eugene Island B266c  LA  USA
+K43F Litchfield Municipal  MN  USA
+K43S West Point Coast Guard Light Station   WA  USA
+K44N Millbrook / Sky Acres  NY  USA
+K44W Diamond Shoals Coast Guard Station   NC  USA
+K44Y Sault Ste Marie Coast Guard Station  MI  USA
+K45B Brant Point Coast Guard Station   MA  USA
+K45N Bay Shore / Fire Island  NY  USA
+K45W Oracoke Coast Guard Station   NC  USA
+K48N Montauk Point Coast Guard Light Station   NY  USA
+K49N East Moriches Coast Guard Station   NY  USA
+K4BK Brookings (United States)
+K4BL Blanding  (United States)
+K4BQ Broadus   MT  USA
+K4CB Cuddleback Gunnery Range, Ca.  CA  USA
+K4CR Corona / Lincoln (United States)
+K4DG Douglas  WY  USA
+K4HV Hanksville  (United States)
+K4L7 Hermosa Beach Pier  CA  USA
+K4LW Lakeview (United States)
+K4MR Melrose Gunnery Range, Nm.  NM  USA
+K4MY Moriarty (United States)
+K4OM Omak, Wa.  WA  USA
+K4SL Torreon (United States)
+K4SU Superior Valley Gunnery Range, Ca  CA  USA
+K4SV Strevell  ID  USA
+K4V5 Durango Aviation Weather Reporting Station   CO  USA
+K50N Rockaway Coast Guard Station   NY  USA
+K50Q Farallon Island  CA  USA
+K51N Short Beach Coast Guard Station   NY  USA
+K51Q San Francisco Pbs   CA  USA
+K52N Wildwood  NJ  USA
+K52Q Davis Point Aviation Weather Reporting Station   CA  USA
+K53D Glenwood  MN  USA
+K53Q Pillar Pt / El Granda  CA  USA
+K53S Point Wilson Coast Guard Light Station   WA  USA
+K54N Manasquan Inl Coast Guard Station   NJ  USA
+K54Q Castroville / Moss  CA  USA
+K55N Atlantic City Coast Guard Station   NJ  USA
+K56N Sandy Hook Coast Guard Station   NJ  USA
+K5B5 Bennington, Morse State Airport  VT  USA
+K5I3 Pikeville Remote Automatic Meteorological Observing System  (United States)
+K5L8 Long Beach   CA  USA
+K5R0 East Addition B323  TX  USA
+K61N Indian River Coast Guard Station   DE  USA
+K61W Annapolis Coast Guard Station   MD  USA
+K62G Wilmette Marines   IL  USA
+K62W Cape Henry Coast Guard Light Station   VA  USA
+K63G Chicago / Calumet Coast Guard Station  IL  USA
+K63W Milford Haven Coast Guard Station   VA  USA
+K64W Parramore Beach  VA  USA
+K65W Thomas Point Coast Guard Station   MD  USA
+K66W Cove Point Coast Guard Light Station   MD  USA
+K67B Castle Hill Coast Guard Station   RI  USA
+K67W Stillpond Coast Guard Station   MD  USA
+K6B1 Rochester, Skyhaven Airport  NH  USA
+K6L9 Huntington Beach  CA  USA
+K6R0 Slidell, Slidell Airport  LA  USA
+K6R6 Dryden, Terrel County Airport  TX  USA
+K75S Burlington / Mt Vern (United States)
+K76S Oak Harbor Airpark (United States)
+K77M Malta (United States)
+K77W Cape Lookout Coast Guard Station   NC  USA
+K78W S. Port / Oak Island Coast Guard Station  NC  USA
+K79J Andalusia, Andalusia-Opp Municipal Airport  AL  USA
+K79W Oregon Inlet Coast Guard Station   NC  USA
+K7A9 Plains / Peterson Field  GA  USA
+K7G2 Ashtabula, Ashtabula County Airport  OH  USA
+K7R1 Venice, Venice Heliport (United States)
+K7R2 Leeville  LA  USA
+K7R3 Amelia / Lake Palourd (United States)
+K7R4 Intracoastal City (United States)
+K7R5 Cameron Heliport (United States)
+K7R8 South Marsh Island (United States)
+K82S Cape Disappointment  WA  USA
+K83S Coos Bay Coast Guard Station   OR  USA
+K84J Folly Beach Long Range Navigation   SC  USA
+K84Q Blunts Reef Coast Guard Station   CA  USA
+K84S Grays Harbor Coast Guard Station   WA  USA
+K85J Georgetown Coast Guard Light Station   SC  USA
+K85Q Santa Cruz Harbor  CA  USA
+K85S Siuslaw River Coast Guard Station   OR  USA
+K86J Sullivans Island Coast Guard Station   SC  USA
+K86Q St George Reef Coast Guard Light Station  CA  USA
+K86S Smith Island Coast Guard Light Station   WA  USA
+K87Q Point Piedras Blanca (United States)
+K87S Quillayute River Coast Guard Light Station  WA  USA
+K88Q Samoa / Humboldt Bay  CA  USA
+K88S Tillamook Bay Coast Guard Station   OR  USA
+K89Q Point Arena Coast Guard Light Station   CA  USA
+K8B9 Egg Rock Light Station   ME  USA
+K8D3 Sisseton, Sisseton Municipal Airport (United States)
+K8R0 Pascagoula Coast Guard Station   MS  USA
+K8R1 Mobile Point Coast Guard Station   AL  USA
+K8R3 Southwest Pass Coast Guard Station   LA  USA
+K8R5 Grand Isle Coast Guard Station   LA  USA
+K8R6 Calcasieu Coast Guard Station   LA  USA
+K8R7 Sabine Pass Coast Guard Station   TX  USA
+K8R8 Freeport Coast Guard Station   TX  USA
+K8Y8 Crane Lake Automatic Weather Observing / Reporting System   MN  USA
+K90S Umpqua River Coast Guard Station   OR  USA
+K91Q Point Blunt Coast Guard Light Station   CA  USA
+K91S Alki Point Coast Guard Light Station   WA  USA
+K92Q Bodega Bay Coast Guard Light Station   CA  USA
+K92S Cape Blanco Coast Guard Station   OR  USA
+K93Q Pigeon Point Coast Guard Light Station   CA  USA
+K93S Cape Flattery Coast Guard Light Station   WA  USA
+K94B Wood Island Light Station   ME  USA
+K94Q Point Bonita Coast Guard Light Station   CA  USA
+K95B Cape Vincent Marine Aviation Reporting Station   NY  USA
+K95Q Point Pinos Coast Guard Light Station   CA  USA
+K95S Yaquina Bay Coast Guard Station   OR  USA
+K96B Owl's Head Light Station   ME  USA
+K96Q Trinidad Head Coast Guard Light Station   CA  USA
+K96S New Dungeness Coast Guard Station   WA  USA
+K97Q Point Reyes Coast Guard Station   CA  USA
+K97S Point No Point Coast Guard Station   WA  USA
+K98Q Rio Vista Coast Guard Light Station   CA  USA
+K99Q Port Chicago  CA  USA
+K99S Point Robinson Coast Guard Light Station   WA  USA
+K9B2 Newport, Vt.  VT  USA
+K9B5 Bear Island Coast Guard Station   ME  USA
+K9F2 Fourchon Supplementary Aviation Weather Reporting Station  (United States)
+K9L0 Dana Point  CA  USA
+K9R0 Galveston Coast Guard Station   TX  USA
+K9R1 Port Aransas Coast Guard Station   TX  USA
+K9V9 Chamberlain, Chamberlain Municipal Airport (United States)
+KA21 Portage Glacier, Portage Visitor Center  AK  USA
+KAAO Wichita, Colonel James Jabara Airport (United States)
+KABE Allentown, Lehigh Valley International Airport (United States)
+KABI Abilene, Abilene Regional Airport (United States)
+KABQ Albuquerque, Albuquerque International Airport (United States)
+KABR Aberdeen, Aberdeen Regional Airport (United States)
+KABX Albuquerque Nexrad  NM  USA
+KABY Albany, Southwest Georgia Regional Airport (United States)
+KACK Nantucket, Nantucket Memorial Airport (United States)
+KACT Waco, Waco Regional Airport (United States)
+KACV Arcata / Eureka, Arcata Airport (United States)
+KACY Atlantic City, Atlantic City International Airport (United States)
+KADG Adrian, Lenawee County Airport (United States)
+KADM Ardmore Municipal (United States)
+KADQ Kodiak, Kodiak Airport  AK  USA
+KADS Dallas / Addison Airport (United States)
+KADW Camp Springs / Andrews Air Force Base (United States)
+KAEL Albert Lea Automatic Weather Observing / Reporting System  (United States)
+KAEX Alexandria, Alexandria International Airport (United States)
+KAFF Air Force Academy (United States)
+KAFJ Washington Automatic Weather Observing / Reporting System  (United States)
+KAFN Jaffrey, Jaffrey Municipal-Silver Ranch Airport (United States)
+KAFW Fort Worth, Fort Worth Alliance Airport (United States)
+KAGC Pittsburgh, Allegheny County Airport (United States)
+KAGR Avon Park Gunnery Range, Fl.  FL  USA
+KAGS Augusta, Bush Field (United States)
+KAHN Athens, Athens Airport (United States)
+KAIA Alliance, Alliance Municipal Airport (United States)
+KAID Anderson Municipal (United States)
+KAIG Antigo - Lang Automatic Weather Observing / Reporting System  (United States)
+KAIO Atlantic (United States)
+KAIT Aitkin NDB Automatic Weather Observing / Reporting System  (United States)
+KAIZ Kaiser Memorial Automatic Weather Observing / Reporting System  (United States)
+KAKH Gastonia, Gastonia Municipal Airport (United States)
+KAKO Akron, Akron-Washington County Airport (United States)
+KAKQ Wakefield, Wakefield Municipal Airport (United States)
+KALB Albany, Albany County Airport (United States)
+KALI Alice, Alice International Airport (United States)
+KALM Alamogordo-White (United States)
+KALN Alton / St. Louis Regional (United States)
+KALO Waterloo, Waterloo Municipal Airport (United States)
+KALS Alamosa, San Luis Valley Regional Airport (United States)
+KALW Walla Walla, Walla Walla Regional Airport (United States)
+KAMA Amarillo, Amarillo International Airport (United States)
+KAMG Alma, Bacon County Airport (United States)
+KAMW Ames, Ames Municipal Airport (United States)
+KAMX Miami Nexrad   FL  USA
+KANB Anniston, Anniston Metropolitan Airport (United States)
+KAND Anderson, Anderson County Airport (United States)
+KANE Minneapolis / Blaine (United States)
+KANJ Sault Ste. Marie (United States)
+KANN Annette, Annette Island Airport  AK  USA
+KANW Ainsworth Municipal (United States)
+KAOH Lima, Lima Allen County Airport (United States)
+KAOO Altoona, Altoona-Blair County Airport (United States)
+KAPA Denver, Centennial Airport (United States)
+KAPC Napa, Napa County Airport (United States)
+KAPF Naples Municipal (United States)
+KAPG Phillips Army Air Field / Aberdeen (United States)
+KAPN Alpena, Alpena County Regional Airport (United States)
+KAPV Apple Valley  CA  USA
+KAQQ Apalachicola, Apalachicola (United States)
+KAQW North Adams, Harriman-And-West Airport (United States)
+KARA New Iberia, Acadiana Regional Airport (United States)
+KARB Ann Arbor, Ann Arbor Municipal Airport (United States)
+KARG Walnut Ridge Automatic Weather Observing / Reporting System  (United States)
+KARR Aurora, Aurora Municipal Airport (United States)
+KART Watertown, Watertown International Airport (United States)
+KARV Minocqua / Woodruff (United States)
+KASD Slidell, Slidell Airport (United States)
+KASE Aspen, Aspen-Pitkin County Airport (United States)
+KASG Springdale Municipal (United States)
+KASH Nashua / Boire Field (United States)
+KAST Astoria, Astoria Regional Airport (United States)
+KASX Ashland, Kennedy Memorial Airport (United States)
+KATL Atlanta, Hartsfield Atlanta International Airport (United States)
+KATW Appleton / Outagamie (United States)
+KATX Seattle Nexrad   WA  USA
+KATY Watertown, Watertown Municipal Airport (United States)
+KAUB Auburn University Automatic Meteorological Observing System   AL  USA
+KAUG Augusta, Augusta State Airport (United States)
+KAUM Austin Municipal (United States)
+KAUO Auburn-Opelika Airport (United States)
+KAUS Austin, Mueller Municipal Airport (United States)
+KAUW Wausau, Wausau Downtown Airport (United States)
+KAVL Asheville, Asheville Regional Airport (United States)
+KAVP Wilkes-Barre - Scranton, Wilkes-Barre / Scranton International Airport (United States)
+KAVX Avalon, Catalina Airport (United States)
+KAWG Washington (United States)
+KAWH Wildhorse Reservation / Elko (United States)
+KAWO Arlington Municipal (United States)
+KAXA Algona (United States)
+KAXN Alexandria, Chandler Field (United States)
+KAXO Grand Isle Supplementary Aviation Weather Reporting Station  (United States)
+KAZO Kalamazoo, Kalamazoo / Battle Creek International Airport (United States)
+KB23 Battle Mountain (United States)
+KBAB Beale Air Force Base / Marysvile (United States)
+KBAD Barksdale Air Force Base (United States)
+KBAF Westfield, Barnes Municipal Airport (United States)
+KBAK Columbus / Balkalar  (United States)
+KBAX New Braunfels, New Braunfels Municipal Airport (United States)
+KBBB Benson Municipal (United States)
+KBBW Broken Bow Municipal (United States)
+KBCB Virginia Tech Airport (United States)
+KBCE Bryce Canyon, Bryce Canyon Airport (United States)
+KBDE Baudette, Baudette International Airport (United States)
+KBDL Windsor Locks, Bradley International Airport (United States)
+KBDR Bridgeport, Sikorsky Memorial Airport (United States)
+KBED Bedford, Hanscom Field (United States)
+KBEH Benton Harbor, Southwest Michigan Regional Airport (United States)
+KBFD Bradford, Bradford Regional Airport (United States)
+KBFF Scottsbluff, Heilig Field (United States)
+KBFI Seattle, Seattle Boeing Field (United States)
+KBFL Bakersfield, Meadows Field (United States)
+KBFM Mobile, Mobile Downtown Airport (United States)
+KBFW Silver Bay (United States)
+KBGD Borger, Hutchinson County Airport (United States)
+KBGM Binghamton, Binghamton Regional Airport (United States)
+KBGR Bangor, Bangor International Airport (United States)
+KBHB Bar Harbor Automatic Weather Observing / Reporting System (United States)
+KBHK Baker, Baker Municipal Airport  MT  USA
+KBHM Birmingham, Birmingham International Airport (United States)
+KBHX Eureka Nexrad   CA  USA
+KBID Block Island Automatic Weather Observing / Reporting System (United States)
+KBIE Beatrice Municipal (United States)
+KBIF Biggs Aaf / Ft. Bliss  TX  USA
+KBIG Delta Junction / Ft Greely, Allen Army Air Field  AK  USA
+KBIH Bishop, Bishop Airport (United States)
+KBIL Billings, Billings Logan International Airport (United States)
+KBIS Bismarck, Bismarck Municipal Airport (United States)
+KBIV Holland, Tulip City Airport (United States)
+KBIX Keesler Air Force Base / Biloxi (United States)
+KBJC Broomfield / Jeffco (United States)
+KBJI Bemidji (United States)
+KBJJ Wooster, Wayne County Airport (United States)
+KBKE Baker, Baker Municipal Airport (United States)
+KBKF Buckley Air National Guard Base / Denver (United States)
+KBKL Cleveland, Burke Lakefront Airport (United States)
+KBKT Ft Pickett / Blacksto  VA  USA
+KBKV Brooksville, Hernando County Airport (United States)
+KBKW Beckley, Raleigh County Memorial Airport (United States)
+KBKX Brookings Automatic Weather Observing / Reporting System (United States)
+KBLF Bluefield, Mercer County Airport (United States)
+KBLH Blythe, Blythe Airport (United States)
+KBLI Bellingham, Bellingham International Airport (United States)
+KBLM Belmar-Farmdale (United States)
+KBLU Emigrant Gap, Blue Canyon Nyack Airport (United States)
+KBLV Scott Air Force Base / Belleville (United States)
+KBLX Billing Yell Nexrad  MT  USA
+KBMG Bloomington, Monroe County Airport (United States)
+KBMI Bloomington / Normal (United States)
+KBML Berlin, Berlin Municipal Airport (United States)
+KBMQ Burnet, Burnet Municipal Craddock Field (United States)
+KBMX Birmingham Nexrad  AL  USA
+KBNA Nashville, Nashville International Airport (United States)
+KBNO Burns, Burns Municipal Airport (United States)
+KBNW Boone Municipal (United States)
+KBNY Burney  CA  USA
+KBOI Boise, Boise Air Terminal (United States)
+KBOS Boston, Logan International Airport (United States)
+KBOW Bartow Municipal (United States)
+KBPI Big Piney, Big Piney-Marbleton Airport (United States)
+KBPK Mountain Home, Baxter County Regional Airport (United States)
+KBPT Beaumont / Port Arthur, Jefferson County Airport (United States)
+KBQK Brunswick / Glynco (United States)
+KBRD Brainerd, Brainerd-Crow Wing County Regional Airport (United States)
+KBRL Burlington, Burlington Regional Airport (United States)
+KBRO Brownsville, Brownsville / South Padre Island International Airport (United States)
+KBSM Bergstrom, Austin-Bergstrom International Airport (United States)
+KBTL Battle Creek, Kellogg Airport (United States)
+KBTM Butte, Mooney Airport (United States)
+KBTP Butler County Automatic Weather Observing / Reporting System (United States)
+KBTR Baton Rouge, Baton Rouge Metropolitan, Ryan Field (United States)
+KBTV Burlington, Burlington International Airport (United States)
+KBUF Buffalo, Greater Buffalo International Airport (United States)
+KBUO Beaumont (United States)
+KBUR Burbank, Burbank-Glendale-Pasadena Airport (United States)
+KBUY Burlington, Burlington Alamance Regional Airport (United States)
+KBVI Beaver Falls Airport (United States)
+KBVO Bartlesville, Bartlesville Municipal Airport (United States)
+KBVX Batesville Automatic Weather Observing / Reporting System (United States)
+KBVY Beverly, Beverly Municipal Airport (United States)
+KBWG Bowling Green, Bowling Green-Warren County Regional Airport (United States)
+KBWI Baltimore, Baltimore-Washington International Airport (United States)
+KBYG Buffalo, Johnson County Airport (United States)
+KBYH Eaker Air Force Base (United States)
+KBYI Burley, Burley Municipal Airport (United States)
+KBYS Bicycle Lake U. S. Army Airfield, Ca (United States)
+KBZN Bozeman, Gallatin Field (United States)
+KCAD Cadillac / Wexford County (United States)
+KCAE Columbia, Columbia Metropolitan Airport (United States)
+KCAG Craig, Craig-Moffat Airport (United States)
+KCAK Akron, Akron-Canton Regional Airport (United States)
+KCAO Clayton, Clayton Municipal Airpark (United States)
+KCAR Caribou, Caribou Municipal Airport (United States)
+KCAV Clarion (United States)
+KCBF Council Bluffs (United States)
+KCBG Cambridge Municipal (United States)
+KCBM Columbus Air Force Base (United States)
+KCCR Concord, Buchanan Field (United States)
+KCCY Charles City (United States)
+KCDC Cedar City, Cedar City Municipal Airport (United States)
+KCDJ Chillicothe, Chillicothe Agri-Science Center (United States)
+KCDR Chadron, Chadron Municipal Airport (United States)
+KCDS Childress, Childress Municipal Airport (United States)
+KCDW Caldwell, Essex County Airport (United States)
+KCEC Crescent City (United States)
+KCEF Chicopee Falls / Westover Air Force Base (United States)
+KCEW Crestview, Sikes Airport (United States)
+KCEZ Cortez, Cortez-Montezuma County Airport (United States)
+KCFV Coffeyville, Coffeyville Municipal Airport (United States)
+KCGF Cleveland / Cuyahoga (United States)
+KCGI Cape Girardeau, Cape Girardeau Regional Airport (United States)
+KCGX Chicago / Meigs (United States)
+KCGZ Casa Granda Automatic Weather Observing / Reporting System (United States)
+KCHA Chattanooga, Lovell Field (United States)
+KCHH Chatham, Ma.  MA  USA
+KCHI Chicago Wsfo   IL  USA
+KCHO Charlottesville, Charlottesville-Albemarle Airport (United States)
+KCHS Charleston, Charleston Air Force Base (United States)
+KCIC Chico Municipal  (United States)
+KCID Cedar Rapids, Cedar Rapids Municipal Airport (United States)
+KCIN Carroll (United States)
+KCIU Chippewa International Automatic Weather Observing / Reporting System (United States)
+KCKB Clarksburg, Benedum Airport (United States)
+KCKL Centreville, Al.  AL  USA
+KCKN Crookston Municipal Field (United States)
+KCKV Clarksville, Outlaw Field  TN  USA
+KCLE Cleveland, Cleveland-Hopkins International Airport (United States)
+KCLL College Station, Easterwood Field (United States)
+KCLM Port Angeles, William R. Fairchild International Airport (United States)
+KCLT Charlotte, Charlotte / Douglas International Airport (United States)
+KCMA Camarillo Automatic Weather Observing / Reporting System (United States)
+KCMH Columbus, Port Columbus International Airport (United States)
+KCMI Champaign / Urbana, University Of Illinois-Willard Airport (United States)
+KCMX Hancock, Houghton County Memorial Airport (United States)
+KCMY Mccoy USA Army Air Field   WI  USA
+KCNC Chariton (United States)
+KCNK Concordia, Blosser Municipal Airport (United States)
+KCNM Carlsbad, Cavern City Air Terminal (United States)
+KCNO Chino, Chino Airport (United States)
+KCNU Chanute, Chanute Martin Johnson Airport (United States)
+KCNY Moab, Canyonlands Field (United States)
+KCOD Cody (United States)
+KCOE Coeur D'Alene Automatic Weather Observing / Reporting System (United States)
+KCOF Cocoa / Patrick Air Force Base (United States)
+KCON Concord, Concord Municipal Airport (United States)
+KCOQ Cloquet Automatic Weather Observing / Reporting System (United States)
+KCOS Colorado Springs, City Of Colorado Springs Municipal Airport (United States)
+KCOT Cotulla, Cotulla-La Salle County Airport (United States)
+KCOU Columbia, Columbia Regional Airport (United States)
+KCPR Casper, Natrona County International Airport (United States)
+KCPS Cahokia / St. Louis, St. Louis Downtown-Parks Airport (United States)
+KCQC Clines Corner (United States)
+KCQV Colville Municipal (United States)
+KCQX Chatham, Chatham Municipal Airport (United States)
+KCRE North Myrtle Beach, Grand Strand Airport (United States)
+KCRG Jacksonville, Craig Municipal Airport (United States)
+KCRP Corpus Christi, Corpus Christi International Airport (United States)
+KCRQ Carlsbad, McClellan-Palomar Airport (United States)
+KCRS Corsicana, Campbell Field-Corsicana Municipal Airport (United States)
+KCRW Charleston, Yeager Airport (United States)
+KCSG Columbus, Columbus Metropolitan Airport (United States)
+KCSM Clinton, Clinton-Sherman Airport (United States)
+KCSQ Creston (United States)
+KCSV Crossville, Crossville Memorial Airport (United States)
+KCTB Cut Bank Automatic Weather Observing / Reporting System (United States)
+KCTY Cross City, Cross City Airport (United States)
+KCUB Columbia, Columbia Owens Downtown Airport (United States)
+KCVG Covington / Cincinnati, Cincinnati / Northern Kentucky International Airport (United States)
+KCVN Clovis Municipal Automatic Weather Observing / Reporting System (United States)
+KCVO Corvallis Municipal Automatic Weather Observing / Reporting System (United States)
+KCVS Cannon Air Force Base / Clovis (United States)
+KCWA Mosinee / Central Wisconsin (United States)
+KCWF Chenault Airpark (United States)
+KCWI Clinton Municipal Automatic Weather Observing / Reporting System (United States)
+KCXO Conroe, Montgomery County Airport (United States)
+KCXY Harrisburg, Capital City Airport (United States)
+KCYS Cheyenne, Cheyenne Airport (United States)
+KCZD Cozad Municipal  NE  USA
+KCZK Cascade Locks State (United States)
+KCZZ Campo (United States)
+KD07 Faith (United States)
+KD45 Warroad, Mn  MN  USA
+KD97 South St Paul Municipal  MN  USA
+KDAA Fort Belvoir (United States)
+KDAB Daytona Beach, Daytona Beach Regional Airport (United States)
+KDAG Daggett, Barstow-Daggett Airport (United States)
+KDAL Dallas, Dallas Love Field (United States)
+KDAN Danville, Danville Regional Airport (United States)
+KDAX Sacramento Nexrad  CA  USA
+KDAY Dayton, Cox Dayton International Airport (United States)
+KDBQ Dubuque, Dubuque Regional Airport (United States)
+KDCA Washington DC, Reagan National Airport (United States)
+KDCU Decatur, Pryor Field (United States)
+KDDC Dodge City, Dodge City Regional Airport (United States)
+KDDH Bennington, Bennington Morse State Airport (United States)
+KDEC Decatur, Decatur Airport (United States)
+KDEE Deering, Deering Airport  AK  USA
+KDEH Decorah (United States)
+KDEN Denver, Denver International Airport (United States)
+KDEQ De Queen, Helms Sevier County Airport  AR  USA
+KDET Detroit, Detroit City Airport (United States)
+KDEW Deer Park, Deer Park Airport (United States)
+KDFI Defiance, Defiance Memorial Airport (United States)
+KDFW Dallas / Fort Worth, Dallas / Fort Worth International Airport (United States)
+KDGW Douglas, Converse County Airport (United States)
+KDHN Dothan, Dothan Airport (United States)
+KDHT Dalhart, Dalhart Municipal Airport (United States)
+KDIK Dickinson, Dickinson Municipal Airport (United States)
+KDIX Phila. Nexrad   PA  USA
+KDKK Dunkirk, Chautauqua County / Dunkirk Airport (United States)
+KDKX Knoxville Downtown  TN  USA
+KDLF Laughlin, Laughlin Air Force Base Auxiliary Airfield (United States)
+KDLH Duluth, Duluth International Airport (United States)
+KDLN Dillon, Dillon Airport (United States)
+KDLS The Dalles, The Dalles Municipal Airport (United States)
+KDMA Davis-Monthan Air Force Base (United States)
+KDMH Baltimore, Inner Harbor (United States)
+KDMN Deming, Deming Municipal Airport (United States)
+KDMO Sedalia, Sedalia Memorial Airport (United States)
+KDMX Des Moines Nexrad  IA  USA
+KDNL Augusta, Daniel Field (United States)
+KDNS Denison (United States)
+KDOV Dover Air Force Base (United States)
+KDPA Chicago / West Chicago, Dupage Airport (United States)
+KDPG Dugway Proving Grounds (United States)
+KDRA Mercury, Desert Rock Airport (United States)
+KDRO Durango, Durango-La Plata County Airport (United States)
+KDRT Del Rio, Del Rio International Airport (United States)
+KDSM Des Moines, Des Moines International Airport (United States)
+KDTL Detroit Lakes Automatic Weather Observing / Reporting System (United States)
+KDTN Shreveport, Shreveport Downtown Airport (United States)
+KDTO Denton, Denton Municipal Airport (United States)
+KDTS Destin, Destin-Ft. Walton Beach Airport (United States)
+KDTW Detroit, Detroit Metropolitan Wayne County Airport (United States)
+KDUG Douglas Bisbee International (United States)
+KDUJ Du Bois Automatic Weather Observing / Reporting System (United States)
+KDVL Devils Lake Automatic Weather Observing / Reporting System (United States)
+KDVN Davenport, Davenport Municipal Airport (United States)
+KDVT Phoenix, Phoenix-Deer Valley Municipal Airport (United States)
+KDWH Houston, Hooks Memorial Airport (United States)
+KDXR Danbury, Danbury Municipal Airport (United States)
+KDYR Dyersburg Automatic Weather Observing / Reporting System (United States)
+KDso International Airport  TX  USA
+KE33 Chama (United States)
+KE74 Safford Automatic Meteorological Observing System (United States)
+KEAR Kearney Municipal Automatic Weather Observing / Reporting System (United States)
+KEAT Wenatchee, Pangborn Memorial Airport (United States)
+KEAU Eau Claire County Airport (United States)
+KEBS Webster City (United States)
+KECG Elizabeth City, Elizabeth City Coast Guard Air Station (United States)
+KEDW Edwards Air Force Base (United States)
+KEED Needles Airport (United States)
+KEEN Keene / Dillant Automatic Weather Observing / Reporting System (United States)
+KEEO Meeker, Meeker Airport (United States)
+KEET Alabaster, Shelby County Airport (United States)
+KEFC Belle Fourche (United States)
+KEFD Houston / Ellington (United States)
+KEGE Eagle County Regional (United States)
+KEGI Duke Field / Eglin Auxiliary (United States)
+KEHA Elkhart Automatic Weather Observing / Reporting System (United States)
+KEHR Henderson City (United States)
+KEKM Elkhart Municipal (United States)
+KEKN Elkins, Elkins-Randolph County-Jennings Randolph Field (United States)
+KEKO Elko, Elko Municipal-Harris Field (United States)
+KELD El Dorado, South Arkansas Regional Airport (United States)
+KELM Elmira, Elmira / Corning Regional Airport (United States)
+KELN Ellensburg, Bowers Field (United States)
+KELO Ely Municipal Automatic Weather Observing / Reporting System (United States)
+KELP El Paso, El Paso International Airport (United States)
+KELY Ely, Ely Airport (United States)
+KELZ Wellsville, Wellsville Municipal Airport  NY  USA
+KEMP Emporia, Emporia Municipal Airport (United States)
+KEMT El Monte (United States)
+KEND Vance Air Force Base / Enid (United States)
+KENN Nenana, Nenana Municipal Airport  AK  USA
+KENV Wendover / Air Force Auxillary Field (United States)
+KENW Kenosha, Kenosha Regional Airport (United States)
+KENX Albany Nexrad   NY  USA
+KEOK Keokuk Municipal (United States)
+KEPH Ephrata, Ephrata Municipal Airport (United States)
+KEPO Eastport, Me.  ME  USA
+KEPZ Santa Teresa, Nm.  NM  USA
+KEQY Monroe, Monroe Airport (United States)
+KERI Erie, Erie International Airport (United States)
+KERV Kerrville Municipal  TX  USA
+KESC Escanaba (United States)
+KESF Alexandria, Alexandria Esler Regional Airport (United States)
+KESN Easton / Newman / Fld  MD  USA
+KEST Estherville, Estherville Municipal Airport (United States)
+KESX Las Vegas Nexrad  NV  USA
+KETH Wheaton NDB Automatic Weather Observing / Reporting System (United States)
+KEUG Eugene, Mahlon Sweet Field (United States)
+KEUL Caldwell Automatic Weather Observing / Reporting System (United States)
+KEVM Eveleth Municipal Automatic Weather Observing / Reporting System (United States)
+KEVV Evansville, Evansville Regional Airport (United States)
+KEVW Evanston, Evanston-Uinta County Burns Field (United States)
+KEWB New Bedford, New Bedford Regional Airport (United States)
+KEWK Newton Automatic Weather Observing / Reporting System (United States)
+KEWN New Bern, Craven County Regional Airport (United States)
+KEWR Newark, Newark International Airport (United States)
+KEWX San Antonio Nexrad  TX  USA
+KEYE Indianapolis, Eagle Creek Airpark (United States)
+KEYW Key West, Key West International Airport (United States)
+KEZF Shannon Airport (United States)
+KF10 Henryetta Municipal  OK  USA
+KF30 Sulphur Municipal  OK  USA
+KF39 Sherman-Denison (United States)
+KF54 Arlington, Arlington Municipal Airport  TX  USA
+KFAF Fort Eustis / Felker (United States)
+KFAM Farmington Airport (United States)
+KFAR Fargo, Hector International Airport (United States)
+KFAT Fresno, Fresno Air Terminal (United States)
+KFAY Fayetteville, Fayetteville Regional Airport (United States)
+KFBG Fort Bragg / Simmons Army Airfield (United States)
+KFBL Faribault Municipal Automatic Weather Observing / Reporting System (United States)
+KFCA Kalispell, Glacier Park International Airport (United States)
+KFCH Fresno-Chandler (United States)
+KFCM Minneapolis, Flying Cloud Airport (United States)
+KFCS Fort Carson (United States)
+KFDR Frederick, Frederick Municipal Airport (United States)
+KFDY Findlay Automatic Weather Observing / Reporting System (United States)
+KFET Fremont Municipal Airport (United States)
+KFFC Atlanta, Peachtree City-Falcon Field (United States)
+KFFL Fair Field (United States)
+KFFM Fergus Falls Automatic Weather Observing / Reporting System (United States)
+KFFO Dayton / Wright-Patterson Air Force Base (United States)
+KFFT Frankfort, Capital City Airport (United States)
+KFFZ Mesa / Falcon Field (United States)
+KFHR Friday Harbor, Friday Harbor Airport (United States)
+KFHU Fort Huachuca (United States)
+KFIT Fitchburg, Fitchburg Municipal Airport (United States)
+KFKL Franklin Automatic Weather Observing / Reporting System (United States)
+KFKN Franklin / J B Rose (United States)
+KFLD Fond Du Lac, Fond Du Lac County Airport (United States)
+KFLG Flagstaff, Flagstaff Pulliam Airport (United States)
+KFLL Fort Lauderdale, Fort Lauderdale / Hollywood International Airport (United States)
+KFLO Florence, Florence Regional Airport (United States)
+KFLP Flippin Automatic Weather Observing / Reporting System (United States)
+KFLV Fort Leavenworth (United States)
+KFMH Otis Air National Guard Base (United States)
+KFMN Farmington, Four Corners Regional Airport (United States)
+KFMY Fort Myers, Page Field (United States)
+KFNB Falls City / Brenner (United States)
+KFNL Fort Collins Automatic Weather Observing / Reporting System (United States)
+KFNT Flint, Bishop International Airport (United States)
+KFOD Fort Dodge (United States)
+KFOE Topeka, Forbes Field (United States)
+KFOK Westhampton Beach, The Gabreski Airport (United States)
+KFOQ Freeport Supplementary Aviation Weather Reporting Station   TX  USA
+KFPR Fort Pierce, St. Lucie County International Airport (United States)
+KFRG Farmingdale, Republic Airport (United States)
+KFRI Fort Riley (United States)
+KFRM Fairmont Municipal Automatic Weather Observing / Reporting System (United States)
+KFSD Sioux Falls, Foss Field (United States)
+KFSE Fosston Automatic Weather Observing / Reporting System (United States)
+KFSI Fort Sill (United States)
+KFSM Fort Smith, Fort Smith Regional Airport (United States)
+KFST Fort Stockton, Fort Stockton-Pecos County Airport (United States)
+KFSW Fort Madison (United States)
+KFTG Denver Nexrad  CO  USA
+KFTK Fort Knox (United States)
+KFTW Fort Worth, Meacham International Airport (United States)
+KFTY Atlanta, Fulton County Airport-Brown Field (United States)
+KFUL Fullerton, Fullerton Municipal Airport (United States)
+KFVE Frenchville, Northern Aroostook Regional Airport (United States)
+KFVX Farmville (United States)
+KFWA Fort Wayne, Fort Wayne International Airport (United States)
+KFWD Ft Worth, Tx.  TX  USA
+KFWN Sussex, Sussex Airport (United States)
+KFWS Dfw Nexrad  TX  USA
+KFXE Fort Lauderdale, Fort Lauderdale Executive Airport (United States)
+KFYV Fayetteville, Drake Field (United States)
+KGAD Gadsden Municipal Automatic Weather Observing / Reporting System (United States)
+KGAG Gage, Gage Airport (United States)
+KGBD Great Bend Automatic Weather Observing / Reporting System (United States)
+KGBN Gila Bend U. S. Army Airfield (United States)
+KGCC Gillette, Gillette-Campbell County Airport (United States)
+KGCK Garden City, Garden City Regional Airport (United States)
+KGCN Grand Canyon, Grand Canyon National Park Airport (United States)
+KGDP Pine Springs, Guadalupe Mountains National Park (United States)
+KGDV Glendive Automatic Weather Observing / Reporting System (United States)
+KGED Georgetown, Sussex County Airport (United States)
+KGEG Spokane, Spokane International Airport (United States)
+KGEY Greybull, South Big Horn County Airport (United States)
+KGEZ Shelbyville, Shelbyville Municipal Airport (United States)
+KGFA Malmstrom Air Force Base  MT  USA
+KGFK Grand Forks, Grand Forks International Airport (United States)
+KGFL Glens Falls, Warren County Airport (United States)
+KGGG Longview, Gregg County Airport (United States)
+KGGW Glasgow, Glasgow International Airport (United States)
+KGHW Glenwood Automatic Surface Observing System  (United States)
+KGIF Winter Haven, Winter Haven's Gilbert Airport (United States)
+KGJT Grand Junction, Walker Field (United States)
+KGKY Arlington, Arlington Municipal Airport (United States)
+KGLD Goodland, Renner Field (United States)
+KGLH Greenville, Greenville Municipal Airport (United States)
+KGLR Gaylord, Otsego County Airport (United States)
+KGLS Galveston, Scholes Field (United States)
+KGMU Greenville, Greenville Downtown Airport (United States)
+KGNA Grand Marais, The Bay of Grand Marais (United States)
+KGNT Grants, Grants-Milan Municipal Airport (United States)
+KGNV Gainesville, Gainesville Regional Airport (United States)
+KGOK Guthrie, Guthrie Municipal Airport (United States)
+KGON Groton / New London, Groton-New London Airport (United States)
+KGPT Gulfport, Gulfport-Biloxi Regional Airport (United States)
+KGPZ Grand Rapids Automatic Weather Observing / Reporting System (United States)
+KGRB Green Bay, Austin Straubel International Airport (United States)
+KGRF Fort Lewis / Gray U. S. Army Airfield (United States)
+KGRI Grand Island, Central Nebraska Regional Airport (United States)
+KGRK Fort Hood / Gray U. S. Army Airfield (United States)
+KGRR Grand Rapids, Kent County International Airport (United States)
+KGSB Seymour-Johnson Air Force Base (United States)
+KGSH Goshen, Goshen Municipal Airport (United States)
+KGSO Greensboro, Piedmont Triad International Airport (United States)
+KGSP Greer, Greenville-Spartanburg Airport (United States)
+KGTB Fort Drum / Wheeler-Sack U. S. Army Airfield (United States)
+KGTF Great Falls, Great Falls International Airport (United States)
+KGTR Golden Tri Automatic Weather Observing / Reporting System (United States)
+KGTU Georgetown Automatic Weather Observing / Reporting System (United States)
+KGUC Gunnison Automatic Weather Observing / Reporting System (United States)
+KGUP Gallup, Gallup Municipal Airport (United States)
+KGUS Grissom Air Force Base / Peru (United States)
+KGUY Guymon / Guymon Municipal Airport (United States)
+KGVL Gainesville, Gilmer Memorial Airport (United States)
+KGVT Greenville / Majors (United States)
+KGVW Kansas City, Richards-Gebaur Airport (United States)
+KGWO Greenwood, Greenwood-LeFlore Airport (United States)
+KGXY Greeley / Weld Automatic Weather Observing / Reporting System (United States)
+KGYR Goodyear Municipal (United States)
+KGYY Gary Regional (United States)
+KGZH Evergreen, Middleton Field (United States)
+KHAO Hamilton, Hamilton-Fairfield Airport (United States)
+KHBR Hobart, Hobart Municipal Airport (United States)
+KHCD Hutchinson Automatic Weather Observing / Reporting System (United States)
+KHDE Brewster Field Airport (United States)
+KHDN Hayden / Yampa Automatic Weather Observing / Reporting System (United States)
+KHDO Hondo, Hondo Municipal Airport (United States)
+KHEF Manassas Municipal Automatic Weather Observing / Reporting System (United States)
+KHEI Hettinger, Hettinger Municipal Airport (United States)
+KHEY Hanchey Ahp / Ozark  AL  USA
+KHEZ Natchez / Hardy Automatic Weather Observing / Reporting System (United States)
+KHFD Hartford, Hartford-Brainard Airport (United States)
+KHFF Mackall U. S. Army Airfield (United States)
+KHGR Hagerstown, Washington County Regional Airport (United States)
+KHGX Hustn / Glvstn Nexrad  TX  USA
+KHHF Canadian / Hemphill  TX  USA
+KHHR Hawthorne, Hawthorne Municipal Airport (United States)
+KHIB Hibbing, Chisholm-Hibbing Airport (United States)
+KHIE Whitefield, Mount Washington Regional Airport (United States)
+KHIF Hill Air Force Base / Ogden (United States)
+KHIO Portland, Portland-Hillsboro Airport (United States)
+KHKA Blytheville, Blytheville Municipal Airport (United States)
+KHKS Jackson, Hawkins Field  MS  USA
+KHKY Hickory, Hickory Regional Airport (United States)
+KHLC Hill City, Hill City Municipal Airport (United States)
+KHLG Wheeling, Wheeling Ohio County Airport (United States)
+KHLN Helena, Helena Regional Airport (United States)
+KHLR Fort Hood (United States)
+KHLX Hillsville (United States)
+KHMM Hamilton / Ravalli County (United States)
+KHMN Holloman Air Force Base (United States)
+KHMS Hanford (United States)
+KHNB Huntingburg (United States)
+KHNS Haines, Haines Airport  AK  USA
+KHOB Hobbs / Lea County (United States)
+KHOM Homer, Homer Airport  AK  USA
+KHON Huron, Huron Regional Airport (United States)
+KHOP Fort Campbell U. S. Army Airfield (United States)
+KHOT Hot Springs, Memorial Field (United States)
+KHOU Houston, Hobby Airport (United States)
+KHPN White Plains, Westchester County Airport (United States)
+KHQM Hoquiam, Bowerman Airport (United States)
+KHRL Harlingen, Rio Grande Valley International Airport (United States)
+KHRO Harrison, Boone County Airport (United States)
+KHRT Hurlburt Field (United States)
+KHSE Hatteras, Mitchell Field (United States)
+KHSI Hastings, Hastings Municipal Airport (United States)
+KHSP Hot Springs / Ingalls (United States)
+KHSS Hot Springs Aviation Weather Reporting Station   NC  USKIOW    Iowa City, Iowa City Municipal Airport  IA  USA
+KHST Homestead Air Force Base (United States)
+KHSV Huntsville, Huntsville International / Jones Field (United States)
+KHTL Houghton Lake, Roscommon County Airport (United States)
+KHTS Huntington, Tri-State Airport (United States)
+KHUF Terre Haute, Hulman Regional Airport (United States)
+KHUL Houlton, Houlton International Airport (United States)
+KHUM Houma-Terrebonne (United States)
+KHUT Hutchinson, Hutchinson Municipal Airport (United States)
+KHVN New Haven, Tweed-New Haven Airport (United States)
+KHVR Havre, Havre City-County Airport (United States)
+KHWD Hayward, Hayward Air Terminal (United States)
+KHYA Hyannis, Barnstable Municipal-Boardman Airport (United States)
+KHYR Hayward, Hayward Municipal Airport (United States)
+KHYS Hays Municipal Automatic Weather Observing / Reporting System (United States)
+KHZY Ashtabula, Ashtabula County Airport (United States)
+KIAB McConnell Air Force Base (United States)
+KIAD Washington DC, Washington-Dulles International Airport (United States)
+KIAG Niagara Falls, Niagara Falls International Airport (United States)
+KIAH Houston, Houston Intercontinental Airport (United States)
+KICL Clarinda (United States)
+KICT Wichita, Wichita Mid-Continent Airport (United States)
+KIDA Idaho Falls, Fanning Field (United States)
+KIDI Indiana / Stewart Field (United States)
+KIEN Pine Ridge, Pine Ridge Airport (United States)
+KIGM Kingman, Kingman Airport (United States)
+KIJD Willimantic, Windham Airport (United States)
+KILE Killeen Municipal Automatic Weather Observing / Reporting System (United States)
+KILG Wilmington, New Castle County Airport (United States)
+KILL Willmar / Rice Automatic Weather Observing / Reporting System (United States)
+KILM Wilmington, New Hanover International Airport (United States)
+KILN Wilmington, Airborne Airpark Airport (United States)
+KIML Imperial Municipal (United States)
+KIMT Iron Mountain / Kingsford, Ford Airport (United States)
+KIND Indianapolis, Indianapolis International Airport (United States)
+KINK Wink, Winkler County Airport (United States)
+KINL International Falls, Falls International Airport (United States)
+KINT Winston Salem, Smith Reynolds Airport (United States)
+KINW Winslow, Winslow Municipal Airport (United States)
+KIOW Iowa City, Iowa City Municipal Airport (United States)
+KIPL Imperial, Imperial County Airport (United States)
+KIPT Williamsport, Williamsport-Lycoming County Airport (United States)
+KIRK Kirksville, Kirksville Regional Airport (United States)
+KISN Williston, Sloulin Field International Airport (United States)
+KISO Kinston / Stallings (United States)
+KISP Islip, Long Island Mac Arthur Airport (United States)
+KISW Wisconsin Rapids, Alexander Field South Wood County Airport (United States)
+KITH Ithaca / Tompkins County (United States)
+KITR Burlington, Carson County Airport (United States)
+KIWA Williams Air Force Base / Chandler (United States)
+KIWD Ironwood Automatic Weather Observing / Reporting System (United States)
+KIWI Wiscasset, Wiscasset Airport (United States)
+KIWS W. Houston / Lakeside  TX  USA
+KIXD Olathe, New Century Aircenter (United States)
+KIYK Inyokern (United States)
+KIZG Fryeburg, Eastern Slopes Regional Airport (United States)
+KJAC Jackson Hole Automatic Weather Observing / Reporting System (United States)
+KJAN Jackson, Jackson International Airport (United States)
+KJAX Jacksonville, Jacksonville International Airport (United States)
+KJBR Jonesboro, Jonesboro Municipal Airport (United States)
+KJCT Junction, Kimble County Airport (United States)
+KJDN Jordan, Jordan Airport (United States)
+KJEF Jefferson City, Jefferson City Memorial Airport (United States)
+KJFK New York, Kennedy International Airport (United States)
+KJHW Jamestown Automatic Weather Observing / Reporting System (United States)
+KJKL Jackson, Carroll Airport (United States)
+KJLN Joplin, Joplin Regional Airport (United States)
+KJMS Jamestown, Jamestown Municipal Airport (United States)
+KJNW Newport (United States)
+KJOT Joliet Park Distric  IL  USA
+KJST Johnstown, Johnstown-Cambria County Airport (United States)
+KJVL Janesville / Rock County (United States)
+KJWX Fort Ritchie (United States)
+KJXN Jackson / Reynolds (United States)
+KJYO Leesburg / Godfrey (United States)
+KKAL Kaltag, Kaltag Airport  AK  USA
+KKLS Kelso-Longview Automatic Weather Observing / Reporting System (United States)
+KKVL Kivalina, Kivalina Airport  AK  USA
+KL10 San Clemente  CA  USA
+KL13 Point Loma / Cabrillo  CA  USA
+KL14 Lafayette, Lafayette Regional Airport  LA  USA
+KLAA Lamar, Lamar Municipal Airport (United States)
+KLAF Lafayette, Purdue University Airport (United States)
+KLAL Lakeland Regional (United States)
+KLAM Los Alamos (United States)
+KLAN Lansing, Capital City Airport (United States)
+KLAR Laramie, Laramie Regional Airport (United States)
+KLAS Las Vegas, McCarran International Airport (United States)
+KLAW Lawton, Lawton Municipal Airport (United States)
+KLAX Los Angeles, Los Angeles International Airport (United States)
+KLBB Lubbock, Lubbock International Airport (United States)
+KLBE Latrobe / Westmorland (United States)
+KLBF North Platte, North Platte Regional Airport (United States)
+KLBL Liberal Municipal Automatic Weather Observing / Reporting System (United States)
+KLBT Lumberton, Lumberton Municipal Airport (United States)
+KLBX Angleton / Lake Jackson, Brazoria County Airport (United States)
+KLCH Lake Charles, Lake Charles Regional Airport (United States)
+KLCI Laconia Municipal Automatic Weather Observing / Reporting System (United States)
+KLCK Rickenbacker Air National Guard Base (United States)
+KLEB Lebanon, Lebanon Municipal Airport (United States)
+KLEE Leesburg, Leesburg Municipal Airport (United States)
+KLEW Auburn-Lewiston (United States)
+KLEX Lexington, Blue Grass Airport (United States)
+KLFI Langley Air Force Base (United States)
+KLFK Lufkin, Angelina County Airport (United States)
+KLFT Lafayette, Lafayette Regional Airport (United States)
+KLGA New York, La Guardia Airport (United States)
+KLGB Long Beach, Long Beach Airport (United States)
+KLGD La Grande Automatic Weather Observing / Reporting System (United States)
+KLGU Logan, Logan-Cache Airport (United States)
+KLHD Anchorage, Lake Hood Sea Plane Base  AK  USA
+KLHQ Lancaster, Fairfield County Airport (United States)
+KLHU Lake Havasu Automatic Weather Observing / Reporting System   AZ  USA
+KLHW Ft. Stewart (United States)
+KLHX La Junta, La Junta Municipal Airport (United States)
+KLIC Limon, Limon Municipal Airport (United States)
+KLIT Little Rock, Adams Field (United States)
+KLIX Slidell / Mun. La  LA  USA
+KLIZ Loring Afb / Limeston  ME  USA
+KLKV Lakeview Automatic Weather Observing / Reporting System (United States)
+KLLQ Monticello, Monticello Municipal Airport (United States)
+KLMT Klamath Falls, Klamath Falls International Airport (United States)
+KLND Lander (United States)
+KLNK Lincoln, Lincoln Municipal Airport (United States)
+KLNN Willoughby (United States)
+KLNP Wise / Lonesome Pine (United States)
+KLNR Lone Rock, Tri-County Regional Airport (United States)
+KLNS Lancaster, Lancaster Airport (United States)
+KLOL Lovelock, Derby Field (United States)
+KLOR Fort Rucker, Lowe Army Heliport  AL  USA
+KLOT Chicago Nexrad  IL  USA
+KLOU Louisville, Bowman Field (United States)
+KLOZ London, London-Corbin Airport-Magee Field (United States)
+KLPC Lompoc Automatic Weather Observing / Reporting System (United States)
+KLPR Lorain / Elyria, Lorain County Regional Airport (United States)
+KLRD Laredo International Airport (United States)
+KLRF Little Rock Air Force Base (United States)
+KLRJ Le Marine Aviation Reporting Station (United States)
+KLRU Las Cruces International (United States)
+KLRX Elko Nexrad  NV  USA
+KLSD Lexington / Creech  KY  USA
+KLSE La Crosse, La Crosse Municipal Airport (United States)
+KLSF Fort Benning (United States)
+KLSV Nellis Air Force Base (United States)
+KLTS Altus Air Force Base (United States)
+KLTX Wilmington Nexrad  NC  USA
+KLUF Luke Air Force Base / Phoenix (United States)
+KLUK Cincinnati, Cincinnati Municipal Airport Lunken Field (United States)
+KLVK Livermore, Livermore Municipal Airport (United States)
+KLVM Livingston, Mission Field (United States)
+KLVS Las Vegas, Las Vegas Municipal Airport (United States)
+KLWB Lewisburg / Greenbrier (United States)
+KLWD Lamoni, Lamoni Municipal Airport (United States)
+KLWM Lawrence, Lawrence Municipal Airport (United States)
+KLWS Lewiston, Lewiston-Nez Perce County Airport (United States)
+KLWT Lewistown Municipal (United States)
+KLWV Lawrenceville, Lawrenceville-Vincennes International Airport (United States)
+KLXL Little Falls Automatic Weather Observing / Reporting System (United States)
+KLXV Leadville, Lake County Airport (United States)
+KLYH Lynchburg, Lynchburg Regional Airport (United States)
+KMAE Madera, Madera Municipal Airport (United States)
+KMAF Midland, Midland International Airport (United States)
+KMAI Marianna, Marianna Municipal Airport (United States)
+KMBG Mobridge, Mobridge Municipal Airport (United States)
+KMBL Manistee Automatic Weather Observing / Reporting System (United States)
+KMBS Saginaw, MBSy International Airport (United States)
+KMCB McComb, McComb / Pike County Airport (United States)
+KMCC McClellan Air Force Base (United States)
+KMCE Merced, Merced Municipal Airport (United States)
+KMCF Macdill Air Force Base, Fl. (United States)
+KMCI Kansas City, Kansas City International Airport (United States)
+KMCK McCook, McCook Municipal Airport (United States)
+KMCN Macon, Middle Georgia Regional Airport (United States)
+KMCO Orlando, Orlando International Airport (United States)
+KMCW Mason City, Mason City Municipal Airport (United States)
+KMDH Carbondale / Murphysboro, Southern Illinois Airport (United States)
+KMDT Harrisburg, Harrisburg International Airport (United States)
+KMDW Chicago, Chicago Midway Airport (United States)
+KMEB Maxton, Laurinburg-Maxton Airport (United States)
+KMEH Meacham, Meacham (United States)
+KMEI Meridian, Key Field (United States)
+KMEM Memphis, Memphis International Airport (United States)
+KMFD Mansfield, Mansfield Lahm Municipal Airport (United States)
+KMFE McAllen, Miller International Airport (United States)
+KMFI Marshfield, Marshfield Municipal Airport (United States)
+KMFR Medford, Rogue Valley International Airport (United States)
+KMFV Melfa / Accomack Airport (United States)
+KMGE Marietta / Dobbins Air Force Base (United States)
+KMGJ Montgomery, Orange County Airport (United States)
+KMGM Montgomery, Dannelly Field (United States)
+KMGW Morgantown, Morgantown Municipal-Hart Field (United States)
+KMGY Dayton, Dayton General Airport South Airport (United States)
+KMHE Mitchell Automatic Weather Observing / Reporting System (United States)
+KMHK Manhattan, Manhattan Municipal Airport (United States)
+KMHN Mullen / Hooker Co.  NE  USA
+KMHR Mather Field (United States)
+KMHS Mount Shasta (United States)
+KMHT Manchester, Manchester Airport (United States)
+KMHV Mojave (United States)
+KMHX Newport, Nc.  NC  USA
+KMIA Miami, Miami International Airport (United States)
+KMIB Minot Air Force Base (United States)
+KMIC Minneapolis, Crystal Airport (United States)
+KMIE Muncie, Delaware County-Johnson Field (United States)
+KMIV Millville, Millville Municipal Airport (United States)
+KMIW Marshalltown, Marshalltown Municipal Airport (United States)
+KMJQ Jackson Municipal Automatic Weather Observing / Reporting System (United States)
+KMKC Kansas City, Kansas City Downtown Airport (United States)
+KMKE Milwaukee, General Mitchell International Airport (United States)
+KMKG Muskegon, Muskegon County Airport (United States)
+KMKJ Marion / Wytheville (United States)
+KMKK Kaunakakai, Molokai Airport  HI  USA
+KMKL Jackson, McKellar-Sipes Regional Airport (United States)
+KMKO Muskogee, Davis Field (United States)
+KMKT Mankato Automatic Weather Observing / Reporting System (United States)
+KMKX Milwaukee Nexrad   WI  USA
+KMLB Melbourne, Melbourne International Airport (United States)
+KMLC McAlester, McAlester Regional Airport (United States)
+KMLD Malad City (United States)
+KMLF Milford, Milford Municipal Airport (United States)
+KMLI Moline, Quad-City Airport (United States)
+KMLP Mullan Pass, Mullan Pass Vor (United States)
+KMLS Miles City, Wiley Field (United States)
+KMLT Millinocket, Millinocket Municipal Airport (United States)
+KMLU Monroe, Monroe Regional Airport (United States)
+KMMH Mammoth / June Lakes (United States)
+KMMK Meriden, Meriden Markham Municipal Airport  CT  USA
+KMML Marshall / Ryan Automatic Weather Observing / Reporting System (United States)
+KMMO Marseilles, Island  IL  USA
+KMMT McEntire Air National Guard Weather Facility Base (United States)
+KMMU Morristown Municipal (United States)
+KMMV McMinnville, McMinnville Municipal Airport (United States)
+KMNI Manning / Cooper Regional  SC  USA
+KMNM Menominee Automatic Weather Observing / Reporting System (United States)
+KMNN Marion, Marion Municipal Airport (United States)
+KMOB Mobile, Mobile Regional Airport (United States)
+KMOD Modesto, Modesto City-County-Sham Field (United States)
+KMOT Minot, Minot International Airport (United States)
+KMOX Morris Municipal Automatic Weather Observing / Reporting System (United States)
+KMPV Barre / Montpelier, Knapp State Airport (United States)
+KMQI Manteo / Dare County Regional (United States)
+KMQT Marquette (United States)
+KMQY Smyrna (United States)
+KMRB Martinsburg, Eastern West Virginia Regional Airport (United States)
+KMRF Marfa (United States)
+KMRH Beaufort, Smith Field (United States)
+KMRY Monterey, Monterey Peninsula Airport (United States)
+KMSL Muscle Shoals, North West Alabama Regional Airport (United States)
+KMSN Madison, Dane County Regional-Truax Field (United States)
+KMSO Missoula, Missoula International Airport (United States)
+KMSP Minneapolis, Minneapolis-St. Paul International Airport (United States)
+KMSS Massena, Massena International-Richards Field (United States)
+KMSV Monticello Automatic Weather Observing / Reporting System (United States)
+KMSY New Orleans, New Orleans International Airport (United States)
+KMTC Selfridge Air National Guard Base (United States)
+KMTH Marathon, Marathon Airport (United States)
+KMTJ Montrose, Montrose Regional Airport (United States)
+KMTN Baltimore / Martin (United States)
+KMTO Mattoon / Charleston, Coles County Memorial Airport (United States)
+KMTP Montauk, Montauk Airport (United States)
+KMTV Martinsville (United States)
+KMTW Manitowoc Municipal Automatic Weather Observing / Reporting System (United States)
+KMUI Muir Army Air Field / Indiantown (United States)
+KMUO Mountain Home Air Force Base (United States)
+KMUT Muscatine (United States)
+KMVE Montevideo Automatic Weather Observing / Reporting System (United States)
+KMVL Morrisville, Morrisville-Stowe State Airport (United States)
+KMVN Mount Vernon Automatic Weather Observing / Reporting System (United States)
+KMVY Vineyard Haven, Marthas Vineyard Airport (United States)
+KMWA Marion Regional (United States)
+KMWC Milwaukee / Timmerman (United States)
+KMWH Moses Lake, Grant County Airport (United States)
+KMWL Mineral Wells, Mineral Wells Airport (United States)
+KMWN Mount Washington (United States)
+KMWS Mount Wilson (United States)
+KMWT Mount Ida (United States)
+KMXF Maxwell Air Force Base / Montgomery (United States)
+KMXO Monticello Municipal (United States)
+KMYF San Diego, Montgomery Field (United States)
+KMYL McCall, McCall Airport (United States)
+KMYR Myrtle Beach Air Force Base (United States)
+KMYV Marysville, Yuba County Airport (United States)
+KN52 Somerville, Somerset Airport (United States)
+KN60 Garrison (United States)
+KN97 Clearfield, Clearfield-Lawrence Airport (United States)
+KNAK Annapolis, USA Naval Academy  MD  USA
+KNBC Beaufort, Marine Corps Air Station (United States)
+KNBE Dallas USA Naval Air Station   TX  USA
+KNBG New Orleans, Naval Air Station (United States)
+KNBJ Barin, Barin Field, Naval Air Facility  AL  USA
+KNBQ Kings Bay, Naval Station  GA  USA
+KNBT Piney Island, Bt-11 Bombing Range  NC  USA
+KNCA Jacksonville, New River, Marine Corps Air Station (United States)
+KNDZ Milton, Whiting Field South  FL  USA
+KNED Winner, Wiley Field  SD  USA
+KNEL Lakehurst Naval Air Station (United States)
+KNEW New Orleans, Lakefront Airport (United States)
+KNEX Charleston Nise   SC  USA
+KNFE Fentress, Naval Auxiliary Landing Field  VA  USA
+KNFG Oceanside, Camp Pendleton, Marine Corps Air Station (United States)
+KNFJ Milton, Choctaw Pensacola, Naval Auxiliary Landing Field  FL  USA
+KNFL Fallon, Naval Air Station (United States)
+KNFW Fort Worth, Naval Air Station (United States)
+KNGP Corpus Christi, Naval Air Station (United States)
+KNGU Norfolk, Naval Air Station (United States)
+KNGW Corpus Christi, Cabiness Field, Naval Auxiliary Landing Field  TX  USA
+KNGZ Alameda / Nas, Ca.  CA  USA
+KNHK Patuxent River, Naval Air Station (United States)
+KNHZ Brunswick, Naval Air Station (United States)
+KNID China Lake, Naval Air Facility (United States)
+KNIP Jacksonville, Naval Air Station (United States)
+KNIS Cherry Point, Marine Corps Air Station  NC  USA
+KNJK El Centro, Naval Air Facility (United States)
+KNJM Swansboro, Bogue Field, Marine Corps Auxiliary Landing Field (United States)
+KNJW Meridian Range, B, Meridian Range, B  MS  USA
+KNKT Cherry Point, Marine Corps Air Station (United States)
+KNKX San Diego, Miramar, Naval Air Station (United States)
+KNLC Lemoore, Naval Air Station (United States)
+KNLT Atlantic, Atlantic Field Olf  NC  USA
+KNMM Meridian, Naval Air Station (United States)
+KNMT Mcmullen, Mcmullen Target Site  TX  USA
+KNNZ Point Sur  CA  USA
+KNOG Orange Grove, Naval Auxiliary Landing Field  TX  USA
+KNOW Port Angeles / Cgas, Wa.  WA  USA
+KNPA Pensacola, Naval Air Station (United States)
+KNQI Kingsville, Naval Air Station (United States)
+KNQX Key West, Naval Air Station (United States)
+KNRB Mayport, Naval Air Facility (United States)
+KNRS Imperial Beach, Naval Auxiliary Landing Field (United States)
+KNSE Milton, Whiting Field North (United States)
+KNSI San Nicholas Island (United States)
+KNTD Point Mugu, Naval Air Warfare Center (United States)
+KNTU Virginia Beach, Oceana, Naval Air Station (United States)
+KNUQ Mountain View, Moffett Field (United States)
+KNUW Whidbey Island, Naval Air Station (United States)
+KNXP Twenty-Nine Palms, Marine Corps Air-Ground Combat Center (United States)
+KNXX Willow Grove, Naval Air Station (United States)
+KNYG Quantico, Marine Corps Air Facility (United States)
+KNYL Yuma, Marine Corps Air Station (United States)
+KNZC Cecil, Naval Air Station (United States)
+KNZY San Diego, North Island, Naval Air Station (United States)
+KO00 Alturas (United States)
+KO18 Hanford, Hanford Municipal Airport (United States)
+KO87 Shelter Cove (United States)
+KOAJ Jacksonville Automatic Weather Observing / Reporting System (United States)
+KOAK Oakland, Metropolitan Oakland International Airport (United States)
+KOCF Ocala Municipal Automatic Weather Observing / Reporting System (United States)
+KOCH Nacogdoches Automatic Weather Observing / Reporting System (United States)
+KODO Odessa, Odessa-Schlemeyer Field (United States)
+KODX Ord / Sharp Field (United States)
+KOFF Omaha / Offutt Air Force Base (United States)
+KOFK Norfolk, Stefan Memorial Airport (United States)
+KOFP Ashland, Hanover County Municipal Airport (United States)
+KOGB Orangeburg, Orangeburg Municipal Airport (United States)
+KOGD Ogden, Ogden-Hinckley Airport (United States)
+KOGS Ogdensburg International (United States)
+KOJC Olathe, Johnson County Executive Airport (United States)
+KOKC Oklahoma City, Will Rogers World Airport (United States)
+KOKV Winchester Regional (United States)
+KOKX N. Y. City Nexrad   NY  USA
+KOLD Old Town / Dewitt Field  ME  USA
+KOLE Olean Municipal  NY  USA
+KOLF Wolf Point, Clayton Airport (United States)
+KOLM Olympia, Olympia Airport (United States)
+KOLS Nogales, Nogales International Airport  AZ  USA
+KOLU Columbus Municipal Automatic Weather Observing / Reporting System (United States)
+KOLZ Oelwen (United States)
+KOMA Omaha, Eppley Airfield (United States)
+KOMK Omak, Omak Airport (United States)
+KONA Winona Municipal Automatic Weather Observing / Reporting System (United States)
+KONL O'Neill / Baker Field (United States)
+KONM Socorro Municipal  NM  USA
+KONO Ontario, Ontario Municipal Airport (United States)
+KONP Newport Municipal (United States)
+KONT Ontario, Ontario International Airport (United States)
+KOPF Miami, Opa Locka Airport (United States)
+KOQU N. Kingston / Quonset (United States)
+KORB Orr (United States)
+KORC Orange City (United States)
+KORD Chicago, Chicago-O'Hare International Airport (United States)
+KORE Orange, Orange Municipal Airport (United States)
+KORF Norfolk, Norfolk International Airport (United States)
+KORH Worcester, Worcester Regional Airport (United States)
+KORL Orlando, Orlando Executive Airport (United States)
+KOSC Wurtsmith Air Force Base (United States)
+KOSH Oshkosh, Wittman Regional Airport (United States)
+KOSU Columbus, Ohio State University Airport (United States)
+KOTG Worthington Automatic Weather Observing / Reporting System (United States)
+KOTH North Bend Automatic Weather Observing / Reporting System (United States)
+KOTM Ottumwa, Ottumwa Industrial Airport (United States)
+KOUN Norman / Max Westheimer A, Ok.  OK  USA
+KOVE Oroville, Oroville Municipal Airport (United States)
+KOVS Boscobel, Boscobel Airport (United States)
+KOWA Owatonna Automatic Weather Observing / Reporting System (United States)
+KOWB Owensboro / Daviess (United States)
+KOWD Norwood, Norwood Memorial Airport (United States)
+KOWY Owyhee  NV  USA
+KOXC Oxford Automatic Weather Observing / Reporting System (United States)
+KOXR Oxnard, Oxnard Airport (United States)
+KOXV Knoxville (United States)
+KOZR Cairns Army Air Field / Ozark (United States)
+KP02 Poplar Bluff, Mo. (United States)
+KP07 Sanderson (United States)
+KP28 Medicine Lodge, Medicine Lodge (United States)
+KP35 Spickard (United States)
+KP38 Caliente (United States)
+KP58 Port Hope (United States)
+KP59 Copper Harbor (United States)
+KP60 Yellowstone Lake (United States)
+KP61 Grand Marais (United States)
+KP67 Lidgerwood Remote Automatic Meteorological Observing System (United States)
+KP69 Lowell (United States)
+KP75 Manistique (United States)
+KP88 Rome Automatic Meteorological Observing System (United States)
+KP92 Salt Point (United States)
+KPAE Everett, Snohomish County Airport (United States)
+KPAH Paducah, Barkley Regional Airport (United States)
+KPAM Tyndall Air Force Base (United States)
+KPAO Palo Alto Airport (United States)
+KPBF Pine Bluff, Grider Field (United States)
+KPBH Phillips / Price County (United States)
+KPBI West Palm Beach, Palm Beach International Airport (United States)
+KPDK Atlanta, De Kalb-Peachtree Airport (United States)
+KPDT Pendleton, Eastern Oregon Regional At Pendleton Airport (United States)
+KPDX Portland, Portland International Airport (United States)
+KPEO Penn Yan, Penn Yan Airport (United States)
+KPFN Panama City, Panama City-Bay County International Airport (United States)
+KPGA Page, Page Municipal Airport (United States)
+KPGD Punta Gorda, Charlotte County Airport (United States)
+KPGV Pitt-Greenville Airport (United States)
+KPHD New Philadelphia, Harry Clever Field (United States)
+KPHF Newport News, Newport News / Williamsburg International Airport (United States)
+KPHL Philadelphia, Philadelphia International Airport (United States)
+KPHN St. Clair County International (United States)
+KPHP Philip, Philip Airport (United States)
+KPHX Phoenix, Phoenix Sky Harbor International Airport (United States)
+KPIA Peoria, Greater Peoria Regional Airport (United States)
+KPIB Pine Belt Regional Automatic Weather Observing / Reporting System (United States)
+KPIE St. Petersburg / Clearwater, St. Petersburg / Clearwater International Airport (United States)
+KPIH Pocatello, Pocatello Regional Airport (United States)
+KPIR Pierre, Pierre Regional Airport (United States)
+KPIT Pittsburgh, Pittsburgh International Airport (United States)
+KPJB Payson  AZ  USA
+KPJI Point Judith Coast Guard Station   RI  USA
+KPKB Parkersburg / Wilson (United States)
+KPKD Park Rapids, Park Rapids Municipal Airport (United States)
+KPKF Park Falls, Wi.  WI  USA
+KPLB Plattsburgh, Clinton County Airport (United States)
+KPLN Pellston, Pellston Regional Airport (United States)
+KPMD Palmdale, Palmdale Production Flight Plant (United States)
+KPMP Pompano Beach, Pompano Beach Airpark (United States)
+KPNC Ponca City, Ponca City Municipal Airport (United States)
+KPNE Philadelphia, Northeast Philadelphia Airport (United States)
+KPNM Princeton (United States)
+KPNS Pensacola, Pensacola Regional Airport (United States)
+KPOB Pope Air Force Base (United States)
+KPOC La Verne / Brackett (United States)
+KPOE Fort Polk (United States)
+KPOF Poplar Bluff, Poplar Bluff Municipal Airport (United States)
+KPOU Poughkeepsie, Dutchess County Airport (United States)
+KPPF Parsons, Tri-City Airport (United States)
+KPQI Presque Isle (United States)
+KPQL Pascagoula, Lott International Airport (United States)
+KPQN Pipestone Automatic Weather Observing / Reporting System (United States)
+KPRB Paso Robles, Paso Robles Municipal Airport (United States)
+KPRC Prescott, Love Field (United States)
+KPRX Paris / Cox Field (United States)
+KPSC Pasco, Tri-Cities Airport (United States)
+KPSF Pittsfield, Pittsfield Municipal Airport (United States)
+KPSK Dublin / New River Valley (United States)
+KPSM Pease Air Force Base / Portsmouth (United States)
+KPSP Palm Springs, Palm Springs Regional Airport (United States)
+KPSX Palacios Municipal (United States)
+KPTB Petersburg Automatic Weather Observing / Reporting System (United States)
+KPTK Pontiac, Oakland County International Airport (United States)
+KPTN Patterson Memorial (United States)
+KPTT Pratt Municipal  KS  USA
+KPTV Porterville Automatic Weather Observing / Reporting System (United States)
+KPTW Pottstown, Pottstown Limerick Airport (United States)
+KPUB Pueblo, Pueblo Memorial Airport (United States)
+KPUC Price, Carbon County Airport (United States)
+KPUW Pullman / Moscow, Pullman / Moscow Regional Airport (United States)
+KPVC Provincetown Automatic Weather Observing / Reporting System (United States)
+KPVD Providence, Green State Airport (United States)
+KPVU Provo Municipal Automatic Weather Observing / Reporting System (United States)
+KPWA Oklahoma City, Wiley Post Airport (United States)
+KPWG Mc Gregor Automatic Weather Observing / Reporting System (United States)
+KPWK Chicago / Wheeling, Pal-Waukee Airport (United States)
+KPWM Portland, Portland International Jetport (United States)
+KPWT Bremerton National Automatic Weather Observing / Reporting System (United States)
+KPYM Plymouth, Plymouth Municipal Airport (United States)
+KRAC Racine, Batten International Airport (United States)
+KRAL Riverside, Riverside Municipal Airport (United States)
+KRAP Rapid City, Rapid City Regional Airport (United States)
+KRBD Dallas, Redbird Airport (United States)
+KRBG Roseburg, Roseburg Regional Airport (United States)
+KRBL Red Bluff, Red Bluff Municipal Airport (United States)
+KRCA Ellsworth Air Force Base (United States)
+KRDD Redding, Redding Municipal Airport (United States)
+KRDG Reading, Reading Regional Airport (United States)
+KRDK Red Oak (United States)
+KRDM Redmond Automatic Weather Observing / Reporting System (United States)
+KRDR Grand Forks Air Force Base (United States)
+KRDU Raleigh / Durham, Raleigh-Durham International Airport (United States)
+KREO Rome, Rome (United States)
+KRFD Rockford, Greater Rockford Airport (United States)
+KRHI Rhinelander, Rhinelander-Oneida County Airport (United States)
+KRHV San Jose / Reid / Hillv (United States)
+KRIC Richmond, Richmond International Airport (United States)
+KRIL Rifle, Garfield County Regional Airport (United States)
+KRIV Riverside / March Air Force Base (United States)
+KRIW Riverton, Riverton Regional Airport (United States)
+KRKD Rockland / Knox Automatic Weather Observing / Reporting System (United States)
+KRKP Rockport, Aransas County Airport (United States)
+KRKS Rock Springs (United States)
+KRME Griffiss Air Force Base / Rome (United States)
+KRMG Rome, R. B. Russell Airport (United States)
+KRND Randolph Air Force Base (United States)
+KRNM Ramona, Ramona Airport (United States)
+KRNO Reno, Reno Tahoe International Airport (United States)
+KRNT Renton, Renton Municipal Airport (United States)
+KROA Roanoke, Roanoke Regional Airport (United States)
+KROC Rochester, Greater Rochester International Airport (United States)
+KROG Rogers Automatic Weather Observing / Reporting System (United States)
+KROW Roswell, Roswell Industrial Air Center Airport (United States)
+KROX Roseau Municipal Automatic Weather Observing / Reporting System (United States)
+KRPE Sabine Pass (United States)
+KRQE Window Rock, Window Rock Airport (United States)
+KRRF New Port Richey, Tampa Bay Executive Airport (United States)
+KRSL Russell, Russell Municipal Airport (United States)
+KRST Rochester, Rochester Municipal Airport (United States)
+KRSW Fort Myers, Southwest Florida International Airport (United States)
+KRTN Raton, Raton Municipal \ Crews Field Airport (United States)
+KRUE Russellville, Russellville Municipal Airport (United States)
+KRUT Rutland State Automatic Weather Observing / Reporting System (United States)
+KRVS Tulsa, Jones Jr. Airport (United States)
+KRWF Redwood Falls, Redwood Falls Municipal Airport (United States)
+KRWI Rocky Mount, Rocky Mount-Wilson Airport (United States)
+KRWL Rawlins Municipal (United States)
+KRXE Rexburg, Rexburg-Madison County Airport (United States)
+KRYV Watertown (United States)
+KRZZ Roanoke Rapids, Halifax County Airport (United States)
+KS22 Hermiston, Hermiston Municipal Airport (United States)
+KS58 South Timbalier (United States)
+KS80 Grangeville  (United States)
+KS88 Arlington Automatic Weather Observing / Reporting System   WA  USA
+KSAC Sacramento, Sacramento Executive Airport (United States)
+KSAD Safford, Safford Municipal Airport (United States)
+KSAF Santa Fe, Santa Fe County Municipal Airport (United States)
+KSAN San Diego, San Diego International-Lindbergh Field (United States)
+KSAT San Antonio, San Antonio International Airport (United States)
+KSAV Savannah, Savannah International Airport (United States)
+KSBA Santa Barbara, Santa Barbara Municipal Airport (United States)
+KSBD Norton Air Force Base / San Bern (United States)
+KSBM Sheboygan, Sheboygan County Memorial Airport (United States)
+KSBN South Bend, Michiana Regional Airport (United States)
+KSBP San Luis Obispo, San Luis Obispo County-Mc Chesney Field (United States)
+KSBS Steamboat Springs (United States)
+KSBY Salisbury, Salisbury-Wicomico County Regional Airport (United States)
+KSCC Deadhorse, Deadhorse Airport  AK  USA
+KSCH Schenectady Airport (United States)
+KSCK Stockton, Stockton Metropolitan Airport (United States)
+KSDA Shenandoah Municipal (United States)
+KSDB Sandberg (United States)
+KSDF Louisville, Standiford Field (United States)
+KSDL Scottsdale, Scottsdale Airport (United States)
+KSDM San Diego, Brown Field Municipal Airport (United States)
+KSDY Sidney-Richland (United States)
+KSEA Seattle, Seattle-Tacoma International Airport (United States)
+KSEE San Diego / Gillespie (United States)
+KSEG Selinsgrove, Penn Valley Airport (United States)
+KSEM Craig Field / Selma  AL  USA
+KSEP Stephenville / Clark Field Municipal, Tx.  TX  USA
+KSET St. Charles, St. Charles County Smartt Airport (United States)
+KSEZ Sedona Airport  AZ  USA
+KSFB Orlando / Sanford Airport (United States)
+KSFD Winner - Bob Wiley Field (United States)
+KSFF Spokane, Felts Field (United States)
+KSFM Sanford Municipal Automatic Weather Observing / Reporting System (United States)
+KSFO San Francisco, San Francisco International Airport (United States)
+KSFZ Pawtucket Automatic Weather Observing / Reporting System (United States)
+KSGF Springfield, Springfield Regional Airport (United States)
+KSGH Springfield Municipal  OH  USA
+KSGT Stuttgart Automatic Weather Observing / Reporting System (United States)
+KSGU Saint George Automatic Weather Observing / Reporting System (United States)
+KSHD Staunton / Shenandoah (United States)
+KSHL Sheldon (United States)
+KSHN Shelton, Sanderson Field (United States)
+KSHR Sheridan, Sheridan County Airport (United States)
+KSHV Shreveport, Shreveport Regional Airport (United States)
+KSIY Montague / Siskiyou (United States)
+KSJC San Jose, San Jose International Airport (United States)
+KSJT San Angelo, Mathis Field (United States)
+KSKA Fairchild Air Force Base (United States)
+KSKF Kelly Air Force Base (United States)
+KSKX Taos Municipal Airport Automatic Weather Observing / Reporting System (United States)
+KSLB Storm Lake (United States)
+KSLC Salt Lake City, Salt Lake City International Airport (United States)
+KSLE Salem, McNary Field (United States)
+KSLG Siloam Spring Automatic Weather Observing / Reporting System (United States)
+KSLK Saranac Lake, Adirondack Regional Airport (United States)
+KSLN Salina, Salina Municipal Airport (United States)
+KSME Somerset Automatic Weather Observing / Reporting System (United States)
+KSMF Sacramento, Sacramento Metropolitan Airport (United States)
+KSMN Salmon / Lemhi Automatic Weather Observing / Reporting System (United States)
+KSMO Santa Monica, Santa Monica Municipal Airport (United States)
+KSMP Stampede Pass (United States)
+KSMX Santa Maria, Santa Maria Public Airport (United States)
+KSNA Santa Ana, John Wayne Airport-Orange County Airport (United States)
+KSNS Salinas, Salinas Municipal Airport (United States)
+KSNY Sidney, Sidney Municipal Airport (United States)
+KSOP Southern Pines Automatic Weather Observing / Reporting System (United States)
+KSOW Show Low Municipal (United States)
+KSPA Spartanburg Memorial (United States)
+KSPB Scappoose, Scappoose Industrial Airpark (United States)
+KSPD Springfield, Comanche National Grassland (United States)
+KSPF Spearfish / Clyde Ice (United States)
+KSPG St. Petersburg, Whitted Airport (United States)
+KSPI Springfield, Capital Airport (United States)
+KSPS Wichita Falls, Sheppard Air Force Base (United States)
+KSPW Spencer, Spencer Municipal Airport (United States)
+KSQI Sterling Rockfalls (United States)
+KSQL San Carlos Airport (United States)
+KSRQ Sarasota / Bradenton, Sarasota-Bradenton International Airport (United States)
+KSRR Ruidoso Regional (United States)
+KSSC Shaw Air Force Base (United States)
+KSSF San Antonio, Stinson Municipal Airport (United States)
+KSSI Brunswick, McKinnon Airport (United States)
+KSSU White Sulphur Sprng  WV  USA
+KSTC St. Cloud, St. Cloud Municipal Airport (United States)
+KSTJ St. Joseph, Rosecrans Memorial Airport (United States)
+KSTL St. Louis, Lambert-St. Louis International Airport (United States)
+KSTP St. Paul, St. Paul Downtown Holman Field (United States)
+KSTS Santa Rosa, Sonoma County Airport (United States)
+KSTT Charlotte Amalie, King Airport  VI  USA
+KSTX Christiansted, Hamilton Airport  VI  USA
+KSUE Sturgeon Bay (United States)
+KSUN Hailey / Friedman Memorial (United States)
+KSUS St. Louis, Spirit Of St. Louis Airport (United States)
+KSUU Fairfield / Travis Air Force Base (United States)
+KSUX Sioux City, Sioux Gateway Airport (United States)
+KSVC Silver City / Grant  NM  USA
+KSVE Susanville Municipal  CA  USA
+KSVN Hunter U. S. Army Airfield  (United States)
+KSWD Seward, Seward Airport  AK  USA
+KSWF Newburgh / Stewart (United States)
+KSWO Stillwater, Stillwater Municipal Airport (United States)
+KSXT Sexton Summit, (United States)
+KSYR Syracuse, Syracuse Hancock International Airport (United States)
+KSZL Whiteman Air Force Base (United States)
+KSZN Santa Cruz Island  CA  USA
+KT02 Houston, Clover Field (United States)
+KT31 Port Isabel, Port Isabel-Cameron County Airport (United States)
+KT46 South Brazos A70  TX  USA
+KT62 Tooele (United States)
+KTAD Trinidad / Animas Co. (United States)
+KTAL Tanana, Calhoun Memorial Airport  AK  USA
+KTAN Taunton, Taunton Municipal Airport (United States)
+KTBN Fort Leonard Wood (United States)
+KTBW Tampa Bay Area, Fl.  FL  USA
+KTCC Tucumcari, Tucumcari Municipal Airport (United States)
+KTCL Tuscaloosa, Tuscaloosa Municipal Airport (United States)
+KTCM Tacoma / McChord Air Force Base (United States)
+KTCS Truth Or Consequences, Truth Or Consequences Municipal Airport (United States)
+KTDO Toledo-Winlock Memorial (United States)
+KTDZ Toledo, Metcalf Field (United States)
+KTEB Teterboro, Teterboro Airport (United States)
+KTEX Telluride Regional (United States)
+KTFX Marina  UT  USA
+KTHV York, York Airport (United States)
+KTIK Tinker Air Force Base (United States)
+KTIW Tacoma, Tacoma Narrows Airport (United States)
+KTIX Titusville (United States)
+KTKI McKinney, McKinney Municipal Airport (United States)
+KTLH Tallahassee, Tallahassee Regional Airport (United States)
+KTMB Miami, Kendall-Tamiami Executive Airport (United States)
+KTNU Newton Municipal (United States)
+KTOA Torrance Municipal (United States)
+KTOI Troy, Troy Municipal Airport (United States)
+KTOL Toledo, Toledo Express Airport (United States)
+KTOP Topeka, Philip Billard Municipal Airport (United States)
+KTOR Torrington, Torrington Municipal Airport (United States)
+KTPA Tampa, Tampa International Airport (United States)
+KTPH Tonopah, Tonopah Airport (United States)
+KTPL Temple / Miller Automatic Weather Observing / Reporting System (United States)
+KTQE Tekamah, Tekamah Municipal Airport (United States)
+KTRI Bristol / Johnson / Kingsport, Tri-City Regional Airport (United States)
+KTRK Truckee-Tahoe (United States)
+KTRL Terrell, Terrell Municipal Airport (United States)
+KTRM Palm Springs, Thermal Airport (United States)
+KTTD Portland, Portland-Troutdale Airport (United States)
+KTTN Trenton, Mercer County Airport (United States)
+KTTS NASA Shuttle Facility (United States)
+KTUL Tulsa, Tulsa International Airport (United States)
+KTUP Tupelo, Tupelo Municipal-Lemons Airport (United States)
+KTUS Tucson, Tucson International Airport (United States)
+KTVC Traverse City, Cherry Capital Airport (United States)
+KTVF Thief River Automatic Weather Observing / Reporting System (United States)
+KTVL South Lake Tahoe, Lake Tahoe Airport (United States)
+KTVR Vicksburg, Vicksburg / Tallulah Regional Airport (United States)
+KTWF Twin Falls, Joslin Field-Magic Valley Regional Airport (United States)
+KTWM Two Harbors (United States)
+KTXK Texarkana, Texarkana Regional-Webb Field (United States)
+KTYR Tyler, Tyler Pounds Field (United States)
+KTYS Knoxville, McGhee Tyson Airport (United States)
+KU15 Challis, Challis Airport (United States)
+KU17 Bullfrog Marina (United States)
+KU24 Delta (United States)
+KU28 Green River Range (United States)
+KU31 Austin (United States)
+KU67 Roosevelt, Ut  UT  USA
+KU71 Vernal  UT  USA
+KU73 Jerome, Jerome County Airport (United States)
+KU78 Soda Springs / Tigert (United States)
+KUAO Aurora, Aurora State Airport (United States)
+KUCA Utica, Oneida County Airport (United States)
+KUEX Grand Island Nexrad  NE  USA
+KUGN Chicago / Waukegan (United States)
+KUIL Quillayute, Quillayute State Airport (United States)
+KUIN Quincy Municipal / Baldwin (United States)
+KUKI Ukiah Municipal Automatic Weather Observing / Reporting System (United States)
+KULM New Ulm Municipal Automatic Weather Observing / Reporting System (United States)
+KUNO West Plains, West Plains Municipal Airport (United States)
+KUNV State College (United States)
+KUTS Huntsville, Huntsville Municipal Airport (United States)
+KUUU Newport, Newport State Airport (United States)
+KUZA Rock Hill, Rock Hill - York County Airport (United States)
+KVAD Moody Air Force Base (United States)
+KVAY Mount Holly, South Jersey Regional Airport (United States)
+KVBG Vandenberg Air Force Base (United States)
+KVBT Bentonville Automatic Weather Observing / Reporting System (United States)
+KVCB Vacaville, Nut Tree Airport (United States)
+KVCT Victoria, Victoria Regional Airport (United States)
+KVCV George Afb / Victorvi  CA  USA
+KVEL Vernal, Vernal Airport (United States)
+KVIH Rolla / Vichy, Rolla National Airport (United States)
+KVIS Visalia Municipal Automatic Weather Observing / Reporting System (United States)
+KVJI Abingdon (United States)
+KVKS Vicksburg Municipal  MS  USA
+KVLD Valdosta Regional (United States)
+KVNY Van Nuys, Van Nuys Airport (United States)
+KVOK Volk / Camp Douglas (United States)
+KVPC Cartersville, Cartersville Airport  GA  USA
+KVPS Valparaiso / Eglin Air Force Base (United States)
+KVPZ Valparaiso, Porter County Municipal Airport (United States)
+KVQN Volens  VA  USA
+KVRB Vero Beach, Vero Beach Municipal Airport (United States)
+KVRX Vermillion Area  LA  USA
+KVSF Springfield, Hartness State Springfield Airport (United States)
+KVTA Newark, Newark Heath Airport (United States)
+KVTN Valentine, Miller Field (United States)
+KVTX Los Angeles Nexrad  CA  USA
+KVUO Vancouver, Pearson Airpark (United States)
+KVUW Eugene Island  LA  USA
+KW08 Weirwood LDSP    Split / Resnik  Croatia
+KWAL Wallops Island, Wallops Flight Facility Airport (United States)
+KWDG Enid / Woodring Municipal (United States)
+KWJF Lancaster / Fox Field (United States)
+KWLD Winfield / Arkansas City, Strother Field (United States)
+KWMC Winnemucca, Winnemucca Municipal Airport (United States)
+KWRB Warner Robins Air Force Base (United States)
+KWRI Mcguire Air Force Base (United States)
+KWRL Worland, Worland Municipal Airport (United States)
+KWVI Watsonville, Watsonville Municipal Airport (United States)
+KWVL Waterville Automatic Weather Observing / Reporting System (United States)
+KWWD Wildwood Automatic Weather Observing / Reporting System (United States)
+KWYS West Yellowstone (United States)
+KXVW Vandenberg Range (United States)
+KY22 Lemmon (United States)
+KY26 Mobridge (United States)
+KYIP Detroit, Willow Run Airport (United States)
+KYKM Yakima, Yakima Air Terminal (United States)
+KYKN Yankton Automatic Weather Observing / Reporting System (United States)
+KYNG Youngstown, Youngstown-Warren Regional Airport (United States)
+KYUM Yuma / Yuma International (United States)
+KZZV Zanesville, Zanesville Municipal Airport (United States)
+LATI Tirana (Albania)
+LBBG Burgas (Bulgaria)
+LBPD Plovdiv (Bulgaria)
+LBSF Sofia Observ.  (Bulgaria)
+LBWN Varna (Bulgaria)
+LCEN Ercan (Cyprus)
+LCLK Larnaca Airport (Cyprus)
+LCPH Paphos Airport (Cyprus)
+LCRA Akrotiri (Cyprus)
+LDDU Dubrovnik / Cilipi (Croatia)
+LDPL Pula Aerodrome (Croatia)
+LDRI Rijeka / Omisalj (Croatia)
+LDSP Split / Resnik (Croatia)
+LDVA Varazdin  Croatia
+LDZA Zagreb / Pleso (Croatia)
+LDZD Zadar / Zemunik (Croatia)
+LEAB Albacete / Los Llanos  Spain
+LEAL Alicante / El Altet (Spain)
+LEAM Almeria / Aeropuerto (Spain)
+LEAS Asturias / Aviles (Spain)
+LEBA Cordoba / Aeropuerto  Spain
+LEBB Bilbao / Sondica (Spain)
+LEBG Burgos / Villafria  Spain
+LEBL Barcelona / Aeropuerto (Spain)
+LEBZ Badajoz / Talavera La Real  Spain
+LECH Calamocha  Spain
+LECO La Coruna / Alvedro (Spain)
+LECV Madri-Colmenar  Spain
+LEGE Gerona / Costa Brava (Spain)
+LEGR Granada / Aeropuerto (Spain)
+LEGT Madrid / Getafe  Spain
+LEHI Hinojosa Del Duque  Spain
+LEIB Ibiza / Es Codola (Spain)
+LEJR Jerez De La Fronteraaeropuerto (Spain)
+LELC Murcia / San Javier (Spain)
+LELL Sabadell  Spain
+LELN Leon / Virgen Del Camino  Spain
+LELO Logrono / Agoncillo  Spain
+LEMD Madrid / Barajas (Spain)
+LEMG Malaga / Aeropuerto (Spain)
+LEMH Menorca / Mahon (Spain)
+LEMO Moron De La Frontera  Spain
+LEPA Palma De Mallorca / Son San Juan (Spain)
+LEPP Pamplona / Noain (Spain)
+LERI Murcia / Alcantarilla  Spain
+LERS Reus / Aeropuerto (Spain)
+LERT Rota  Spain
+LESA Salamanca / Matacan  Spain
+LESO San Sebastian / Fuenterrabia (Spain)
+LEST Santiago / Labacolla (Spain)
+LETO Madrid / Torrejon  Spain
+LEVC Valencia / Aeropuerto (Spain)
+LEVD Valladolid / Villanubla (Spain)
+LEVS Madrid / Cuatro Vientos (Spain)
+LEVT Vitoria (Spain)
+LEVX Vigo / Peinador (Spain)
+LEXJ Santander / Parayas (Spain)
+LEZA Zaragoza United States Air Force Operated Base In Foreign Country   Spain
+LEZG Zaragoza / Aeropuerto (Spain)
+LEZL Sevilla / San Pablo (Spain)
+LFAT Le Touquet (France)
+LFBA Agen (France)
+LFBC Cazaux (France)
+LFBD Bordeaux / Merignac (France)
+LFBE Bergerac  France
+LFBF Toulouse / Francazal  France
+LFBG Cognac (France)
+LFBH La Rochelle  France
+LFBI Poitiers (France)
+LFBK Montlucon / Gueret  France
+LFBL Limoges (France)
+LFBM Mont-De-Marsan (France)
+LFBN Niort  FrLFOW    Saint-Quentin  France
+LFBO Toulouse / Blagnac (France)
+LFBP Pau (France)
+LFBT Tarbes / Ossun (France)
+LFBZ Biarritz (France)
+LFCG St-Girons (France)
+LFJL Metz-Nancy-Lorraine (France)
+LFKB Bastia (France)
+LFKC Calvi (France)
+LFKF Figari (France)
+LFKJ Ajaccio (France)
+LFLB Chambery / Aix-Les-Bains (France)
+LFLC Clermont-Ferrand (France)
+LFLD Bourges (France)
+LFLL Lyon / Satolas (France)
+LFLS Grenoble / St. Geoirs (France)
+LFLV Vichy (France)
+LFLY Lyon / Bron (France)
+LFMD Cannes (France)
+LFMH St-Etienne Boutheon (France)
+LFML Marseille / Marignane (France)
+LFMN Nice (France)
+LFMP Perpignan (France)
+LFMT Montpellier (France)
+LFOB Beauvais (France)
+LFOE Evreux (France)
+LFOH La Heve (France)
+LFOP Rouen (France)
+LFOT Tours (France)
+LFPB Paris / Le Bourget (France)
+LFPC Creil Fafb   France
+LFPG Paris-Aeroport Charles De Gaulle (France)
+LFPM Melun  France
+LFPN Toussus Le Noble (France)
+LFPO Paris-Orly (France)
+LFPV Villacoublay (France)
+LFPW Paris Met Center  France
+LFQB Troyes (France)
+LFQG Nevers  France
+LFQH Chatillon-Sur-Seine  France
+LFQI Cambrai  France
+LFQQ Lille (France)
+LFQV Charleville  France
+LFRA Angers  France
+LFRB Brest (France)
+LFRC Cherbourg / Maupertus (France)
+LFRD Dinard (France)
+LFRH Lann Bihoue (France)
+LFRI La Roche-Sur-Yon  France
+LFRJ Landivisiau  France
+LFRK Caen (France)
+LFRL Lanveoc Poulmic  France
+LFRM Le Mans (France)
+LFRN Rennes (France)
+LFRO Lannion / Servel (France)
+LFRQ Quimper (France)
+LFRS Nantes (France)
+LFRT Saint-Brieuc (France)
+LFRU Morlaix / Ploujean  France
+LFRZ St-Nazaire (France)
+LFSA Besancon  France
+LFSB Bale-Mulhouse (France)
+LFSC Colmar (France)
+LFSD Dijon (France)
+LFSF Metz / Frescaty (France)
+LFSI St-Dizier (France)
+LFSL Toul / Rosieres (France)
+LFSN Nancy / Essey (France)
+LFSO Nancy / Ochey (France)
+LFSQ Belfort  France
+LFSR Reims (France)
+LFST Strasbourg (France)
+LFSX Luxeuil (France)
+LFTH Hyeres (France)
+LFTU St-Raphael  France
+LFTW Nimes / Garons (France)
+LFVP Saint-Pierre  Saint Pierre and Miquelon
+LFXA Amberieu  France
+LFXI Airport  France
+LFYR Romorantin  France
+LGAD Andravida Airport  (Greece)
+LGAL Alexandroupoli Airport  (Greece)
+LGAT Athinai Airport  (Greece)
+LGBL Anchialos Airport   Greece
+LGEL Elefsis Airport  (Greece)
+LGHI Chios Airport   Greece
+LGIR Heraklion Airport  (Greece)
+LGKA Kastoria Airport   Greece
+LGKF Kefalhnia Airport  (Greece)
+LGKL Kalamata Airport  (Greece)
+LGKO Kos Airport  (Greece)
+LGKR Kerkyra Airport  (Greece)
+LGKV Chrysoupoli Airport  (Greece)
+LGKZ Kozani Airport  (Greece)
+LGLM Limnos Airport  (Greece)
+LGLR Larissa Airport   Greece
+LGMT Mytilini Airport  (Greece)
+LGPZ Aktion Airport  (Greece)
+LGRP Rhodes Airport  (Greece)
+LGRX Araxos Airport  (Greece)
+LGSA Souda Airport  (Greece)
+LGSK Skiathos Island (Greece)
+LGSM Samos Airport  (Greece)
+LGSR Santorini Island (Greece)
+LGTS Thessaloniki Airport  (Greece)
+LGZA Zakinthos Airport  (Greece)
+LHBP Budapest / Ferihegy (Hungary)
+LHPA Papa (Hungary)
+LHSY Szombathely (Hungary)
+LIBA Amendola (Italy)
+LIBC Crotone (Italy)
+LIBD Bari / Palese Macchie (Italy)
+LIBG Grottaglie (Italy)
+LIBN Lecce (Italy)
+LIBP Pescara (Italy)
+LIBQ Monte Scuro (Italy)
+LIBR Brindisi (Italy)
+LIBV Gioia Del Colle (Italy)
+LIBY S. Maria Di Leuca (Italy)
+LICA Lamezia Terme (Italy)
+LICC Catania / Fontanarossa (Italy)
+LICD Lampedusa (Italy)
+LICF Messina (Italy)
+LICG Pantelleria (Italy)
+LICJ Palermo / Punta Raisi (Italy)
+LICM Calopezzati   Italy
+LICO Cozzo Spadaro  Italy
+LICP Palermo Boccadifalco  Italy
+LICR Reggio Calabria (Italy)
+LICT Trapani / Birgi (Italy)
+LICU Ustica  Italy
+LICZ Catania / Sigonella (Italy)
+LIEA Alghero (Italy)
+LIEB Capo Bellavista (Italy)
+LIEC Capo Carbonara  Italy
+LIED Decimomannu (Italy)
+LIEE Cagliari / Elmas (Italy)
+LIEF Capo Frasca  Italy
+LIEG Guardiavecchia  Italy
+LIEH Capo Caccia  Italy
+LIEL Capo S. Lorenzo  Italy
+LIEN Fonni  Italy
+LIEO Olbia / Costa Smeralda (Italy)
+LIEP Perdasdefogu  Italy
+LIMC Milano / Malpensa (Italy)
+LIME Bergamo / Orio Al Serio (Italy)
+LIMF Torino / Caselle (Italy)
+LIMG Albenga (Italy)
+LIMH Pian Rosa (Italy)
+LIMJ Genova / Sestri (Italy)
+LIMK Torino / Bric Della Croce (Italy)
+LIML Milano / Linate (Italy)
+LIMN Novara / Cameri (Italy)
+LIMO Monte Bisbino (Italy)
+LIMS Piacenza (Italy)
+LIMT Passo Della Cisa (Italy)
+LIMU Capo Mele (Italy)
+LIMV Passo Dei Giovi (Italy)
+LIMY Monte Malanotte (Italy)
+LIPA Aviano (Italy)
+LIPB Bolzano (Italy)
+LIPC Cervia (Italy)
+LIPD Udine / Campoformido  Italy
+LIPE Bologna / Borgo Panigale (Italy)
+LIPF Ferrara (Italy)
+LIPH Treviso / S. Angelo (Italy)
+LIPI Udine / Rivolto (Italy)
+LIPK Forli (Italy)
+LIPL Brescia / Ghedi (Italy)
+LIPP Dova Area Control Center  Italy
+LIPQ Ronchi Dei Legionari (Italy)
+LIPR Rimini (Italy)
+LIPS Treviso / Istrana (Italy)
+LIPT Vicenza (Italy)
+LIPX Verona / Villafranca (Italy)
+LIPY Falconara (Italy)
+LIPZ Venezia / Tessera (Italy)
+LIQB Arezzo  Italy
+LIQC Capri (Italy)
+LIQD Porretta Pass  Italy
+LIQI Gran Sasso Mountain Range   Italy
+LIQJ Civitavecchia  Italy
+LIQK Capo Palinuro  Italy
+LIQN Rieti (Italy)
+LIQO Monte Argentario (Italy)
+LIQP Isola Di Palmaria  Italy
+LIQR Radicofani  Italy
+LIQV Volterra  Italy
+LIQW Sarzana / Luni (Italy)
+LIQZ Ponza  Italy
+LIRA Roma / Ciampino (Italy)
+LIRB Vigna Di Valle  Italy
+LIRE Pratica Di Mare (Italy)
+LIRF Roma Fiumicino (Italy)
+LIRG Guidonia (Italy)
+LIRH Frosinone (Italy)
+LIRK Monte Terminillo (Italy)
+LIRL Latina (Italy)
+LIRN Napoli / Capodichino (Italy)
+LIRP Pisa / S. Giusto (Italy)
+LIRQ Firenze / Peretola (Italy)
+LIRS Grosseto (Italy)
+LIRT Trevico (Italy)
+LIRU Roma / Urbe (Italy)
+LIRV Viterbo (Italy)
+LIRZ Perugia (Italy)
+LIVC Monte Cimone (Italy)
+LIVD Dobbiaco (Italy)
+LIVE Resia Pass  (Italy)
+LIVF Frontone (Italy)
+LIVM Punta Marina (Italy)
+LIVO Tarvisio (Italy)
+LIVP Paganella (Italy)
+LIVR Passo Rolle (Italy)
+LIVT Trieste (Italy)
+LJLJ Ljubljana / Brnik (Slovenia)
+LJMB Maribor / Slivnica (Slovenia)
+LJPZ Portoroz (Slovenia)
+LKMT Ostrava / Mosnov (Czech Republic)
+LKPR Praha / Ruzyne (Czech Republic)
+LKTB Brno / Turany (Czech Republic)
+LLBG Ben-Gurion International Airport (Israel)
+LLET Eilat (Israel)
+LLJR Jerusalem Airport (Jordan)
+LLOV Ovda (Israel)
+LMML Luqa (Malta)
+LOWG Graz-Thalerhof-Flughafen (Austria)
+LOWI Innsbruck-Flughafen (Austria)
+LOWK Klagenfurt-Flughafen (Austria)
+LOWL Linz / Hoersching-Flughafen (Austria)
+LOWS Salzburg-Flughafen (Austria)
+LOWW Wien / Schwechat-Flughafen (Austria)
+LPAZ Santa Maria Acores  (Portugal)
+LPBJ Beja (Portugal)
+LPFR Faro / Aeroporto (Portugal)
+LPFU Funchal / S. Catarina (Portugal)
+LPHR Horta / Castelo Branco Acores   Portugal
+LPLA Lajes Acores  (Portugal)
+LPPD Ponta Delgada / Nordela Acores  (Portugal)
+LPPR Porto / Pedras Rubras (Portugal)
+LPPS Porto Santo (Portugal)
+LPPT Lisboa / Portela (Portugal)
+LPVR Vila Real  Portugal
+LQBI Bihac  Yugoslavia
+LQBK Banja Luka  Yugoslavia
+LQLV Livno  Bosia and Herzegovina
+LQMO Mostar  Yugoslavia
+LQSA Sarajevo / Butmir (Yugoslavia)
+LQTZ Tuzla  Yugoslavia
+LRAR Arad (Romania)
+LRBC Bacau  Romania
+LRBM Baia Mare  Romania
+LRBS Bucuresti / Imh (Romania)
+LRCK Kogalniceanu (Romania)
+LRCL Cluj-Napoca  Romania
+LRCS Caransebes  Romania
+LRCV Craiova  Romania
+LRIA Iasi (Romania)
+LROD Oradea  Romania
+LROP Bucuresti Otopeni (Romania)
+LRSB Sibiu  Romania
+LRSM Satu Mare  Romania
+LRSV Suceava / Salcea  Romania
+LRTC Tulcea (Romania)
+LRTM Tirgu Mures (Romania)
+LRTR Timisoara (Romania)
+LSGG Geneve-Cointrin (Switzerland)
+LSGL Lausanne  Switzerland
+LSGN Neuchatel  Switzerland
+LSGS Sion (Switzerland)
+LSMP Payerne  Switzerland
+LSZA Lugano (Switzerland)
+LSZB Bern / Belp  (Switzerland)
+LSZH Zurich-Kloten (Switzerland)
+LTAB Ankara / Guvercin Lik  Turkey
+LTAC Ankara / Esenboga (Turkey)
+LTAD Ankara / Etimesgut (Turkey)
+LTAE Murted Tur-Afb  (Turkey)
+LTAF Adana / Sakirpasa (Turkey)
+LTAG Adana / Incirlik (Turkey)
+LTAH Afyon (Turkey)
+LTAI Antalya (Turkey)
+LTAJ Gaziantep (Turkey)
+LTAK Iskenderun  Turkey
+LTAN Konya (Turkey)
+LTAP Merzifon (Turkey)
+LTAQ Samsun (Turkey)
+LTAR Sivas (Turkey)
+LTAS Zonguldak  Turkey
+LTAT Malatya / Erhac (Turkey)
+LTAU Kayseri / Erkilet (Turkey)
+LTAV Sivrihisar (Turkey)
+LTAW Tokat  Turkey
+LTAY Cardak  Turkey
+LTBA Istanbul / Ataturk (Turkey)
+LTBD Aydin  Turkey
+LTBE Bursa (Turkey)
+LTBF Balikesir (Turkey)
+LTBG Bandirma (Turkey)
+LTBH Canakkale  Turkey
+LTBI Eskisehir (Turkey)
+LTBJ Izmir / Adnan Menderes (Turkey)
+LTBL Izmir / Cigli (Turkey)
+LTBM Isparta  Turkey
+LTBO Usak SR    Santa Rosa De Copan  Honduras
+LTBQ Topel Tur-Afb  (Turkey)
+LTBS Dalaman (Turkey)
+LTBT Akhisar (Turkey)
+LTBU Corlu (Turkey)
+LTCA Elazig (Turkey)
+LTCC Diyarbakir (Turkey)
+LTCE Erzurum (Turkey)
+LTCG Trabzon (Turkey)
+LTCH Urfa (Turkey)
+LTCI Van (Turkey)
+LTCJ Batman (Turkey)
+LTCK Mus Tur-Afb  (Turkey)
+LWOH Ohrid (Macedonia, the Former Yugoslav Republic of)
+LWSK Skopje-Petrovec (Macedonia, the Former Yugoslav Republic of)
+LXGB Gibraltar (Gibraltar)
+LYBE Beograd / Surcin (Yugoslavia)
+LYNI Nis (Yugoslavia)
+LYPG Podgorica Titograd  (Yugoslavia)
+LYPR Pristina (Yugoslavia)
+LYTI Podgorica / Golubovci (Yugoslavia)
+LYTV Tivat (Yugoslavia)
+LZIB Bratislava Ivanka (Slovakia)
+LZTT Poprad / Tatry (Slovakia)
+MDLR La Romana International Airport (Dominican Republic)
+MDPC Punta Cana (Dominican Republic)
+MDPP Puerto Plata International (Dominican Republic)
+MDSD Las Americas (Dominican Republic)
+MDST Santiago (Dominican Republic)
+MGFL Flores (Guatemala)
+MGGT Guatemala Aeropuertola Aurora  (Guatemala)
+MGHT Huehuetenango (Guatemala)
+MGPB Puerto Barrios (Guatemala)
+MGQZ Quezaltenango (Guatemala)
+MGSJ San Jose (Guatemala)
+MGZA Zacapa (Guatemala)
+MHAM Amapala (Honduras)
+MHCA Catacamas (Honduras)
+MHCH Choluteca (Honduras)
+MHLC La Ceiba Airport  (Honduras)
+MHLE La Esperanza (Honduras)
+MHLM La Mesa San Pedro Sula  (Honduras)
+MHPL Puerto Lempira (Honduras)
+MHRO Roatan (Honduras)
+MHSC Nueva Ocotepeque (Honduras)
+MHSR Santa Rosa De Copan (Honduras)
+MHTE Tela (Honduras)
+MHTG Tegucigalpa (Honduras)
+MHYR Yoro (Honduras)
+MKJP Kingston / Norman Manley (Jamaica)
+MKJS Montego Bay / Sangster (Jamaica)
+MMAA Acapulco / G. Alvarez (Mexico)
+MMAN Aerop. Internacional Monterrey, N. L. (Mexico)
+MMAS Aguascalientes, Ags. (Mexico)
+MMBT Bahias De Huatulco  (Mexico)
+MMCB Cuernavaca, Mor. (Mexico)
+MMCE Ciudad Del Carmen  (Mexico)
+MMCL Culiacan, Sin. (Mexico)
+MMCM Chetumal, Q. Roo (Mexico)
+MMCN Santa Rosalia, B. C. S. (Mexico)
+MMCP Campeche, Camp. (Mexico)
+MMCS Ciudad Juarez International  (Mexico)
+MMCU Chihuahua International Airport (Mexico)
+MMCV Ciudad Victoria Airport (Mexico)
+MMCZ Cozumel Civ / Mil  (Mexico)
+MMDO Durango Airport (Mexico)
+MMEP Tepic, Nay. (Mexico)
+MMGL Don Miguel / Guadalaj (Mexico)
+MMGM Guaymas International Airport (Mexico)
+MMHO Hermosillo, Son. (Mexico)
+MMIA Colima  (Mexico)
+MMIO Saltillo, Coah. (Mexico)
+MMLC Lazaro Cardenas  Mexico
+MMLM Los Mochis Airport (Mexico)
+MMLO Del Bajio / Leon (Mexico)
+MMLP La Paz International Airport (Mexico)
+MMLT Loreto, B. C. S.  Mexico
+MMMA Matamoros International  (Mexico)
+MMMD Aerop. Internacional Merida, Yuc (Mexico)
+MMML Mexicali International Airport  (Mexico)
+MMMM Morelia New (Mexico)
+MMMT Minatitlan (Mexico)
+MMMV Monclova, Coah. (Mexico)
+MMMX Mexico City / Licenci (Mexico)
+MMMY Monterrey / Gen Maria (Mexico)
+MMMZ Mazatlan / G. Buelna (Mexico)
+MMNL Nuevo Laredo International  (Mexico)
+MMOX Oaxaca / Xoxocotlan (Mexico)
+MMPB Puebla, Pue. (Mexico)
+MMPG Piedras Negras, Coah. (Mexico)
+MMPN Uruapan / Gen Rayon (Mexico)
+MMPR Puerto Vallarta / Lic (Mexico)
+MMPS Puerto Escondido  (Mexico)
+MMQT Queretaro, Qro. (Mexico)
+MMRX Reynosa International Airport  (Mexico)
+MMSD San Jose Del Cabo  (Mexico)
+MMSP San Luis Potosi, S. L. P. (Mexico)
+MMTC Torreon, Coah. (Mexico)
+MMTG Tuxtla Gutierrez, Chis. (Mexico)
+MMTJ Tijuana International Airport  (Mexico)
+MMTL Tulancingo  (Mexico)
+MMTM Tampico / Gen Fj Mina (Mexico)
+MMTO Toluca / Jose Maria  (Mexico)
+MMTP Tapachula  (Mexico)
+MMUN Cancun International Airport (Mexico)
+MMVA Villahermosa  (Mexico)
+MMVR Gen. Heriberto Jara (Mexico)
+MMZC Zacatecas Airport (Mexico)
+MMZH Ixtapa-Zihuatanejo (Mexico)
+MMZO Manzanillo International  (Mexico)
+MNBL Bluefields (Nicaragua)
+MNCH Chinandega (Nicaragua)
+MNJG Jinotega (Nicaragua)
+MNJU Juigalpa (Nicaragua)
+MNMG Managua A. C. Sandino (Nicaragua)
+MNPC Puerto Cabezas (Nicaragua)
+MNRS Rivas (Nicaragua)
+MPBO Bocas Del Toro International (Panama)
+MPDA David (Panama)
+MPHO Howard Air Force Base (Panama)
+MPMG Marcos A. Gelabert (Panama)
+MPSA Santiago (Panama)
+MPTO Tocumen (Panama)
+MRCH Chacarita (Costa Rica)
+MRLB Liberia (Costa Rica)
+MRLM Puerto Limon (Costa Rica)
+MROC Juan Santamaria (Costa Rica)
+MRPV Tobias Bolanos International (Costa Rica)
+MSAC Acajutla (El Salvador)
+MSLP El Salvador Intl. Airport / Comalapa (El Salvador)
+MSSA Santa Ana / El Palmar (El Salvador)
+MSSM San Miguel / El Papalon (El Salvador)
+MSSS San Salvador / Ilopango (El Salvador)
+MTPP Port-Au-Prince / Aeroport International (Haiti)
+MUBA Baracoa, Oriente (Cuba)
+MUBY Bayamo  (Cuba)
+MUCA Venezuela, Ciego De Avila (Cuba)
+MUCL Cayo Largo Del Sur (Cuba)
+MUCM Camaguey Aeropuerto (Cuba)
+MUCU Santiago De Cuba, Oriente (Cuba)
+MUGT Guantanamo, Oriente (Cuba)
+MUHA Aeropuerto Jose Mar-Ti, Rancho-Boyeros, Habana (Cuba)
+MUHG Holguin Civ / Mil  (Cuba)
+MUMO Moa Military  (Cuba)
+MUMZ Manzanillo, Oriente (Cuba)
+MUNG Nueva Gerona, Isla De Pinos (Cuba)
+MUVR Varadero, Matanzas (Cuba)
+MUVT Las Tunas, Las Tunas (Cuba)
+MWCR Owen Roberts Airportgrand Cayman (Cayman Islands)
+MYGF Freeport, Grand Bahama (Bahamas)
+MYGW West End, Grand Bahama  Bahamas
+MYIG Matthew Town, Inagua  Bahamas
+MYNN Nassau Airport (Bahamas)
+MYSM Cockburn Town, San Salvador  Bahamas
+MZBZ Belize / Phillip Goldston Intl. Airport (Belize)
+NCRG Rarotonga (Cook Islands)
+NEXC Charleston, Navelexcen  SC  United States
+NFFN Nandi (Fiji)
+NFNA Nausori (Fiji)
+NFNK Lakemba  Fiji
+NFNR Rotuma  Fiji
+NFTF Fua'Amotu (Tonga)
+NFTL Haapai  Tonga
+NGBR Beru  Kiribati
+NGFO Nanumea  Tuvalu
+NGFU Funafuti (Tuvalu)
+NGTA Tarawa (Kiribati)
+NGTR Arorae  Kiribati
+NGTU Butaritari  Kiribati
+NIUE Alofi / Niue  Cook Islands
+NLWF Maopoopo Ile Futuna   France
+NLWW Hihifo Ile Wallis   France
+NSAP Apia / Upolu Island  Samoa
+NSFA Faleolo Intl / Apia (Samoa)
+NSTU Pago Pago / Int. Airp. (United States Minor Outlying Islands)
+NTAA Tahiti-Faaa (French Polynesia)
+NTAT Tubuai  French Polynesia
+NTTB Bora-Bora  French Polynesia
+NTTG Rangiroa / Tuamoto Island  French Polynesia
+NTTO Hao (French Polynesia)
+NTTX Mururoa  French Polynesia
+NVSC Sola Vanua Lava   Vanuatu
+NVSL Lamap Malekula   Vanuatu
+NVSS Pekoa Airport Santo   Vanuatu
+NVVV Bauerfield Efate  (Vanuatu)
+NWWE Moue Ile Des Pins   New Caledonia
+NWWK Koumac Nlle-Caledonie   New Caledonia
+NWWL Ouanaham Ile Lifou   New Caledonia
+NWWN Noumea Nlle-Caledonie   New Caledonia
+NWWR La Roche Ile Mare   New Caledonia
+NWWV Ouloup Ile Ouvea   New Caledonia
+NWWW La Tontouta Nlle-Caledonie  (New Caledonia)
+NZAA Auckland Airport (New Zealand)
+NZCH Christchurch (New Zealand)
+NZCI Chatham Island  New Zealand
+NZCM Williams Field (Antarctic)
+NZDN Dunedin Aerodrome  New Zealand
+NZGS Gisborne Aerodrome  New Zealand
+NZHK Hokitika Aerodrome  New Zealand
+NZKI Kaikoura   New Zealand
+NZNP New Plymouth Aerodrome  New Zealand
+NZNV Invercargill Aerodrome  New Zealand
+NZOH Ohakea  New Zealand
+NZPP Paraparaumu Aerodrome  New Zealand
+NZRN Raoul Island, Kermadec Island  New Zealand
+NZRO Rotorua Aerodrome  New Zealand
+NZTG Tauranga Aerodro, Islamic Republic of
+NZWN Wellington Airport (New Zealand)
+O Rokaf Wc  Korea, Republic of
+OBBI Bahrain International Airport  (Bahrain)
+OEAB Abha (Saudi Arabia)
+OEAH Al Ahsa (Saudi Arabia)
+OEBA Al Baha (Saudi Arabia)
+OEBH Bisha (Saudi Arabia)
+OEDR Dhahran (Saudi Arabia)
+OEDW Dawadmi (Saudi Arabia)
+OEGN Gizan (Saudi Arabia)
+OEGS Gassim (Saudi Arabia)
+OEGT Guriat (Saudi Arabia)
+OEHL Hail (Saudi Arabia)
+OEJN Jeddah King Abdul Aziz International Airport  (Saudi Arabia)
+OEKK Hafr Al-Batin (Saudi Arabia)
+OEKM Khamis Mushait (Saudi Arabia)
+OEMA Madinah (Saudi Arabia)
+OEMK Makkah (Saudi Arabia)
+OENG Najran (Saudi Arabia)
+OEPA Al Qaysumah (Saudi Arabia)
+OERF Rafha (Saudi Arabia)
+OERK King Khaled International Airport (Saudi Arabia)
+OERR Arar (Saudi Arabia)
+OERY Riyadh (Saudi Arabia)
+OESH Sharurah (Saudi Arabia)
+OESK Al-Jouf (Saudi Arabia)
+OETB Tabuk (Saudi Arabia)
+OETF Taif (Saudi Arabia)
+OETR Turaif (Saudi Arabia)
+OEWD Wadi Al Dawasser Airport (Saudi Arabia)
+OEWJ Wejh (Saudi Arabia)
+OEYN Yenbo (Saudi Arabia)
+OIAW Ahwaz (Iran, Islamic Republic of)
+OIFM Esfahan (Iran, Islamic Republic of)
+OIII Tehran-Mehrabad (Iran, Islamic Republic of)
+OIKB Bandarabbass (Iran, Islamic Republic of)
+OIKK Kerman (Iran, Islamic Republic of)
+OIMM Mashhad (Iran, Islamic Republic of)
+OIMT Tabas  Iran, Islamic Republic of
+OING Gorgan  Iran, Islamic Republic of
+OINR Ramsar  Iran, Islamic Republic of
+OISA Abadeh  Iran, Islamic Republic of
+OISF Fasa  Iran, Islamic Republic of
+OISS Shiraz (Iran, Islamic Republic of)
+OITK Khoy  Iran, Islamic Republic of
+OITR Orumieh  Iran, Islamic Republic of
+OITS Saghez  Iran, Islamic Republic of
+OITT Tabriz (Iran, Islamic Republic of)
+OITZ Zanjan  Iran, Islamic Republic of
+OIYY Yazd  Iran, Islamic Republic of
+OIZB Zabol  Iran, Islamic Republic of
+OIZC Chahbahar  Iran, Islamic Republic of
+OIZH Zahedan  Iran, Islamic Republic of
+OIZI Iranshahr  Iran, Islamic Republic of
+OIZJ Jask  Iran, Islamic Republic of
+OJAI Queen Alia Airport (Jordan)
+OJAM Amman Airport (Jordan)
+OJAQ Aqaba Airport (Jordan)
+OJBD Irbid  Jordan
+OJHF H-'Safawi  Jordan
+OJHR H-'Irwaished  Jordan
+OJMF Mafraq  Jordan
+OJMN Ma'An  Jordan
+OKBK Kuwait Internationalairport (Kuwait)
+OLBA Beyrouth Aeroport  (Lebanon)
+OMAA Abu Dhabi International Airport (United Arab Emirates)
+OMAB Buhasa  United Arab Emirates
+OMAD Abu Dhabi Bateen Airport (United Arab Emirates)
+OMAL Al Ain International Airport (United Arab Emirates)
+OMDB Dubai International Airport (United Arab Emirates)
+OMFJ Fujairah (United Arab Emirates)
+OMRK Ras Al Khaimah International Airport (United Arab Emirates)
+OMSJ Sharjah International Airport (United Arab Emirates)
+OOBR Buraimi  Oman
+OOFD Fahud  Oman
+OOKB Khassab  Oman
+OOMA Masirah (Oman)
+OOMS Seeb, International Airport (Oman)
+OOSA Salalah (Oman)
+OOSH Sohar Majis  Oman
+OOSQ Saiq (Oman)
+OOSR Sur  Oman
+OOTH Thumrait (Oman)
+OPDI Dera Ismail Khan  Pakistan
+OPJA Jacobabad  Pakistan
+OPJI Jiwani  Pakistan
+OPKC Karachi Airport (Pakistan)
+OPKD Hyderabad Airport  Pakistan
+OPLA Lahore Airport (Pakistan)
+OPLH Lahore City  Pakistan
+OPMI Mianwali  Pakistan
+OPMT Multan  Pakistan
+OPNH Nawabshah (Pakistan)
+OPPG Panjgur  Pakistan
+OPPS Peshawar  Pakistan
+OPQT Angoon  AK  USA
+OPRN Islamabad Airport (Pakistan)
+OSAP Aleppo International Airport (Syrian Arab Republic)
+OSDI Damascus Int. Airport (Syrian Arab Republic)
+OSLK Lattakia (Syrian Arab Republic)
+OTBD Doha International Airport (Qatar)
+OYAA Aden (Yemen)
+OYHD Hodeidah (Yemen)
+OYMB Marib  (Yemen)
+OYSN Sana'A (Yemen)
+OYSQ Socotra (Yemen)
+OYSY Sayun (Yemen)
+OYTZ Taiz (Yemen)
+PAAP Port Alexander (United States)
+PAAQ Palmer (United States)
+PABA Barter Island (United States)
+PABE Bethel / Bethel Airport (United States)
+PABI Fort Greely / Allen U. S. Army Airfield, Ak (United States)
+PABN Nabesna / Devil Mountain (United States)
+PABR Barrow, Post Rogers Memorial Airport (United States)
+PABT Bettles (United States)
+PACD Cold Bay, Cold Bay Airport (United States)
+PACR Circle City Airport (United States)
+PACV Cordova / Mile 13 (United States)
+PACZ Cape Romanzoff Airways Facilities Sector (United States)
+PADE Deering  (United States)
+PADK Adak, Naval Air Station (United States)
+PADL Dillingham Municipal, Ak (United States)
+PADQ Kodiak (United States)
+PADT Slana Airport (United States)
+PADU Dutch Harbor (United States)
+PAEC Chulitna (United States)
+PAED Anchorage / Elmendorf Air Force Base (United States)
+PAEH Cape Newenham Airways Facilities Sector (United States)
+PAEI Fairbanks / Eielson Air Force Base (United States)
+PAEL Elfin Cove Seaplane (United States)
+PAEM Emmonak (United States)
+PAEN Kenai, Kenai Municipal Airport (United States)
+PAFA Fairbanks, Fairbanks International Airport (United States)
+PAFB Wainwright U. S. Army Airfield (United States)
+PAFE Kake Seaplane Base (United States)
+PAFM Ambler (United States)
+PAGA Galena A. (United States)
+PAGB Galbraith Lake (United States)
+PAGK Gulkana / Intl. Fld. (United States)
+PAGM Gambell Automatic Weather Observing / Reporting System (United States)
+PAGS Gustavus (United States)
+PAGT Nightmute  AK  USA
+PAGY Skagway (United States)
+PAHD Homer / Municipal  AK  USA
+PAHN Haines (United States)
+PAHO Homer (United States)
+PAHP Hooper Bay Automatic Weather Observing / Reporting System   AK  USA
+PAHS Huslia (United States)
+PAHV Healy River Airport (United States)
+PAHY Hydaburg Seaplane (United States)
+PAHZ Hayes River (United States)
+PAII Egegik Automatic Weather Observing / Reporting System (United States)
+PAIK Kinana / Bob Baker Me  AK  USA
+PAIL Iliamna / Iliamna Airport (United States)
+PAIM Indian Mountain Airways Facilities Sector (United States)
+PAIN McKinley Park (United States)
+PAIZ Lazy Mtn / Wolverine  AK  USA
+PAJB Biorka Island Supplementary Aviation Weather Reporting Station  AK  USA
+PAJN Juneau, Juneau International Airport (United States)
+PAJO Johnstone Point  AK  USA
+PAJV Sutton (United States)
+PAKN King Salmon, King Salmon Airport (United States)
+PAKO Nikolski  AK  USA
+PAKP Anaktuvuk Pass (United States)
+PAKT Ketchikan, Ketchikan International Airport (United States)
+PAKU Kuparuk Airport   AK  USA
+PAKV Kaltag, Kaltag Airport (United States)
+PAKW Klawock (United States)
+PALH Lake Hood Seaplane (United States)
+PALJ Port Alsworth (United States)
+PALK Snowshoe Lake (United States)
+PALR Chandalar Lake (United States)
+PALU Cape Lisburne Airways Facilities Sector (United States)
+PALV Big River Lake (United States)
+PAMC McGrath (United States)
+PAMD Middleton Island, Ak (United States)
+PAMH Minchumina (United States)
+PAML Manley Hot Springs  (United States)
+PAMR Merrill Field (United States)
+PAMX McCarthy (United States)
+PAMY Mekoryuk (United States)
+PANC Anchorage, Anchorage International Airport (United States)
+PANI Aniak (United States)
+PANN Nenana / Mun. (United States)
+PANR Funter Bay Seaplane  AK  USA
+PANT Annette Island (United States)
+PANV Annik Airport  AK  USA
+PAOH Hoonah Seaplane (United States)
+PAOM Nome, Nome Airport (United States)
+PAOR Northway, Northway Airport (United States)
+PAOT Kotzebue, Wien Memorial Airport (United States)
+PAPC Port Clarence  AK  USA
+PAPG Petersburg (United States)
+PAPH Port Heiden (United States)
+PAPM Platinum  AK  USA
+PAPO Point Hope Automatic Weather Observing / Reporting System (United States)
+PAPT Puntilla (United States)
+PAQT Nuiqsut, Nuiqsut Airport (United States)
+PARC Arctic Village (United States)
+PASA Savoonga Airport (United States)
+PASC Deadhorse (United States)
+PASD Sand Point (United States)
+PASH Shishmaref Automatic Weather Observing / Reporting System (United States)
+PASI Sitka, Sitka Airport (United States)
+PASK Selawik (United States)
+PASM Saint Mary's Automatic Weather Observing / Reporting System (United States)
+PASN Saint Paul (United States)
+PASV Sparrevohn Airways Facilities Sector (United States)
+PASW Skwentna (United States)
+PASX Soldotna (United States)
+PASY Shemya, Eareckson As (United States)
+PATA Tanana (United States)
+PATC Tin City Airways Facilities Sector (United States)
+PATG Togiac Village Automatic Weather Observing / Reporting System (United States)
+PATK Talkeetna (United States)
+PATL Tatalina Automatic Weather Observing / Reporting System (United States)
+PATW Cantwell (United States)
+PAUM Umiat (United States)
+PAUN Unalakleet (United States)
+PAUO Willow Airport  (United States)
+PAVD Valdez 2 (United States)
+PAVL Kivalina, Kivalina Airport (United States)
+PAWD Seward (United States)
+PAWG Wrangell (United States)
+PAWI Wainwright Distant Early Warning  (United States)
+PAWN Noatak (United States)
+PAWR Whittier (United States)
+PAXK Paxson (United States)
+PAYA Yakutat (United States)
+PAZK Eureka (United States)
+PFYU Fort Yukon (United States)
+PGRO Rota Intl / Rota Island (United States Minor Outlying Islands)
+PGSN Saipan / Isley Coast Guard Station (United States Minor Outlying Islands)
+PGUA Andersen Air Force Base (United States Minor Outlying Islands)
+PGUM Agana, Guam, Mariana Islands (United States Minor Outlying Islands)
+PGWT Peipeinimaru (United States Minor Outlying Islands)
+PHBK Kekaha, Pacific Missile Test Facility Barking Sands (United States)
+PHHI Wheeler Air Force Base / Oahu (United States)
+PHJH Lahaina / West Maui (United States)
+PHKO Kailua / Kona, Keahole Airport (United States)
+PHLI Lihue, Lihue Airport (United States)
+PHMK Molokai Automatic Meteorological Observing System (United States)
+PHNA Oahu, Barbers Point, Naval Air Station (United States)
+PHNG Kaneohe, Marine Corps Air Station (United States)
+PHNL Honolulu, Honolulu International Airport (United States)
+PHNY Lanai City Airport (United States)
+PHOG Kahului, Kahului Airport (United States)
+PHSF Bradshaw Army Air Field / Hawaii (United States)
+PHTO Hilo, Hilo International Airport (United States)
+PJON Johnston Island (United States Minor Outlying Islands)
+PKMJ Majuro / Marshall Island (Marshall Islands)
+PKWA Kwajalein / Bucholz (Marshall Islands)
+PLCH Christmas / Cassidy (New Zealand)
+PLFA Fanning Island  New Zealand
+PMDY Midway Island Naval Air Facility (United States)
+POLI Oliktok Distant Early Warning   AK  USA
+PPIZ Point Lay (United States)
+PTKK Truk Intl / Moen Island (Micronesia, Federated States of)
+PTPN Ponape Island (Micronesia, Federated States of)
+PTRO Koror / Palau Island (Palau)
+PTSA Kusaie / Kosrae East (Micronesia, Federated States of)
+PTTK Kosrae Carolines / V  Mirconesia, Federated States of
+PTYA Yap Island (Micronesia, Federated States of)
+PWAK Wake Island Airfld (United States Minor Outlying Islands)
+RCAY Kangshan Tw-Afb  (Taiwan)
+RCBS Chinmem / Shatou Air Force Base  (Taiwan)
+RCDC Pingtung South Air Force Base  (Taiwan)
+RCFG Mazu (Taiwan)
+RCFN Feng Nin Tw-Afb  (Taiwan)
+RCFS Chia Tung (Taiwan)
+RCGM Taoyuan Ab = 589650 (Taiwan)
+RCKH Kaohsiung International Airport (Taiwan)
+RCKU Chiayi Tw-Afb  (Taiwan)
+RCKW Hengchun (Taiwan)
+RCLG Taichung Tw-Afb  (Taiwan)
+RCLM Dongsha (Taiwan)
+RCLY Lan Yu =    Taiwan, Province of China
+RCMJ Donggang =    Taiwan, Province of China
+RCMQ Wuchia Observatory (Taiwan)
+RCMS Ilan (Taiwan)
+RCNN Tainan Tw-Afb  (Taiwan)
+RCNO Dongshi (Taiwan)
+RCPO Hsinchu Tw-Afb  (Taiwan)
+RCQC Makung Ab (Taiwan)
+RCQS Chihhang Tw-Afb  (Taiwan)
+RCSQ Pingtung North Air Force Base  (Taiwan)
+RCSS Sungshan / Taipei (Taiwan)
+RCTP Chiang Kai Shek (Taiwan)
+RCUK Pa Kuei / Bakuai (Taiwan)
+RCYU Hulien Ab (Taiwan)
+RJAA New Tokyo Inter-National Airport (Japan)
+RJAF Matsumoto Airport (Japan)
+RJAH Hyakuri Ab (Japan)
+RJAI Ichikawa  (Japan)
+RJAK Kasumigaura Ab (Japan)
+RJAM Minamitorishima (Japan)
+RJAO Chichijima (Japan)
+RJAT Fuji Ab (Japan)
+RJAW Iwojima (Japan)
+RJBB Kansai International Airport (Japan)
+RJBD Nankishirahama Airport (Japan)
+RJBT Tajima (Japan)
+RJCA Asahikawa Ab (Japan)
+RJCB Obihiro Airport (Japan)
+RJCC Chitose Ab (Japan)
+RJCH Hakodate Airport (Japan)
+RJCJ Chitose Japanese Air Self Defense Force  (Japan)
+RJCK Kushiro Airport (Japan)
+RJCM Memambetsu Airport (Japan)
+RJCN Nakashibetsu Airport (Japan)
+RJCO Sapporo Ab (Japan)
+RJCR Rebun Island (Japan)
+RJCT Tokachi Japanese Ground Self Defense Force  (Japan)
+RJCW Wakkanai Airport (Japan)
+RJDB Iki Airport (Japan)
+RJDC Yamaguchi Ube Airport (Japan)
+RJDK Kamigoto (Japan)
+RJDM Metabaru Ab (Japan)
+RJDO Ojika Island  (Japan)
+RJDT Tsushima Airport (Japan)
+RJEB Mombetsu Airport (Japan)
+RJEC Asahikawa Airport (Japan)
+RJEO Okushiri Island (Japan)
+RJER Rishiri Island (Japan)
+RJFA Ashiya Ab (Japan)
+RJFC Yakushima (Japan)
+RJFE Fukue Airport (Japan)
+RJFF Fukuoka Airport (Japan)
+RJFG Tanegashima Airport (Japan)
+RJFK Kagoshima Airport (Japan)
+RJFM Miyazaki Airport (Japan)
+RJFN Nyutabaru Ab (Japan)
+RJFO Oita Airport (Japan)
+RJFR Kitakyushu Airport (Japan)
+RJFT Kumamoto Airport (Japan)
+RJFU Nagasaki Airport (Japan)
+RJFY Kanoya Ab (Japan)
+RJFZ Tsuiki Ab (Japan)
+RJKA Amami Airport (Japan)
+RJKB Okinoerabu (Japan)
+RJKI Kikai Island (Japan)
+RJKN Tokunoshima Island (Japan)
+RJNF Fukui Airport (Japan)
+RJNG Gifu Ab (Japan)
+RJNH Hamamatsu Ab (Japan)
+RJNK Komatsu Ab (Japan)
+RJNN Nagoya Airport (Japan)
+RJNO Oki Airport (Japan)
+RJNT Toyama Airport (Japan)
+RJNY Shizuhama Ab (Japan)
+RJOA Hiroshima Airport (Japan)
+RJOB Okayama Airport (Japan)
+RJOC Izumo Airport (Japan)
+RJOE Akeno Ab (Japan)
+RJOF Hofu Ab (Japan)
+RJOH Miho Ab (Japan)
+RJOI Iwakuni Marine Corps Air Station (Japan)
+RJOK Kochi Airport (Japan)
+RJOM Matsuyama Airport (Japan)
+RJOO Osaka International Airport (Japan)
+RJOP Komatsujima Ab (Japan)
+RJOR Tottori Airport (Japan)
+RJOS Tokushima Ab (Japan)
+RJOT Takamatsu Airport (Japan)
+RJOY Yao Airport (Japan)
+RJOZ Ozuki Ab (Japan)
+RJSA Aomori Airport (Japan)
+RJSC Yamagata Airport (Japan)
+RJSH Hachinohe Ab (Japan)
+RJSI Hanamaki Airport (Japan)
+RJSK Akita Airport (Japan)
+RJSM Misawa Ab (Japan)
+RJSN Niigata Airport (Japan)
+RJSO Ominato Ab (Japan)
+RJSS Sendai Airport (Japan)
+RJST Matsushima Ab (Japan)
+RJSU Kasuminome Ab (Japan)
+RJTA Atsugi United States Naval Air Station (Japan)
+RJTC Tachikawa Ab (Japan)
+RJTE Tateyama Ab (Japan)
+RJTF Chofu Airport (Japan)
+RJTH Hachijojima Airport (Japan)
+RJTI Tokyo Heliport (Japan)
+RJTJ Iruma Ab (Japan)
+RJTK Kisarazu Ab (Japan)
+RJTL Shimofusa Ab (Japan)
+RJTO Oshima Airport (Japan)
+RJTQ Miyakejima Airport (Japan)
+RJTR Zama Airfield (Japan)
+RJTT Tokyo International Airport (Japan)
+RJTU Utsunomiya Ab (Japan)
+RJTX Yokosuka Fwf (Japan)
+RJTY Yokota Ab (Japan)
+RKJY Yosu Airport (Korea, Republic of)
+RKPC Cheju International Airport (Korea, Republic of)
+RKPK Pusan / Kimhae International Airport (Korea, Republic of)
+RKPU Ulsan (Korea, Republic of)
+RKSF Seoul / Yongdungp'O Rokaf Wc (Korea, Republic of)
+RKSG Pyongtaek Ab (Korea, Republic of)
+RKSH Command Post Tango  Korea, Republic of
+RKSJ Taesong-San  Korea, Republic of
+RKSL Seoul  Korea, Republic of
+RKSM Seoul E Ab (Korea, Republic of)
+RKSO Osan Ab (Korea, Republic of)
+RKSP Paengnyongdo Ab (Korea, Republic of)
+RKSQ Yeonpyeungdo (Korea, Republic of)
+RKSS Seoul / Kimp'O International Airport (Korea, Republic of)
+RKST Camp Casey / Tongduch  Korea, Republic of
+RKSU Yeoju Range (Korea, Republic of)
+RKSV Pyoripsan  Korea, Republic of
+RKSW Suwon Ab (Korea, Republic of)
+RKSX Camp Stanley / H-207 (Korea, Republic of)
+RKSY Yongsan / H-208 Hp (Korea, Republic of)
+RKTA Andong  Korea, Republic of
+RKTB Paekado (Korea, Republic of)
+RKTD Taejon Kor-Afb   Korea, Republic of
+RKTE Songmu Ab (Korea, Republic of)
+RKTF Taejon (Korea, Republic of)
+RKTG Camp Walker H-   Korea, Republic of
+RKTH Pohang Ab (Korea, Republic of)
+RKTI Jung Won Rok-Ab   Korea, Republic of
+RKTM Mangilsan Ab (Korea, Republic of)
+RKTN Taegu Ab (Korea, Republic of)
+RKTP Hae Mi  Korea, Republic of
+RKTS Sangju (Korea, Republic of)
+RKTT Taegu (Korea, Republic of)
+RKTU Chongju Ab (Korea, Republic of)
+RKTV Chungju  Korea, Republic of
+RKTW Woong Cheon (Korea, Republic of)
+RKTY Yechon Ab (Korea, Republic of)
+RKXX Nightmare Range  Korea, Republic of
+ROAH Naha Airport (Japan)
+RODE Iejima Auxiliary Ab  Japan
+RODN Kadena Ab (Japan)
+ROHF Hamby U. S. Army Airfield  Japan
+ROIG Ishigakijima  Japan
+ROKJ Kumejima  Japan
+ROMD Minamidaitojima  Japan
+ROMY Miyakojima  Japan
+RORA Aguni Island  Japan
+RORH Hateruma  Japan
+RORK Kitadaito Island  Japan
+RORS Shimoji-Shima Island  Japan
+RORT Tarama Island  Japan
+RORY Yoron Island  Japan
+ROTM Futenma Marine Corps Air Facility  Japan
+ROYN Yonaguni Airport  Japan
+RPLB Subic Bay Weather Station (Philippines)
+RPLI Laoag  Philippines
+RPLL Ninoy Aquino Inter-National Airport (Philippines)
+RPMD Davao Airport  Philippines
+RPMK Clark Ab  Philippines
+RPMPSAVV Viedma Aerodrome  Argentina
+RPVM Masbate (Philippines)
+SAAC Concordia Aerodrome (Argentina)
+SAAR Rosario Aerodrome (Argentina)
+SAAV Sauce Viejo Aerodrome (Argentina)
+SABE Aeroparque Bs. As. Aerodrome (Argentina)
+SACO Cordoba Aerodrome (Argentina)
+SADD Don Torcuato Aerodrome (Argentina)
+SAEZ Ezeiza Aerodrome (Argentina)
+SAME Mendoza Aerodrome (Argentina)
+SANE Santiago Del Estero Aero. (Argentina)
+SANT Tucuman Aerodrome (Argentina)
+SANU San Juan Aerodrome (Argentina)
+SAOR Villa Reynolds Aerodrome (Argentina)
+SARC Corrientes Aero. (Argentina)
+SARE Resistencia Aero. (Argentina)
+SARF Formosa Aerodrome (Argentina)
+SARI Iguazu Aerodrome (Argentina)
+SARL Paso De Los Libres Aerodrome (Argentina)
+SARP Posadas Aero. (Argentina)
+SASA Salta Aerodrome (Argentina)
+SASJ Jujuy Aerodrome (Argentina)
+SAVC Comodoro Rivadavia Aerodrome (Argentina)
+SAVT Trelew Aerodrome (Argentina)
+SAWA Lago Argentino Aerodrome  Argentina
+SAWD Puerto Deseado Aerodrome  Argentina
+SAWE Rio Grande B. A. (Argentina)
+SAWG Rio Gallegos Aerodrome (Argentina)
+SAWH Ushuaia Aerodrome  Argentina
+SAWJ San Julian Aerodrome  Argentina
+SAWP Perito Moreno Aerodrome  Argentina
+SAWR Gobernador Gregores Aerodrome  Argentina
+SAWU Santa Cruz Aerodrome  Argentina
+SAZA Azul Airport  Argentina
+SAZB Bahia Blanca Aerodrome (Argentina)
+SAZD Dolores Aerodrome  Argentina
+SAZE Pigue Aerodrome  Argentina
+SAZG General Pico Aerodrome  Argentina
+SAZH Tres Arroyos  Argentina
+SAZM Mar Del Plata Aerodrome (Argentina)
+SAZN Neuquen Aerodrome (Argentina)
+SAZP Pehuajo Aerodrome  Argentina
+SAZQ Rio Colorado  Argentina
+SAZR Santa Rosa Aerodrome  Argentina
+SAZS Bariloche Aerodrome (Argentina)
+SAZT Tandil Aerodrome  Argentina
+SAZV Villa Gesell  Argentina
+SAZY Chapelco  Argentina
+SBAA Conceicao Do Araguaia (Brazil)
+SBAF Afonsos Aeroporto  (Brazil)
+SBAN Anapolis Braz-Afb   Brazil
+SBAR Aracaju Aeroporto  (Brazil)
+SBAT Alta Floresta Aeroporto  (Brazil)
+SBBC Benjamin Constant  Brazil
+SBBE Belem Aeroporto  (Brazil)
+SBBG Bage Aeroporto  (Brazil)
+SBBH Belo Horizonte Aeroporto  (Brazil)
+SBBI Curitiba (Brazil)
+SBBQ Barbacena  Brazil
+SBBR Brasilia Aeroporto  (Brazil)
+SBBU Bauru (Brazil)
+SBBV Boa Vista Aeropor-To  (Brazil)
+SBBW Barra Do Garcas  Brazil
+SBCC Cachimbo  Brazil
+SBCF Belo Horizonte (Brazil)
+SBCG Campo Grande Aeroporto  (Brazil)
+SBCJ Carajas / Maraba  Brazil
+SBCO Porto Alegre (Brazil)
+SBCP Campos  Brazil
+SBCR Corumba (Brazil)
+SBCT Curitiba Aeroporto  (Brazil)
+SBCV Caravelas Aeropor-To  (Brazil)
+SBCY Cuiaba Aeroporto  (Brazil)
+SBCZ Cruzeiro Do Sul  Brazil
+SBDN Presidente Prudente (Brazil)
+SBEG Eduardo Gomes International (Brazil)
+SBEK Jacareacanga  Brazil
+SBES S. P. Aldeia Aerodrome   Brazil
+SBFI Foz Do Iguacu Aeroporto  (Brazil)
+SBFL Florianopolis Aeroporto  (Brazil)
+SBFN Fernando De Noronha (Brazil)
+SBFZ Fortaleza Aeropor-To  (Brazil)
+SBGL Galeao (Brazil)
+SBGO Goiania Aeroporto  (Brazil)
+SBGR Guarulhos Civ / Mil  (Brazil)
+SBGW Guaratingueta (Brazil)
+SBHT Altamira (Brazil)
+SBIH Itaituba (Brazil)
+SBIL Ilheus Aeroporto  (Brazil)
+SBIZ Imperatriz (Brazil)
+SBJR Rio / Jacarepagua (Brazil)
+SBKG Campina Grande (Brazil)
+SBKP Campinas Aeroporto  (Brazil)
+SBLO Londrina Aeroporto  (Brazil)
+SBMA Maraba (Brazil)
+SBME Macae (Brazil)
+SBMN Manaus Aeroporto  (Brazil)
+SBMO Maceio Aeroporto  (Brazil)
+SBMQ Macapa (Brazil)
+SBMT Marte Civ / Mil  (Brazil)
+SBNT Natal Aeroporto (Brazil)
+SBPA Porto Alegre Aero-Porto  (Brazil)
+SBPC Pocos De Caldas (Brazil)
+SBPK Pelotas (Brazil)
+SBPN Porto Nacional Aeroporto  (Brazil)
+SBPP Ponta Pora Aeropor-To  (Brazil)
+SBPV Porto Velho Aeroporto  (Brazil)
+SBRB Rio Branco (Brazil)
+SBRF Recife Aeroporto  (Brazil)
+SBRJ Rio De Janeiro Aeroporto  (Brazil)
+SBSC Santa Cruz Aeropor-To  (Brazil)
+SBSJ Sao Jose Dos Campo  (Brazil)
+SBSL Sao Luiz Aeroporto  (Brazil)
+SBSM Santa Maria Aero-Porto  (Brazil)
+SBSN Santarem-Aeroporto (Brazil)
+SBSP Sao Paulo Aeropor-To  (Brazil)
+SBST Santos Aeroporto  (Brazil)
+SBSV Salvador Aeroporto  (Brazil)
+SBTE Teresina Aeroporto  (Brazil)
+SBTF Tefe (Brazil)
+SBTT Tabatinga (Brazil)
+SBTU Tucurui (Brazil)
+SBUG Uruguaiana Aeroporto  (Brazil)
+SBUR Uberaba (Brazil)
+SBVH Vilhena Aeroporto  (Brazil)
+SBVT Vitoria Aeroporto  (Brazil)
+SBYS Pirassununga (Brazil)
+SCAR Arica (Chile)
+SCCI Punta Arenas (Chile)
+SCDA Iquique / Diego Arac (Chile)
+SCEL Pudahuel (Chile)
+SCFA Antofagasta (Chile)
+SCHA Copiapo (Chile)
+SCIE Concepcion (Chile)
+SCIP Isla De Pascua (Chile)
+SCSE La Serena (Chile)
+SCTE Puerto Montt (Chile)
+SEGU Guayaquil / Simon Bolivar (Ecuador)
+SELT Latacunga (Ecuador)
+SEMT Manta (Ecuador)
+SEQU Quito / Mariscal Sucre (Ecuador)
+SGAS Asuncion / Aeropuerto (Paraguay)
+SGES Aeropuerto Guarany (Paraguay)
+SGNA Nueva Asuncion  Paraguay
+SKAR Armenia / El Eden  Colombia
+SKAS Puerto Asis  Colombia
+SKBG Bucaramanga / Palonegro (Colombia)
+SKBO Bogota / Eldorado (Colombia)
+SKBQ Barranquilla / Ernestocortissoz (Colombia)
+SKBU Buenaventura  Colombia
+SKCC Cucuta / Camilo Daza  Colombia
+SKCG Cartagena / Rafael Nunez (Colombia)
+SKCL Cali / Alfonso Bonillaaragon (Colombia)
+SKEJ Barrancabermeja / Yariguies  Colombia
+SKIB Ibague / Perales  Colombia
+SKIP Ipiales / San Luis  Colombia
+SKLC Apartado / Los Cedros  Colombia
+SKLT Leticia / Vasquez Cobo (Colombia)
+SKMD Medellin / Olaya Herrera (Colombia)
+SKMR Monteria / Los Garzones  Colombia
+SKMU Mitu  Colombia
+SKNV Neiva / Benito Salas  Colombia
+SKPC Puerto Carreno / A. Guauquea  Colombia
+SKPE Pereira / Matecana (Colombia)
+SKPP Popayan / Guillermo  Colombia
+SKPS Pasto / Antonio Narin  Colombia
+SKPV Providencia Isla / El Embrujo  Colombia
+SKRG Rionegro / J. M. Cordova (Colombia)
+SKRH Riohacha / Almirante Padilla  Colombia
+SKSJ San Jose Del Guaviare  Colombia
+SKSM Santa Marta / Simon Bolivar (Colombia)
+SKSP San Andres Isla / Sesquicentenario (Colombia)
+SKUC Arauca / Santiago Perez  Colombia
+SKUI Quibdo / El Carano  Colombia
+SKVP Valledupar / Alfonso Lopez  Colombia
+SKVV Villavicencio / Vanguardia  Colombia
+SLAP Apolo  Bolivia
+SLAS Ascencion De Guarayos  Bolivia
+SLCA Camiri (Bolivia)
+SLCB Cochabamba (Bolivia)
+SLCN Charana (Bolivia)
+SLCO Cobija (Bolivia)
+SLCP Concepcion (Bolivia)
+SLET Santa Cruz / El Trompillo  Bolivia
+SLGY Guayaramerin  Bolivia
+SLJE San Jose De Chiquitos (Bolivia)
+SLJO San Joaquin (Bolivia)
+SLJV San Javier  Bolivia
+SLLP La Paz / Alto (Bolivia)
+SLMG Magdalena (Bolivia)
+SLOR Oruro (Bolivia)
+SLPO Potosi (Bolivia)
+SLPS Puerto Suarez (Bolivia)
+SLRB Robore (Bolivia)
+SLRI Riberalta (Bolivia)
+SLRQ Rurrenabaque (Bolivia)
+SLRY Reyes (Bolivia)
+SLSA Santa Ana (Bolivia)
+SLSB San Borja  Bolivia
+SLSI San Ignacio De Velasco (Bolivia)
+SLSM San Ignacio De Moxoos  Brazil
+SLSU Sucre (Bolivia)
+SLTJ Tarija (Bolivia)
+SLTR Trinidad (Bolivia)
+SLVM Villamontes (Bolivia)
+SLVR Viru-Viru (Bolivia)
+SLYA Yacuiba (Bolivia)
+SMJP Johan A. Pengel (Suriname)
+SOCA Cayenne / Rochambeau (French Guiana)
+SPCL Pucallpa (Peru)
+SPEO Chimbote (Peru)
+SPGM Tingo Maria (Peru)
+SPHI Chiclayo (Peru)
+SPHO Ayacucho (Peru)
+SPHY Andahuayla (Peru)
+SPIM Lima-Callao / Aerop. Internacional Jorgechavez (Peru)
+SPJA Rioja (Peru)
+SPJI Juanjui (Peru)
+SPJL Juliaca (Peru)
+SPJR Cajamarca (Peru)
+SPME Tumbes (Peru)
+SPMS Yurimaguas (Peru)
+SPNC Huanuco (Peru)
+SPPY Chachapoyas (Peru)
+SPQT Iquitos (Peru)
+SPQU Arequipa (Peru)
+SPRU Trujillo (Peru)
+SPSO Pisco (Peru)
+SPST Tarapoto (Peru)
+SPTN Tacna (Peru)
+SPTU Puerto Maldonado (Peru)
+SPUR Piura (Peru)
+SPYL Talara (Peru)
+SPZO Cuzco (Peru)
+SUAA Melilla (Uruguay)
+SUAG Artigas (Uruguay)
+SUCA Colonia (Uruguay)
+SUDU Durazno (Uruguay)
+SULS Capitan Corbeta (Uruguay)
+SUMU Carrasco (Uruguay)
+SUPE Maldonado / Punta Est (Uruguay)
+SUPU Paysandu (Uruguay)
+SURV Rivera (Uruguay)
+SUSO Salto (Uruguay)
+SUTB Tacuarembo (Uruguay)
+SVAC Acarigua (Venezuela)
+SVBC Barcelona (Venezuela)
+SVBI Barinas (Venezuela)
+SVBM Barquisimeto (Venezuela)
+SVBS Maracay-B. A. Sucre (Venezuela)
+SVCB Ciudad Bolivar (Venezuela)
+SVCL Calabozo (Venezuela)
+SVCR Coro (Venezuela)
+SVCS Caracas / Oscar Macha (Venezuela)
+SVCU Cumana (Venezuela)
+SVFM Caracas / La Carlota (Venezuela)
+SVGI Guiria (Venezuela)
+SVGU Guanare (Venezuela)
+SVHG Higuerote (Venezuela)
+SVJC Paraguana / Josefa (Venezuela)
+SVLF La Fria (Venezuela)
+SVMC Maracaibo-La Chinita (Venezuela)
+SVMD Merida (Venezuela)
+SVMG Margarita / Del Carib (Venezuela)
+SVMI Caracas / Maiquetia Aerop. Intl. Simon Bolivar (Venezuela)
+SVMN Mene Grande (Venezuela)
+SVMP Metropolitano Private  (Venezuela)
+SVMT Maturin (Venezuela)
+SVPA Puerto Ayacucho (Venezuela)
+SVPC Pto. Cabello (Venezuela)
+SVPM Paramillo Private  (Venezuela)
+SVPR Guayana / Manuel Car  (Venezuela)
+SVSA San Antonio Del Tachira (Venezuela)
+SVSE Santa Elena De Uairen (Venezuela)
+SVSO Sto. Domingo (Venezuela)
+SVSP San Felipe (Venezuela)
+SVSR San Fernando De Apure (Venezuela)
+SVST San Tome Private  (Venezuela)
+SVSZ Santa Barbara Zulia (Venezuela)
+SVTM Tumeremo (Venezuela)
+SVVA Valencia (Venezuela)
+SVVL Valera (Venezuela)
+SVVP Valle De La Pascua (Venezuela)
+SYGT Georgetown  Guyana
+SYTM Timehri Airport (Guyana)
+TAKA Takao Radar Site  Japan
+TAPA Vc Bird International Airport Antigua (Antigua and Barbuda)
+TBPB Grantley Adams (Barbados)
+TBPO Bridgetown City   Barbados
+TDCF Canefield Airport (Dominica)
+TDPD Melville Hall Airport (Dominica)
+TDPR Roseau  Dominica
+TFFF Le Lamentin (Martinique)
+TFFJ Gustavia, Saint Barthelemy  Guadeloupe
+TFFR Le Raizet, Guadeloupe (Guadeloupe)
+TGPY Point Salines Airport (Grenada)
+TIST Charlotte Amalie, Cyril E. King International Airport, Saint Thomas (Virgin Islands, U.S.)
+TISX Christiansted / Alex. Hamilton Field, Saint Croix (Puerto Rico)
+TJBQ Aquadilla / Borinquen (Puerto Rico)
+TJMZ Mayaguez / Eugenio (Puerto Rico)
+TJNR Roosevelt Roads, Naval Station (United States)
+TJPS Ponce / Mercedita  (Puerto Rico)
+TJSJ Luis Munoz Marin (Puerto Rico)
+TKPK Golden Rock (Saint Kitts and Nevis)
+TKPN Charlestown / Newcast  Antigua and Barbuda
+TLPC Vigie (Saint Lucia)
+TLPL Hewanorra International Airport (Saint Lucia)
+TNCA Queen Beatrix Airport, Aruba (Aruba)
+TNCB Flamingo Airport, Bonaire (Netherlands Antilles)
+TNCC Hato Airport, Curacao (Netherlands Antilles)
+TNCE Roosevelt Airport Saint Eustatius (Netherlands Antilles)
+TNCM Juliana Airport, Saint Maarten (Netherlands Antilles)
+TRPM Blackburne / Plymouth  Antigua and Barbuda
+TTCP Crown Pt./ Scarborou (Trinidad and Tobago)
+TTPP Piarco International Airport, Trinidad (Trinidad and Tobago)
+TTPT Crown Point Airport, Tobago  Trinidad and Tobago
+TUPJ Beef Island, Tortola (Virgin Islands, British)
+TVSV Arnos Vale (Saint Vincent and the Grenadines)
+TXKF Bermuda (Bermuda)
+UAAA Almaty  Kazakstan
+UAFF Bishkek  Kyrgyzstan
+UAII Shymkent  Kazakstan
+UAOO Kzyl-Orda  Kazakstan
+UARR Uralsk  Kazakstan
+UATA Aralskoe More  Kazakstan
+UATT Aktjubinsk  Kazakstan
+UBBB Baku / Bine Airport (Azerbaijan)
+UEEE Jakutsk (Russian Federation)
+UELL Cul'Man  Russian Federation
+UGEE Yerevan (Armenia)
+UGGG Tbilisi (Georgia)
+UGMM Muhrani  Georgia
+UHBP Ekimchan  Russian Federation
+UHHH Habarovsk (Russian Federation)
+UHMA Anadyr (Russian Federation)
+UHMD Buhta Providenja (Russian Federation)
+UHMM Magadan (Russian Federation)
+UHPP Petropavlovsk-Kamchatskij (Russian Federation)
+UHSS Juzhno-Sahalinsk (Russian Federation)
+UHWW Vladivostok (Russian Federation)
+UIAA Chita (Russian Federation)
+UIII Irkutsk (Russian Federation)
+UIUU Ulan-Ude (Russian Federation)
+UKBB Boryspil (Ukraine)
+UKKK Kyiv (Ukraine)
+UKLL L'Viv (Ukraine)
+UKOO Odesa (Ukraine)
+ULLI St. Peterburg (Russian Federation)
+UMII Vitebsk (Belarus)
+UMMS Minsk (Belarus)
+UTDD Dushanbe (Tajikistan)
+UTSS Samarkand (Uzbekistan)
+UTST Termez (Uzbekistan)
+UTTT Tashkent (Uzbekistan)
+UUEE Moscow / Sheremet'Ye  (Russian Federation)
+UUEM Tver (Russian Federation)
+UUWW Moscow / Vnukovo  (Russian Federation)
+UWPP Penza (Russian Federation)
+VAAH Ahmadabad (India)
+VABB Bombay / Santacruz (India)
+VANP Nagpur Sonegaon (India)
+VBRR Mingaladon (Myanmar)
+VCBI Katunayake (Sri Lanka)
+VDPP Phnom-Penh / Pochentong (Cambodia)
+VECC Calcutta / Dum Dum (India)
+VECX Car Nicobar  India
+VEGK Gorakhpur  India
+VEGT Gauhati  India
+VEGY Gaya  India
+VEIM Imphal Tulihal  India
+VEJH Jharsuguda  India
+VEJS Jamshedpur  India
+VELR North Lakhimpur  India
+VEMN Dibrugarh / Mohanbari  India
+VEPB Port Blair  India
+VEPT Patna (India)
+VERC M. O. Ranchi  India
+VGCB Cox's Bazar  Bangladesh
+VGEG Chittagong Patenga  (Bangladesh)
+VGIS Ishurdi  Bangladesh
+VGJR Jessore  Bangladesh
+VGRJ Rajshahi  Bangladesh
+VGSY Sylhet  Bangladesh
+VGTJ Dhaka  Bangladesh
+VGZR Kurmitola, Dia (Bangladesh)
+VHCH Cheung Chau  Hong Kong
+VHHH Hong Kong Inter-National Airport (Hong Kong)
+VIAG Agra  India
+VIAL Allahabad / Bamhrauli  India
+VIAR Amritsar (India)
+VIBN Varanasi / Babatpur (India)
+VIBY Bareilly  India
+VICX Kanpur / Chakeri  India
+VIDD New Delhi / Safdarjung  India
+VIDP New Delhi / Palam (India)
+VIGR Gwalior  India
+VIHR Hissar  India
+VIJN Jhansi  India
+VIJO Jodhpur  India
+VIJP Jaipur / Sanganer  India
+VIKO Kota Aerodrome  India
+VILK Lucknow / Amausi  India
+VIST Satna  India
+VIUD Udaipur Dabok  India
+VLAP Attopeu  Laos People's Democratic Republic
+VLIP Pakse  Laos People's Democratic Republic
+VLLB Luang-Prabang  Laos People's Democratic Republic
+VLSB Sayaboury  Laos People's Democratic Republic
+VLSK Savannakhet  Laos People's Democratic Republic
+VLSV Saravane  Laos People's Democratic Republic
+VLTK Thakhek  Laos People's Democratic Republic
+VLVT Vientiane (Lao People's Democratic Republic)
+VMMC Taipa (Macau)
+VNBW Bhairawa Airport  Nepal
+VNJL Jumla  Nepal
+VNKT Kathmandu Airport (Nepal)
+VNPK Pokhara Airport  Nepal
+VNSI Simra Airport  Nepal
+VNSK Surkhet  Nepal
+VNTJ Taplejung  Nepal
+VNVT Biratnagar Airport  Nepal
+VOBI Bellary  India
+VOBZ Vijayawada / Gannavaram  India
+VOCB Coimbatore / Peelamedu  India
+VOCC Cochin / Willingdon  India
+VOCP Cuddapah  India
+VOHY Hyderabad Airport (India)
+VOMD Madurai  India
+VOMM Madras / Minambakkam (India)
+VOTR Tiruchchirapalli (India)
+VOTV Thiruvananthapuram (India)
+VRMM Male (Maldives)
+VTBD Don Muang (Thailand)
+VTBU Rayong (Thailand)
+VTCC Chiang Mai (Thailand)
+VTSP Phuket Airport (Thailand)
+VTSS Hat Yai (Thailand)
+VVDN Da Nang (Viet Nam)
+VVNB Ha Noi (Viet Nam)
+VVTS Ho Chi Minh (Viet Nam)
+WAAA Ujung Pandang / Hasanuddin (Indonesia)
+WABB Biak / Mokmer (Indonesia)
+WAJI Sarmi  Indonesia
+WAJJ Jayapura / Sentani  Indonesia
+WAJW Wamena / Wamena  Indonesia
+WAKK Merauke / Mopah  Indonesia
+WAKT Tanah Merah / Tanah Merah  Indonesia
+WAMA Galela / Gamarmalamu  Indonesia
+WAMG Gorontalo / Jalaluddin  Indonesia
+WAMH Tahuna  Indonesia
+WAMI Toli-Toli / Lalos  Indonesia
+WAML Palu / Mutiara  Indonesia
+WAMM Menado / Dr. Sam Ratulangi  Indonesia
+WAMP Poso / Kasiguncu  Indonesia
+WAMT Ternate / Babullah  Indonesia
+WAMW Luwuk / Bubung  Indonesia
+WAPA Amahai  Indonesia
+WAPH Labuha / Taliabu  Indonesia
+WAPI Saumlaki  Indonesia
+WAPN Sanana  Indonesia
+WAPP Ambon / Pattimura  Indonesia
+WAPR Namlea  Indonesia
+WASF Fak-Fak / Torea  Indonesia
+WASK Kaimana / Utarom  Indonesia
+WASR Manokwari / Rendani  Indonesia
+WASS Sorong / Jefman  Indonesia
+WBGB Bintulu  Malaysia
+WBGG Kuching (Malaysia)
+WBGR Miri  Malaysia
+WBGS Sibu  Malaysia
+WBKK Kota Kinabalu (Malaysia)
+WBKL Labuan  Malaysia
+WBKS Sandakan  Malaysia
+WBKT Kudat  Malaysia
+WBKW Tawau  Malaysia
+WBSB Brunei Airport (Brunei Darussalam)
+WIAA Sabang / Cut Bau  Indonesia
+WIAG Menggala / Astra Ksetra  Indonesia
+WIAM Tasikmalaya / Cibeureum  Indonesia
+WIAR Madiun / Iswahyudi  Indonesia
+WIAS Malang / Abdul Rahkmansaleh  Indonesia
+WIBB Pakanbaru / Simpangtiga  Indonesia
+WIIA Curug / Budiarto  Indonesia
+WIIB Bandung / Husein  Indonesia
+WIIH Jakarta Halim Perdanakusuma (Indonesia)
+WIII Jakarta / Soekarno-Hatta (Indonesia)
+WIIJ Jogyakarta / Adisucipto  Indonesia
+WIIK Kalijati  Indonesia
+WIIL Cilacap  Indonesia
+WIIS Semarang / Ahmadyani  Indonesia
+WIIT Telukbetung / Beranti  Indonesia
+WIKD Tanjungpandan / Buluh Tumbang  Indonesia
+WIKK Pangkalpinang / Pangkalpinang  Indonesia
+WIKN Tanjungpinang / Kijang  Indonesia
+WIKS Singkep / Dabo  Indonesia
+WIMB Gunung Sitoli / Binaka  Indonesia
+WIMG Padang / Tabing  Indonesia
+WIMM Medan / Polonia (Indonesia)
+WIMS Sibolga / Pinangsori  Indonesia
+WIOI Singkawang Ii  YSNF    Norfolk Island Airport  Australia
+WMKK Kuala Lumpur / Subang (Malaysia)
+WMKP Penang / Bayan Lepas (Malaysia)
+WRLL Balikpapan / Sepinggan (Indonesia)
+WRLR Tarakan / Juwata (Indonesia)
+WRRR Denpasar / Ngurah-Rai (Indonesia)
+WRSJ Surabaya / Juanda (Indonesia)
+WSAP Singapore / Paya Lebar (Singapore)
+WSSS Singapore / Changi Airport (Singapore)
+YBAS Alice Springs Aerodrome (Australia)
+YBBN Brisbane Airport M. O (Australia)
+YBCS Cairns Airport (Australia)
+YBRK Rockhampton Airport (Australia)
+YBRM Broome Airport (Australia)
+YBTL Townsville Amo (Australia)
+YMHB Hobart Airport (Australia)
+YMML Melbourne Airport (Australia)
+YPAD Adelaide Airport (Australia)
+YPCC Cocos Island Airport (Christmas Island)
+YPDN Darwin Airport (Australia)
+YPEA Bullsbrook Pearce Amo (Australia)
+YPLM Learmonth Airport (Australia)
+YPPD Port Hedland Pardoo (Australia)
+YPPH Belmont Perth Airport  (Australia)
+YPTN Katherine Aerodrome (Australia)
+YPXM Christmas Island Aerodrome (Christmas Island)
+YSCB Canberra (Australia)
+YSDU Dubbo (Australia)
+YSNF Norfolk Island Airport (Australia)
+YSNW Nowra Ran Air Station  Australia
+YSRI Richmond Aus-Afb  (Australia)
+YSSY Sydney Airport (Australia)
+YSTW Tamworth Airport  Australia
+YSWG Wagga Airport  Australia
+YSWM Williamtown Aerodrome  Australia 
+ZBAA Beijing (China)
+ZBHH Hohhot  China
+ZBTJ Tianjin / Zhangguizhu (China)
+ZBYN Taiyuan (China)
+ZGCS Changsha  China
+ZGGG Guangzhou (China)
+ZGHK Haikou  China
+ZGKL Guilin  China
+ZGNN Nanning (China)
+ZGOW Shantou  China
+ZGSZ Shenzhen (China)
+ZGZJ Zhanjiang  China
+ZHCC Zhengzhou  China
+ZHHH Wuhan  China
+ZKKC Kimchaek  Korea, Democratic People's Republic of
+ZKPY Pyongyang (Korea, Democratic People's Republic of)
+ZLIC Yinchuan  China
+ZLJQ Jiuquan  China
+ZLSN Xi'An  China
+ZLXN Xining  China
+ZLYA Yan An  China
+ZPPP Kunming (China)
+ZSAM Xiamen (China)
+ZSCN Nanchang  China
+ZSFZ Fuzhou  China
+ZSGZ Ganzhou  China
+ZSHC Hangzhou (China)
+ZSNJ Nanjing  China
+ZSOF Hefei (China)
+ZSQD Qingdao  China
+ZSSS Shanghai / Hongqiao (China)
+ZSTN Jinan  China
+ZUCK Chongqing  China
+ZUGY Guiyang  China
+ZULS Lhasa  China
+ZUUU Chengdu (China)
+ZWHM Hami  China
+ZWSH Kashi  China
+ZWTN Hotan  China
+ZWWW Urum-Qi / Diwopu (China)
+ZWYN Yining  China
+ZYCC Changchun  China
+ZYQQ Qiqihar  China
+ZYTL Dalian (China)
+ZYTX Shenyang / Taokian  China
diff --git a/metar/metar.pl b/metar/metar.pl
new file mode 100755
index 0000000..2f017df
--- /dev/null
+++ b/metar/metar.pl
@@ -0,0 +1,91 @@
+#!/usr/bin/perl
+use strict;
+use LWP::UserAgent;
+
+use Geo::METAR;
+use strict;
+
+## Import available environment variables
+
+my $address       = $ENV{'MULTI_USER'};            # address of invoking user
+my $user          = $ENV{'MULTI_REALUSER'};        # multigate username of invoking user
+my $userlevel     = $ENV{'MULTI_USERLEVEL'};       # userlevel of invoking user
+my $from_protocol = $ENV{'MULTI_FROM'};            # protocol this command was invoked from
+my $to_protocol   = $ENV{'MULTI_TO'};              # protocol where output will be sent
+my $command_level = $ENV{'MULTI_COMMANDLEVEL'};    # level needed for this command
+my $is_multicast  = $ENV{'MULTI_IS_MULTICAST'};
+
+my $commandline = defined $ARGV[0] ? uc( $ARGV[0] ) : '';
+
+my %locations = ();
+open CODES, "<icao3.txt";                          #icao3.txt is combined from 2 icao sources
+while ( my $line = <CODES> ) {
+    chomp $line;
+    my ( $code, $location ) = split ' ', $line, 2;
+    $locations{$code} = $location;
+}
+close CODES;
+
+if ( $commandline =~ /^[A-Za-z]{4}$/ ) {
+
+    #Check location code
+
+    unless ( $locations{$commandline} ) {
+        print "Unknown location code: $commandline\n";
+        exit 0;
+    }
+
+    ## Get a certain URL
+    my $url = "http://weather.noaa.gov/cgi-bin/mgetmetar.pl?cccc=$commandline";
+
+    my $ua = new LWP::UserAgent;
+
+    #Set agent name, we are not a script! :)
+    my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)";
+    $ua->agent($agent);
+
+    my $request = new HTTP::Request( 'GET', $url );
+    my $content = $ua->request($request)->content;
+
+    my @lines = split /^/m, $content;
+
+    my $metarcode;
+    foreach my $line (@lines) {
+
+        #print "-->$line";
+        if ( $line =~ /^($commandline .*)$/ ) {    # if it matches something
+            $metarcode = $1;
+        }
+    }
+
+    my $m = new Geo::METAR;
+    $m->metar($metarcode);
+
+    #print $m->dump;
+
+    my $c_temp = $m->C_TEMP;
+    my $date   = $m->DATE;
+    my $time   = $m->TIME;
+    my $wind_r = $m->WIND_DIR_ENG;
+    my $wind_s = $m->WIND_KTS;
+
+    #    if ($user eq 'wiggy') {
+    #       $time = "No time";
+    #    }
+
+    print "Weather at $locations{$commandline} ($time). Temperature: $c_temp (C). Wind: $wind_r $wind_s (knots)\n";
+    print "Code: $metarcode \n" unless ($is_multicast);
+} else {
+    print "Geef METAR ID, zie bijvoorbeeld http://www.gironet.nl/home/aviator1/icao4/icao4.htm\n";
+    my @hints = ();
+
+    ## Zoek match
+    foreach my $code ( keys %locations ) {
+        if ( $locations{$code} =~ /\Q$commandline\E/i ) {
+            push @hints, $code;
+        }
+    }
+    if (@hints) {
+        print "Misschien bedoel je ", ( join " of ", ( splice @hints, 0, 4 ) ), "?\n";
+    }
+}
diff --git a/metar/metar2.pl b/metar/metar2.pl
new file mode 100755
index 0000000..b9f8e45
--- /dev/null
+++ b/metar/metar2.pl
@@ -0,0 +1,87 @@
+#!/usr/bin/perl
+use strict;
+use LWP::UserAgent;
+
+use Geo::METAR;
+use strict;
+
+## Import available environment variables
+
+my $address       = $ENV{'MULTI_USER'};            # address of invoking user
+my $user          = $ENV{'MULTI_REALUSER'};        # multigate username of invoking user
+my $userlevel     = $ENV{'MULTI_USERLEVEL'};       # userlevel of invoking user
+my $from_protocol = $ENV{'MULTI_FROM'};            # protocol this command was invoked from
+my $to_protocol   = $ENV{'MULTI_TO'};              # protocol where output will be sent
+my $command_level = $ENV{'MULTI_COMMANDLEVEL'};    # level needed for this command
+my $is_multicast  = $ENV{'MULTI_IS_MULTICAST'};
+
+my $commandline = defined $ARGV[0] ? uc( $ARGV[0] ) : '';
+
+my %locations = ();
+open CODES, "<icao3.txt";                          #icao3.txt is combined from 2 icao sources
+while ( my $line = <CODES> ) {
+    chomp $line;
+    my ( $code, $location ) = split ' ', $line, 2;
+    $locations{$code} = $location;
+}
+close CODES;
+
+if ( $commandline =~ /^[A-Za-z]{4}$/ ) {
+
+    #Check location code
+
+    unless ( $locations{$commandline} ) {
+        print "Unknown location code: $commandline\n";
+        exit 0;
+    }
+
+    ## Get a certain URL
+    my $url = "http://weather.noaa.gov/cgi-bin/mgetmetar.pl?cccc=$commandline";
+
+    my $ua = new LWP::UserAgent;
+
+    #Set agent name, we are not a script! :)
+    my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)";
+    $ua->agent($agent);
+
+    my $request = new HTTP::Request( 'GET', $url );
+    my $content = $ua->request($request)->content;
+
+    my @lines = split /^/m, $content;
+
+    my $metarcode;
+    foreach my $line (@lines) {
+
+        #print "-->$line";
+        if ( $line =~ /^($commandline .*)$/ ) {    # if it matches something
+            $metarcode = $1;
+        }
+    }
+
+    my $m = new Geo::METAR;
+    $m->metar($metarcode);
+
+    #print $m->dump;
+
+    my $c_temp = $m->C_TEMP;
+    my $date   = $m->DATE;
+    my $time   = $m->TIME;
+    my $wind_r = $m->WIND_DIR_ENG;
+    my $wind_s = $m->WIND_KTS;
+
+    print "Weather at $locations{$commandline} ($time). Temperature: $c_temp (C). Wind: $wind_r $wind_s (knots)\n";
+    print "Code: $metarcode \n" unless ($is_multicast);
+} else {
+    print "Geef METAR ID, zie bijvoorbeeld http://www.gironet.nl/home/aviator1/icao4/icao4.htm\n";
+    my @hints = ();
+
+    ## Zoek match
+    foreach my $code ( keys %locations ) {
+        if ( $locations{$code} =~ /\Q$commandline\E/i ) {
+            push @hints, $code;
+        }
+    }
+    if (@hints) {
+        print "Misschien bedoel je ", ( join " of ", ( splice @hints, 0, 4 ) ), "?\n";
+    }
+}
diff --git a/mike/command.cfg b/mike/command.cfg
new file mode 100644
index 0000000..5d439f1
--- /dev/null
+++ b/mike/command.cfg
@@ -0,0 +1 @@
+level = 100
diff --git a/mike/level b/mike/level
new file mode 100644
index 0000000..29d6383
--- /dev/null
+++ b/mike/level
@@ -0,0 +1 @@
+100
diff --git a/mike/mike.pl b/mike/mike.pl
new file mode 100755
index 0000000..ab8e4a3
--- /dev/null
+++ b/mike/mike.pl
@@ -0,0 +1,7 @@
+#!/usr/bin/perl -w
+
+if ( $ENV{'MULTI_REALUSER'} eq "oxo" ) {
+    print "Daar droom je van he?";
+} else {
+    print "It's amazing!";
+}
diff --git a/mission/command.cfg b/mission/command.cfg
new file mode 100644
index 0000000..3a2c67a
--- /dev/null
+++ b/mission/command.cfg
@@ -0,0 +1 @@
+level = 50
diff --git a/mission/help.txt b/mission/help.txt
new file mode 100644
index 0000000..eeb9623
--- /dev/null
+++ b/mission/help.txt
@@ -0,0 +1 @@
+mission: generate a mission statement for everything.
\ No newline at end of file
diff --git a/mission/mission.pl b/mission/mission.pl
new file mode 100755
index 0000000..000350a
--- /dev/null
+++ b/mission/mission.pl
@@ -0,0 +1,130 @@
+#!/usr/bin/perl -w 
+use strict;
+
+sub get {
+    my @array = @_;
+    return $array[ rand(@array) ];
+}
+
+my @openers = (
+    'It is our business to',         'It is our job to',
+    'It is our mission to',          'It\'s our responsibility to',
+    'Our challenge is to',           'Our first priority is to',
+    'Our goal is to',                'Our mission is to',
+    'Our mission is to continue to', 'The customer can count on us to',
+    'We',                            'We build trust and teamwork to',
+    'We envision to',                'We exist to',
+    'We have committed to',          'We strive to',
+    'We will'
+);
+my @adverbs = (
+    'appropriately', 'assertively',      'authoritatively', 'collaboratively', 'competently',   'completely',
+    'continually',   'conveniently',     'credibly',        'distinctively',   'dramatically',  'dynamically',
+    'efficiently',   'enthusiastically', 'globally',        'holisticly',      'interactively', 'intrinsicly',
+    'objectively',   'proactively',      'professionally',  'progressively',   'quickly',       'seamlessly',
+    'synergistically'
+);
+my @verbs = (
+    'actualize',     'administrate',      'build',             'communicate', 'conceptualize', 'coordinate',
+    'create',        'customize',         'develop',           'disseminate', 'empower',       'engineer',
+    'enhance',       'facilitate',        'fashion',           'foster',      'impact',        'initiate',
+    'integrate',     'leverage existing', 'leverage other\'s', 'maintain',    'negotiate',     'network',
+    'parallel task', 'promote',           'provide access to', 'pursue',      're-engineer',   're-invent',
+    'restore',       'revolutionize',     'simplify',          'streamline',  'supply',        'utilize'
+);
+my @adjectives = (
+    'accurate',              'adaptive',            'alternative',        'an expanded array of',
+    'backward-compatible',   'best of breed',       'business',           'client-based',
+    'client-centered',       'client-centric',      'client-focused',     'collaborative',
+    'competitive',           'cooperative',         'corporate',          'cost effective',
+    'cross functional',      'cross-unit',          'customer directed',  'cutting edge',
+    'distinctive',           'diverse',             'economically sound', 'effective',
+    'emerging',              'empowered',           'enabled',            'enterprise-wide',
+    'equity invested',       'error-free',          'ethical',            'excellent',
+    'exceptional',           'flexible',            'fully researched',   'fully tested',
+    'functional',            'functionalized',      'future-proof',       'global',
+    'go forward',            'goal-oriented',       'high standards in',  'high-payoff',
+    'high-quality',          'highly efficient',    'inexpensive',        'innovative',
+    'installed base',        'integrated',          'interactive',        'interdependent',
+    'interoperable',         'just in time',        'leading-edge',       'leveraged',
+    'long-term high-impact', 'low-risk high-yield', 'maintainable',       'market positioning',
+    'market-driven',         'market-focused',      'mission-critical',   'multidisciplinary',
+    'multifunctional',       'multimedia based',    'optimal',            'orthogonal',
+    'parallel',              'performance based',   'premier',            'premium',
+    'principle-centered',    'proactive',           'process-centric',    'professional',
+    'progressive',           'prospective',         'quality',            'reliable',
+    'resource maximizing',   'resource-leveling',   'scalable',           'stand-alone',
+    'standards compliant',   'state of the art',    'strategic',          'superior',
+    'sustainable',           'tactical',            'team building',      'team driven',
+    'technically sound',     'timely',              'top-line',           'turn-key',
+    'unique',                'user friendly',       'value-added',        'virtual',
+    'world-class',           'worldwide',           'prespecified',       'user-oriented'
+);
+my @nouns = (
+    '"outside the box" thinking',     'action items',
+    'alignments',                     'benefits',
+    'best practices',                 'catalysts for change',
+    'collaboration and idea-sharing', 'content',
+    'core competencies',              'customer service',
+    'data',                           'deliverables',
+    'e-business',                     'expertise',
+    'growth strategies',              'human capital',
+    'ideas',                          'imperatives',
+    'information',                    'infrastructures',
+    'initiatives',                    'innovation',
+    'intellectual capital',           'internal or "organic" sources',
+    'leadership',                     'leadership skills',
+    'manufactured products',          'materials',
+    'meta-services',                  'methods of empowerment',
+    'metrics',                        'niche markets',
+    'opportunities',                  'paradigms',
+    'potentialities',                 'process improvements',
+    'processes',                      'products',
+    'quality vectors',                'resources',
+    'results',                        'scenarios',
+    'services',                       'solutions',
+    'sources',                        'strategic theme areas',
+    'supply chains',                  'synergy',
+    'technology',                     'testing procedures',
+    'total linkage',                  'value',
+    'Quality of Service targets'
+);
+my @conjunctions =
+  ( 'and', 'and also', 'and continue to', 'as well as to', 'in order that we may', 'in order to', 'so that we may',
+    'so that we may endeavor to', 'such that we may continue to', 'to allow us to', 'while continuing to' );
+my @closers = (
+    'and approach our jobs with passion an commitment',
+    'because that is what the customer expects',
+    'for 100% customer satisfaction',
+    'in order to solve business problems',
+    'so that we can deliver the kind of results on the bottom line that our investors expect and deserve',
+    'through continuous improvement',
+    'thus enhancing the long-term value of the business',
+    'to be the best in the world',
+    'to delight the customer',
+    'to exceed customer expectations',
+    'to meet our customer\'s needs',
+    'to satisfy our internal and external customers',
+    'to set us apart from the competition',
+    'to stay competitive in tomorrow\'s world',
+    'while adhering to the highest standards of quality',
+    'while maintaining the highest standards',
+    'while promoting personal employee growth',
+    'while striving for technical leadership',
+    'with 100% on-time delivery',
+    'with zero defects'
+);
+
+my $statement = get(@openers) . " " . get(@adverbs) . " " . get(@verbs) . " " . get(@adjectives) . " " . get(@nouns);
+
+for ( my $x = 0 ; $x < 2 ; $x++ ) {
+    if ( rand(1) > .5 ) {
+        $statement .=
+          " " . get(@conjunctions) . " " . get(@adverbs) . " " . get(@verbs) . " " . get(@adjectives) . " " . get(@nouns);
+    }
+}
+
+$statement .= " " . get(@closers);
+
+print "$statement.\n";
+
diff --git a/morse/command.cfg b/morse/command.cfg
new file mode 100644
index 0000000..3a2c67a
--- /dev/null
+++ b/morse/command.cfg
@@ -0,0 +1 @@
+level = 50
diff --git a/morse/help.txt b/morse/help.txt
new file mode 100644
index 0000000..9878d1e
--- /dev/null
+++ b/morse/help.txt
@@ -0,0 +1,3 @@
+morse -- Translate something into morse code
+usage: morse [string]
+string: Whatever it is you want to translate to morse code.
diff --git a/morse/level b/morse/level
new file mode 100644
index 0000000..e373ee6
--- /dev/null
+++ b/morse/level
@@ -0,0 +1 @@
+50
diff --git a/morse/morse.pl b/morse/morse.pl
new file mode 100755
index 0000000..6653b2a
--- /dev/null
+++ b/morse/morse.pl
@@ -0,0 +1,52 @@
+#!/usr/bin/perl
+
+foreach $line (@ARGV) {
+    $line =~ s/\s+$//;
+    $line =~ s/\s+/   /g;
+    $line =~ tr/[A-Z]/[a-z]/;
+    $line =~ s/\./\.\-\.\-\.\- /g;
+    $line =~ s/\?/\.\.\-\-\.\. /g;
+    $line =~ s/\!/\.\-\-\-\-\. /g;
+    $line =~ s/a/\.\- /g;
+    $line =~ s/b/\-\.\.\. /g;
+    $line =~ s/c/\-\.\-\. /g;
+    $line =~ s/d/\-\.\. /g;
+    $line =~ s/e/\. /g;
+    $line =~ s/f/\.\.\-\. /g;
+    $line =~ s/g/\-\-\. /g;
+    $line =~ s/h/\.\.\.\. /g;
+    $line =~ s/i/\.\. /g;
+    $line =~ s/j/\.\-\-\- /g;
+    $line =~ s/k/\-\.\- /g;
+    $line =~ s/l/\.\-\.\. /g;
+    $line =~ s/m/\-\- /g;
+    $line =~ s/n/\-\. /g;
+    $line =~ s/o/\-\-\- /g;
+    $line =~ s/p/\.\-\-\. /g;
+    $line =~ s/q/\-\-\.\- /g;
+    $line =~ s/r/\.\-\. /g;
+    $line =~ s/s/\.\.\. /g;
+    $line =~ s/t/\- /g;
+    $line =~ s/u/\.\.\- /g;
+    $line =~ s/v/\.\.\.\- /g;
+    $line =~ s/w/\.\-\- /g;
+    $line =~ s/x/\-\.\.\- /g;
+    $line =~ s/y/\-\.\-\- /g;
+    $line =~ s/z/\-\-\.\. /g;
+    $line =~ s/0/\-\-\-\-\- /g;
+    $line =~ s/1/\.\-\-\-\- /g;
+    $line =~ s/2/\.\.\-\-\- /g;
+    $line =~ s/3/\.\.\.\-\- /g;
+    $line =~ s/4/\.\.\.\.\- /g;
+    $line =~ s/5/\.\.\.\.\. /g;
+    $line =~ s/6/\-\.\.\.\. /g;
+    $line =~ s/7/\-\-\.\.\. /g;
+    $line =~ s/8/\-\-\-\.\. /g;
+    $line =~ s/9/\-\-\-\-\. /g;
+    $line =~ s/\,/\-\-\.\.\-\- /g;
+    $line =~ s/@/\.\-\-\.\-\. /g;
+    print "$line ";
+}
+
+print "\n";
+
diff --git a/msg/command.cfg b/msg/command.cfg
new file mode 100644
index 0000000..5d439f1
--- /dev/null
+++ b/msg/command.cfg
@@ -0,0 +1 @@
+level = 100
diff --git a/msg/help.txt b/msg/help.txt
new file mode 100644
index 0000000..8c3df54
--- /dev/null
+++ b/msg/help.txt
@@ -0,0 +1 @@
+msg [groupname | username] : send message to all members of the group or to a user. messages will go to currect preferred protocol(s). see: followme
\ No newline at end of file
diff --git a/msn/command.cfg b/msn/command.cfg
new file mode 100644
index 0000000..5d439f1
--- /dev/null
+++ b/msn/command.cfg
@@ -0,0 +1 @@
+level = 100
diff --git a/msn/msn.pl b/msn/msn.pl
new file mode 100755
index 0000000..19f4078
--- /dev/null
+++ b/msn/msn.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl -w
+
+print "MSN is currently unavailable\n";
diff --git a/nato/command.cfg b/nato/command.cfg
new file mode 100644
index 0000000..711930a
--- /dev/null
+++ b/nato/command.cfg
@@ -0,0 +1 @@
+level = 0
diff --git a/nato/help.txt b/nato/help.txt
new file mode 100644
index 0000000..ac8af07
--- /dev/null
+++ b/nato/help.txt
@@ -0,0 +1 @@
+nato: converts text to NATO spelling alphabet
\ No newline at end of file
diff --git a/nato/level b/nato/level
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/nato/level
@@ -0,0 +1 @@
+0
diff --git a/nato/nato.pl b/nato/nato.pl
new file mode 100755
index 0000000..6497788
--- /dev/null
+++ b/nato/nato.pl
@@ -0,0 +1,49 @@
+#!/usr/bin/perl -w
+use strict;
+
+my %table = (
+    A => "ALFA",
+    B => "BRAVO",
+    C => "CHARLIE",
+    D => "DELTA",
+    E => "ECHO",
+    F => "FOXTROT",
+    G => "GOLF",
+    H => "HOTEL",
+    I => "INDIA",
+    J => "JULIETT",
+    K => "KILO",
+    L => "LIMA",
+    M => "MIKE",
+    N => "NOVEMBER",
+    O => "OSCAR",
+    P => "PAPA",
+    Q => "QUEBEC",
+    R => "ROMEO",
+    S => "SIERRA",
+    T => "TANGO",
+    U => "UNIFORM",
+    V => "VICTOR",
+    W => "WHISKEY",
+    X => "XRAY",
+    Y => "YANKEE",
+    Z => "ZULU",
+    0 => "ZERO",
+    1 => "ONE",
+    2 => "TWO",
+    3 => "THREE",
+    4 => "FOUR",
+    5 => "FIVE",
+    6 => "SIX",
+    7 => "SEVEN",
+    8 => "EIGHT",
+    9 => "NINER"
+);
+
+my $input = $ARGV[0];
+
+$input =~ s/\W//g;
+$input =~ s/([A-Za-z0-9])/$table{uc($1)} /g;
+
+print $input, "\n";
+
diff --git a/neenee/command.cfg b/neenee/command.cfg
new file mode 100644
index 0000000..711930a
--- /dev/null
+++ b/neenee/command.cfg
@@ -0,0 +1 @@
+level = 0
diff --git a/neenee/help.txt b/neenee/help.txt
new file mode 100644
index 0000000..af3cd0e
--- /dev/null
+++ b/neenee/help.txt
@@ -0,0 +1 @@
+neenee: geeft als antwoord nee.
diff --git a/neenee/janee.pl.klein.maar.mooi b/neenee/janee.pl.klein.maar.mooi
new file mode 100755
index 0000000..8963af0
--- /dev/null
+++ b/neenee/janee.pl.klein.maar.mooi
@@ -0,0 +1,3 @@
+#!/usr/bin/perl -w
+my @janee = qw (ja nee);
+print $janee[int(rand(2))] ."\n";
diff --git a/neenee/level b/neenee/level
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/neenee/level
@@ -0,0 +1 @@
+0
diff --git a/neenee/neenee.pl b/neenee/neenee.pl
new file mode 100755
index 0000000..2b9b6c8
--- /dev/null
+++ b/neenee/neenee.pl
@@ -0,0 +1,9 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+if ( int( rand(100) ) == 42 ) {    #in 1% van de gevallen
+    print "ja\n";
+} else {
+    print "nee\n";
+}
diff --git a/nickometer/command.cfg b/nickometer/command.cfg
new file mode 100644
index 0000000..4931eb7
--- /dev/null
+++ b/nickometer/command.cfg
@@ -0,0 +1,2 @@
+level = 100
+user = 0
diff --git a/nickometer/help.txt b/nickometer/help.txt
new file mode 100644
index 0000000..646f52d
--- /dev/null
+++ b/nickometer/help.txt
@@ -0,0 +1 @@
+nickometer <nick>: calculates nickname lameness, using alghorithm by Adam Spiers <adam.spiers@new.ox.ac.uk> (c) 1998
\ No newline at end of file
diff --git a/nickometer/nickoback.pl b/nickometer/nickoback.pl
new file mode 100755
index 0000000..805de44
--- /dev/null
+++ b/nickometer/nickoback.pl
@@ -0,0 +1,199 @@
+#!/usr/bin/perl -w
+#
+# Lame-o-Nickometer backend
+#
+# (c) 1998 Adam Spiers <adam.spiers@new.ox.ac.uk>
+#
+# You may do whatever you want with this code, but give me credit.
+#
+# $Id: nickometer.pl,v 1.9 2000/08/07 13:05:14 adam Exp $
+#
+
+use strict;
+
+#use Getopt::Std;
+use Math::Trig;
+
+use vars qw($VERSION $score $verbose);
+
+$VERSION = '$Revision: 1.9 $';  # '
+$VERSION =~ s/^.*?([\d.]+).*?$/$1/;
+
+sub nickometer ($) {
+    local $_ = shift;
+
+    local $score = 0;
+
+    # Deal with special cases (precede with \ to prevent de-k3wlt0k)
+    my %special_cost = (
+        '69'                => 500,
+        'dea?th'            => 500,
+        'dark'              => 400,
+        'n[i1]ght'          => 300,
+        'n[i1]te'           => 500,
+        'fuck'              => 500,
+        'sh[i1]t'           => 500,
+        'coo[l1]'           => 500,
+        'kew[l1]'           => 500,
+        'lame'              => 500,
+        'dood'              => 500,
+        'dude'              => 500,
+        'rool[sz]'          => 500,
+        'rule[sz]'          => 500,
+        '[l1](oo?|u)[sz]er' => 500,
+        '[l1]eet'           => 500,
+        'e[l1]ite'          => 500,
+        '[l1]ord'           => 500,
+        'k[i1]ng'           => 500,
+        'pron'              => 1000,
+        'warez'             => 1000,
+        'xx'                => 100,
+        '\[rkx]0'           => 1000,
+        '\0[rkx]'           => 1000,
+    );
+
+    foreach my $special ( keys %special_cost ) {
+        my $special_pattern = $special;
+        my $raw             = ( $special_pattern =~ s/^\\// );
+        my $nick            = $_;
+        unless ($raw) {
+            $nick =~ tr/023457+8/ozeasttb/;
+        }
+        &punish( $special_cost{$special}, "matched special case /$special_pattern/" ) if $nick =~ /$special_pattern/i;
+    }
+
+    # Allow Perl referencing
+    s/^\\([A-Za-z])/$1/;
+
+    # By his own admission, the nick ^Pudge is slightly lame ...
+    # s/\^(pudge)/$1/i;
+
+    # C-- ain't so bad :-)
+    s/^C--$/C/;
+
+    # Punish consecutive non-alphas
+    s/([^A-Za-z0-9]{2,})
+   /my $consecutive = length($1);
+    &punish(&slow_pow(10, $consecutive), 
+        "$consecutive total consecutive non-alphas")
+      if $consecutive;
+    $1
+   /egx;
+
+    # Remove one layer of balanced brackets and punish for rest
+    if ( s/^([^{}]*)   (\{) (.*) (\}) ([^{}]*)   $/$1$3$5/x
+        || s/^([^\[\]]*) (\[) (.*) (\]) ([^\[\]]*) $/$1$3$5/x
+        || s/^([^()]*)   (\() (.*) (\)) ([^()]*)   $/$1$3$5/x )
+    {
+        print "Removed $2$4 outside parentheses; nick now $_\n" if $verbose;
+    }
+    my $parentheses = tr/(){}[]/(){}[]/;
+    &punish( &slow_pow( 10, $parentheses ), "$parentheses extraneous " . ( $parentheses == 1 ? 'parenthesis' : 'parentheses' ) )
+      if $parentheses;
+
+    # Punish k3wlt0k
+    my @k3wlt0k_weights = ( 5, 5, 2, 5, 2, 3, 1, 2, 2, 2 );
+    for my $digit ( 0 .. 9 ) {
+        my $occurrences = s/$digit/$digit/g || 0;
+        &punish( $k3wlt0k_weights[$digit] * $occurrences * 30,
+            $occurrences . ' ' . ( ( $occurrences == 1 ) ? 'occurrence' : 'occurrences' ) . " of $digit" )
+          if $occurrences;
+    }
+
+    # An alpha caps is not lame in middle or at end, provided the first
+    # alpha is caps.
+    my $orig_case = $_;
+    s/^([^A-Za-z]*[A-Z].*[a-z].*?)[_-]?([A-Z])/$1\l$2/;
+
+    # A caps first alpha is sometimes not lame
+    s/^([^A-Za-z]*)([A-Z])([a-z])/$1\l$2$3/;
+
+    # Punish uppercase to lowercase shifts and vice-versa, modulo 
+    # exceptions above
+    my $case_shifts = &case_shifts($orig_case);
+    &punish( &slow_pow( 9, $case_shifts ), $case_shifts . ' case ' . ( ( $case_shifts == 1 ) ? 'shift' : 'shifts' ) )
+      if ( $case_shifts > 1 && /[A-Z]/ );
+
+    # Punish lame endings (TorgoX, WraithX et al. might kill me for this :-)
+    &punish( 50, 'last alpha lame' ) if $orig_case =~ /[XZ][^a-zA-Z]*$/;
+
+    # Punish letter to numeric shifts and vice-versa
+    my $number_shifts = &number_shifts($_);
+    &punish( &slow_pow( 9, $number_shifts ), $number_shifts . ' letter/number ' . ( ( $number_shifts == 1 ) ? 'shift' : 'shifts' ) )
+      if $number_shifts > 1;
+
+    # Punish extraneous caps
+    my $caps = tr/A-Z/A-Z/;
+    &punish( &slow_pow( 7, $caps ), "$caps extraneous caps" ) if $caps;
+
+    # Now punish anything that's left
+    my $remains = $_;
+    $remains =~ tr/a-zA-Z0-9//d;
+    my $remains_length = length($remains);
+
+    &punish( 50 * $remains_length + &slow_pow( 9, $remains_length ),
+        $remains_length . ' extraneous ' . ( ( $remains_length == 1 ) ? 'symbol' : 'symbols' ) )
+      if $remains;
+
+    printf "\nRaw lameness score is %.2f\n", $score if $verbose;
+
+    # Use an appropriate function to map [0, +inf) to [0, 100).
+    # Improvements welcome, this one is a bit sucky.
+    my $percentage = 100 * ( 1 + tanh( ( $score - 400 ) / 400 ) ) * ( 1 - 1 / ( 1 + $score / 5 ) ) / 2;
+
+    my $digits = 2 * ( 2 - &round_up( log( 100 - $percentage ) / log(10) ) );
+
+    return sprintf "%.${digits}f", $percentage;
+}
+
+sub case_shifts ($) {
+
+    # This is a neat trick suggested by freeside.  Thanks freeside!
+
+    my $shifts = shift;
+
+    $shifts =~ tr/A-Za-z//cd;
+    $shifts =~ tr/A-Z/U/s;
+    $shifts =~ tr/a-z/l/s;
+
+    return length($shifts) - 1;
+}
+
+sub number_shifts ($) {
+    my $shifts = shift;
+
+    $shifts =~ tr/A-Za-z0-9//cd;
+    $shifts =~ tr/A-Za-z/l/s;
+    $shifts =~ tr/0-9/n/s;
+
+    return length($shifts) - 1;
+}
+
+sub slow_pow ($$) {
+    my ( $x, $y ) = @_;
+
+    return $x**&slow_exponent($y);
+}
+
+sub slow_exponent ($) {
+    my $x = shift;
+
+    return 1.3 * $x * ( 1 - atan( $x / 6 ) * 2 / pi );
+}
+
+sub round_up ($) {
+    my $float = shift;
+
+    return int($float) + ( ( int($float) == $float ) ? 0 : 1 );
+}
+
+sub punish ($$) {
+    my ( $damage, $reason ) = @_;
+
+    return unless $damage;
+
+    $score += $damage;
+    printf "%.2f lameness points awarded: $reason\n", $damage if $verbose;
+}
+
+1;
diff --git a/nickometer/nickometer.pl b/nickometer/nickometer.pl
new file mode 100755
index 0000000..079f322
--- /dev/null
+++ b/nickometer/nickometer.pl
@@ -0,0 +1,30 @@
+#!/usr/bin/perl -w
+#
+# Lame-o-Nickometer frontend
+#
+# (c) 1998 Adam Spiers <adam.spiers@new.ox.ac.uk>
+#
+# You may do whatever you want with this code, but give me credit.
+#
+
+use strict;
+
+use vars qw($VERSION $verbose);
+$verbose = 0;
+
+require 'nickoback.pl';
+
+my $user = $ENV{'MULTI_REALUSER'};
+my $arg  = $ARGV[0];
+
+if ( ( !defined $arg ) || ( $arg eq "" ) ) {
+    $arg = $user;
+}
+
+my $percentage = &nickometer($arg);
+
+if ( $arg eq "CtlAltDel" ) {
+    $percentage = "100";
+}
+
+print "$arg scores $percentage% on the Lame-o-Nickometer\n";
diff --git a/nieuws/command.cfg b/nieuws/command.cfg
new file mode 100644
index 0000000..6bd3d81
--- /dev/null
+++ b/nieuws/command.cfg
@@ -0,0 +1,2 @@
+level = 0
+cache = 300 # 5 minutes
\ No newline at end of file
diff --git a/nieuws/help.txt b/nieuws/help.txt
new file mode 100644
index 0000000..e2575d9
--- /dev/null
+++ b/nieuws/help.txt
@@ -0,0 +1 @@
+Geeft het nieuwsoverzicht, zoals te vinden op teletekst pagina 101
diff --git a/nieuws/n.pl b/nieuws/n.pl
new file mode 100755
index 0000000..ca21bce
--- /dev/null
+++ b/nieuws/n.pl
@@ -0,0 +1,66 @@
+#!/usr/bin/perl -w
+use strict;
+
+use LWP::UserAgent;
+use HTTP::Cookies;
+use HTML::Entities();
+my $ua = new LWP::UserAgent;
+
+my @agents = (
+    "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)",
+    "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
+);
+
+my $agent = @agents[ int( rand(@agents) ) ];
+$ua->agent($agent);
+
+
+my $request = new HTTP::Request( 'GET', "http://teletekst.nos.nl/tekst/101-01.html" );
+$request->referer('http://portal.omroep.nl/');
+$request->header( "Accept" => 'application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1');
+$request->header( "Accept-Encoding" => "gzip,deflate" );
+$request->header( "Accept-Language" => "en-us, en;q=0.5" );
+$request->header( "Accept-Charset"  => "ISO-8859-1,utf-8;q=0.7,*" );
+
+my $response = $ua->request($request);
+my @html     = split /\n/, $response->content;
+
+my @result = ();
+foreach my $line (@html) {
+    print "--> $line\n";
+    if ( $line =~ m|^<font color=white> </font><font color=aqua>(.*?)<font color=yellow>(\d+)</a></font>$|i ) {
+        my $regel = $1;
+        my $page  = $2;
+
+        $regel =~ s/<.*?>//g;      #html-tags
+        $regel =~ s/\.+\s*$//g;    #puntjes
+        $regel =~ s/\s+/ /g;       #dubbele spaties
+        $regel =~ s/\s*$//g;       #trailing spaces
+
+        $regel = HTML::Entities::decode($regel);
+        push @result, $regel . " ($page)";
+
+    } elsif ( $line =~ m|^<font color=white> </font><font color=aqua>(.*?)</font>(.*?)</a></font>$|i ) {
+        my $regel = $1;
+        my $rest  = $2;
+
+        $regel =~ s/<.*?>//g;                  #html-tags
+        $regel =~ s/\.+\s*$//g;                #puntjes
+        $rest  =~ s/<.*?>//g;                  #html-tags
+        $rest  =~ s/(\d{3}(?:\/\d)?)/($1)/g;
+
+        $regel .= $rest;
+
+        $regel =~ s/((?:\d{3},)+\d{3})$/ ($1)/;    # lijst met komma's
+        $regel =~ s/(\d{3}-\d{3})$/ ($1)/;         # range met streepje
+
+        $regel =~ s/\s+/ /g;                       #dubbele spaties
+
+        $regel = HTML::Entities::decode($regel);
+        push @result, $regel;
+    }
+}
+
+print join ", ", @result;
+print "\n";
+exit 0;
diff --git a/nieuws/nieuws.pl b/nieuws/nieuws.pl
new file mode 100755
index 0000000..8cc710f
--- /dev/null
+++ b/nieuws/nieuws.pl
@@ -0,0 +1,66 @@
+#!/usr/bin/perl -w
+use strict;
+
+use LWP::UserAgent;
+use HTTP::Cookies;
+use HTML::Entities();
+my $ua = new LWP::UserAgent;
+
+my @agents = (
+    "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)",
+    "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
+);
+
+my $agent = @agents[ int( rand(@agents) ) ];
+$ua->agent($agent);
+
+#$ua->proxy( "http", "http://www.area53.nl:4242/" ); #temporary proxy
+
+my $request = new HTTP::Request( 'GET', "http://teletekst.nos.nl/tekst/101-01.html" );
+$request->referer('http://portal.omroep.nl/');
+$request->header( "Accept" => 'application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1' );
+$request->header( "Accept-Encoding" => "gzip,deflate" );
+$request->header( "Accept-Language" => "en-us, en;q=0.5" );
+$request->header( "Accept-Charset"  => "ISO-8859-1,utf-8;q=0.7,*" );
+
+my $response = $ua->request($request);
+my @html     = split /\n/, $response->content;
+
+my @result = ();
+foreach my $line (@html) {
+    if ( $line =~ m|^<font color=white> </font><font color=aqua>(.*?)<font color=yellow>(\d+)</a></font>$|i ) {
+        my $regel = $1;
+        my $page  = $2;
+
+        $regel =~ s/<.*?>//g;      #html-tags
+        $regel =~ s/\.+\s*$//g;    #puntjes
+        $regel =~ s/\s+/ /g;       #dubbele spaties
+        $regel =~ s/\s*$//g;       #trailing spaces
+
+        $regel = HTML::Entities::decode($regel);
+        push @result, $regel . " ($page)";
+
+    } elsif ( $line =~ m|^<font color=white> </font><font color=aqua>(.*?)</font>(.*?)</a></font>$|i ) {
+        my $regel = $1;
+        my $rest  = $2;
+
+        $regel =~ s/<.*?>//g;                  #html-tags
+        $regel =~ s/\.+\s*$//g;                #puntjes
+        $rest  =~ s/<.*?>//g;                  #html-tags
+        $rest  =~ s/(\d{3}(?:\/\d)?)/($1)/g;
+
+        $regel .= $rest;
+
+        $regel =~ s/((?:\d{3},)+\d{3})$/ ($1)/;    # lijst met komma's
+        $regel =~ s/(\d{3}-\d{3})$/ ($1)/;         # range met streepje
+
+        $regel =~ s/\s+/ /g;                       #dubbele spaties
+
+        $regel = HTML::Entities::decode($regel);
+        push @result, $regel;
+    }
+}
+
+print join ", ", @result;
+print "\n";
+exit 0;
diff --git a/nieuws/nieuws.test.pl b/nieuws/nieuws.test.pl
new file mode 100755
index 0000000..80a9d98
--- /dev/null
+++ b/nieuws/nieuws.test.pl
@@ -0,0 +1,66 @@
+#!/usr/bin/perl -w
+use strict;
+
+use LWP::UserAgent;
+use HTTP::Cookies;
+use HTML::Entities();
+my $ua = new LWP::UserAgent;
+
+my @agents = (
+    "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)",
+    "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
+);
+
+my $agent = @agents[ int( rand(@agents) ) ];
+$ua->agent($agent);
+
+my $request = new HTTP::Request( 'GET', "http://teletekst.nos.nl/tekst/101-01.html" );
+$request->referer('http://portal.omroep.nl/');
+$request->header( "Accept" =>
+    'application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1'
+);
+$request->header( "Accept-Encoding" => "gzip, deflate, compress" );
+$request->header( "Accept-Language" => "en-us, en;q=0.80, ko;q=0.60, zh;q=0.40, ja;q=0.20" );
+$request->header( "Accept-Charset"  => "utf-8, *" );
+
+my $response = $ua->request($request);
+my @html     = split /\n/, $response->content;
+
+my @result = ();
+foreach my $line (@html) {
+    if ( $line =~ m|^<font color=white> </font><font color=aqua>(.*?)<font color=yellow>(\d+)</a></font>$|i ) {
+        my $regel = $1;
+        my $page  = $2;
+
+        $regel =~ s/<.*?>//g;      #html-tags
+        $regel =~ s/\.+\s*$//g;    #puntjes
+        $regel =~ s/\s+/ /g;       #dubbele spaties
+        $regel =~ s/\s*$//g;       #trailing spaces
+
+        $regel = HTML::Entities::decode($regel);
+        push @result, $regel . " ($page)";
+
+    } elsif ( $line =~ m|^<font color=white> </font><font color=aqua>(.*?)</font>(.*?)</a></font>$|i ) {
+        my $regel = $1;
+        my $rest  = $2;
+
+        $regel =~ s/<.*?>//g;                  #html-tags
+        $regel =~ s/\.+\s*$//g;                #puntjes
+        $rest  =~ s/<.*?>//g;                  #html-tags
+        $rest  =~ s/(\d{3}(?:\/\d)?)/($1)/g;
+
+        $regel .= $rest;
+
+        $regel =~ s/((?:\d{3},)+\d{3})$/ ($1)/;    # lijst met komma's
+        $regel =~ s/(\d{3}-\d{3})$/ ($1)/;         # range met streepje
+
+        $regel =~ s/\s+/ /g;                       #dubbele spaties
+
+        $regel = HTML::Entities::decode($regel);
+        push @result, "$regel";
+    }
+}
+
+print join ", ", @result;
+print "\n";
+exit 0;
diff --git a/nieuwswauwel/command.cfg b/nieuwswauwel/command.cfg
new file mode 100644
index 0000000..b9ff63f
--- /dev/null
+++ b/nieuwswauwel/command.cfg
@@ -0,0 +1 @@
+level = 50
\ No newline at end of file
diff --git a/nieuwswauwel/help.txt b/nieuwswauwel/help.txt
new file mode 100644
index 0000000..cc7aab4
--- /dev/null
+++ b/nieuwswauwel/help.txt
@@ -0,0 +1 @@
+gewauwel, maar dan nieuws-achtig
\ No newline at end of file
diff --git a/nieuwswauwel/kretologie.txt b/nieuwswauwel/kretologie.txt
new file mode 100644
index 0000000..7b0d48a
--- /dev/null
+++ b/nieuwswauwel/kretologie.txt
@@ -0,0 +1,3 @@
+A = new Array("geïntegreerde ","systematische ","functionele ","multi-disciplinaire ","gekantelde ","normatieve ","sociaal-psychologische ","dynamische ","geobjectiveerde ","structurele ");
+B = new Array("begeleiding van ","organisatorische ","ontwikkeling van ","benadering van ","technologische ","relationele ","coördinatie van ","bureaucratische ","prognose van ","conservatieve ");
+C = new Array("veranderingsprocessen","modelontwikkeling","gedragsalternatieven","managementtechnieken","organisatievormen","spanningsvelden","machtsaspecten","informatiesystemen","communicatiemethoden","strategiebepaling");
diff --git a/nieuwswauwel/nieuwswauwel.pl b/nieuwswauwel/nieuwswauwel.pl
new file mode 100755
index 0000000..f184ecc
--- /dev/null
+++ b/nieuwswauwel/nieuwswauwel.pl
@@ -0,0 +1,47 @@
+#!/usr/bin/perl -w
+use strict;
+my @first = (
+    "Onvoldoende bescherming tegen",       "Onderzoek naar",
+    "Nieuwe geluidsopnames gevonden over", "Stijgend kritiek op",
+    "Eindelijk uitsluitsel over",          "Snelle verslechtering van",
+    "Wetenschappers ontdekken",            "Hevige gevechten over",
+    "Winst en hogere omzet uit",           "Aanvalsplan tegen",
+    "Mogelijk verbod van",                 "Granaten afgevuurd op",
+    "Boetes voor",                         "Groot onderzoek naar",
+    "In cel wegens",                       "Eminems ex onthult",
+    "Woede over",                          "Hevige opspraak over",
+    "Patty Brard betaalt",                 "Nieuwe onthullingen over",
+    "President Bush verklaart:",           "Bram Peper ontkent",
+    "Uitsluitsel gegeven over",            "Topman stapt op na",
+    "Osama Bin Laden dreigt met",          "Grootschalige controles over",
+    "Algehele verwarring over",
+);
+
+my @second = (
+    "Nederlands kamp",         "pesten",               "vastbinden patienten",          "aardverschuiving",
+    "bomaanslagen",            "scholierenexperiment", "Nederlands kabinet",            "jongeren",
+    "kwartaalwinst Ebay",      "moslim extremisten",   "Premier Balkenende",            "Koninklijk huis",
+    "grootschalige ontslagen", "diepgaand onderzoek",  "nieuw bewijs",                  "onthullende feiten",
+    "blikseminslagen",         "belastingfraude",      "dopinggebruik",                 "grote olieramp",
+    "gezellige mensen",        "nucleair afval",       "vuurwerkrampen",                "zedenschandaal",
+    "dijkdoorbraken",          "illegale hennepteelt", "gedoogbeleid omtrent softdrugs",
+);
+
+my @third = (
+    "in Irak",                         "op het werk",
+    "in Afghanistan",                  "in verpleeghuis",
+    "in Indonesie",                    "op de vrije markt",
+    "bij Motorola",                    "in Hollywood",
+    "onder een brug",                  "op de rails",
+    "in een treinstation",             "nabij de A1",
+    "in het hoofdkantoor van Philips", "op straat",
+    "van de baan",                     "op de werkvloer",
+    "in een nabijgelegen land",        "in de middenlandse zee",
+    "in de Kalverstraat",              "van het Irakese volk",
+    "in diverse concerns",             "bij verschillende bedrijven",
+    "op het universiteitsterrein",     "in een nabij gelegen militair kamp",
+);
+
+my $result = $first[ rand(@first) ] . " " . $second[ rand(@second) ] . " " . $third[ rand(@third) ];
+
+print "$result\n";
diff --git a/nieuwswauwel/onzingeneratoren.html b/nieuwswauwel/onzingeneratoren.html
new file mode 100644
index 0000000..fb8a244
--- /dev/null
+++ b/nieuwswauwel/onzingeneratoren.html
@@ -0,0 +1,442 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+   "http://www.w3.org/TR/html4/loose.dtd">
+
+<html>
+<head>
+	<title>Komma Punt Net - Onzingeneratoren
+      
+	
+	
+	
+	
+	
+	
+
+
+ 
+
+	
+Komma Punt Net - Onzingeneratoren
+
+
+
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    
+    
+    
+
+
+
+
+
+
+    
+    
+    
+
+
+
+
+
+    
+    
+    
+
+
+
+
+
+    
+    
+    
+
+
+
+
+    
+    
+    
+
+
+
+
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
voorpagina
de binnenkomer
kantoortaal
spreekmoorden
onzingeneratoren
signatures
columns
business babbel bingo
links
uit het lood
over de maker
het rommelhok
+
Mailen?

+webmaster@komma.net
+
© 2001/2003
+Komma Punt Net
+
+ + +


+ + + + +
+ + +
+ +

+

+ Onzingeneratoren +



+

Huh? Onzingeneratoren? Jazeker, reeksen met zinsneden en + uitdrukkingen die veel letters bevatten en een omgekeerd evenredige + inhoud en daarnaast nog eens willekeurig uitgewisseld kunnen worden + zonder aan betekenis te verliezen - of te winnen....

Even voor alle duidelijkheid: dit is niet door Wammes bedacht. Het + is een wijd en zijd verbreid tijdverdrijf, dat hier en daar wat + professioneler wordt gebruikt. De onderstaande voorbeelden zijn + sterk geïnspireerd op - om niet te zeggen ontleend aan - het boek Kantoortaal van Wim de Jong en Henrico + Prins.

Het principe is eenvoudig: klik op een van de knoppen en er komt + een zin tevoorschijn met een reeks vre-se-lij-ke uitdrukkingen, + voornamelijk uit het ambtelijke circuit en dat van de zakelijke + dienstverlening.

Veel plezier!

+ + (Let op: dit werkt alleen met JavaScript ingeschakeld. Waarom ik op deze webstek gebruik heb gemaakt van JavasScript, is hier te lezen.) +

+

+ De systematische trefwoordenprojector +


+ +
+
+ + +






+
+

+ De kretologiemixer +


+
+
+ + +






+
+

+ De rapportvuller +

+
+
+
+ + +






+
+

+ De welzijnsroomklopper +

+
+
+
+ + +




+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/nieuwswauwel/projector.txt b/nieuwswauwel/projector.txt new file mode 100644 index 0000000..b678585 --- /dev/null +++ b/nieuwswauwel/projector.txt @@ -0,0 +1,3 @@ +A = new Array("geïntegreerde ","collectieve ","parallelle ","graduele ","schematische ","formatieve ","optimale ","gesynchroniseerde ","functionele ","optionele ", "geobjectiveerde ", "uitgekristalliseerde ", "normatieve "); +B = new Array("beleids","rationaliserings","systeem","management","productiviteits","normaliserings","structuur","utiliteits","ontwikkelings","organisatie"); +C = new Array("standaardisatie","synthese","inschaling","mobiliteit","analyse","programmering","fasering","projectie","stabilisatie","flexibiliteit","rapportage"); diff --git a/nieuwswauwel/rapportvuller.txt b/nieuwswauwel/rapportvuller.txt new file mode 100644 index 0000000..e9916a7 --- /dev/null +++ b/nieuwswauwel/rapportvuller.txt @@ -0,0 +1,4 @@ +A = new Array("In het bijzonder kunnen wij stellen dat ","Anderzijds zijn wij van mening dat ","Wij kunnen er echter van uitgaan dat ","Hiermee rekening houdend is het juist dat ","Waardoor ","De conclusie is gewettigd dat ","Ook is het uiterst waarschijnlijk dat ","Met het oog op doelstellingen ten gevolge waarvan ","U zult toch moeilijk kunnen ontkennen dat ","De moderne opvatting gaat ervan uit dat "); +B = new Array("het overgrote deel van de input/output coördinatie ","een voortdurende stroom van effectieve informatie ","de karakterisering van specifieke criteria ","de initialisering van de ontwikkeling van het kritieke subsysteem ","het volledig geïntegreerde testprogramma ","de basis van de productconfiguratie ","ieder geassocieerd dienstverlenend element ","de incorporatie van additionele uitvoeringsvoorwaarden ","het onafhankelijk functioneel principe ","de primaire interrelatie van technologieën "); +C = new Array("gebruik moet maken van en functioneel verweven moet zijn met ","de waarschijnlijkheid optimaliseert van het succes tot ","de expliciete gebruikslimieten toevoegt aan ","het noodzakelijk maakt dat urgent beschouwing wordt toegepast op ","niet te onderschatten systeemonderzoek vergt om te komen tot ","verder geëlaboreerd wordt met beschouwingen ten aanzien van ","een uitermate interessante stimulans levert voor ","het belang erkent van andere systemen en de noodzaak voor ","invloed heeft op een buitengewoon interessante implementatie van ","allesoverheersende bedrijfsvoorwaarden toevoegt aan "); +D = new Array("het moderne doch gecompliceerde technische resultaat","de verwachte vierde-generatieapparatuur","het testen van de bedrijfszekerheid van het subsysteem","het gestructureerde ontwerp dat gebaseerd is op de technologische concepten","de initiële grenzen van de classificatie-limiet","de ontwikkeling van het technische gedrag over een gegeven tijdsbestek","de heersende grondgedachte ten aanzien van systeemdwang en standaardisatie","het concept van de stijgende penetratiegraad","een willekeurige discontinue samenstellingmodus","een volledige systeembenadering"); diff --git a/nieuwswauwel/welzijn.txt b/nieuwswauwel/welzijn.txt new file mode 100644 index 0000000..255f4a3 --- /dev/null +++ b/nieuwswauwel/welzijn.txt @@ -0,0 +1,3 @@ +A = new Array("creatief ","een stukje ","holistisch ","existentieel ","lichamelijk ","geestelijk ","spiritueel ","religieus ","dynamisch "); +B = new Array("omvattend ","vervullend ","sociaal ","vermenselijkend ","wezenlijk ","groepsmatig ","natuurlijk ","binnenwerelds ","innerlijk ","kritisch "); +C = new Array("aanreiken","duiden","omvatten","invoelen","verwerken","anders-zijn","jezelf-zijn","naar-de-ander-gaan","verwerkelijken","vermaatschappelijken"); diff --git a/ns/command.cfg b/ns/command.cfg new file mode 100644 index 0000000..9364955 --- /dev/null +++ b/ns/command.cfg @@ -0,0 +1,2 @@ +level = 0 +cache = 600 # 10 minutes \ No newline at end of file diff --git a/ns/level b/ns/level new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/ns/level @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/ns/ns.pl b/ns/ns.pl new file mode 100755 index 0000000..bb08f05 --- /dev/null +++ b/ns/ns.pl @@ -0,0 +1,52 @@ +#!/usr/bin/perl +# Casper Joost Eyckelhof (Titanhead) +# joost@dnd.utwente.nl +# Haalt het meest recente NS-nieuws van tt op en scrijft deze naar STDOUT +# Niet kort of heel efficient, maar werkt prima :) + +use HTML::Entities(); +use LWP::UserAgent; + +$ua = new LWP::UserAgent; + +#Set agent name, vooral niet laten weten dat we een script zijn +$agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; +$ua->agent($agent); + +#$ua->proxy( "http", "http://www.area53.nl:4242/" ); #temporary proxy + +$url = "http://teletekst.nos.nl/tekst/751-01.html"; # what else??? + +##Haal pagina op +$request = new HTTP::Request( 'GET', $url ); +$request->referer('http://portal.omroep.nl/'); +$request->header( "Accept" => 'application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1' ); +$request->header( "Accept-Encoding" => "gzip,deflate" ); +$request->header( "Accept-Language" => "en-us, en;q=0.5" ); +$request->header( "Accept-Charset" => "ISO-8859-1,utf-8;q=0.7,*" ); +$content = $ua->request($request)->content; + +#get everything between
 
+if ( $content =~ /
/ ) {
+    $content =~ s/^.*?
.*?\n(.*?)<\/pre>.*?$/$1/si;
+    $content =~ s/\*+//g;
+    $content =~ s///sgi;
+    $content =~ s/<\/font>//sgi;
+    $content =~ s/(\d{3})<\/A>/($1),/gi;
+    $content =~ s/\n+//g;
+    $content =~ s/\.{2,}//g;
+    $content =~ s/([,.])/$1 /g;
+    $content =~ s/\s{2,}/ /g;
+    $content =~ s/^\s//;
+    $content =~ s/(\d{3})<\/A>/($1),/gi;
+    $content =~ s/volledig nieuwsoverzicht.*?$//i;
+    $content =~ s/,\s*$//;
+    $content =~ s/^(.*?ProRail).*$/$1/i;
+    $content =~ s/volgende nieuws.*$//i;
+    $content = HTML::Entities::decode($content);
+
+    print $content . "\n";
+
+} else {
+    print "Status onbekend\n";
+}
diff --git a/nu/command.cfg b/nu/command.cfg
new file mode 100644
index 0000000..bc26ce0
--- /dev/null
+++ b/nu/command.cfg
@@ -0,0 +1,2 @@
+level = 50
+cache = 180
diff --git a/nu/help.txt b/nu/help.txt
new file mode 100644
index 0000000..714a82b
--- /dev/null
+++ b/nu/help.txt
@@ -0,0 +1 @@
+nu: geeft een aantal recente news-items van http://nu.nl/
\ No newline at end of file
diff --git a/nu/nu.pl b/nu/nu.pl
new file mode 100755
index 0000000..835f991
--- /dev/null
+++ b/nu/nu.pl
@@ -0,0 +1,64 @@
+#!/usr/bin/perl -w
+use strict;
+
+my $binnenland = 2;
+my $buitenland = 2;
+my $sport      = 0;
+my $net        = 1;
+my $economie   = 1;
+
+use LWP::UserAgent;
+use HTTP::Cookies;
+my $ua = new LWP::UserAgent;
+
+# sanity checks on a resultstring
+sub check_result {
+    my $result = shift;
+    return ( length($result) < 350 );
+}
+
+my @agents = (
+    "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)",
+    "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
+);
+
+my $agent = @agents[ int( rand(@agents) ) ];
+$ua->agent($agent);
+
+my $request = new HTTP::Request( 'GET', "http://nu.nl/deeplink_xml/" );
+$request->referer("http://nu.nl/");
+my $response = $ua->request($request);
+my @html     = split /\n/, $response->content;
+
+my %nu      = ();
+my $section = "unknown";
+foreach my $line (@html) {
+    if ( $line =~ /
/i ) { + $section = $1; + } elsif ( $line =~ m|(.*?)|i ) { + my $headline = $2; + push @{ $nu{$section} }, $headline; + } else { + + #print "No match: $line\n"; + } + +} + +my @selectie = (); + +# Selecteer headlines: + +push @selectie, splice( @{ $nu{'Binnenland'} }, 0, $binnenland ); +push @selectie, splice( @{ $nu{'Buitenland'} }, 0, $buitenland ); +push @selectie, splice( @{ $nu{'Sport'} }, 0, $sport ); +push @selectie, splice( @{ $nu{'Net'} }, 0, $net ); +push @selectie, splice( @{ $nu{'Economie'} }, 0, $economie ); + +if (@selectie) { + print join ( ", ", @selectie ), " (bron: nu.nl)\n"; +} else { + print "Geen nieuws nu\n"; + exit 0; +} + diff --git a/openbsd/command.cfg b/openbsd/command.cfg new file mode 100644 index 0000000..313c999 --- /dev/null +++ b/openbsd/command.cfg @@ -0,0 +1,2 @@ +level = 0 +cache = 120 diff --git a/openbsd/help.txt b/openbsd/help.txt new file mode 100644 index 0000000..b0e4215 --- /dev/null +++ b/openbsd/help.txt @@ -0,0 +1 @@ +openbsd [.] geeft de meest recente regel uit de errata voor die release. Zonder argumenten wordt de meest recente release genomen. diff --git a/openbsd/openbsd.pl b/openbsd/openbsd.pl new file mode 100755 index 0000000..3391051 --- /dev/null +++ b/openbsd/openbsd.pl @@ -0,0 +1,40 @@ +#!/usr/bin/perl -w +use strict; +use LWP::UserAgent; + +## Import available environment variables + +my $commandline = defined $ARGV[0] ? $ARGV[0] : ''; +my $url; +if ( $commandline =~ /^(\d)\.(\d)$/ ) { + $url = "http://www.openbsd.org/errata$1$2.html"; +} else { + $url = "http://www.openbsd.org/errata.html"; +} + +## Get a certain URL + +my $ua = new LWP::UserAgent; + +#Set agent name, we are not a script! :) +my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; +$ua->agent($agent); + +my $request = new HTTP::Request( 'GET', $url ); +my $content = $ua->request($request)->content; + +my @lines = split /^/m, $content; + +# $result contains the String that will be returned to the user +my $result = "Geen errata gevonden :)"; + +# $needed is the program that is requested. 0 = the current program, 1 = next etc. + +foreach my $line (@lines) { + if ( $line =~ /009000\"\>\(.*)\<\/strong>/i ) { + $result = $1; + last; + } +} + +print $result; diff --git a/package/command.cfg b/package/command.cfg new file mode 100644 index 0000000..31efa04 --- /dev/null +++ b/package/command.cfg @@ -0,0 +1,2 @@ +level = 50 +cache = 3600 # 1 hour diff --git a/package/help.txt b/package/help.txt new file mode 100644 index 0000000..55c525f --- /dev/null +++ b/package/help.txt @@ -0,0 +1 @@ +package : searches in which debian package this file is located (stable; i386). maxresults = 5 (partial filenames are allowed) \ No newline at end of file diff --git a/package/package.pl b/package/package.pl new file mode 100755 index 0000000..ac1da34 --- /dev/null +++ b/package/package.pl @@ -0,0 +1,40 @@ +#!/usr/bin/perl -w +use strict; +use LWP::UserAgent; +use URI::Escape; + +my $commandline = defined $ARGV[0] ? $ARGV[0] : ''; + +my $maxaantal = 5; + +$commandline = uri_escape($commandline); + +## Get a certain URL +my $url = + "http://packages.debian.org/cgi-bin/search_contents.pl?word=$commandline&searchmode=searchfilesanddirs&case=insensitive&version=stable&arch=i386"; + +my $ua = new LWP::UserAgent; + +#Set agent name, we are not a script! :) +my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; +$ua->agent($agent); + +my $request = new HTTP::Request( 'GET', $url ); +my $content = $ua->request($request)->content; + +my @lines = split /^/m, $content; +my @result = (); +my $aantal = 0; +foreach my $line (@lines) { + if ( $line =~ /^(\S+)\s+; +close FOO; +print $quotes[ int( rand(@quotes) ) ]; diff --git a/parrot/parrot.txt b/parrot/parrot.txt new file mode 100644 index 0000000..5fec6db --- /dev/null +++ b/parrot/parrot.txt @@ -0,0 +1,21 @@ +'E's dead, that's what's wrong with it! +No, no, 'e's uh,...he's resting. Look, matey, I know a dead parrot when I see one, and I'm looking at one right now. +No no he's not dead, he's, he's restin'! Remarkable bird, the Norwegian Blue, idn'it, ay? Beautiful plumage! The plumage don't enter into it. It's stone dead. +Nononono, no, no! 'E's resting! Now that's what I call a dead parrot. +Yeah! You stunned him, just as he was wakin' up! Norwegian Blues stun easily, major. Um...now look...now look, mate, I've definitely 'ad enough of this. That parrot is definitely deceased, and when I purchased it not 'alf an hour ago, you assured me that its total lack of movement was due to it bein' tired and shagged out following a prolonged squawk. +Well, he's...he's, ah...probably pining for the fjords. PININ' for the FJORDS?!?!?!? What kind of talk is that?, look, why did he fall flat on his back the moment I got 'im home? +The Norwegian Blue prefers keepin' on it's back! Remarkable bird, id'nit, squire? Lovely plumage! Look, I took the liberty of examining that parrot when I got it home, and I discovered the only reason that it had been sitting on its perch in the first place was that it had been NAILED there. +Well, o'course it was nailed there! If I hadn't nailed that bird down, it would have nuzzled up to those bars, bent 'em apart with its beak, and VOOM! Feeweeweewee! "VOOM"?!? Mate, this bird wouldn't "voom" if you put four million volts through it! 'E's bleedin' demised! +No no! 'E's pining! 'E's not pinin'! 'E's passed on! +This parrot is no more! +He has ceased to be! +'E's expired and gone to meet 'is maker! +'E's a stiff! +Bereft of life, 'e rests in peace! +If you hadn't nailed 'im to the perch 'e'd be pushing up the daisies! +'Is metabolic processes are now 'istory! +'E's off the twig! +'E's kicked the bucket +'E's shuffled off 'is mortal coil +Run down the curtain and joined the bleedin' choir invisibile!! +This is an ex-parrot!! diff --git a/pasen/command.cfg b/pasen/command.cfg new file mode 100644 index 0000000..c9f18ed --- /dev/null +++ b/pasen/command.cfg @@ -0,0 +1,2 @@ +level = 100 +cache = 0 \ No newline at end of file diff --git a/pasen/help.txt b/pasen/help.txt new file mode 100644 index 0000000..31f48d1 --- /dev/null +++ b/pasen/help.txt @@ -0,0 +1 @@ +pasen [jaartal]: geeft de datum waarop pasen valt in dat jaar. \ No newline at end of file diff --git a/pasen/pasen.pl b/pasen/pasen.pl new file mode 100755 index 0000000..aa916fc --- /dev/null +++ b/pasen/pasen.pl @@ -0,0 +1,32 @@ +#!/usr/bin/perl -w +use Date::Calc; +use strict; + +my $year = $ARGV[0]; + +my %maand = ( + 1 => "januari", + 2 => "februari", + 3 => "maart", + 4 => "april", + 5 => "mei", + 6 => "juni", + 7 => "juli", + 8 => "augustus", + 9 => "september", + 10 => "oktober", + 11 => "november", + 12 => "december" +); + +unless ( $year =~ /^\d+$/ ) { + $year = (localtime)[5] + 1900; +} + +if ( $year < 1583 ) { + print "Te lang geleden\n"; + $year = (localtime)[5] + 1900; +} + +my ( $y, $m, $d ) = Date::Calc::Easter_Sunday($year); +print "Pasen $year valt op $d $maand{$m}\n"; diff --git a/perlfool/command.cfg b/perlfool/command.cfg new file mode 100644 index 0000000..e8dd685 --- /dev/null +++ b/perlfool/command.cfg @@ -0,0 +1,2 @@ +level = 50 +cache = 0 \ No newline at end of file diff --git a/perlfool/fool.txt b/perlfool/fool.txt new file mode 100644 index 0000000..619d591 --- /dev/null +++ b/perlfool/fool.txt @@ -0,0 +1,66 @@ +You cannot just paste code with no understanding of what is going on and expect it to work. +You can't just make shit up and expect the computer to know what you mean, Retardo! +You said it didn't work, but you didn't say what it would have done if it *had* worked. +What are you really trying to accomplish here? +Who the fuck cares which one is faster? +Now is the time in our program where you look at the manual. +Look at the error message! Look at the error message! +Looking for a compiler bug is the strategy of LAST resort. LAST resort. +Premature optimization is the root of all evil. +Bad programmer! No cookie! +I see you omitted $! from the error message. It won't tell you what went wrong if you don't ask it to. +You wrote the same thing twice here. The cardinal rule of programming is that you never ever write the same thing twice. +Evidently it's important to you to get the wrong answer as quickly as possible. +Gee, I don't know. I wonder what the manual says about that? +Well, no duh. That's because you ignored the error message, dimwit. +Only Sherlock Holmes can debug the program by pure deduction from the output. You are not Sherlock Holmes. Run the fucking debugger already. +Always ignore the second error message unless the meaning is obvious. +Read. Learn. Evolve. +Well, then get one that *does* do auto-indent. You can't do good work with bad tools. +No. You must believe the ERROR MESSAGE. You MUST believe the error message. +The error message is the Truth. The error message is God. +It could be anything. Too bad you didn't bother to diagnose the error, huh? +You don't suppress error messages, you dumbass, you PAY ATTENTION and try to understand them. +Never catch a signal except as a last resort. +Well, if you don't know what it does, why did you put it in your program? +Gosh, that wasn't very bright, was it? +That's like taking a crap on someone's doorstep and then ringing the doorbell to ask for toilet paper. +A good approach to that problem would be to hire a computer programmer. +First get a book on programming. Then read it. Then write the program. +First ask yourself `How would I do this without a computer?' Then have the computer do it the same way. +Would you like to see my rate card? +I think you are asking the wrong question here. +Holy cow. +Because it's a syntax error. +Because this is Perl, not C. +Because this is Perl, not Lisp. +Because that's the way it is. +Because. +If you have `some weird error', the problem is probably with your frobnitzer. +Because the computer cannot read your mind. Guess what? I cannot read your mind *either*. +You said `It doesn't work'. The next violation will be punished by death. +Of course it doesn't work! That's because you don't know what you are doing! +Sure, but you have to have some understanding also. +Ah yes, and you are the first person to have noticed this bug since 1987. Sure. +Yes, that's what it's supposed to do when you say that. +Well, what did you expect? +Perhaps you have forgotten that this is an engineering discipline, not some sort of black magic. +You know, this sort of thing is amenable to experimental observation. +Perhaps your veeblefitzer is clogged. +What happens when you try? +Now you are just being superstitious. +Your question has exceeded the system limit for pronouns in a single sentence. Please dereference and try again. +In my experience that is a bad strategy, because the people who ask such questions are the ones who paste the answer into their program without understanding it and then complain that it oes not work'. +Of course, this is a heuristic, which is a fancy way of saying that it doesn't work. +If your function is written correctly, it will handle an empty array the same way as a nonempty array. +When in doubt, use brute force. +Well, it might be more intuitive that way, but it would also be useless. +Show the code. +The bug is in you, not in Perl. +Cargo-cult. +So you threw in some random punctuation for no particular reason, and then you didn't get the result you expected. Hmmmm. +How should I know what is wrong when I haven't even seen the code? I am not clairvoyant. +How should I know how to do what you want when you didn't say what you wanted to do? +It's easy to get the *wrong* answer in O(1) time. +I guess this just goes to show that you can lead a horse to water, but you can't make him drink it. +You are a stupid asshole. Shut the fuck up. \ No newline at end of file diff --git a/perlfool/perlfool.pl b/perlfool/perlfool.pl new file mode 100755 index 0000000..b49d25b --- /dev/null +++ b/perlfool/perlfool.pl @@ -0,0 +1,8 @@ +#!/usr/bin/perl -w + +open( MSG, "< fool.txt" ); +my @opties = ; +close MSG; + +my $antwoord = $opties[ int( rand(@opties) ) ]; +print "$antwoord"; diff --git a/ping/command.cfg b/ping/command.cfg new file mode 100644 index 0000000..7ae344d --- /dev/null +++ b/ping/command.cfg @@ -0,0 +1,2 @@ +level = 0 +exe = pong.pl diff --git a/ping/help.txt b/ping/help.txt new file mode 100644 index 0000000..b276fcd --- /dev/null +++ b/ping/help.txt @@ -0,0 +1 @@ +Sends PING to multigate. Multigate responds with PONG. diff --git a/ping/pong.pl b/ping/pong.pl new file mode 100755 index 0000000..a14fa12 --- /dev/null +++ b/ping/pong.pl @@ -0,0 +1,3 @@ +#!/usr/bin/perl + +print "Pong\n"; diff --git a/postcode/command.cfg b/postcode/command.cfg new file mode 100644 index 0000000..0f3a60b --- /dev/null +++ b/postcode/command.cfg @@ -0,0 +1,4 @@ +user = 0 +cache = 604800 #one week +level = 50 +author = joost diff --git a/postcode/help.txt b/postcode/help.txt new file mode 100644 index 0000000..d015ba7 --- /dev/null +++ b/postcode/help.txt @@ -0,0 +1 @@ +postcode : levert de bijbehorende straatnaam op. (postcode 1234AB 56) \ No newline at end of file diff --git a/postcode/postcode.pl b/postcode/postcode.pl new file mode 100755 index 0000000..fb2f29a --- /dev/null +++ b/postcode/postcode.pl @@ -0,0 +1,59 @@ +#!/usr/bin/perl -w +# Copyright 2002, Casper Eyckelhof + +use LWP::UserAgent; +use HTTP::Cookies; +use URI::Escape; + +$ua = new LWP::UserAgent; + +$commandline = $ARGV[0]; +$commandline =~ /^(\d{4}\s*[A-Za-z]{2})\s*(\d+)/; + +( $postcode, $nummer ) = ( $1, $2 ); + +if ( !( ( defined $postcode ) && ( defined $nummer ) ) ) { + print "Geef postcode en huisnummer. Vb: 1234AB 56\n"; + exit 0; +} + +$postcode = uri_escape($postcode); +$postcode =~ s/%20/+/g; +$nummer = uri_escape($nummer); +$nummer =~ s/%20/+/g; + +@agents = ( + "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)", "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Opera 6.01 [en]" +); + +$agent = @agents[ int( rand(@agents) ) ]; +$ua->agent($agent); + +$request = + new HTTP::Request( 'GET', + "http://www.tpgpost.nl/zoeken/resultaatscherm.phtml?action=checkpc&postcode=$postcode&huisnummer=$nummer" ); +$response = $ua->request($request); +$content = $response->content; + +#Het resultaat van uw zoekopdracht is: +# +# +#   +# +# Fransche Brug 12
2371BE ROELOFARENDSVEEN
+# +#print STDERR $content; + +$content =~ s/ //g; + +if ( $content =~ m|^.*?Het resultaat van uw zoekopdracht is:.*?(.*?)\s($nummer)
(\d{4}\w{2})\s*(.*?)
.*?|si ) { + $straat = $1; + $huis = $2; + $plaats = $4; + $code = $3; + + print "$code $huis: $straat te $plaats\n"; +} else { + print "$postcode $nummer lijkt niet te bestaan\n"; +} diff --git a/postcode/postcode_oud.pl b/postcode/postcode_oud.pl new file mode 100755 index 0000000..d7f5551 --- /dev/null +++ b/postcode/postcode_oud.pl @@ -0,0 +1,50 @@ +#!/usr/bin/perl -w +# Copyright 2002, Casper Eyckelhof + +use LWP::UserAgent; +use HTTP::Cookies; +use URI::Escape; + +$ua = new LWP::UserAgent; + +$commandline = $ARGV[0]; +$commandline =~ /^(\d{4}\s*[A-Za-z]{2})\s*(\d+)/; + +( $postcode, $nummer ) = ( $1, $2 ); + +if ( !( ( defined $postcode ) && ( defined $nummer ) ) ) { + print "Geef postcode en huisnummer. Vb: 1234AB 56\n"; + exit 0; +} + +$postcode = uri_escape($postcode); +$postcode =~ s/%20/+/g; +$nummer = uri_escape($nummer); +$nummer =~ s/%20/+/g; + +@agents = ( + "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)", "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Opera 6.01 [en]" +); + +$agent = @agents[ int( rand(@agents) ) ]; +$ua->agent($agent); + +$request = new HTTP::Request( 'GET', "http://www.tpgpost.nl/cgi-bin/pzm-p.pl?postcode=$postcode&huisnummer=$nummer" ); +$response = $ua->request($request); +$content = $response->content; + +if ( $content =~ + /^.*?Straatnaam\s*(.*?)
\s*<\/b>Huisnummer\s*(.*?)
\s*<\/b>Woonplaats\s*(.*?)<\/b>\s*
\s*<\/b>Postcode\s*(.*?)
.*?$/si + ) +{ + $straat = $1; + $huis = $2; + $plaats = $3; + $code = $4; + + print "$code $huis: $straat te $plaats\n"; +} else { + print "$postcode $nummer lijkt niet te bestaan\n"; + +} diff --git a/priemfactoren/command.cfg b/priemfactoren/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/priemfactoren/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/priemfactoren/help.txt b/priemfactoren/help.txt new file mode 100644 index 0000000..a738cc6 --- /dev/null +++ b/priemfactoren/help.txt @@ -0,0 +1 @@ +priemfactoren [nummer] - geeft de priemfactoren waaruit [nummer] is opgebouwd \ No newline at end of file diff --git a/priemfactoren/priemfactoren.pl b/priemfactoren/priemfactoren.pl new file mode 100755 index 0000000..dfd3928 --- /dev/null +++ b/priemfactoren/priemfactoren.pl @@ -0,0 +1,53 @@ +#!/usr/bin/perl +# bigfact - calculate prime factors +use strict; +use integer; + +use vars qw{ $opt_b $opt_d }; +use Getopt::Std; + +@ARGV && getopts('bd') or die "usage: $0 [-b] number ..."; + +load_biglib() if $opt_b; + +ARG: foreach my $orig ( @ARGV ) { + my ($n, %factors, $factor); + $n = $opt_b ? Math::BigInt->new($orig) : $orig; + if ($n + 0 ne $n) { # don't use -w for this + printf STDERR "bigfact: %s would become %s\n", $n, $n+0 if $opt_d; + load_biglib(); + $n = Math::BigInt->new($orig); + } + print "$n : "; + + # Here $sqi will be the square of $i. We will take advantage + # of the fact that ($i + 1) ** 2 == $i ** 2 + 2 * $i + 1. + for (my ($i, $sqi) = (2, 4); $sqi <= $n; $sqi += 2 * $i ++ + 1) { + while ($n % $i == 0) { + $n /= $i; + print STDERR "<$i>" if $opt_d; + $factors {$i} ++; + } + } + + if ($n != 1 && $n != $orig) { $factors{$n}++ } + if (! %factors) { + print "PRIME\n"; + next ARG; + } + for $factor ( sort { $a <=> $b } keys %factors ) { + print "$factor"; + if ($factors{$factor} > 1) { + print "**$factors{$factor}"; + } + print " "; + } + print "\n"; +} + +# this simulates a use, but at run time +sub load_biglib { + require Math::BigInt; + Math::BigInt->import(); #immaterial? +} + diff --git a/pwgen/command.cfg b/pwgen/command.cfg new file mode 100644 index 0000000..13d4e16 --- /dev/null +++ b/pwgen/command.cfg @@ -0,0 +1,2 @@ +level=100 +cache=0 diff --git a/pwgen/help.txt b/pwgen/help.txt new file mode 100644 index 0000000..7f0b4b8 --- /dev/null +++ b/pwgen/help.txt @@ -0,0 +1 @@ +pwgen [-c] [-n] [-s] [lengte]: geeft 1 random password, gegenereerd door pwgen diff --git a/pwgen/pwgen b/pwgen/pwgen new file mode 100755 index 0000000..585d4fb Binary files /dev/null and b/pwgen/pwgen differ diff --git a/pwgen/pwgen.pl b/pwgen/pwgen.pl new file mode 100755 index 0000000..39419a3 --- /dev/null +++ b/pwgen/pwgen.pl @@ -0,0 +1,27 @@ +#!/usr/bin/perl -w +use strict; + +my $commandline = defined $ARGV[0] ? $ARGV[0] : ''; + +my @args = split ' ', $commandline; +my @newargs = (); +my $temp; +my $length = 9; + +foreach $temp (@args) { + if ( $temp eq "-n" || $temp eq "-c" || $temp eq "-s" ) { + push @newargs, $temp; + } elsif ( $temp =~ /^[0-9]+$/ ) { + $length = $temp; + } +} + +if ( $length < 3 ) { + $length = 3; +} + +if ( int( rand(100) ) == 42 ) { #in 1% van de gevallen + print "frop"; +} else { + system( "./pwgen", @newargs, $length, 1 ); +} diff --git a/quote/command.cfg b/quote/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/quote/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/quote/help.txt b/quote/help.txt new file mode 100644 index 0000000..d475b43 --- /dev/null +++ b/quote/help.txt @@ -0,0 +1,2 @@ +quote [add ] - without parameters it shows a random quote +quote [count|ls] [keyword] - tries to find a quote with keyword in it, otherwise displays random quote; count=count entries, ls=list all entries \ No newline at end of file diff --git a/quote/level b/quote/level new file mode 100644 index 0000000..573541a --- /dev/null +++ b/quote/level @@ -0,0 +1 @@ +0 diff --git a/quote/quote.bak.pl b/quote/quote.bak.pl new file mode 100755 index 0000000..4d40fd2 --- /dev/null +++ b/quote/quote.bak.pl @@ -0,0 +1,23 @@ +#!/usr/bin/perl -w +# Simple and stupid quote database +# No file locking - race conditions possible - whatever :) +# Casper Joost Eyckelhof 2002 + +use strict; + +my $quotefile = "./quotes.txt"; + +if ( $ARGV[0] =~ /^add (.*)$/i ) { + open FOO, ">> $quotefile"; + print FOO "$1\n"; + close FOO; + print "Quote added\n"; +} else { + + #print random quote + open MSG, "< $quotefile"; + my @opties = ; + close MSG; + my $antwoord = $opties[ int( rand(@opties) ) ]; + print $antwoord; +} diff --git a/quote/quote.pl b/quote/quote.pl new file mode 100755 index 0000000..2eaa806 --- /dev/null +++ b/quote/quote.pl @@ -0,0 +1,79 @@ +#!/usr/bin/perl -w +# Simple and stupid quote database +# No file locking - race conditions possible - whatever :) +# Casper Joost Eyckelhof 2002 +# Keyword search by Wouter Commandeur +# "ls" option by Robbert Muller + +use strict; + +my $quotefile = "./quotes.txt"; + +my $eerste; +my $rest; +my $line; +my $is_multicast = $ENV{'MULTI_IS_MULTICAST'}; # message to multiple recipients (channels) + +if ( $ARGV[0] ) { ( $eerste, $rest ) = split ' ', $ARGV[0], 2; } + +if ( $eerste && $eerste eq "add" ) { + open FOO, ">> $quotefile"; + print FOO "$rest\n"; + close FOO; + print "Quote added\n"; +} elsif ( $eerste && $eerste eq "count" ) { + open MSG, "< $quotefile"; + my @opties = ; + close MSG; + if ($rest) { + my @hits = grep /\Q$rest\E/i, @opties; + print "Aantal quotes met \"$rest\" erin: " . scalar(@hits) . "\n"; + } else { + print "Aantal quotes (totaal): " . scalar(@opties) . "\n"; + } +} elsif ( $eerste && $eerste eq "ls" ) { + open MSG, "< $quotefile"; + my @opties = ; + close MSG; + if ($rest) { + my @hits = grep /\Q$rest\E/i, @opties; + unless ( $is_multicast && ( scalar(@hits) > 3 ) ) { + print "Quotes met \"$rest\" erin:\n"; + while($line = pop(@hits)){ + print $line; + } + } else { + print "Use a query please\n"; + } + } else { + print "Alle Quotes: " . scalar(@opties) . "\n"; + if ( $is_multicast && ( scalar(@opties) > 3 ) ) { + while($line = pop(@opties)){ + print $line; + } + } else { + print "Use a query please\n"; + } + } +} else { + + #print random quote or if keywords find one + open MSG, "< $quotefile"; + my @opties = ; + close MSG; + + my @matching; + + if ( $eerste && !( $eerste eq "" ) ) { + @matching = grep( /\Q$eerste\E/i, @opties ); + } + + my $antwoord = ""; + + if ( scalar(@matching) > 0 ) { + $antwoord = $matching[ int( rand(@matching) ) ]; + } else { + $antwoord = $opties[ int( rand(@opties) ) ]; + } + print $antwoord; +} diff --git a/quote/quote.pl.aug2004 b/quote/quote.pl.aug2004 new file mode 100755 index 0000000..81e39b2 --- /dev/null +++ b/quote/quote.pl.aug2004 @@ -0,0 +1,52 @@ +#!/usr/bin/perl -w +# Simple and stupid quote database +# No file locking - race conditions possible - whatever :) +# Casper Joost Eyckelhof 2002 +# Keyword search by Wouter Commandeur + +use strict; + +my $quotefile = "./quotes.txt"; + +my $eerste; +my $rest; + +if ( $ARGV[0] ) { ( $eerste, $rest ) = split ' ', $ARGV[0], 2; } + +if ( $eerste && $eerste eq "add" ) { + open FOO, ">> $quotefile"; + print FOO "$rest\n"; + close FOO; + print "Quote added\n"; +} elsif ( $eerste && $eerste eq "count" ) { + open MSG, "< $quotefile"; + my @opties = ; + close MSG; + if ($rest) { + my @hits = grep /\Q$rest\E/i, @opties; + print "Aantal quotes met \"$rest\" erin: " . scalar(@hits) . "\n"; + } else { + print "Aantal quotes (totaal): " . scalar(@opties) . "\n"; + } +} else { + + #print random quote or if keywords find one + open MSG, "< $quotefile"; + my @opties = ; + close MSG; + + my @matching; + + if ( $eerste && !( $eerste eq "" ) ) { + @matching = grep( /\Q$eerste\E/i, @opties ); + } + + my $antwoord = ""; + + if ( scalar(@matching) > 0 ) { + $antwoord = $matching[ int( rand(@matching) ) ]; + } else { + $antwoord = $opties[ int( rand(@opties) ) ]; + } + print $antwoord; +} diff --git a/random/command.cfg b/random/command.cfg new file mode 100644 index 0000000..3a2c67a --- /dev/null +++ b/random/command.cfg @@ -0,0 +1 @@ +level = 50 diff --git a/random/help.txt b/random/help.txt new file mode 100644 index 0000000..101c8c8 --- /dev/null +++ b/random/help.txt @@ -0,0 +1 @@ +random [number] - random number between 0 and [number] ; default = 100 \ No newline at end of file diff --git a/random/random.pl b/random/random.pl new file mode 100755 index 0000000..7e9c115 --- /dev/null +++ b/random/random.pl @@ -0,0 +1,12 @@ +#!/usr/bin/perl +use strict; + +my $nr; + +if ( $ARGV[0] =~ /^(\d+)$/ ) { + $nr = $1; +} else { + $nr = 100; +} + +print int( rand($nr) ), "\n"; diff --git a/reverse/command.cfg b/reverse/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/reverse/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/reverse/help.txt b/reverse/help.txt new file mode 100644 index 0000000..a3ea6ee --- /dev/null +++ b/reverse/help.txt @@ -0,0 +1 @@ +Zet de invoer achterstevoren. \ No newline at end of file diff --git a/reverse/level b/reverse/level new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/reverse/level @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/reverse/reverse.pl b/reverse/reverse.pl new file mode 100755 index 0000000..10bf317 --- /dev/null +++ b/reverse/reverse.pl @@ -0,0 +1,10 @@ +#!/usr/bin/perl -w + +# Reversing a string by character +# CtlAltDel (Wouter Commandeur) + +$commandline = join " ", @ARGV; + +$revwords = reverse($commandline); + +print $revwords; diff --git a/revword/command.cfg b/revword/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/revword/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/revword/help.txt b/revword/help.txt new file mode 100644 index 0000000..c3e30ce --- /dev/null +++ b/revword/help.txt @@ -0,0 +1 @@ +Zet de woorden achterstevoren. \ No newline at end of file diff --git a/revword/level b/revword/level new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/revword/level @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/revword/revword.pl b/revword/revword.pl new file mode 100755 index 0000000..bede4b9 --- /dev/null +++ b/revword/revword.pl @@ -0,0 +1,10 @@ +#!/usr/bin/perl -w + +# Reversing a string word by word +# CtlAltDel (Wouter Commandeur) + +$commandline = join " ", @ARGV; + +$revwords = join ( " ", reverse split ( " ", $commandline ) ); + +print $revwords; diff --git a/rien/command.cfg b/rien/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/rien/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/rien/help.txt b/rien/help.txt new file mode 100644 index 0000000..e69de29 diff --git a/rien/level b/rien/level new file mode 100644 index 0000000..29d6383 --- /dev/null +++ b/rien/level @@ -0,0 +1 @@ +100 diff --git a/rien/rien.pl b/rien/rien.pl new file mode 100755 index 0000000..0948a50 --- /dev/null +++ b/rien/rien.pl @@ -0,0 +1,2 @@ +#!/usr/bin/perl -w +print "ONZIN!\n" diff --git a/roman/command.cfg b/roman/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/roman/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/roman/level b/roman/level new file mode 100644 index 0000000..573541a --- /dev/null +++ b/roman/level @@ -0,0 +1 @@ +0 diff --git a/roman/roman.pl b/roman/roman.pl new file mode 100755 index 0000000..96cfde6 --- /dev/null +++ b/roman/roman.pl @@ -0,0 +1,40 @@ +#!/usr/bin/perl -w + +use strict; + +if ( !$ARGV[0] =~ /\d+/ ) { + print "Syntax: roman \n"; + exit(1); +} + +my $num = $ARGV[0]; +my @vals = ( 1000, 100, 10, 1 ); +my @units = ( "M", "C", "X", "I" ); +my @fives = ( "?", "D", "L", "V" ); +my $result = ""; + +if ( ( $num < 1 ) || ( $num > 3999 ) ) { + print "Number must be in the range 1 - 3999\n"; + exit(1); +} + +for ( my $i = 0 ; $i < 4 ; $i++ ) { + my $val = $vals[$i]; + my $mod = $num % $val; + my $div = ( $num - $mod ) / $val; + for ($div) { + /1/ && do { $result .= $units[$i] x 1; last; }; + /2/ && do { $result .= $units[$i] x 2; last; }; + /3/ && do { $result .= $units[$i] x 3; last; }; + /4/ && do { $result .= $units[$i] x 1 . $fives[$i] x 1; last; }; + /5/ && do { $result .= $fives[$i] x 1; last; }; + /6/ && do { $result .= $fives[$i] x 1 . $units[$i] x 1; last; }; + /7/ && do { $result .= $fives[$i] x 1 . $units[$i] x 2; last; }; + /8/ && do { $result .= $fives[$i] x 1 . $units[$i] x 3; last; }; + /9/ && do { $result .= $units[$i] x 1 . $units[ $i - 1 ] x 1; last; }; + } + $num = $mod; + last if ( $num == 0 ); +} + +print "$result\n"; diff --git a/rot13/command.cfg b/rot13/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/rot13/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/rot13/level b/rot13/level new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/rot13/level @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/rot13/rot13.pl b/rot13/rot13.pl new file mode 100755 index 0000000..a127187 --- /dev/null +++ b/rot13/rot13.pl @@ -0,0 +1,10 @@ +#!/usr/bin/perl -w + +my $rot13 = $ARGV[0]; +$rot13 =~ tr/a-zA-Z/n-za-mN-ZA-M/; +print "$rot13\n"; + +#! /bin/bash +# Author: Bas van Sisseren +# +#echo "$*" | /usr/bin/tr 'A-Za-z' 'N-ZA-Mn-za-m' diff --git a/roulette/command.cfg b/roulette/command.cfg new file mode 100644 index 0000000..8f74efe --- /dev/null +++ b/roulette/command.cfg @@ -0,0 +1,2 @@ +level = 50 +user = 0 diff --git a/roulette/level b/roulette/level new file mode 100644 index 0000000..e373ee6 --- /dev/null +++ b/roulette/level @@ -0,0 +1 @@ +50 diff --git a/roulette/roulette.pl b/roulette/roulette.pl new file mode 100755 index 0000000..7cf9efa --- /dev/null +++ b/roulette/roulette.pl @@ -0,0 +1,37 @@ +#!/usr/bin/perl -w + +use strict; + +srand(); + +my $user = $ENV{'MULTI_REALUSER'}; + +my $raak = int( rand(6) ); + +print "Multilink pakt de six-shooter en stopt er een kogel in...\n"; +print "Een flinke draai.. prrrrrrrrrrrrrrrr....\n"; + +my $wie = int( rand(2) ); + +my $i; + +for ( $i = 0 ; $i < 6 ; $i++ ) { + my $text = "Multilink richt het pistool op "; + if ( $wie == 0 ) { + $text .= "zichzelf en haalt de trekker over.\n"; + } else { + $text .= $user . " en haalt de trekker over.\n"; + } + $wie = ( $wie + 1 ) % 2; + if ( $raak == $i ) { + $text .= "*BANG* Game over.\n"; + print $text; + exit(0); + } + $text .= "*CLICK*\n"; + + print $text; + + # sleep(1); + +} diff --git a/roulette/user b/roulette/user new file mode 100644 index 0000000..e69de29 diff --git a/rss/codes/mkt b/rss/codes/mkt new file mode 100644 index 0000000..8de105b --- /dev/null +++ b/rss/codes/mkt @@ -0,0 +1 @@ +http://www.mijnkopthee.nl/rss.xml \ No newline at end of file diff --git a/rss/codes/surfnet b/rss/codes/surfnet new file mode 100644 index 0000000..53d4fab --- /dev/null +++ b/rss/codes/surfnet @@ -0,0 +1 @@ +http://nieuws.surfnet.nl/nieuws/rss.rxp \ No newline at end of file diff --git a/rss/codes/volkskrant b/rss/codes/volkskrant new file mode 100644 index 0000000..0309bbc --- /dev/null +++ b/rss/codes/volkskrant @@ -0,0 +1 @@ +http://volkskrant.nl/rss/voorpagina.rss \ No newline at end of file diff --git a/rss/command.cfg b/rss/command.cfg new file mode 100644 index 0000000..f52b45d --- /dev/null +++ b/rss/command.cfg @@ -0,0 +1,2 @@ +level = 100 +cache = 300 \ No newline at end of file diff --git a/rss/help.txt b/rss/help.txt new file mode 100644 index 0000000..feb8b8e --- /dev/null +++ b/rss/help.txt @@ -0,0 +1,3 @@ +rss [number]: retrieves rss-feed from url and show number items (default 1, max 5). code is a shortcut for some urls +rss code: lists all known codes +rss add : add a new code to the list diff --git a/rss/rss.pl b/rss/rss.pl new file mode 100755 index 0000000..c8d5860 --- /dev/null +++ b/rss/rss.pl @@ -0,0 +1,136 @@ +#!/usr/bin/perl +# No warnings... XML::RSS has some issues ;) +# +# Generic RSS command +# Casper Joost Eyckelhof + +use strict; +use XML::RSS; +use LWP::UserAgent; +use HTML::Entities(); + +my $maxitems = 5; +my $commandline = defined $ARGV[0] ? $ARGV[0] : ''; + +my %urls = ( + "slashdot" => "http://slashdot.org/slashdot.rss", + "fm" => "http://freshmeat.net/backend/fm.rdf", + "nu" => "http://nu.nl/deeplink_rss", + "fok" => "http://rss.fok.nl/~breuls/pub/fp/rssNieuws", + "bbc" => "http://www.bbc.co.uk/syndication/feeds/news/ukfs_news/world/rss091.xml", + "security" => "http://www.security.nl/headlines.rdf", + "omroep" => "http://portal.omroep.nl/rss.xml", + "grouphug" => "http://grouphug.us/rss", + "geenstijl" => "http://www.geenstijl.nl/rss/index.php", + "oxo" => "http://kippendief.biz/rss.xml", + "kip" => "http://kippendief.biz/rss.xml", + "themirror" => "http://themirror.nl/rss", + "perl" => "http://www.oreillynet.com/meerkat/?_fl=rss10&t=ALL&c=303", + "debaday" => "http://www.livejournal.com/users/debaday/data/rss", + "thereg" => "http://www.theregister.co.uk/headlines.rss", +); + +# read known codes.. +if ( opendir D, "./codes/" ) { + while ( my $file = readdir D ) { + next if $file eq '.' || $file eq '..'; + if ( open F, "< ./codes/$file" ) { + my $url = ; + chomp $url; + close F; + $urls{$file} = $url; + } + } + closedir D; +} + +if ( $commandline eq '' ) { + print "Usage: rss [number of items]\n"; + +} elsif ( $commandline =~ /^code\b/i ) { + print "Available codes: ", join ( ", ", sort keys %urls ), "\n"; + +} elsif ( $commandline =~ /^add\b\s*(.*)$/i ) { + my $c = $1; + if ( $c =~ /^(\S+)\s+(\S+)$/ ) { + my ( $code, $url ) = ( $1, $2 ); + if ( $code !~ /^\w+$/ ) { + print "Invalid characters in code\n"; + exit; + } + if ( -e "./codes/$code" ) { + print "Code '$code' already exists!\n"; + exit; + } + + if ( open F, "> ./codes/$code" ) { + print F "$url"; + close F; + print "Code '$code' saved.\n"; + } else { + print "Failed saving code '$code'.\n"; + } + + } else { + print "Syntax error, try '!rss add '.\n"; + } + +} else { + my ( $url, $number ) = split " ", $commandline, 2; + $url = $urls{$url} if ( defined $urls{$url} ); + + if ( defined $number and ( $number =~ /^(\d+).*?$/ ) ) { + $number = $1; + $number = ( $number > $maxitems ) ? $maxitems : $number; + } else { + $number = 1; + } + + my $rss = new XML::RSS; + my $ua = new LWP::UserAgent; + + #Set agent name, we are not a script! :) + my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; + $ua->agent($agent); + + my $request = new HTTP::Request( 'GET', $url ); + my $response = $ua->request($request); + if ( $response->is_success() ) { + my $content = $response->content; + + eval { $rss->parse($content); }; + if ($@) { + print "Cannot parse $url\n"; + exit 1; + } + my $chname = $rss->{'channel'}->{'title'}; + my $chlink = $rss->{'channel'}->{'link'}; + my $chdesc = $rss->{'channel'}->{'description'}; + + my $result; + my $count = 0; + foreach my $item ( @{ $rss->{'items'} } ) { + my $itemname = $item->{'title'}; + my $itemlink = $item->{'link'}; + my $itemdesc = $item->{'description'}; + unless ( defined $itemdesc ) { $itemdesc = 'no desciption' } + unless ( defined $itemlink ) { $itemlink = 'no link' } + if ( defined $itemname ) { + $itemdesc =~ s/\s*\n+\s*/ /g; + $result .= "$itemname: $itemdesc ($itemlink)\n"; + $count++; + } + last unless ( $count < $number ); + } + unless ( defined $result ) { + $result = "$url bevat geen geldig RSS document"; + exit 1; + } + $result = HTML::Entities::decode($result); + #No HTML-tags in the rss item content please + $result =~ s/<.*?>//g; + print $result; + } else { + print "Error retrieving url: $url\n"; + } +} diff --git a/ruk/command.cfg b/ruk/command.cfg new file mode 100644 index 0000000..5f45477 --- /dev/null +++ b/ruk/command.cfg @@ -0,0 +1,2 @@ +level = 100 +author = jorik diff --git a/ruk/help.txt b/ruk/help.txt new file mode 100644 index 0000000..2f32fbb --- /dev/null +++ b/ruk/help.txt @@ -0,0 +1 @@ +Met dank aan www.worldwidewank.com diff --git a/ruk/ruk.pl b/ruk/ruk.pl new file mode 100755 index 0000000..bc3a5e7 --- /dev/null +++ b/ruk/ruk.pl @@ -0,0 +1,413 @@ +#!/usr/bin/perl -w +use strict; + +my @gerund = ( + "Adjusting", "Arguing with", + "Arm-wrestling", "Assaulting", + "Attacking", "Auditioning", + "Badgering", "Baiting", + "Bangin'", "Banging", + "Bashing", "Basting", + "Battling", "Beatin'", + "Beating", "Being rough with", + "Bleeding", "Blowing", + "Bludgeoning", "Bobbing", + "Bonging", "Booting up", + "Boppin'", "Bopping", + "Bouncing", "Boxing", + "Boxing with", "Breaking", + "Buckin'", "Buffin'", + "Buffing", "Buggering", + "Burping", "Buttering", + "Caning", "Charming", + "Checking", "Chilling", + "Choking", "Churning", + "Clamping", "Cleaning", + "Cleaning out", "Clearing", + "Clobbering", "Clubbing", + "Coating", "Cocking", + "Cooking with", "Corralling", + "Cracking", "Cranking", + "Crowning", "Cuddlin'", + "Cuffing", "Dancing with", + "Debugging", "Decongesting", + "Digitally oscillating", "Discharging", + "Disciplining", "Doin' a loner with", + "Doing", "Doing battle with", + "Doing the knuckle shuffle on", "Doodling", + "Draining", "Duking", + "Emptying", "Erupting", + "Exercising", "Firing", + "Firming", "Fisting", + "Five-knuckle-shuffle on", "Flaying", + "Flicking", "Flipping", + "Floggin'", "Flogging", + "Fondling", "Fooling with", + "Freeing", "Frigging", + "Gettin' jizzy with", "Getting a load off", + "Getting in touch with", "Getting to know", + "Going a couple of rounds with", "Going into battle with", + "Grappling", "Greasin' up", + "Greasing", "Gripping", + "Hacking", "Hand-starting", + "Handling", "Hanging out with", + "Harping on", "Having a conversation with", + "Having a one-night-stand with", "Having a play date with", + "Having a tug-of-war with", "Having an arm-wrestle with", + "Having sex with", "Helping", + "Hitting", "Hoisting", + "Holding", "Honing", + "Honking", "Huffing on", + "Hugging", "Humping", + "Jackin'", "Jacking up", + "Jammin'", "Jerkin'", + "Jerking", "Jiggling", + "Jimmying", "Jogging", + "Joshing", "Juicing", + "Kneading", "Knockin' over", + "Knuckle shuffle on", "Knuckling", + "Launching", "Leakin'", + "Loving", "Lubing", + "Making friends with", "Making like Hans Solo and stroking", + "Mangling", "Manhandling", + "Manipulating", "Massaging", + "Milking", "Moisturizing", + "Molesting", "Nerking", + "Oiling", "Paddling", + "Pattin'", "Peeling", + "Performing diagnostics on", "Petting", + "Playin' with", "Playing peek-a-boo with", + "Playing ping pong with", "Playing pocket polo with", + "Playing tag with", "Playing tug-o-war with", + "Playing with", "Pleasing", + "Plunking", "Polishing", + "Pounding", "Preparing", + "Priming", "Pulling", + "Pummeling", "Pumpin'", + "Pumping", "Punchin'", + "Punching", "Punishing", + "Raising", "Ramming", + "Rippin'", "Rolling", + "Romancing", "Ropin'", + "Roping", "Roughing up", + "Rubbing", "Sanding", + "Saying hello to", "Scalpin'", + "Scouring", "Scraping", + "Scratchin'", "Scratching", + "Seasonin'", "Shakin' hands with", + "Shaking", "Shaking coconuts from", + "Shaking hands with", "Shaking the coconut milk of love from", + "Sharpening", "Shellacking", + "Shemping", "Shifting to fifth gear with", + "Shining", "Shooting", + "Shuckin'", "Slammin'", + "Slamming", "Slap-Boxing", + "Slappin'", "Slapping", + "Slapping high fives with", "Slaying", + "Slicking", "Smackin'", + "Smacking", "Snapping", + "Spanking", "Spending some quality time with", + "Spit-polishing", "Spunking", + "Spurtin'", "Squashing", + "Squeezing", "Squishing", + "Strainin'", "Strangling", + "Stretching", "Striking", + "Stripping", "Strokin'", + "Stroking", "Strummin'", + "Sucker-punching", "Swinging", + "Taking your turn at", "Taming", + "Tapping", "Taunting", + "Teasing", "Tenderizing", + "Test-firing", "Testing", + "Thrashing", "Throbbing", + "Thumping", "Thwackin'", + "Tickling", "Touching", + "Trolling for", "Tuggin'", + "Tugging", "Tussling", + "Twanging", "Tweaking", + "Twisting", "Unloading", + "Unmasking", "Unsheathing", + "Unwrapping", "Using the Force on", + "Varnishing", "Vibrating", + "Violating", "Visiting", + "Wacking", "Wagging", + "Waking", "Walking", + "Waltzing with", "Wanking", + "Wanking with", "Warming up", + "Washing", "Waving", + "Waxing", "Whackin'", + "Whacking", "Whippin'", + "Whipping", "Whittling", + "Whomping", "Wiggling", + "Winding", "Wonking", + "Working", "Working a cramp out of", + "Wrestling", "Wrestling with", + "Wringing", "Wringing out", + "Yankin'", "Yanking" +); + +my @noun = ( + "a friendly weapon", "a stiff joint", + "Abe Lincoln", "Agent Johnson", + "my beef", "Bert", + "Big Ed", "Bob and the twins", + "Bobby", "Bubba", + "Charlie 'till he throws up", "Cheetah", + "Darth Vader", "dick", + "Eddy", "Elvis", + "Frank", "Happy Harry Hard-on", + "heavy equipment", "Henry Longfellow", + "Isaiah", "it", + "Jack", "Jack McNasty", + "Jamby", "Jimmy", + "Jimmy Dean", "Johnnie One-Eye", + "Johnson", "Kojak", + "Little Richard", "the ManTool", + "Mount Baldy", "Mount Love", + "Mr. Happy", "Mr. Ho-Ho", + "Mr. Johnson", "Mr. President", + "Mr. Winkie", "Mr. Wong", + "Mt. Barbell", "my horn", + "my knockwurst", "my little brother Peter", + "my love monkey", "my own", + "my own business", "my six-inch", + "my thing", "my wand", + "Ol' Faithful", "ol' Josh", + "old beater", "Old Faithful", + "one's penis", "one's self", + "Oscar", "Oscar in the closet", + "Pappy", "Pedro", + "Percy", "Percy in your palm", + "Percy with the palm", "Peter Tork", + "Prince William Sound with love oil", "Richard", + "Shorty", "Skippy", + "Slick Mittens", "someone you love", + "Stonehenge", "the alligator", + "the altar boy's dinner", "the antelope", + "the antenna", "the axle", + "the baby", "the baby seal", + "the bad guy", "the bait", + "the bald champ", "the bald guy 'til he pukes", + "the bald-headed moose", "the balogna", + "the baloney", "the balony pony", + "the banana", "the bark off your wood", + "the baseball bat", "the bayonet", + "the beagle", "the beanpole", + "the Beanstalk", "the Beast", + "the bed flute", "the beefsteak", + "the bic", "the big-nosed Rasta man", + "the Bishop", "the blind webster", + "the blister", "the blue-veined custard chucker", + "the blue-veined junket pumper", "the bobo", + "the bologna pony", "the bone", + "the Bone-A-Phone", "the bone-a-thon", + "the Bonzo", "the boss", + "the bratworst", "the bread", + "the Buddha for good luck", "the bulimic one-eyed monster", + "the bull", "the bunny", + "the burrito", "the candle", + "the cane", "the car", + "the carrot", "the cat pole", + "the Charmin", "the cheeta", + "the chicken", "the chrome dome", + "the clam", "the clown", + "the cobra", "the cockpit", + "the cord", "the cork", + "the corn", "the cow", + "the crank", "the cream from the flesh Twinkie", + "the cream of cock", "the crotch trombone", + "the crusader", "the Cyclops", + "the Cyclops 'til he throws up", "the czar", + "the devil-dolphin", "the dill", + "the dog", "the dolphin", + "the dong", "the donkey", + "the doodle", "the dragon", + "the dragon's tail", "the dude", + "the dummy", "the eel", + "the electric goo gun", "the elephant's trunk", + "the Elmo", "the Emperor", + "the family jewels", "the fat man", + "the fig", "the fire pole", + "the fish", "the fish tank", + "the fisherman", "the flag pole", + "the flesh flute", "the flesh musket", + "the FleshGopher", "the fountain", + "the frank", "the frog", + "the fuck out of your best friend", "the gator", + "the General", "the gherkin", + "the goalie", "the goat", + "the goblin of love", "the gorilla", + "the Governor", "the gun", + "the ham", "the hammer", + "the hand brake", "the hand cream dispenser", + "the hand shuttle", "the handbrake", + "the hard drive", "the heat-seeking moisture missile", + "the hedge-hog", "the helmet", + "the hoagie", "the hog", + "the hostages", "the hot rod", + "the hound", "the injun", + "the itch", "the Jack in the Box", + "the Jesuit", "the Jesuit and getting cockroaches", + "the jizz monster", "the Jocelyn Elders Midterm", + "the Johnson", "the joystick", + "the jump rope", "the king", + "the knob", "the lava lamp", + "the leafless palm trunk", "the light saber", + "the Lighthouse", "the lizard", + "the log", "the long horn", + "the love muscle", "the love pump", + "the love rifle", "the love tree", + "the magic one-eyed wonder weasel", "the Magic Wand", + "the main drain", "the main vein", + "the mainsail", "the male organ", + "the mango", "the manhood", + "the maypole", "the meat", + "the meat missle", "the midget", + "the mighty dick hinge", "the mink", + "the mole", "the Monk", + "the monkey", "the monster", + "the moose", "the morning missile", + "the mule", "the munchkin", + "the muppet", "the muscle", + "the obelisk", "the obvious", + "the ol' 1 wood", "the ol' piss pump", + "the old goal post", "the old lizard", + "the old man", "the one-eyed burping gecko", + "the One-Eyed Champ", "the one-eyed clown", + "the one-eyed field mouse with the purple turtle-neck sweater", "the one-eyed monster", + "the one-eyed postal worker out of his denim cell", "the one-eyed purple-headed warrior", + "the one-eyed superhero", "the one-eyed trouser snake", + "the one-eyed trouser trout", "the one-eyed walleye", + "the one-eyed weasel", "the one-eyed wonder weasel", + "the one-eyed worm", "the one-eyed yogurt thrower", + "the one-handed air guitar", "the one-stringed guitar", + "the oompa loompa", "the organ", + "the paddle", "the pencil", + "the penis", "the pepperoni", + "the pickle", "the pink eraser", + "the pink match", "the pink Mustang", + "the pink torpedo", "the pipe", + "the pipes", "the pirate", + "the piss pipe", "the piss pump", + "the pisser", "the plank", + "the plumbing", "the pogo stick", + "the pole", "the Polish salmon", + "the pony", "the poodle", + "the Pope", "the pork spear", + "the pork stick", "the pork sword", + "the porpoise", "the possum", + "the President", "the presidential staff", + "the priest", "the primate", + "the pud", "the pump", + "the pump action porridge gun", "the pumpkin", + "the puppy", "the purple headed warrior", + "the purple helmet", "the purple-helmeted warrior", + "the Purple-Helmeted Warrior of Love", "the purple people pleaser", + "the purple pimple", "the purple-veined kidney stabber", + "the purple-headed custard chucker", "the purple-headed stormtrooper", + "the purple-headed yogurt pistol", "the purple-headed yogurt slinger", + "the python", "the radish", + "the rat", "the rifle", + "the rocket", "the rocking horse", + "the rod", "the root", + "the rope", "the royal red reproduction rod", + "the sack", "the salami", + "the salmon", "the satin-headed serpent", + "the sausage", "the sea monkey", + "the self-serve pump", "the Serpent", + "the sex stick", "the shaft", + "the shank", "the shellaleigh", + "the sheriff and waiting for the posse to come", "the shit out of your incapacitated midget", + "the single serving soup dispenser", "the skin bus", + "the skin flute", "the slug", + "the snake", "the snake with the turtleneck sweater", + "the snorkel", "the snot outta Rotney", + "the snotty end of my fuck stick", "the soft soap dispenser", + "the spam javelin", "the sperm whale", + "the spitting llama", "the squirmin' German", + "the staff", "the staked vampire 'til he flames up", + "the stallion", "the stand-up organ", + "the stepson", "the stick", + "the stiff", "the stump", + "the sugar tree", "the sump-pump", + "the Surgeon General", "the suspect", + "the sword", "the tadpoles", + "the tapioca tube", "the testicular squatters", + "the throb knob", "the Thurmond", + "the timber", "the tower of power", + "the tree", "the trouser mouse", + "the tube", "the tube of toothpaste", + "the tube steak", "the turkey", + "the turtle neck", "the two-toned trouser trout", + "the unemployed", "the unicorn's horn", + "the vandal", "the vein", + "the veiny palm tree of lust", "the Viking", + "the viper and making him spit poison", "the walrus", + "the weasel", "the weeble", + "the weed", "the weenie", + "the whip", "the white-out pen", + "the whopper", "the wiener", + "the wild hog", "the willie", + "the window washer", "the wire", + "the witness", "the wolverine", + "the wood", "the worm", + "the yak 'til it spits back", "the yoyo", + "the zipper trout", "trouser trout", + "Wally the one-eyed wonder worm", "Wee Willie Winkle", + "Willy", "Willy the one-eyed wonder-worm", + "wood", "Yoosef", + "your animal", "your bacon", + "your bayonet", "your beef", + "your bird", "your bologna", + "your boloney", "your bone", + "your boner", "your butter", + "your carrot", "your chain", + "your cheese-dog", "your chicken", + "your chub", "your conker", + "your corn", "your crank", + "your dick fish into the gene pool", "your ding dong", + "your dog", "your dong", + "your donk", "your dripper", + "your dumber brother", "your fire hose", + "your flounder", "your Franklin", + "your goalie", "your goat", + "your hands with your beauty bar", "your helmet", + "your hook", "your horn", + "your hose", "your hot dog", + "your instrument", "your Jackson", + "your Jimmy", "your Joey", + "your John Thomas", "your Johnson", + "your little friend", "your load", + "your log", "your love muscle", + "your man-handle", "your manhood", + "your match", "your meat", + "your meat saber", "your mister", + "your muscle", "your noodle", + "your nuts", "your one-eyed vessel", + "your organ", "your own", + "your own horn", "your own leg", + "your own thing", "your pencil", + "your piece", "your piss pump", + "your pisser", "your plank", + "your plonker", "your poker", + "your pole", "your power cord", + "your prick", "your pud", + "your purple-headed warrior", "your rifle", + "your rope", "your set", + "your sex pistol", "your shlong", + "your special friend", "your staff", + "your surfboard", "your taffy", + "your tater", "your thing", + "your throbber", "your tool", + "your tubesteak", "your turtle", + "your twanger", "your twinkie", + "your weasel", "your wife's best friend", + "your Willy", "your wire", + "your wood", "your wookie", + "your worm", "your Yoda", + "yourself", "yourself at home", + "yourself in the crotch", "yourself into emission", + "Yul Brynner" +); + +print $gerund[ rand(@gerund) ] . " " . $noun[ rand(@noun) ] . "\n"; diff --git a/saldo/command.cfg b/saldo/command.cfg new file mode 100644 index 0000000..b4d0ccf --- /dev/null +++ b/saldo/command.cfg @@ -0,0 +1,3 @@ +user = 0 +level = 50 +cache = 0 diff --git a/saldo/help.txt b/saldo/help.txt new file mode 100644 index 0000000..83084e8 --- /dev/null +++ b/saldo/help.txt @@ -0,0 +1 @@ +saldo : geeft je huidige saldo van die spaarpot. \ No newline at end of file diff --git a/saldo/saldo.pl b/saldo/saldo.pl new file mode 100755 index 0000000..e3e7ce8 --- /dev/null +++ b/saldo/saldo.pl @@ -0,0 +1,28 @@ +#!/usr/bin/perl -w +use strict; + +use lib '../../lib/'; + +#User management from multigate +use Multigate::Users; + +my $realuser = $ENV{'MULTI_REALUSER'}; +my $userlevel = $ENV{'MULTI_USERLEVEL'}; # userlevel of invoking user +my $box = defined $ARGV[0] ? $ARGV[0] : ''; + +unless ( $box ne '' ) { + print "Saldo van welke box?\n"; + exit 0; +} + +#make a connection to the user-database +Multigate::Users::init_users_module(); + +my $cur_amount = get_box( $box, $realuser ); +if ( defined $cur_amount ) { + print "Current balance of '$box' for '$realuser': $cur_amount\n"; +} else { + print "Problem getting balance of box '$box' for '$realuser'. Does it exist?\n"; +} + +Multigate::Users::cleanup_users_module(); diff --git a/saldo/saldo.pl.oud.sms b/saldo/saldo.pl.oud.sms new file mode 100755 index 0000000..4df1a48 --- /dev/null +++ b/saldo/saldo.pl.oud.sms @@ -0,0 +1,54 @@ +#!/usr/bin/perl -w + +use lib '../../lib/'; + +#User management from multigate +use Multigate::Users; + +my $user = $ENV{MULTI_REALUSER}; + +#make a connection to the user-database +chdir "../../"; +Multigate::Users::init_users_module(); + +open FOO, "< debug.txt"; +my @lines = ; +close FOO; + +my %users = (); + +foreach $line (@lines) { + chomp $line; + if ( $line =~ /^(.*?)\s+\%3C(.*?)(:|\%3A).*?$/ ) { + $users{$2}++; + } elsif ( $line =~ /^(.*?)\s+.*?$/ ) { + $ding = $1; + $ding =~ s/\%2B316//; + $ding =~ s/\+316//; + $ding =~ s/^06//; + $ding = ( Multigate::Users::get_user( "sms", $ding ) )[0]; + $users{$ding}++; + } +} + +my $totaal = 0; +my $totaalsaldo = 0; +if ( -e "commands/oplaad/saldo/$user" ) { + open USER, "commands/oplaad/saldo/$user"; + $saldo = ; + close USER; +} else { + $saldo = 0; +} + +if ( defined $users{$user} ) { + $verstuurd = $users{$user}; +} else { + $verstuurd = 0; +} + +$saldo -= $verstuurd; + +print "Saldo $user: $saldo (verstuurd: $verstuurd)\n"; + +Multigate::Users::cleanup_users_module(); diff --git a/schnappi/command.cfg b/schnappi/command.cfg new file mode 100644 index 0000000..27dccc3 --- /dev/null +++ b/schnappi/command.cfg @@ -0,0 +1,2 @@ +level = 50 +cache = 0 diff --git a/schnappi/help.txt b/schnappi/help.txt new file mode 100644 index 0000000..d58a23e --- /dev/null +++ b/schnappi/help.txt @@ -0,0 +1 @@ +zomer: geeft een willekeurige regel uit Zomer van Wow! \ No newline at end of file diff --git a/schnappi/schnappi.pl b/schnappi/schnappi.pl new file mode 100755 index 0000000..09bcf92 --- /dev/null +++ b/schnappi/schnappi.pl @@ -0,0 +1,27 @@ +#!/usr/bin/perl -w +use strict; + +my $text = <: zoekt naar laatste uitspraak van nickname in irc-logfiles \ No newline at end of file diff --git a/seen/seen.pl b/seen/seen.pl new file mode 100755 index 0000000..7d0d7a4 --- /dev/null +++ b/seen/seen.pl @@ -0,0 +1,79 @@ +#!/usr/bin/perl -w +# +# Zoekt in logfile van vandaag +# Zou eigenlijk ircseen moeten heten +# Past relatief slecht in het concept van multigate! +# + +my $commandline = defined $ARGV[0] ? $ARGV[0] : ''; +unless ( $commandline =~ /\w+/ ) { + print "Wie dan?\n"; + exit 0; +} +my ( $nick, undef ) = split " ", $commandline, 2; + + +my $chan = "#dnd"; +my $logdir = "../../logs/"; + + +$chan = qr/$chan/; + +my @logfiles = (); +if (opendir DIR, $logdir) { + while ( my $file = readdir DIR ) { + next unless -f $logdir.'/'.$file; + if ($file =~ /^$chan\.([1-9]\d?)([A-Z][a-z]{2})(\d{4})$/) { + my ($d,$m,$y) = ($1,$2,$3); + $m = { + Jan => 1, Feb => 2, Mar => 3, + Apr => 4, May => 5, Jun => 6, + Jul => 7, Aug => 8, Sep => 9, + Oct => 10, Nov => 11, Dec => 12, + }->{$m}; + + push @logfiles, [ sprintf('%04u-%02u-%02u', $y, $m, $d), $file ]; + } + } + closedir DIR; +} + +@logfiles = sort { $b->[0] cmp $a->[0] } @logfiles; + +#print map { $_->[0] . ' ' . $_->[1] . "\n" } @logfiles; +#exit 1; + +my $date = undef; + +foreach my $lf (@logfiles) { + $date = $lf->[0]; + if ( open( LOG, "<".$logdir.'/'.$lf->[1] ) ) { + my $result = undef; + + while ( my $line = ) { + # [01:17] Action: schuhome bows down + + if ( ( $line =~ /^\[\d\d\:\d\d\] <\Q$nick\E>.*$/i ) or + ( $line =~ /^\[\d\d\:\d\d\] Action: \Q$nick\E .*$/i ) ) { + chomp $line; + $result = $line; + } + } + + close LOG; + + if (defined $result) { + print "[$date] $result\n"; + exit 0; + } + } else { + #No logfile? + print "Problem opening logfile '".$lf->[1]."'\n"; + } +} + +my $result = "$nick niet gezien\n"; + +$result = "$nick niet gezien sinds $date\n" if defined $date; + +print $result; diff --git a/shoutcast/command.cfg b/shoutcast/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/shoutcast/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/shoutcast/help.txt b/shoutcast/help.txt new file mode 100644 index 0000000..d085b11 --- /dev/null +++ b/shoutcast/help.txt @@ -0,0 +1 @@ +shoutcast : Welk nummer er momenteel op een shoutcaststation gespeeld wordt diff --git a/shoutcast/shoutcast.pl b/shoutcast/shoutcast.pl new file mode 100755 index 0000000..a12d147 --- /dev/null +++ b/shoutcast/shoutcast.pl @@ -0,0 +1,98 @@ +#!/usr/bin/php4 -q += $timeout) { + echo "timeout\n"; + exit; + } + $mp3data=fread($fd, $metaint); + $metalength=ord(fread($fd, 1)); + if($metalength) { + $metadata=fread($fd, $metalength*16); +# echo "len: $metalength data='$metadata'\n"; + break; + } + } + fclose($fd); + + $meta=explode(";", $metadata); + foreach($meta as $data) { + $v=explode("=", $data); + $var=$v[0]; + $val=ereg_replace("^'(.*)'$", "\\1", $v[1]); + if($var=="StreamTitle") { + echo "$val\n"; + } + } + +?> diff --git a/shoutcast/text.php b/shoutcast/text.php new file mode 100755 index 0000000..1fa8606 --- /dev/null +++ b/shoutcast/text.php @@ -0,0 +1,4 @@ +#!/usr/bin/php4 -q + \ No newline at end of file diff --git a/sky/command.cfg b/sky/command.cfg new file mode 100644 index 0000000..5b743dc --- /dev/null +++ b/sky/command.cfg @@ -0,0 +1,2 @@ +level = 50 +cache = 10 \ No newline at end of file diff --git a/sky/help.txt b/sky/help.txt new file mode 100644 index 0000000..d5b4785 --- /dev/null +++ b/sky/help.txt @@ -0,0 +1 @@ +sky: geeft aan welk nummer nu op skyradio wordt gespeeld (bron: www.skyradio.nl) \ No newline at end of file diff --git a/sky/level b/sky/level new file mode 100644 index 0000000..e373ee6 --- /dev/null +++ b/sky/level @@ -0,0 +1 @@ +50 diff --git a/sky/sky.pl b/sky/sky.pl new file mode 100755 index 0000000..7c7a21e --- /dev/null +++ b/sky/sky.pl @@ -0,0 +1,43 @@ +#!/usr/bin/perl -w +# Casper Joost Eyckelhof (Titanhead) +# casper@joost.student.utwente.nl + +use LWP::UserAgent; +use HTTP::Cookies; + +$ua = new LWP::UserAgent; + +#### allerlei fijne definities en initialisaties ######## + +@agents = ( + "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)", + "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)" +); + +$agent = @agents[ int( rand(@agents) ) ]; +$ua->agent($agent); + +$proxy = "http://proxy.utwente.nl:3128/"; + +$ua->proxy( "http", $proxy ); + +$request = new HTTP::Request( 'GET', "http://www.skyradio.nl/main.asp?ChapterID=48" ); +$request->referer("http://www.skyradio.nl/"); +$request->header( "X-Forwarded-For" => "130.89.226.200" ); +$response = $ua->request($request); +$html = $response->content; +@lines = split /^/m, $html; +foreach $line (@lines) { + if ( $line =~ /.*?De komende 10 nummers:

(.*?)$/ ) { + @out = split /
/, $1; + } +} + +#foreach $song (@out){ +# print "$song\n"; +#} + +$out[0] =~ /(.*?) - (.*?) - (.*?) \((.*?)\)/; +my ( $start, $song, $artist, $label ) = ( $1, $2, $3, $4 ); + +print "Now playing on sky radio: $song (by $artist)\n"; diff --git a/slashdot/command.cfg b/slashdot/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/slashdot/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/slashdot/help.txt b/slashdot/help.txt new file mode 100644 index 0000000..16ef644 --- /dev/null +++ b/slashdot/help.txt @@ -0,0 +1 @@ +slashdot: latest newsitem on slashdot.org \ No newline at end of file diff --git a/slashdot/level b/slashdot/level new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/slashdot/level @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/slashdot/slashdot.pl b/slashdot/slashdot.pl new file mode 100755 index 0000000..34ee91c --- /dev/null +++ b/slashdot/slashdot.pl @@ -0,0 +1,55 @@ +#!/usr/bin/perl -w +# Casper Joost Eyckelhof (Titanhead) +# casper@joost.student.utwente.nl +use LWP::UserAgent; + +$ua = new LWP::UserAgent; +$proxy = "http://proxy.utwente.nl:3128/"; +my $max_aantal = 1; #number of articles to print +my $index = 0; #the index to start printing (starting at 0) ##BUG FIXME## + +#Set agent name, vooral niet laten weten dat we een script zijn +$agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; +$ua->agent($agent); + +#Use the Proxy Luke! +$ua->proxy( "http", $proxy ); +$url = "http://www.slashdot.org"; + +##Haal pagina op +$request = new HTTP::Request( 'GET', $url ); +$content = $ua->request($request)->content; +##Regel voor regel doorwerken +@lines = split /^/m, $content; + +my $lasttopic; +my $lastdept; +my $lastmsg; +my $gogetit = 0; +my $aantal = 0; + +foreach $line (@lines) { + if ( $gogetit == 1 ) { #we moeten deze regel hebben (handelen met voorkennis!) + $line =~ s/^>//; + $line =~ s/<.*?>//g; + $lastmsg = $line; + $lastmsg =~ s/\($//; + if ( $index <= $aantal ) { + $resultaat = "$lasttopic - $lastdept\n$lastmsg\n"; + $resultaat =~ s/<.*?>//g; #get rid of HTML in a stupid way + print $resultaat; + } + $gogetit = 0; #Totdat iemand anders er weer 1 van maakt + $aantal++; + if ( $aantal >= ( $max_aantal - $index ) ) { exit 0 } #Vies he ;) + } + + if ( $line =~ /^\s*FACE="arial,helvetica" SIZE="4" COLOR="#FFFFFF">(.*?)<\/b><\/font><\/td>.*?$/i ) { + $lasttopic = $1; + } + + if ( $line =~ /^\s*(from the .*? dept\.)<\/b><\/font>.*?$/i ) { + $lastdept = $1; + $gogetit = 1; #next line is the actual message! + } +} diff --git a/slogan/command.cfg b/slogan/command.cfg new file mode 100644 index 0000000..5b40ef4 --- /dev/null +++ b/slogan/command.cfg @@ -0,0 +1,3 @@ +level = 50 +cache = 0 +author = angel_7th diff --git a/slogan/help.txt b/slogan/help.txt new file mode 100644 index 0000000..b004570 --- /dev/null +++ b/slogan/help.txt @@ -0,0 +1 @@ +slogan ... - genereert een slogan m.b.v. http://www.sloganizer.net/en/ diff --git a/slogan/slogan.pl b/slogan/slogan.pl new file mode 100755 index 0000000..0f7ef43 --- /dev/null +++ b/slogan/slogan.pl @@ -0,0 +1,45 @@ +#!/usr/bin/perl -w +use strict; +use warnings; + +use LWP::UserAgent; +use URI::Escape; + +## Get a certain URL +my $url = "http://www.sloganizer.net/en/outbound.php?slogan="; + +my $ua = new LWP::UserAgent; + +#Set agent name, we are not a script! :) +my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; +$ua->agent($agent); + +my @args = @ARGV; +if (not @args or @args == 1 and $args[0] eq '' ) { + my @options = ( + [ 'DND' ], + [ 'frop' ], + [ 'SNT' ], + [ 'Multigate' ], + [ 'WESP' ], + [ 'Multilink' ], + [ 'pietjepuk' ], + ); + my $user = $ENV{'MULTI_REALUSER'}; + my $total = 50; + my $index = int rand $total; + @args = ( $index < scalar @options ? @{$options[$index]} : ( defined $user ? ($user) : ('pietjepuk') ) ); +} + +$url .= join '+', map { uri_escape($_) } @args; + +my $request = new HTTP::Request( 'GET', $url ); +my $content = $ua->request($request)->content; + +if (defined $content) { + my ($result) = $content =~ m#^\
(.*)\$#; + # $result = HTML::Entities::decode($result); + print $result, "\n"; +} else { + print "Internal error\n"; +} diff --git a/sms/command.cfg b/sms/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/sms/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/sms/level b/sms/level new file mode 100644 index 0000000..29d6383 --- /dev/null +++ b/sms/level @@ -0,0 +1 @@ +100 diff --git a/sms/sms.pl b/sms/sms.pl new file mode 100755 index 0000000..d9d2519 --- /dev/null +++ b/sms/sms.pl @@ -0,0 +1,4 @@ +#!/usr/bin/perl -w +#If the sms wrapper is not running, this command will be executed. + +print "SMS-wrapper currently offline\n"; diff --git a/sneak/command.cfg b/sneak/command.cfg new file mode 100644 index 0000000..925da72 --- /dev/null +++ b/sneak/command.cfg @@ -0,0 +1,2 @@ +level = 0 +user = 0 diff --git a/sneak/help.txt b/sneak/help.txt new file mode 100644 index 0000000..6c6f932 --- /dev/null +++ b/sneak/help.txt @@ -0,0 +1 @@ +sneak {predict,open , add, sluit } - voorspelt films in de sneak en kan een lijstje bijhouden van mensen die mee gaan \ No newline at end of file diff --git a/sneak/passwd b/sneak/passwd new file mode 100644 index 0000000..0f3f503 --- /dev/null +++ b/sneak/passwd @@ -0,0 +1 @@ +frop \ No newline at end of file diff --git a/sneak/predict.pl b/sneak/predict.pl new file mode 100755 index 0000000..6aa1f25 --- /dev/null +++ b/sneak/predict.pl @@ -0,0 +1,64 @@ +#!/usr/bin/perl + +use strict; +use LWP::UserAgent; +use HTML::Entities (); + +my $ua = new LWP::UserAgent; + +#Set agent name, vooral niet laten weten dat we een script zijn +my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; +$ua->agent($agent); + +# Oude sneaks ophalen + +my $request = new HTTP::Request( 'GET', "http://www.sneakpoint.nl/bioscopen.php?id=40" ); +my $content = $ua->request($request)->content; +my @html = split /^/m, $content; +my %oud = (); +foreach my $regel (@html) { + if (my @old = ($regel =~ m#(.*?)#g) ) { + foreach my $movie (@old) { + $oud{ lc($movie) } = 1; + #print STDERR "Oud: \"". lc($movie)."\"\n"; + } + } +} + +# Predict ophalen + +$request = new HTTP::Request( 'GET', "http://www.sneakpoint.nl/" ); +$content = $ua->request($request)->content; + +##Regel voor regel doorwerken +@html = split /^/m, $content; + +my $result = ""; +my $start = 0; +my $found; +foreach my $regel (@html) { + if ( $regel =~ /binnenkortindebios/home/multilink/multigate/commands/sneak/sneakpredict" ); + +if ( $found == 0 ) { + print OUT "Geen voorspelling helaas"; +} else { + print OUT HTML::Entities::decode(lc($result)); +} +close OUT; +exit 0; diff --git a/sneak/sneak.pl b/sneak/sneak.pl new file mode 100755 index 0000000..c91f7e9 --- /dev/null +++ b/sneak/sneak.pl @@ -0,0 +1,189 @@ +#!/usr/bin/perl + +#Het !sneak commando voor #dnd +#(c) Eelco Jepkema, 2000 +#socrates@dnd.utwente.nl +#met dank aan Yvo Brevoort voor het swipen van een groot gedeelte van +#de code van het !pizza commando (read: Ik heb zelf bijna nix gecode) + +#variabelen aangeven +$nick = ""; +$command = ""; +$nothing = 0; +$sneak_lijst = "/home/multilink/multigate/commands/sneak/sneaklijst"; +$sneak_vandaag = "/home/multilink/multigate/commands/sneak/sneakvandaag"; +$passfile = "/home/multilink/multigate/commands/sneak/passwd"; +$sneakpredict = "/home/multilink/multigate/commands/sneak/sneakpredict"; +$password = ""; +$passgoed = 0; + +#Is er een sneak_lijst? +sub TestOpen { + if ( -f $sneak_lijst ) { + return 1; + } + return 0; +} + +sub TestVandaag { + if ( -f $sneak_vandaag ) { + return 1; + } + return 0; +} + +#nick van persoon filteren + +$nick = $ENV{'MULTI_REALUSER'}; +if ( $nick eq "pietjepuk" ) { + $nick = $ENV{'MULTI_USER'}; +} + +( $command, $args ) = split /\s/, shift @ARGV, 3; + +#Commando parsing + +SWITCH: { + + if ( $command eq "open" ) { + + #open maakt nieuwe sneaklijst aan..., hiervoor is een password + #nodig. + + $password = $args; + + if (&TestOpen) { + print "De sneaklijst is al open.\n"; + } elsif ($password) { + open( PASS, "> $passfile" ); + print PASS $password; + close PASS; + open( SNEAK, "> $sneak_lijst" ); + print SNEAK "Sneaklijst geopend om ", ( scalar localtime ), " door $nick\n"; + print "Sneaklijst geopend\n"; + close SNEAK; + } else { + print "sneak open "; + } + last SWITCH; + } + + if ( $command eq "sluit" ) { + + #sluit de sneaklijst. De sneaklijst wordt hernoemt naar sneakvandaag. + #ook sluit heeft een password nodig. + + $password = $args; + + open( PASS, $passfile ); + $passgoed = ( eq $password ); + close PASS; + + if ( &TestOpen && $passgoed ) { + close PASS; + open( SNEAK, ">> $sneak_lijst" ); + print SNEAK "Sneaklijst is gesloten om ", ( scalar localtime ), " door $nick\n"; + close SNEAK; + unlink $passfile; + rename $sneak_lijst, $sneak_vandaag; + print "Sneaklijst nu gesloten.\n"; + } elsif (&TestOpen) { + print "Incorrect password.\n"; + } else { + print "Sneaklijst is niet geopend.\n"; + } + last SWITCH; + } + + if ( $command eq "add" ) { + + #voeg een nick toe aan de lijst. + + if (&TestOpen) { + + #als er geen verdere argumenten worden meegegeven wordt de + #nick toegevoegd. + + open( SNEAK, ">> $sneak_lijst" ); + print SNEAK "$nick gaat mee.\n"; + close SNEAK; + print "Your nick has been added\n"; + } else { + print "Sneaklijst is niet open.\n"; + } + last SWITCH; + } + + if ( $command eq "status" ) { + + #het status commando, print de lijst. + + if (&TestOpen) { + open( SNEAK, "< $sneak_lijst" ); + print ; + close SNEAK; + } elsif (&TestVandaag) { + print "Sneaklijst is niet open, maar het volgende staat in de database:\n"; + open( VANDAAG, "< $sneak_vandaag" ); + print ; + close VANDAAG; + } else { + print "You should not see this...maareuh, der is geen database meer.\n"; + } + last SWITCH; + } + + if ( $command eq "note" ) { + + #het note commando, post een note.. + + if (&TestOpen) { + open( SNEAK, ">> $sneak_lijst" ); + print SNEAK "$nick noted: $args\n"; + close SNEAK; + print "your note has been added.\n"; + } else { + print "Sneaklijst is niet open.\n"; + } + last SWITCH; + } + + if ( $command eq "help" ) { + + #help is blijkbaar nodig + + print "Syntax: sneak \n"; + print "Commands: open, sluit, add, note, status,predict, help\n"; + print "open: sneak open \n"; + print "sluit: sneak sluit \n"; + print "add: sneak add = add je nick op lijst van mensen die meegaan\n"; + print "note: sneak note = als je een note wilt achterlaten (e.g. sneak note fropsel gaat ook mee)\n"; + print "status: sneak status = als je een lijstje wilt krijgen\n"; + print "predict: sneak predict = krijg de laatste predictions\n"; + print "help: sneak help = laat deze helpfile zien\n"; + last SWITCH; + } + + if ( $command eq "predict" ) { + + #blaat + + open SNEAK, "< $sneakpredict"; + print ; + close SNEAK; + last SWITCH; + } + + # Ik wil nog een command eta, waarbij door de opener aangegeven + #wordt wanneer er kaartjes gehaald worden, wat dus door eta + #uitgelezen kan worden. Gewoon een apart filetje is genoeg lijkt me. + + #zijn er geen argumenten meegegeven, dan volgt een uitleg van het + #commando + + $nothing = 1; +} + +if ( $nothing == 1 ) { + print "Syntax: sneak \n"; +} diff --git a/sneak/sneaklijst b/sneak/sneaklijst new file mode 100644 index 0000000..8d3f411 --- /dev/null +++ b/sneak/sneaklijst @@ -0,0 +1,3 @@ +Sneaklijst geopend om Tue May 4 20:22:53 2004 door loek +loek gaat mee. +loek gaat mee. diff --git a/sneak/sneakpredict b/sneak/sneakpredict new file mode 100644 index 0000000..46263d8 --- /dev/null +++ b/sneak/sneakpredict @@ -0,0 +1 @@ +crash; dark water; doom; goal: kick off; legend of zorro; paradise now \ No newline at end of file diff --git a/sneak/sneakvandaag b/sneak/sneakvandaag new file mode 100644 index 0000000..fae26b1 --- /dev/null +++ b/sneak/sneakvandaag @@ -0,0 +1,4 @@ +Sneaklijst geopend om Tue Apr 27 19:39:36 2004 door loek +loek gaat mee. +titanhead gaat mee. +Sneaklijst is gesloten om Tue May 4 20:22:41 2004 door loek diff --git a/songfestival/command.cfg b/songfestival/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/songfestival/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/songfestival/level b/songfestival/level new file mode 100644 index 0000000..573541a --- /dev/null +++ b/songfestival/level @@ -0,0 +1 @@ +0 diff --git a/songfestival/quotes.txt b/songfestival/quotes.txt new file mode 100644 index 0000000..c1713ec --- /dev/null +++ b/songfestival/quotes.txt @@ -0,0 +1,8 @@ +Germany @@@ points, Allemange @@@ points. +Here are the results from the Dutch jury. +4 points! +@@@ points! +This is so very exiting... Belgium @@@ points, La Belgique @@@ points. +Germany: no points. +This is drienerlo^WHolland calling with the results of the Elza^H^H^H^HDutch votes. +Quatre points. diff --git a/songfestival/songfestival.pl b/songfestival/songfestival.pl new file mode 100755 index 0000000..93f6047 --- /dev/null +++ b/songfestival/songfestival.pl @@ -0,0 +1,18 @@ +#! /usr/bin/perl -w +# Just a gag, says something stupid with a eurovision theme +# On krejt's request :) + +my $quotefile = "/home/multilink/multigate/commands/songfestival/quotes.txt"; + +open( QUOTEFILE, "< $quotefile" ); +my @quotes = ; +my $quote = @quotes[ int( rand(@quotes) ) ]; +close QUOTEFILE; + +## If there is a string '@@@' in the quote, put a random number from 1 to 12 in it's place + +my $points = int( rand(11) + 1 ); + +$quote =~ s/@@@/$points/g; + +print $quote; diff --git a/spongebob/command.cfg b/spongebob/command.cfg new file mode 100644 index 0000000..27dccc3 --- /dev/null +++ b/spongebob/command.cfg @@ -0,0 +1,2 @@ +level = 50 +cache = 0 diff --git a/spongebob/help.txt b/spongebob/help.txt new file mode 100644 index 0000000..8dffec6 --- /dev/null +++ b/spongebob/help.txt @@ -0,0 +1 @@ +spongebob: geeft een willekeurige regel uit The Themesong van Spongebob Squarepants diff --git a/spongebob/spongebob.pl b/spongebob/spongebob.pl new file mode 100755 index 0000000..9b33819 --- /dev/null +++ b/spongebob/spongebob.pl @@ -0,0 +1,10 @@ +#!/usr/bin/perl -w +use strict; + +open SPONGEBOB, "< spongebob.txt"; +my @lines = ; +close SPONGEBOB; + + +print $lines[ int( rand(@lines) ) ]; + diff --git a/spongebob/spongebob.txt b/spongebob/spongebob.txt new file mode 100644 index 0000000..2e76517 --- /dev/null +++ b/spongebob/spongebob.txt @@ -0,0 +1,4 @@ +who lives in a pineppple under the sea / Spongebob SquarePants +Absorbent and yellow and porous is he / Spongebob Squarepants +If nautical nonsence be something you wish / Spongebob Squarepants +Then drop on the deck and flop like a fish / Spongebob Squarepants diff --git a/stardate/command.cfg b/stardate/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/stardate/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/stardate/level b/stardate/level new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/stardate/level @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/stardate/stardate b/stardate/stardate new file mode 100755 index 0000000..0180cea Binary files /dev/null and b/stardate/stardate differ diff --git a/stardate/stardate.pl b/stardate/stardate.pl new file mode 100755 index 0000000..2294383 --- /dev/null +++ b/stardate/stardate.pl @@ -0,0 +1,19 @@ +#!/usr/bin/perl -w + +my $userlevel = $ENV{'MULTI_USERLEVEL'}; # userlevel of invoking user + +my $rank = "Ensign"; + +if ( $userlevel >= 1000 ) { + $rank = "Admiral"; +} elsif ( $userlevel >= 500 ) { + $rank = "Captain"; +} elsif ( $userlevel >= 100 ) { + $rank = "Commander"; +} elsif ( $userlevel >= 50 ) { + $rank = "Lieutenant"; +} + +print "$rank, stardate is "; +print `/home/multilink/multigate/commands/stardate/stardate`; +exit 0; diff --git a/startrek/command.cfg b/startrek/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/startrek/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/startrek/level b/startrek/level new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/startrek/level @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/startrek/startrek.pl b/startrek/startrek.pl new file mode 100755 index 0000000..9650933 --- /dev/null +++ b/startrek/startrek.pl @@ -0,0 +1,79 @@ +#!/usr/bin/perl +# Zoekt naar Star Trek, vandaag en morgen, op eurotv +# geschreven door C.J. Eyckelhof (Titanhead) +# casper@joost.student.utwente.nl +# Zaterdag 7 Augustus 1999 + +use LWP::Simple; + +#### allerlei fijne definities en initialisaties ######## + +$base_url = "http://www.eurotv.com/"; +%dagen = ( + Sun => Zondag, + Mon => Maandag, + Tue => Dinsdag, + Wed => Woensdag, + Thu => Donderdag, + Fri => Vrijdag, + Sat => Zaterdag +); + +%zenders = ( + ne1 => "Nederland 1", + ne2 => "Nederland 2", + ne3 => "Nederland 3", + rtl4 => "RTL 4", + rtl5 => "RTL 5", + sbs => "SBS 6", + tv10 => "Fox", + veron => "Veronica", + bbc1 => "BBC 1", + bbc2 => "BBC 2" +); + +$thisday = $dagen{ ( Sun, Mon, Tue, Wed, Thu, Fri, Sat )[ (localtime)[6] ] }; + +###### gebruik "nederland 1"-pagina voor datum-->nummer ##### +$content = get( $base_url . "/slne1.htm" ); +@lines = split /^/m, $content; + +foreach $line (@lines) { + if ( $line =~ /$thisday/ ) { + $vandaag_htm = ( split /\"/, $line )[1]; + $vandaag_nr = ( split //, $vandaag_htm )[0]; #dit is dus het "zenderprefix" van vandaag + #print $vandaag_htm, $vandaag_nr; + } +} + +##alle zenders voor vandaag checken op startrek ## + +foreach $zender ( keys %zenders ) { + $content = get( $base_url . $vandaag_nr . "a" . $zender . ".htm" ); #de programma's op $zender vandaag + @lines = split /^/m, $content; + foreach $line (@lines) { + if ( $line =~ /star trek/i ) { + $line =~ s/<.*?>//g; + $line =~ s/\r//g; + $line =~ s/\t//g; + print "Vandaag $zenders{$zender} " . "$line"; + } + } +} + +##alle zenders voor morgen checken op startrek ## +## alvast erbij als lekkermakertje ## +$vandaag_nr++; +foreach $zender ( keys %zenders ) { + $content = get( $base_url . $vandaag_nr . "a" . $zender . ".htm" ); #de programma's op $zender morgen + @lines = split /^/m, $content; + foreach $line (@lines) { + if ( $line =~ /star trek/i ) { + $line =~ s/<.*?>//g; + $line =~ s/\r//g; + $line =~ s/\t//g; + print "Morgen $zenders{$zender} " . "$line"; + } + } +} +print "\n"; diff --git a/stek/command.cfg b/stek/command.cfg new file mode 100644 index 0000000..9ddc02c --- /dev/null +++ b/stek/command.cfg @@ -0,0 +1,2 @@ +level = 0 +cache = 14400 # 4 hours diff --git a/stek/help.txt b/stek/help.txt new file mode 100644 index 0000000..d05962c --- /dev/null +++ b/stek/help.txt @@ -0,0 +1 @@ +Haalt het menu van de stek van vandaag op. \ No newline at end of file diff --git a/stek/level b/stek/level new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/stek/level @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/stek/stek.pl b/stek/stek.pl new file mode 100755 index 0000000..e7b888e --- /dev/null +++ b/stek/stek.pl @@ -0,0 +1,57 @@ +#!/usr/bin/perl -w +# Geeft de hap van de stek aan, van de huidige datum +# Herschreven na een "update" van de FB website (Yuck!) +# titanhead, 22 September 2001 + +use strict; +my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time); + +if ( ( $wday == 0 ) || ( $wday == 6 ) ) { + print "Stek is gesloten in het weekend."; + exit 0; +} + +my $vrijdag = ( localtime( time + ( ( 5 - $wday ) * 60 * 60 * 24 ) ) )[3]; +my $maandag = ( localtime( time + ( ( 1 - $wday ) * 60 * 60 * 24 ) ) )[3]; + +#my @html = `lynx -dump "http://www.utwente.nl/fb/docs/Hap-aan-de-Tap.doc/"`; +#my @html = `lynx -dump "http://weblx030.civ.utwente.nl/diensten/fb/catering/stec/hap-aan-de-tap.doc/_printableversion.html"`; +#my @html = `lynx -dump "http://www.utwente.nl/fb/catering/stek/de_stekwk_14.doc/_printableversion.html"`; +my @html = `lynx -dump -nolist "http://www.utwente.nl/fb/catering/stek/hap-aan-de-tap.doc/_printableversion.html"`; +my $menu = ""; +my $daggevonden = 0; + +# De Stek; Hap a/d Tap +# Gyrossteak met zazikisaus +# Superhap +# Spies onwies +# ! Cinestekkaarten + + + +foreach my $regel (@html) { +# print STDERR "-->$regel\n"; + if ( ( $regel =~ /Vrijdag $vrijdag /i ) || ( $regel =~ /Maandag $maandag /i ) || ( $regel =~ m|\s*De Stek|i ) ) { + $daggevonden = 1; +# print STDERR "Begin gevonden\n"; + } + + if ($daggevonden) { + if ( $regel =~ /^\s*!/ ) { $daggevonden = 0; last; } + if ( $regel =~ /Cinestekkaarten/i ) { $daggevonden = 0; last; } + $menu .= "$regel , "; + } +} +$menu =~ s/\s{2,}/ /g; +$menu =~ s/\s,/,/g; +$menu =~ s/,+\s*$//g; +$menu =~ s/^\s*//; +$menu =~ s/,+/,/g; +$menu =~ s/\.,/./g; +$menu =~ s/EUR \d+,\d+//g; + +if ($menu and $menu ne "") { + print $menu; +} else { + print "Geen menu gevonden. Stek vandaag gesloten?\n"; +} diff --git a/strootje/command.cfg b/strootje/command.cfg new file mode 100644 index 0000000..3a2c67a --- /dev/null +++ b/strootje/command.cfg @@ -0,0 +1 @@ +level = 50 diff --git a/strootje/strootje.pl b/strootje/strootje.pl new file mode 100755 index 0000000..6d378be --- /dev/null +++ b/strootje/strootje.pl @@ -0,0 +1,81 @@ +#!/usr/bin/perl -w +use strict; + +## Import available environment variables + +my $address = $ENV{'MULTI_USER'}; # address of invoking user +my $user = $ENV{'MULTI_REALUSER'}; # multigate username of invoking user +my $userlevel = $ENV{'MULTI_USERLEVEL'}; # userlevel of invoking user +my $from_protocol = $ENV{'MULTI_FROM'}; # protocol this command was invoked from +my $to_protocol = $ENV{'MULTI_TO'}; # protocol where output will be sent +my $command_level = $ENV{'MULTI_COMMANDLEVEL'}; # level needed for this command +my $is_multicast = $ENV{'MULTI_IS_MULTICAST'}; # message to multiple recipients (channels) + +my $commandline = defined $ARGV[0] ? $ARGV[0] : ''; + +# Do something interesting here + +my $strootjestatefile = "strootjestate"; +my $rv; +my $aantal; +my $maxlengte = 10; + +if ( $commandline =~ /^knip/i ) { + $commandline =~ s/^knip //g; + if ( !$commandline =~ /^\d/ ) { + print("Hoeveel strootjes moet ik knippen?"); + exit; + } + $rv = open STROOTJES, "> $strootjestatefile"; + unless ( defined $rv ) { + print("Kan geen strootjes knippen"); + exit("Kan geen nieuw bestand aanmaken"); + } + print STROOTJES "$user $commandline $commandline pietjepuk $maxlengte\n"; + close STROOTJES; + print("Er zijn strootjes geknipt"); +} else { + $rv = open STROOTJES, "< $strootjestatefile"; + unless ( defined $rv ) { + print("Er zijn nog geen strootjes geknipt"); + exit; + } + my $line = ; + close STROOTJES; + my @spline = split ( / /, $line ); + my $hand = $spline[0]; + my $totaal = $spline[1]; + my $aantal = $spline[2]; + my $sigaar = $spline[3]; + my $shorteststraw = $spline[4]; + my $hoeveelste = $totaal - $aantal + 1; + + if ( $aantal == 0 ) { + print("De strootjes zijn op, knip eerst nieuwe strootjes met knip "); + exit; + } + print "$user trekt het ${hoeveelste}e strootje uit $totaal geknipte strootjes uit de hand van $hand en het is "; + my $lengte = rand($maxlengte); + $lengte = sprintf( "%.1f", $lengte ); + print "${lengte} cm lang\n"; + + if ( $lengte < $shorteststraw ) { + $shorteststraw = $lengte; + $sigaar = $user; + } + + if ( $aantal == 1 ) { + print "$sigaar is de sigaar"; + } + + $aantal--; + $rv = open STROOTJES, "> $strootjestatefile"; + unless ( defined $rv ) { + print("het stro is op"); + exit; + } + print STROOTJES "$hand $totaal $aantal $sigaar $shorteststraw\n"; + close STROOTJES; +} + + diff --git a/strootje/strootjestate b/strootje/strootjestate new file mode 100644 index 0000000..f555e16 --- /dev/null +++ b/strootje/strootjestate @@ -0,0 +1,2 @@ +angel_7th 10 0 ylebre 0.4 + diff --git a/super/command.cfg b/super/command.cfg new file mode 100644 index 0000000..4ab70ec --- /dev/null +++ b/super/command.cfg @@ -0,0 +1,2 @@ +level = 50 +author = angel_7th diff --git a/super/help.txt b/super/help.txt new file mode 100644 index 0000000..909bfc7 --- /dev/null +++ b/super/help.txt @@ -0,0 +1,2 @@ +super {tijds-indicatie | substring | help} - meldt welke supermarkten er (nog) open zijn op een bepaald moment. + tijds-indicatie = {"nu"|"zo"|"ma"|"di"|"wo"|"do"|"vr"|"za"|[-+]\d+[mMhHuU]} diff --git a/super/super.pl b/super/super.pl new file mode 100755 index 0000000..d959f14 --- /dev/null +++ b/super/super.pl @@ -0,0 +1,213 @@ +#!/usr/bin/perl -w +use strict; +use LWP::UserAgent; + +## Import available environment variables +my $is_multicast = $ENV{'MULTI_IS_MULTICAST'}; # message to multiple recipients (channels) + +my $multicast_max_lines = 3; +my @output = (); + +## Get a certain URL +my $url = "http://www.dnd.utwente.nl/supermarkt.txt"; + +my $ua = new LWP::UserAgent; + +#Set agent name, we are not a script! :) +# ([BvS] alsof dat uitmaakt naar je eigen server toe ;-) ) +my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; +$ua->agent($agent); + +my $request = new HTTP::Request( 'GET', $url ); +my $content = $ua->request($request)->content; + +my @lines = split /^/m, $content; + +my @namen; +my %opentijd = (); +my %sluittijd = (); +my %koopavond = (); +my %sluitzaterdag = (); + +my %dagen = ( + 'zo' => 0, + 'ma' => 1, + 'di' => 2, + 'wo' => 3, + 'do' => 4, + 'vr' => 5, + 'za' => 6 +); +my %rdagen = (); + +foreach my $dag ( keys %dagen ) { + $rdagen{ $dagen{$dag} } = $dag; +} + +sub printUsage { + return "usage: !supermarkt {tijds-indicatie | substring | help}"; +} + +sub getArgTime { + my ($arg) = @_; + my $mijntijd = getHour() * 60 + getMin(); + + if ( $arg =~ /^nu$/i ) { return $mijntijd; } + + if ( $arg =~ /^([-+])(\d+)([mhu])?$/i ) { + my $min = $2; + if ( $1 eq "-" ) { $min *= -1; } + if ( $3 =~ /[hu]/i ) { $min *= 60; } + $mijntijd += $min; + if ( $mijntijd < 0 ) { $mijntijd = 0; } + if ( $mijntijd >= 24 * 60 ) { $mijntijd = 23 * 60 + 59; } + return $mijntijd; + } + + if ( $arg =~ /^(0|[1-9]\d*)[:\.]?([0-5]\d)$/ ) { + $mijntijd = $1 * 60 + $2; + if ( $mijntijd < 0 ) { $mijntijd = 0; } + if ( $mijntijd >= 24 * 60 ) { $mijntijd = 23 * 60 + 59; } + return $mijntijd; + } + + return undef; +} + +sub getDay { + my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time); + return ($wday); +} + +sub getHour { + my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time); + return ($hour); +} + +sub getMin { + my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time); + return ($min); +} + +sub getOpen { + my ( $naam, $day ) = @_; + if ( $day == 0 ) { return undef; } #no supermarkets are open on sundays + my $opentime = $opentijd{$naam}; + if ( $opentime =~ /^([0-9:]+)/ ) { return $1; } + else { return undef; } +} + +sub getClose { + my ( $naam, $day ) = @_; + if ( $day == 0 ) { return undef; } #no supermarkets are open on sundays + my $closetime; + if ( $day == 6 ) { $closetime = $sluitzaterdag{$naam}; } + else { + my $dayname = $rdagen{$day}; + if ( $koopavond{$naam} =~ /$dayname/i ) { + $koopavond{$naam} =~ /^([0-9:]+)/; + return $1; + } else { + $closetime = $sluittijd{$naam}; + } + } + if ( $closetime =~ /^([0-9:]+)/ ) { return $1; } + else { return undef; } +} + +my $line; +my $started = 0; +foreach $line (@lines) { + if ( $line =~ /^\s*\$/ ) { next; } #just an empty line, we like to skip those + + if ( $line =~ /^[=+]*$/ ) { $started = 1; } + + if ( ( $started == 1 ) + && ( $line =~ + /^([\w ]+\w)(\t|\s\s)\s*([0-9:?]+)(\t|\s\s)\s*([0-9:?]+)(\t|\s\s)\s*(\?|-|[0-9:]+ +\([\w\/]+\)( \?)?)(\t|\s\s)\s*([0-9:]+)/ + ) ) + { + push @namen, $1; + + $opentijd{$1} = $3; + $sluittijd{$1} = $5; + $koopavond{$1} = $7; + $sluitzaterdag{$1} = $10; + } +} + +# Choose wanted functionality: +if ( !( defined $ARGV[0] ) ) { + push @output, printUsage(); + +} elsif ( defined( my $mijntijd = getArgTime( $ARGV[0] ) ) ) { + foreach my $naam (@namen) { + my $day = getDay(); + if ( defined $mijntijd ) { + my $mijnopentijd = getOpen( $naam, $day ); + my $mijnsluittijd = getClose( $naam, $day ); + if ( defined $mijnopentijd && defined $mijnsluittijd ) { + $mijnopentijd =~ /^(\d+):(\d+)/; + my $mijnopen = $1 * 60 + $2; + $mijnsluittijd =~ /^(\d+):(\d+)/; + my $mijnsluit = $1 * 60 + $2; + if ( $mijntijd < 12 * 60 ) { + if ( ( $mijnopen <= $mijntijd ) && ( $mijntijd <= $mijnsluit ) ) { + push @output, "$naam is al open vanaf $mijnopentijd"; + } + } else { + if ( ( $mijnopen <= $mijntijd ) && ( $mijntijd <= $mijnsluit ) ) { + push @output, "$naam is nog open tot $mijnsluittijd"; + } + } + } + } else { + push @output, printUsage(); + } + } + + push @output, "Helaas, er zijn geen open supermarkten gevonden..." + unless @output; + +} elsif ( exists $dagen{ $ARGV[0] } ) { + if ( my $day = $dagen{ $ARGV[0] } ) { + foreach my $naam (@namen) { + my $mijnopentijd = getOpen( $naam, $day ); + my $mijnsluittijd = getClose( $naam, $day ); + if ( defined $mijnopentijd && defined $mijnsluittijd ) { + push @output, "$naam : $mijnopentijd -> $mijnsluittijd"; + } + } + + push @output, "Helaas, er zijn geen supermarkten gevonden die " . "open zijn op $day..." unless @output; + } else { + push @output, "Er zijn geen supermarkten open op zondag!"; + } + +} elsif ( defined $ARGV[0] && ( $ARGV[0] eq "help" ) ) { + push @output, printUsage(); + +} elsif ( defined $ARGV[0] && ( $ARGV[0] =~ /^\w+$/ ) ) { + my $naamdeel = $ARGV[0]; + foreach my $naam ( grep { /$naamdeel/i } @namen ) { + push @output, "$naam : open om: $opentijd{$naam}, dicht om: $sluittijd{$naam}, " + . "koopavond: $koopavond{$naam}, zaterdag: $sluitzaterdag{$naam}"; + } + + push @output, "Helaas, er zijn geen supermarkten gevonden die " . "matchen op $naamdeel..." unless @output; + +} else { + push @output, printUsage(); +} + +if (@output) { + if ( $is_multicast && @output > $multicast_max_lines ) { + print "Too much output, please try again on non-multicast protocol\n"; + } else { + foreach my $outputline (@output) { + print $outputline. "\n"; + } + } +} else { + print "Geen resultaat, !supermarkt stuk?\n"; +} diff --git a/teaearlgreyhot/command.cfg b/teaearlgreyhot/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/teaearlgreyhot/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/teaearlgreyhot/level b/teaearlgreyhot/level new file mode 100644 index 0000000..29d6383 --- /dev/null +++ b/teaearlgreyhot/level @@ -0,0 +1 @@ +100 diff --git a/teaearlgreyhot/teaearlgreyhot.pl b/teaearlgreyhot/teaearlgreyhot.pl new file mode 100755 index 0000000..6151d03 --- /dev/null +++ b/teaearlgreyhot/teaearlgreyhot.pl @@ -0,0 +1,3 @@ +#!/usr/bin/perl -w +print "Boeliep. Done."; + diff --git a/tel/command.cfg b/tel/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/tel/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/tel/help.txt b/tel/help.txt new file mode 100644 index 0000000..9ad9a82 --- /dev/null +++ b/tel/help.txt @@ -0,0 +1 @@ +tel: telt dingen \ No newline at end of file diff --git a/tel/tel.pl b/tel/tel.pl new file mode 100755 index 0000000..162dbd3 --- /dev/null +++ b/tel/tel.pl @@ -0,0 +1,18 @@ +#!/usr/bin/perl -w +use strict; + +## Import available environment variables + +my $address = $ENV{'MULTI_USER'}; # address of invoking user +my $user = $ENV{'MULTI_REALUSER'}; # multigate username of invoking user +my $userlevel = $ENV{'MULTI_USERLEVEL'}; # userlevel of invoking user +my $from_protocol = $ENV{'MULTI_FROM'}; # protocol this command was invoked from +my $to_protocol = $ENV{'MULTI_TO'}; # protocol where output will be sent +my $command_level = $ENV{'MULTI_COMMANDLEVEL'}; # level needed for this command + +my $commandline = defined $ARGV[0] ? $ARGV[0] : ''; + +my @fropje = split ( ' ', $ARGV[0] ); + +print $#fropje+ 1; + diff --git a/temp/command.cfg b/temp/command.cfg new file mode 100644 index 0000000..a3ffa5f --- /dev/null +++ b/temp/command.cfg @@ -0,0 +1,3 @@ +level = 0 +#cache expires at 23 minutes past the whole hour (xx:23) +cache = { my $mark = 23; my ($sec, $min) = (localtime)[0..1]; if ($min < $mark) { 60*($mark - $min) - $sec } else { 60*(60-($min-$mark)) -$sec } } diff --git a/temp/help.txt b/temp/help.txt new file mode 100644 index 0000000..9d1d7d4 --- /dev/null +++ b/temp/help.txt @@ -0,0 +1 @@ +temp geeft de huidige weersituatie op de campus. temp geeft de weersituatie op (Terschelling, Den Helder, Schiphol, Rotterdam, Vlissingen, Leeuwarden, Eelde, Twenthe, Lelystad, De Bilt, Eindhoven en Maastricht) \ No newline at end of file diff --git a/temp/level b/temp/level new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/temp/level @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/temp/temp.pl b/temp/temp.pl new file mode 100755 index 0000000..66b4b28 --- /dev/null +++ b/temp/temp.pl @@ -0,0 +1,57 @@ +#!/usr/bin/perl +#Geeft huidige weersituatie (default in twente, met parameters van andere weerstation) +#Gegevens van http://www.knmi.nl/voorl/weer/aktueel.html +use strict; +my $plaats = "Twenthe"; +if ( $ARGV[0] ) { + $plaats = ''; + foreach my $argument (@ARGV) { + $plaats .= $argument . " "; + } +} +my @html = `lynx -dump http://www.knmi.nl/voorl/weer/aktueel.html`; +my $result = "onbekend"; +my $gevonden = 0; +foreach my $regel (@html) { + if ( $gevonden == 0 ) { + if ( $regel =~ /$plaats/i ) { + $result = $regel; + $gevonden = 1; + } + } +} +if ( $result =~ /niet ontvangen/i ) { + print "Waarnemer weggewaaid\n"; + exit 0; +} + +$result =~ s/^\s*//g; +$result =~ s/De\sBilt/DeBilt/ig; +$result =~ s/Vliegveld//ig; +$result =~ /(.*?)\s{1,}(.*)\s{1,}(-{0,1}\d{1,}\.\d)/; +my @twente = ( $1, $2, $3 ); +$plaats =~ s/\s{1,}$//g; +$twente[1] =~ s/\s{1,}$//g; + +if ( $twente[1] !~ /\w+/ ) { $twente[1] = "geen waarneming"; } + +if ( $plaats eq "Twenthe" ) { + $plaats = "titan's ex-koelkast"; + + #$plaats ="a6502's tijdelijke koelkast"; + my $temp = $twente[2]; + if ( $temp < -5 ) { + $plaats = "titan's diepvries"; + } elsif ( $temp < 0 ) { + $plaats = "titan's vriesvak"; + } elsif ( $temp > 29 ) { + $plaats = "titan's sauna"; + } elsif ( $temp > 19 ) { + $plaats = "titan's balkon"; + } +} +if ($gevonden) { + print "Huidige weersituatie te $plaats: $twente[1], $twente[2] graden. (Bron: KNMI)"; +} else { + print "Geen weerstation gevonden in $plaats."; +} diff --git a/test/command.cfg b/test/command.cfg new file mode 100644 index 0000000..29e9941 --- /dev/null +++ b/test/command.cfg @@ -0,0 +1,3 @@ +level = 42 +user = 0 +cache = 0 diff --git a/test/test.pl b/test/test.pl new file mode 100755 index 0000000..a0b1494 --- /dev/null +++ b/test/test.pl @@ -0,0 +1,14 @@ +#!/usr/bin/perl -w + +#if ( $ARGV[0] =~ /(\d+)/ ) { +# print "a" x $1, "\n"; +#} + +foreach $key ( sort keys(%ENV) ) { + print "$key = $ENV{$key}\n" if ( $key =~ /multi/i ); +} + +# No-public-response hack +#exit 0 if ( $ENV{'MULTI_USER'} =~ /^#\w+/ ); + +#print "\$ENV{'MULTI_IS_MULTICAST'} = ". $ENV{'MULTI_IS_MULTICAST'}; diff --git a/tik/command.cfg b/tik/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/tik/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/tik/level b/tik/level new file mode 100644 index 0000000..29d6383 --- /dev/null +++ b/tik/level @@ -0,0 +1 @@ +100 diff --git a/tik/tik.pl b/tik/tik.pl new file mode 100755 index 0000000..299d4e5 --- /dev/null +++ b/tik/tik.pl @@ -0,0 +1,3 @@ +#!/usr/bin/perl + +print "tak\n"; diff --git a/time/command.cfg b/time/command.cfg new file mode 100644 index 0000000..ba301e9 --- /dev/null +++ b/time/command.cfg @@ -0,0 +1,2 @@ +level = 0 +cache = 0 #0 seconds diff --git a/time/level b/time/level new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/time/level @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/time/time.pl b/time/time.pl new file mode 100755 index 0000000..6775900 --- /dev/null +++ b/time/time.pl @@ -0,0 +1,2 @@ +#!/usr/bin/perl -w +print scalar localtime diff --git a/todo/command.cfg b/todo/command.cfg new file mode 100644 index 0000000..bb1c580 --- /dev/null +++ b/todo/command.cfg @@ -0,0 +1,2 @@ +cache = 0 +level = 100 diff --git a/todo/help.txt b/todo/help.txt new file mode 100644 index 0000000..2d8f5a4 --- /dev/null +++ b/todo/help.txt @@ -0,0 +1 @@ +todo {add item | del nummer}: toevoegen en verwijderen van todo items; zonder parameters geeft todo een overzicht van de todo-list, alfabetisch gesorteerd \ No newline at end of file diff --git a/todo/todo.pl b/todo/todo.pl new file mode 100755 index 0000000..a2ce00e --- /dev/null +++ b/todo/todo.pl @@ -0,0 +1,77 @@ +#!/usr/bin/perl -w +use strict; + +## Import available environment variables + +my $user = $ENV{'MULTI_REALUSER'}; # multigate username of invoking user +my $userlevel = $ENV{'MULTI_USERLEVEL'}; # userlevel of invoking user + +my $commandline = defined $ARGV[0] ? $ARGV[0] : ''; + +my $id; #last used id + +#First time user? Init files + +unless ( -d "data/$user" ) { + mkdir "data/$user", 0755 or die "cannot mkdir data/$user"; #new entry + open IDFILE, "> data/$user/id"; + print IDFILE "0"; + close IDFILE; +} + +#Get id + +open IDFILE, "< data/$user/id"; +$id = ; +close IDFILE; +chomp $id; + +if ( $commandline =~ /^add (.*?)$/i ) { + $id++; + open ITEM, ">data/$user/$id"; + print ITEM $1; + close ITEM; + + open IDFILE, "> data/$user/id"; + print IDFILE $id; + close IDFILE; + print "todo item toegevoegd als nummer $id\n"; + +} elsif ( $commandline =~ /^del (.*?)$/i ) { + my $toremove = $1; + if ( $toremove =~ /^\d+$/ ) { + if ( -e "data/$user/$toremove" ) { + open ITEM, "< data/$user/$toremove"; + my $item = ; + close ITEM; + unlink "data/$user/$toremove"; + chomp $item; + print "todo item $toremove verwijderd: $item\n"; + } else { + print "Dat nummer staat niet in je todolist\n"; + } + } else { + print "Welk nummer?\n"; + } +} else { + my %todo = (); #id => item + opendir( DIR, "data/$user" ) or die "can't opendir data/$user: $!"; + while ( defined( my $file = readdir(DIR) ) ) { + if ( $file =~ /\d+/ ) { + open ITEM, "< data/$user/$file"; + my $item = ; + close ITEM; + $todo{$file} = $item; + } + } + closedir(DIR); + my %odot = reverse %todo; + if ( keys %todo ) { + print "todo items voor $user:\n"; + foreach my $item ( sort keys %odot ) { + print $odot{$item}, " $item\n"; + } + } else { + print "Geen todo items voor $user\n"; + } +} diff --git a/tony/command.cfg b/tony/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/tony/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/tony/help.txt b/tony/help.txt new file mode 100644 index 0000000..e0c7f6a --- /dev/null +++ b/tony/help.txt @@ -0,0 +1 @@ +Met dank aan dave (en aan http://www.electricartists.com/scarface/insult.html) diff --git a/tony/tony.pl b/tony/tony.pl new file mode 100755 index 0000000..9da9ff7 --- /dev/null +++ b/tony/tony.pl @@ -0,0 +1,38 @@ +#!/usr/bin/perl -w +use strict; + +my @insults = ( + "Ju prick", + "Fuckin' wasp whore", + "You die, motherfucker", + "You think you can fuckin' take me? ju fuckin maricon", + "Don't fuck wit 'me", + "Ju're all a bunch of fuckin' assholes!", + "Look at ju now, you piece of shit!", + "Ju got a bag for a belly!", + "Anything beats lying around all day waiting for me to fuck you, I'll tell you that!", + "Fuck'em all!", + "I bury you cockaroaches!", + "Your womb is so polluted, I can't even have a fuckin' little baby with ju!", + "Ju got tits that need a bra, they got hair on 'em!", + "Ju got a look in your eye like ju haven't been fucked in a year!", + "Dat piece of shit up right there", + "I never liked you; I never trusted you.", + "Ju a piece o' shit", + "Ju know what I talking about you cockaroach!", + "Don't toot your horn honey, you're not that good!", + "Ju fuckface", + "Ju just fuck jurself!", + "You know what a hassa is? That's a pig that don't fly straight, and neither do you!", + "Why don't ju try stickin' ju head up jur ass? See if it fits.", + "Ju got a fucking junkie for a wife!", + "This town is like a great big pussy just waiting to get fucked.", + "Who, why, when, and how I fuck is none of your business.", + "I'm gonna stick your heads up your asses faster than a rabbit gets fucked!", + "Do I have to kill your brother first, before I kill you?", + "Don't fuck me. Don't you ever try to fuck me. Ju Cockroach.", + "I told you a long fucking time ago not to fuck me, you fucking little monkey", + "Ja? I take you all to fucking hell!" +); + +print $insults[ rand(@insults) ] . "\n"; diff --git a/top40/command.cfg b/top40/command.cfg new file mode 100644 index 0000000..e42d912 --- /dev/null +++ b/top40/command.cfg @@ -0,0 +1,2 @@ +level = 50 +cache = 3600 # 1 hour \ No newline at end of file diff --git a/top40/help.txt b/top40/help.txt new file mode 100644 index 0000000..80d1afe --- /dev/null +++ b/top40/help.txt @@ -0,0 +1 @@ +top40 [positie] - geeft liedje dat op postitie staat (default: 1) \ No newline at end of file diff --git a/top40/level b/top40/level new file mode 100644 index 0000000..e373ee6 --- /dev/null +++ b/top40/level @@ -0,0 +1 @@ +50 diff --git a/top40/top40.pl b/top40/top40.pl new file mode 100755 index 0000000..3af8387 --- /dev/null +++ b/top40/top40.pl @@ -0,0 +1,29 @@ +#!/usr/bin/perl -w +#Copyright script: Casper Joost Eyckelhof +#Copyright top40: respective owner (currently wanadoo) + +@top40 = `w3m -dump http://www.wanadoo.nl/top40/charts/index_1.html`; +my @chart = (); + +foreach $nummer (@top40) { + if ( $nummer =~ /\d{1,2}\s+([-\d]+)\s+([-\d]+)\s+(.*?)\s-\s(.*?)\s+#.*$/ ) { + $vorig = $1; + $aantalweken = $2; + $artiest = $3; + $song = $4; + push @chart, "$artiest - $song (vw: $vorig ; aw: $aantalweken)"; + } +} + +my $pos; +if ( ( defined $ARGV[0] ) && ( $ARGV[0] =~ /\d+/ ) ) { + $pos = $ARGV[0]; +} else { + $pos = 1; +} + +if ( ( $pos < 1 ) || ( $pos > 40 ) ) { + $pos = 1; +} + +print "Nummer $pos in de top-40 is: $chart[$pos-1]\n"; diff --git a/topgear/command.cfg b/topgear/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/topgear/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/topgear/help.txt b/topgear/help.txt new file mode 100644 index 0000000..3e00d39 --- /dev/null +++ b/topgear/help.txt @@ -0,0 +1 @@ +topgear [add ] - without parameters it shows a random quote \ No newline at end of file diff --git a/topgear/level b/topgear/level new file mode 100644 index 0000000..573541a --- /dev/null +++ b/topgear/level @@ -0,0 +1 @@ +0 diff --git a/topgear/quotes.txt b/topgear/quotes.txt new file mode 100644 index 0000000..cb3a6ef --- /dev/null +++ b/topgear/quotes.txt @@ -0,0 +1,54 @@ +I saw an actual bus on the M4 bus lane this morning +not as mundane as mechanics +you need belgium to turn around in +he makes me sick! +most luxury cars have 21st century treehugging engines, but not this one: trees start to shudder when they hear this one comming +granny handbrake parking +they forgot to look at the back +"will you drive it if we send you to portugal and stuff you full with excellent food?" "well, ok..." +it wobles when you turn the windscreen wiper on +I don't wanna drive around in an appliance +when the kids had covered every inch of paint with fingerprints, it was time to vote +i could vomit on you now +the racing line of righteousness +would he be impressed with the bishop of lewis? +it's the 16th century all over again, the roman catholics come in second again +if you don't mind 7 miles to the gallon, this car flies +the back is huge, it'll take anything, up to and including a horse +it's like driving around in a branche of dixons +because of the way the bbc is funded, we had a budget of 500 quid +because of the unique way the bbc is funded, we had a budget of 500 quid +you can remember the eighties like it's only a couple of decades away... +this isn't a democracy.. this is topgear.. +it's a foul car, it should come with a taxi light on the top +next week, the germans are coming... we'll have a laugh +the ford fusion, which is in fact a ford fiesta, in a hat +corners are best taken with your eyes shut +2 engines.. ridicululous! twice the fuel bill! +it sounds like Darth Vader's in the booth +it wobbles when you turn the windscreen wiper on +it's so dull, you'd better park it in an obvious place, or else you might forget you bought it +this thing corners like it's in a cartoon +if you're used to f1 cars everything else is a bit sluggish +and now they've come up with a microwave.. +in a Bentley no one can hear you scream.. +what did you drop the camera for? I told you it's a scary car! +Have you ever wondered how ... palace would look going sideways? Let me turn of the traction control and we'll see. +It's about as English as an oven glove with cats on it. +"So you are saying that your car has a bigger penis than our car?" "Yes, I have the superior model." +mothers will be fishing kids out of chubby cupboardholes for years +what we want in brittain is a convertible for the sunny days with a foldable hardtop for the other 364 days +it's just not right. a diesel cabrio is just like a supermodel smoking a pipe +oiltanker captains have been heard saying their tanker has the turning circle of the renault clio three litre +you could only go four inches before you ran out of petrol +the laws of physics no longer apply +but let's be honest: you could stick a bmw-label on a dead cat and people would buy it +it really is as usefull as a snooze button on a smoke alarm +a gunship, in your rearview mirror +no I'm obviously not going to ride the bike, because I'm a heterosexual +I've driven many XJSses in the past, but this is the first time I feel I'm actually involved in the process +is it a gunplatform for drive by shootings or is it a real car? +because its handling is so soft it leans in the corners... on its doorhandles +and then there's the turning circle, which is worse than Jupiter's +france is a country you have to drive through to get to italy, that's all it for +can germany beat russia in being the fastest brittain? diff --git a/topgear/topgear.pl b/topgear/topgear.pl new file mode 100755 index 0000000..73c8246 --- /dev/null +++ b/topgear/topgear.pl @@ -0,0 +1,42 @@ +#!/usr/bin/perl -w +# Simple and stupid quote database +# No file locking - race conditions possible - whatever :) +# Casper Joost Eyckelhof 2002 +# Keyword search by Wouter Commandeur + +use strict; + +my $quotefile = "./quotes.txt"; + +my $eerste; +my $rest; + +if ( $ARGV[0] ) { ( $eerste, $rest ) = split ' ', $ARGV[0], 2; } + +if ( $eerste && $eerste eq "add" ) { + open FOO, ">> $quotefile"; + print FOO "$rest\n"; + close FOO; + print "Quote added\n"; +} else { + + #print random quote or if keywords find one + open MSG, "< $quotefile"; + my @opties = ; + close MSG; + + my @matching; + + if ( $eerste && !( $eerste eq "" ) ) { + @matching = grep( /$eerste/i, @opties ); + } + + my $antwoord = ""; + + if ( scalar(@matching) > 0 ) { + $antwoord = $matching[ int( rand(@matching) ) ]; + } else { + $antwoord = $opties[ int( rand(@opties) ) ]; + } + print $antwoord; +} diff --git a/tt/command.cfg b/tt/command.cfg new file mode 100644 index 0000000..0b88265 --- /dev/null +++ b/tt/command.cfg @@ -0,0 +1,2 @@ +level = 50 +cache = 300 # 5 minutes \ No newline at end of file diff --git a/tt/help.txt b/tt/help.txt new file mode 100644 index 0000000..f0f40fd --- /dev/null +++ b/tt/help.txt @@ -0,0 +1 @@ +tt [-subpagina]: geeft de inhoud van die teletekst pagina (vb: tt 105 of tt 120-2) \ No newline at end of file diff --git a/tt/level b/tt/level new file mode 100644 index 0000000..e373ee6 --- /dev/null +++ b/tt/level @@ -0,0 +1 @@ +50 diff --git a/tt/tt.pl b/tt/tt.pl new file mode 100755 index 0000000..1ee5db6 --- /dev/null +++ b/tt/tt.pl @@ -0,0 +1,56 @@ +#!/usr/bin/perl -w +# Casper Eyckelhof / 06-01-2003 / After teletekst layout change + +use strict; +use LWP::UserAgent; +use HTML::Entities(); + +my $baseurl = "http://teletekst.nos.nl/tekst/"; # what else??? +my $url; + +if ( $ARGV[0] =~ m|(\d{3})[-/](\d+)| ) { + my $sub = $2; + if ( $sub < 10 ) { $sub = "0$sub" } + $url = "$baseurl$1-$sub.html"; +} elsif ( $ARGV[0] =~ /(\d{3})/ ) { + $url = $baseurl . $1 . "-01.html"; +} else { + $url = $baseurl . "101-01.html"; +} + +## Get a certain URL +my $ua = new LWP::UserAgent; + +#Set agent name, we are not a script! :) +my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; +$ua->agent($agent); + +my $request = new HTTP::Request( 'GET', $url ); +$request->referer('http://portal.omroep.nl/'); + +$request->header( "Accept" => 'application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1' ); +$request->header( "Accept-Encoding" => "gzip,deflate" ); +$request->header( "Accept-Language" => "en-us, en;q=0.5" ); +$request->header( "Accept-Charset" => "ISO-8859-1,utf-8;q=0.7,*" ); + +my $content = $ua->request($request)->content; + +#get everything between
 
+if ( $content =~ /
/ ) {
+    $content =~ s/^.*?
.*?\n(.*?)<\/pre>.*?$/$1/si;
+    $content =~ s/\*+//g;
+    $content =~ s///sgi;
+    $content =~ s/<\/font>//sgi;
+    $content =~ s/(\d{3}).*?<\/A>/($1),/gi;
+    $content =~ s/\n+//g;
+    $content =~ s/\.{2,}//g;
+    $content =~ s/([,.])/$1 /g;
+    $content =~ s/\s{2,}/ /g;
+    $content =~ s/^\s//;
+    $content = HTML::Entities::decode($content);
+    $content =~ s/(volgende|index.*?) nieuws.*$//i;    #index tv nieuws financieel sport
+    $content =~ s/(volgende|index.*?).*?nieuws.*$//i;    #volgende nosnieuws financieel nossport
+    print $content . "\n";
+} else {
+    print "Pagina niet gevonden\n";
+}
diff --git a/tv/check.pl b/tv/check.pl
new file mode 100755
index 0000000..926a078
--- /dev/null
+++ b/tv/check.pl
@@ -0,0 +1,34 @@
+#!/usr/bin/perl -w
+use File::Copy;
+use Mail::Mailer;
+
+$error    = 0;
+$datadir  = "/home/multilink/multigate/commands/tv/data";
+$datadir2 = "/home/multilink/multigate/commands/tv3/data";
+@fouten   = "";
+
+opendir( BIN, $datadir ) or die "Can't open $datadir: $!";
+while ( defined( $file = readdir BIN ) ) {
+    if ( -z "$datadir/$file" ) {
+        if ( ( !-e "$datadir2/$file" ) || ( -z "$datadir2/$file" ) ) {
+            $error++;
+            $fouten .= "$datadir/$file is leeg\n";
+        } else {
+            copy( "$datadir2/$file", "$datadir/$file" );
+        }
+    }
+}
+
+if ( $error > 0 ) {
+    $mailer = Mail::Mailer->new("sendmail");
+    $mailer->open(
+        {
+            From    => 'multilink@ringbreak.dnd.utwente.nl',
+            To      => 'casper@joost.student.utwente.nl',
+            Subject => 'tvgids'
+        }
+      )
+      or die "Can't open: $!\n";
+    print $mailer $fouten;
+    $mailer->close();
+}
diff --git a/tv/command.cfg b/tv/command.cfg
new file mode 100644
index 0000000..6906753
--- /dev/null
+++ b/tv/command.cfg
@@ -0,0 +1,2 @@
+level = 0
+max_lines_multicast = 3
diff --git a/tv/data/BBC1 b/tv/data/BBC1
new file mode 100644
index 0000000..1478eeb
--- /dev/null
+++ b/tv/data/BBC1
@@ -0,0 +1,29 @@
+7.00¶ ¶Fimbles¶
+7.20¶ ¶Fimbles¶
+7.45¶ ¶Clifford the big red dog¶
+8.00¶ ¶Tom and Jerry kids¶
+8.25¶ ¶Arthur¶
+8.50¶ ¶Taz-mania¶
+9.10¶ ¶Legend of the dragon¶
+9.35¶ ¶The Scooby and Scrappy show¶
+10.00¶ ¶Dick and Dom in da bungalow¶
+12.00¶ ¶Top op the pops reloaded¶
+12.45¶ ¶Sportsround¶
+13.00¶ ¶Nieuws en weerbericht¶
+13.10¶ ¶Football focus¶
+14.20¶ ¶Grandstand¶
+14.25¶ ¶Rugby league¶
+14.30¶ ¶Snooker¶
+17.30¶ ¶Final score¶
+18.10¶ ¶Nieuws, regionaal nieuws en weerbericht¶
+18.30¶ ¶Star spell¶
+19.30¶ ¶Strictly come dancing¶
+20.50¶ ¶The National Lottery: In it to win it¶
+21.35¶ ¶Casualty¶
+22.25¶ ¶Strictly come dancing¶
+23.00¶ ¶Nieuws en weerbericht¶
+23.15¶ ¶National Lottery update¶
+23.20¶ ¶Match of the day¶
+0.40¶F¶The French connection II¶
+2.35¶ ¶Weerbericht¶
+2.40¶ ¶BBC News 24¶
diff --git a/tv/data/BBC2 b/tv/data/BBC2
new file mode 100644
index 0000000..5f5ef4f
--- /dev/null
+++ b/tv/data/BBC2
@@ -0,0 +1,20 @@
+7.00¶ ¶Breakfast¶
+10.00¶ ¶Weekend 24¶
+11.00¶ ¶Saturday kitchen¶
+12.30¶ ¶Gary Rhodes's new British classics¶
+13.00¶ ¶See hear¶
+13.45¶ ¶Film 2005¶
+14.15¶ ¶Wildlife on Two¶
+14.45¶ ¶The Rockford files¶
+15.35¶ ¶Monk¶
+16.20¶F¶Chisum¶
+18.05¶ ¶The memoirs of Sherlock Holmes¶
+19.00¶ ¶What the papers say¶
+19.10¶ ¶Flog it!¶
+20.10¶ ¶Who do you think you are?¶
+21.05¶ ¶The secret of drawing¶
+22.05¶ ¶Snooker¶
+23.35¶ ¶Have I got news for you¶
+0.05¶ ¶The culture show¶
+1.05¶ ¶Snooker¶
+3.00¶ ¶BBC learning zone: Open university en general interest¶
diff --git a/tv/data/Discovery b/tv/data/Discovery
new file mode 100644
index 0000000..9e17a55
--- /dev/null
+++ b/tv/data/Discovery
@@ -0,0 +1,25 @@
+6.00¶ ¶Extreme machines: Military forces: Sea power¶
+7.00¶ ¶Extreme engineering: Venice flood gate¶
+8.00¶ ¶Kings of sim¶
+9.00¶ ¶Rex Hunt fishing adventures¶
+9.30¶ ¶Mystery hunters: Desert mummies / Remote viewing¶
+10.00¶ ¶Battle of the beasts: Lion vs Tiger¶
+11.00¶ ¶Anatomy of a shark bite¶
+12.00¶ ¶Extreme machines: Military forces: Sea power¶
+13.00¶ ¶Extreme engineering: Venice flood gates¶
+14.00¶ ¶Kings of sim¶
+15.00¶ ¶Manapouri: The toughest tunnel¶
+16.00¶ ¶Scrapheap challenge¶
+17.00¶ ¶Lake escapes¶
+17.30¶ ¶The caravan show¶
+18.00¶ ¶Oil storm¶
+19.30¶ ¶The cowboy and his sub¶
+20.00¶ ¶Mega builders: Spanning the Harlem (New York City)¶
+21.00¶ ¶American chopper: Lincoln bike I¶
+22.00¶ ¶American chopper: Lincoln bike II¶
+23.00¶ ¶Rides: Codename Daisy¶
+0.00¶ ¶Trauma: Life in the ER: Too much fun¶
+1.00¶ ¶Freak show¶
+2.00¶ ¶Sex sense: Boob tube¶
+2.30¶ ¶Sex sense: Top ten sexiest clothes¶
+3.00¶ ¶Nachtprogrammering¶
diff --git a/tv/data/Ketnet_Canvas b/tv/data/Ketnet_Canvas
new file mode 100644
index 0000000..c8a04c1
--- /dev/null
+++ b/tv/data/Ketnet_Canvas
@@ -0,0 +1,38 @@
+7.00¶ ¶Symfollies¶
+7.00¶ ¶KETNET¶
+7.05¶ ¶Hopla¶
+7.10¶ ¶Bumba¶
+7.15¶ ¶Musti¶
+7.20¶ ¶Lars, de kleine ijsbeer¶
+7.25¶ ¶Piet Piraat¶
+7.35¶ ¶Tweenies¶
+7.55¶ ¶De boomhut¶
+8.10¶ ¶Samson & Gert¶
+9.10¶ ¶De troetelbeertjes¶
+9.35¶ ¶De jongen die niet meer praatte¶
+10.00¶ ¶Spring¶
+10.15¶ ¶Codename: The boy¶
+10.40¶ ¶De drie vrienden en Jerry¶
+11.00¶ ¶Tarzan in het Disney Festival¶
+11.25¶ ¶Tegenvoeters¶
+11.50¶ ¶Stafari¶
+13.00¶ ¶Plankenkoorts¶
+13.00¶ ¶CANVAS¶
+15.20¶ ¶Wielrennen: Ronde van Lombardije¶
+17.20¶ ¶Bumba¶
+17.20¶ ¶KETNET¶
+17.25¶ ¶Pingu¶
+17.30¶ ¶Bob de bouwer¶
+17.40¶ ¶Drakenjagers¶
+18.05¶ ¶Griezelverhalen voor ettertjes¶
+18.20¶ ¶De week van Karrewiet¶
+18.35¶ ¶Spring¶
+18.45¶ ¶W817¶
+19.00¶ ¶Degrassi: The next generation¶
+19.25¶ ¶De wereld om de hoek¶
+20.00¶ ¶CANVAS¶
+20.00¶ ¶Terzake zaterdag¶
+21.00¶F¶Prime suspect¶
+22.45¶ ¶Green wing¶
+23.40¶ ¶Waking the dead¶
+0.35¶ ¶Doorlopende herhaling Terzake zaterdag¶
diff --git a/tv/data/MTV b/tv/data/MTV
new file mode 100644
index 0000000..a75988d
--- /dev/null
+++ b/tv/data/MTV
@@ -0,0 +1,32 @@
+6.00¶ ¶MTV Breakfast club¶
+9.00¶ ¶Global room raiders¶
+9.30¶ ¶Laguna Beach¶
+10.00¶ ¶Taildaters¶
+10.30¶ ¶My super sweet 16¶
+11.00¶ ¶Pimp my ride¶
+11.30¶ ¶Boiling points¶
+12.00¶ ¶Meet the Barkers¶
+12.30¶ ¶Meet the Barkers¶
+13.00¶ ¶Meet the Barkers¶
+13.30¶ ¶Meet the Barkers¶
+14.00¶ ¶Meet the Barkers¶
+14.30¶ ¶Meet the Barkers¶
+15.00¶ ¶Meet the Barkers¶
+15.30¶ ¶Meet the Barkers¶
+16.00¶ ¶Meet the Barkers¶
+16.30¶ ¶Meet the Barkers¶
+17.00¶ ¶MTV Cribs¶
+17.30¶ ¶The 70's house¶
+18.00¶ ¶Cool politics¶
+18.30¶ ¶True life¶
+19.00¶ ¶Making the movie¶
+20.00¶ ¶Euro top 20¶
+21.00¶ ¶Meet the Barkers¶
+21.30¶ ¶Pimp my room¶
+22.00¶ ¶Viva La Bam¶
+22.30¶ ¶Jackass¶
+23.00¶ ¶Punk'd¶
+23.30¶ ¶The Andy Milonakis show¶
+0.00¶F¶MTV Asian screen: Beyond hypothermia¶
+0.00¶ ¶Rock reality weekend break¶
+2.00¶ ¶Insomnia¶
diff --git a/tv/data/Nederland1 b/tv/data/Nederland1
new file mode 100644
index 0000000..f34eb17
--- /dev/null
+++ b/tv/data/Nederland1
@@ -0,0 +1,29 @@
+9.00¶ ¶De verandering¶
+9.25¶ ¶Vingers die wijzen naar de maan¶
+9.55¶ ¶OHM Magazine¶
+10.25¶ ¶InFocus¶
+10.55¶ ¶De schone namen van Allah¶
+11.00¶ ¶Uitzending Nederlandse Islamitische Omroep¶
+11.30¶ ¶Lied internationaal¶
+12.00¶ ¶NCRV Dokument: Tussen ouders en kinderen¶
+12.50¶ ¶Praatjesmakers¶
+13.35¶ ¶De wereld draait door¶
+14.25¶ ¶Mr. Kahoona Positive Happiness Show¶
+15.05¶ ¶Villa Felderhof¶
+16.00¶ ¶NOS-Journaal¶
+16.10¶ ¶NCRV Natuurlijk - Waterlanders¶
+16.35¶ ¶Kastelen¶
+17.00¶ ¶Nieuw in Nederland¶
+17.10¶ ¶AVRO Museumgasten¶
+17.35¶ ¶Wildlife: Stokstaartjes - een hechte familie¶
+18.27¶ ¶Socutera: Zeister Zendingsgenootschap¶
+18.30¶ ¶EO Gezinsdag¶
+19.00¶ ¶Niet alleen op zondag¶
+19.30¶ ¶Blauw Bloed¶
+20.00¶ ¶NOS-Journaal¶
+20.30¶ ¶Debat op 1¶
+21.05¶ ¶Toen was geluk heel gewoon¶
+21.35¶ ¶Super senioren¶
+22.30¶ ¶KRO Detectives: Inspector Lynley¶
+0.05¶ ¶Keyzer & De Boer advocaten¶
+0.55¶ ¶Debat op 1¶
diff --git a/tv/data/Nederland2 b/tv/data/Nederland2
new file mode 100644
index 0000000..f3617f9
--- /dev/null
+++ b/tv/data/Nederland2
@@ -0,0 +1,19 @@
+7.00¶ ¶NOS-Tekst tv¶
+15.15¶ ¶NOS Wielrennen Ronde van Lombardije¶
+17.25¶ ¶AVRO Dierenpark Artis¶
+17.59¶ ¶Twee Vandaag¶
+18.00¶ ¶NOS-Journaal¶
+18.20¶ ¶NOS-Sportjournaal¶
+18.25¶ ¶Actualiteiten¶
+18.55¶ ¶Te land, ter zee en in de lucht¶
+19.50¶ ¶AVRO Heartbeat vips¶
+20.50¶ ¶NOS-Journaal¶
+20.55¶ ¶TROS TV Show¶
+21.50¶ ¶NOS-Studio Sport¶
+22.45¶ ¶NOS-Journaal¶
+22.50¶ ¶Missing: without a trace¶
+23.40¶ ¶NOS-Journaal¶
+23.50¶ ¶TROS Krimi: Siska¶
+0.55¶ ¶NOS-Journaal 20.00 herhaling¶
+1.30¶ ¶Twee Vandaag¶
+1.55¶ ¶NOS-Journaal en NOS-Studio Sport¶
diff --git a/tv/data/Nederland3 b/tv/data/Nederland3
new file mode 100644
index 0000000..7f923d2
--- /dev/null
+++ b/tv/data/Nederland3
@@ -0,0 +1,50 @@
+6.48¶ ¶Z@pp¶
+6.49¶ ¶Z@ppelin¶
+6.50¶ ¶Kabouter Plop¶
+6.55¶ ¶Barbapapa¶
+7.00¶ ¶Tweenies¶
+7.25¶ ¶Het zandkasteel¶
+7.39¶ ¶Z@pp¶
+7.40¶ ¶NOS-Jeugdjournaal¶
+7.55¶ ¶Z@ppSport¶
+8.10¶ ¶KRO's TIENPLUS!!!¶
+8.11¶ ¶Serious desert¶
+8.35¶ ¶Titeuf¶
+8.45¶ ¶Pappa's horloge¶
+8.50¶ ¶Kroko TV¶
+9.05¶ ¶AVRO ZipZoo Coördinaat X¶
+9.35¶ ¶AVRO Museumbende¶
+9.55¶ ¶AVRO Hippie de Hipster¶
+10.23¶ ¶De hopeloze heks¶
+10.45¶ ¶Inis cool¶
+10.59¶ ¶Nederland 3¶
+11.00¶ ¶Tegenlicht¶
+11.50¶ ¶Zembla¶
+12.30¶ ¶Kinderen geen bezwaar¶
+13.00¶ ¶NOS-Journaal¶
+13.05¶ ¶Een dollar per dag¶
+14.00¶ ¶Andere tijden¶
+14.25¶F¶NPS Wereldcinema: Together¶
+16.30¶ ¶De meiden van Halal¶
+16.56¶ ¶Z@pp¶
+16.57¶ ¶Z@ppelin¶
+16.58¶ ¶Kabouter Plop¶
+17.03¶ ¶De wereld van K3¶
+17.30¶ ¶Pingu¶
+17.35¶ ¶Sesamstraat¶
+17.54¶ ¶Z@pp¶
+17.55¶ ¶Villa Achterwerk¶
+17.55¶ ¶The making of Polleke¶
+18.00¶ ¶Kijkers¶
+18.05¶ ¶Kinderen en geld¶
+18.15¶ ¶Willem Wever¶
+18.45¶ ¶NOS-Jeugdjournaal¶
+18.59¶ ¶Nederland 3¶
+19.00¶ ¶Kassa¶
+19.35¶ ¶Kinderen geen bezwaar¶
+20.05¶ ¶Mooi! Weer De Leeuw¶
+21.00¶ ¶Het zwarte schaap¶
+22.00¶ ¶NOS-Journaal¶
+22.09¶ ¶Nova/Den Haag vandaag¶
+22.35¶F¶Bend it like Beckham¶
+0.30¶ ¶Nova/Den Haag vandaag¶
diff --git a/tv/data/Net5 b/tv/data/Net5
new file mode 100644
index 0000000..2ebf196
--- /dev/null
+++ b/tv/data/Net5
@@ -0,0 +1,19 @@
+6.00¶ ¶Sisters¶
+7.00¶ ¶Teleshopping¶
+9.00¶ ¶Roseanne¶
+9.35¶ ¶Agrippine¶
+10.00¶ ¶NET 5 Games¶
+11.00¶ ¶TV Shop¶
+12.05¶ ¶Roseanne¶
+12.35¶ ¶NET 5 Games¶
+13.35¶ ¶Sisters¶
+14.35¶ ¶NET 5 Games¶
+15.30¶ ¶Stuart Little¶
+16.00¶ ¶Jackie Chan Adventures¶
+16.50¶F¶Eddie's million dollar cook-off¶
+18.25¶ ¶Het Blok¶
+19.25¶F¶George of the jungle¶
+21.00¶F¶Cats & dogs¶
+22.30¶F¶Double Bill¶
+0.05¶ ¶Doc¶
+1.00¶ ¶Nachtprogrammering: Relax TV¶
diff --git a/tv/data/RTL4 b/tv/data/RTL4
new file mode 100644
index 0000000..093ee23
--- /dev/null
+++ b/tv/data/RTL4
@@ -0,0 +1,26 @@
+6.45¶ ¶Jacques Cousteau¶Franse natuurserie 
+6.55¶ ¶Natuur op 4¶Natuurprogramma met om:. 
+7.46¶ ¶Champions of the wild¶Serie natuurdocumentaires 
+8.15¶ ¶Monkey business¶Natuurserie 
+8.43¶ ¶Last paradise¶Natuurserie 
+9.21¶ ¶Life & cooking¶Magazine waarin Carlo Boszhard en Irene Moors gasten ontvangen. Er wordt tevens heerlijk gekookt en er zijn items over zaken als mode,beauty,reizen en films. 
+10.10¶ ¶RTL Shop¶In de RTL Shop worden vanuit de studio een aantal producten gepresenteerd. Je ziet een demonstratie van deze producten. Vervolgens kost het je slechts een telefoontje om het product te bestellen.Meer info over RTL Shop vind je op pagina 750 of surf naar www.rtlshop.nlPresentatie: Vannessa Thuijns en Marco Verhagen. 
+11.00¶ ¶Cluereka!¶Interactief spelprogramma waarin kandidaten op hun algemene kennis worden getest en clues kunnen verdienen die leiden tot de oplossing van een mystery woord. 
+12.00¶ ¶Telegames¶Interactief spelprogramma waarin verschillende woordpuzzels zijn opgenomen. 
+13.00¶ ¶Woordzoeker¶Interactief spelprogramma waarin twee kandidaten aan de hand van cryptische omschrijvingen met hun woordkennis en puzzelvermogen strijden om een spannende finaleplaats. 
+14.00¶ ¶Spotlight¶Interactieve quiz waarin de spotlight iedere keer gericht is op een bekend persoon. 
+15.00¶ ¶Telegames¶Interactief spelprogramma waarin verschillende woordpuzzels zijn opgenomen. 
+16.23¶ ¶Campinglife¶In deze aflevering struinen Sander Janson en Marit van Bohemen samen over de beursvloer om de kijker te informeren over allerlei nieuwe trends en noviteiten op het gebied van kampeermiddelen. 
+16.59¶ ¶RTL Autowereld¶Automagazine waarin Michael Pilarczyk, Allard Kalff autniews presenteren en de nieuwste modellen testen.Kijk ook op: www.rtlautowereld.nl 
+17.29¶ ¶Van kavel tot kasteel¶Bouwprogramma waarin het bouwen van een eigen droomhuis centraal staat. De belevenissen van drie families, die met durf en creativiteit op weg zijn naar het huis van hun dromen, worden gevolgd. 
+18.00¶ ¶RTL Nieuws¶
+18.06¶ ¶Eigen huis & tuin¶Woon- en klusprogramma gepresenteerd door Corine Boon met klusexpert Thomas Verhoef en tuinman Lodewijk Hoekstra.In deze uitzending:- Corine is druk in de weer met Halloween- Thomas maakt een houten bankje voor in de keuken- Lodewijk bekijkt een Mien Ruys-tuin 
+18.58¶ ¶Bestemming Nederland¶Programma over de veelzijdigheid van Nederland als vakantiebestemming. Het presentatietrio Joris Lutz, Stella Gommans en Mariska van Kolck ontdekken samen hoe leuk het is om op er eigen land op uit te trekken. 
+19.30¶ ¶RTL Nieuws¶
+20.00¶ ¶Dancing with the stars - Finale¶Live-show van de eindstrijd van de danswedstrijd Dancing with the Stars.Finalisten Jim Bakkum en Irene van der Laar dansen met hun professionle dans-partners Julie Fryer en Marcus van Tellingen maar liefst drie dansen.Zowel de jury als het publiek maakt uit wie de uiteindelijke winnaar wordt.Meer info op RTL Text pagina 310. 
+21.31¶ ¶Crime Scene Investigation¶Serie waarin het forensische team van CSI allerlei criminele zaken oplost.Grissom onderzoekt de moord op twee mannen. Dit leidt tot een ontmoeting met Lady Heather. Catherine is wanhopig op zoek naar de oorzaak van de bijnadoodervaring van haar dochter en antwoord op de vraag waarom haar ex verdwenen is. 
+22.30¶ ¶Las Vegas¶Serie rond de gebeurtenissen in een casino in Las Vegas.Een steenrijke man probeert de paarden-races te manipuleren. De biljonair blijkt de ex-man van Sam te zijn. 
+23.25¶ ¶Max in alle Staten¶Serie programma's waarin niet New York, maar heel Amerika het werkterrein van Max Westerman is. Van het grootste bordeel in Nevada tot de grootste bommenfabriek ter wereld in Oklahoma: Max gaat er op bezoek en geen vraag blijft onbeantwoord. 
+23.47¶ ¶RTL Nieuws¶
+0.02¶F¶The corpse had a familiar face¶Amerikaanse dramafilm uit 1994 met Elizabeth Montgomery, Dennis Farina, en Yaphet Kotto. Regie: Joyce Chopra.Een vrouwelijke journalist uit Miami volgt de zoektocht van een vader naar zijn verdwenen dochter. 
+1.48¶ ¶Homeshopping¶Homeshoppingprogramma waarin diverse producten worden aangeboden. 
diff --git a/tv/data/RTL5 b/tv/data/RTL5
new file mode 100644
index 0000000..e7ce8b7
--- /dev/null
+++ b/tv/data/RTL5
@@ -0,0 +1,15 @@
+6.30¶ ¶Blik op Europa¶Live registratie van wat er te zien is in verschillende Europese steden. 
+8.06¶ ¶Best of shopping¶Homeshoppingprogramma 
+15.05¶ ¶Thuis in Nederland¶Middagmagazine waarin de thema's tuinieren, wonen en lifestyle centraal staan. Thuis in Nederland zit boordevol inspirerende informatie, streeft naar een heerlijk thuisgevoel en belicht onderwerpen met een knipoog of serieuze lading. 
+15.57¶ ¶The secret life of us¶Australische dramaserie Dramaserie over het onvoorspelbare leven van zeven huisgenoten. 
+16.27¶ ¶Gek op wielen¶Autoprogramma waarin de beleving van de auto en het autorijden in de breedste zin worden belicht.Bavo Galama gaat de weg op om nieuws uit de auto-industrie voor de kijker te verzamelen. Ook bespreekt hij diverse wetenswaardigheden over de mobiliteit in Nederland. Daarnaast is er aandacht voor het milieu, fiscale zaken, prijsbepalingen, files en veiligheid. 
+16.57¶ ¶Blij dat ik rij?¶Serie reportages waarin het rijgedrag van de bekende en onbekende Nederlander nader onder de loep wordt genomen. 
+17.29¶ ¶AutoXperience¶Autoprogramma met de racefanaten en broers Tim en Tom Coronel.Op geheel eigen wijze test het ervaren duo tal van auto's, bezoeken ze autobeurzen en -evenementen en gaan ze op zoek naar de nieuwste en meest verleidelijke autoproducten. 
+17.59¶ ¶RTL Travel¶Reismagazine waarin zowel spannende verre reizen, budgetreizen als bestemmingen naar aanleiding van kijkersvragen aan bod komen. 
+18.58¶ ¶RTL Woon & klusmagazine¶Klusprogramma met Fabienne de Vries waarin de doe-het-zelver, onder leiding van klusexpert Dennis Mulder, tal van ideeen en tips krijgt aangedragen om zelf in huis aan de slag te gaan.Naast het bouwen van een compleet huis, laat Dennis samen met het stylingteam zien hoe een kleine ingreep een enorme verandering in het interieur teweeg kan brengen. Daarnaast komen de bekende rubrieken als De werkplaats en Het woonidee terug. 
+19.54¶ ¶What not to wear¶Engels modeprogramma waarin twee modegoeroes op zoek gaan naar fashion emergencies.In elke aflevering staat een vrouw centraal, die is opgegeven door haar familie, vrienden of collega's en in het geheim is gefilmd en genomineerd voor een complete kledingmetamorfose. 
+20.35¶F¶The guru¶Amerikaanse filmkomedie uit 2002 met Heather Graham, Marisa Tomei, Jimi Mistry.Regie: Daisy von Scherler MayerDansinstructeur Ramu vertrekt naar New York om het helemaal te maken in de showbizz.Het loopt echter niet zoals verwacht: hij belandt in een pornofilm en Ramu wordt op een societyfeestje aangezien voor een spiritueel leider. 
+22.24¶F¶One hour photo¶Amerikaanse thriller uit 2002 met Robin Williams, Connie Nielsen, Michael Vartan. Regie: Mark Romanek.Sy 'The photoguy' werkt bij de 1 uur-fotoservice van een groot warenhuis. Hij kent van veel vaste klanten de familiekiekjes. Zo ook die van de familie Yorkin. Via hun foto's heeft hij alle belangrijke gebeurtenissen in hun leven meegemaakt. Hij bewondert hun idyllische gezinsleven, iets wat hij in zijn eigen leven mist. 
+0.11¶F¶200 cigarettes¶Amerikaanse filmkomedie uit 1999 met Courtney Love, Kate Hudson, David Chappelle. Regie: Risa Bramon GarciaTwee vriendinnen verdwalen als ze onderweg zijn naar een feest en komen per ongeluk in een punkrockbar terecht. Aan de andere kant van de stad gaat een naief meisje op stap met een blinddate, die probeert zijn exen te ontlopen. De gastvrouw van het feest is bang dat uiteindelijk niemand komt opdagen. 
+1.51¶ ¶Homeshopping¶Homeshoppingprogramma waarin diverse producten worden aangeboden. 
+5.59¶ ¶Shop 4 nop¶Homeshoppingprogramma 
diff --git a/tv/data/RTL7 b/tv/data/RTL7
new file mode 100644
index 0000000..ef898e9
--- /dev/null
+++ b/tv/data/RTL7
@@ -0,0 +1,16 @@
+8.58¶ ¶Homeshopping¶Homeshoppingprogramma waarin diverse producten worden aangeboden. 
+11.59¶ ¶Nederland in bedrijf¶Actueel, afwisselend en gezond kritisch praatprogramma over spraakmakende en inspirerende initiatieven die binnen het bedrijfsleven plaatsvinden. Met aandacht voor opvallende medewerkers, innovatieve producenten en de nieuwste productiemethoden. 
+12.51¶ ¶Mens & lijf¶Medisch programma waarin allerhande zaken aangaande het lichaam en de gezondheid worden behandeld. 
+13.18¶ ¶Tennis: Alex TennisClassics 2005¶Verslag van het Alex TennisClassics-toernooi dat van 13 tot en met 16 oktober wordt gespeeld in het Indoor-Sportcentrum te Eindhoven. Het toernooi maakt deel uit van de ATP Champions Tour, een toernooiserie voor spelers die op zijn minst twee jaar uit het profcircuit zijn. Dit jaar staan de grootheden Richard Krajicek, Jacco Eltingh, John McEnroe, Jim Courier, Jan Siemerink, Goran Ivanisevic, Paul Haarhuis, Mansour Bahrami en Thomas Muster aan het net. 
+15.42¶ ¶RTL Rally report¶Verslag van alle manches van het in populariteit groeiende WK rally. 
+16.32¶ ¶RTL Transportwereld¶Transportmagazine waarin vormen van transport, logistiek, machines, groot materieel en productieprocessen worden belicht. De onderwerpen beginnen met de vraag: Hoe werkt dat? Daarnaast is er regelmatig aandacht voor transport en internet, IT en de nieuwe technologieen die onlosmakelijk verbonden zijn aan vormen van transport. 
+16.59¶ ¶RTL Autosport¶Autosportprogramma met aandacht voor de Amerikaanse Champ Car World Series, de Indy Racing League en de nationale autosport met onder meer de nieuwe Porsche GT Cup Challenge.Ook de races van de Renault Clio Cup, de Formule Renault en de Formule Ford passeren de revue. De beelden worden afgewisseld met de commentaren van coureurs vanuit de studio in Hilversum. 
+18.02¶ ¶De 5de versnelling¶Engelse serie reportages waarin motorvoertuigen centraal staan. De nieuwste modellen worden met elkaar vergeleken en getest. 
+18.33¶ ¶Food & fit¶Culinair programma waarin de kijker te zien krijgt hoe hij of zij in korte tijd een gezonde maar vooral ook smakelijke maaltijd kan bereiden.Meer info en de recepten vind je op de website wwww.foodenfit.nlPresentatie: Rudolph van Veen 
+19.00¶ ¶Arrested development¶Amerikaanse comedyserie over de wel zeer excentrieke familie Bluth. 
+19.26¶ ¶Victor op zoek¶Wetenschappelijk magazine waarin we op zoek gaan naar de nieuwste innovaties op het gebied van sport, techniek en lifestyle. 
+19.52¶ ¶Onder controle?!¶Medisch consumentenprogramma waarin de keuze binnen de zorg centraal staat. Het programma kijkt bovendien kritisch naar de verschillen in de zorg, koppelt dit aan praktijkvoorbeelden en diept de verschillen uit door te spreken met specialisten. Aan de hand van reconstructies en gesprekken met deskundigen in de studio, geeft het programma de zorgbehoevende een aantal tools om bewuster om te gaan met medische keuzemogelijkheden. 
+20.30¶F¶Soldaat van Oranje¶Nederlandse oorlogsfilm uit 1977 met Rutger Hauer, Jeroen Krabbé, Derek de Lint e.a. Regie: Paul Verhoeven. 
+0.29¶ ¶Tennis: Alex TennisClassics 2005¶Verslag van het Alex TennisClassics-toernooi dat van 13 tot en met 16 oktober wordt gespeeld in het Indoor-Sportcentrum te Eindhoven. Het toernooi maakt deel uit van de ATP Champions Tour, een toernooiserie voor spelers die op zijn minst twee jaar uit het profcircuit zijn. Dit jaar staan de grootheden Richard Krajicek, Jacco Eltingh, John McEnroe, Jim Courier, Jan Siemerink, Goran Ivanisevic, Paul Haarhuis, Mansour Bahrami en Thomas Muster aan het net. 
+0.32¶ ¶Nachtsuite¶Live late night talkshow waarin human interest-onderwerpen aan bod komen. 
+2.00¶ ¶Homeshopping¶Homeshoppingprogramma waarin diverse producten worden aangeboden. 
diff --git a/tv/data/SBS6 b/tv/data/SBS6
new file mode 100644
index 0000000..e4e7924
--- /dev/null
+++ b/tv/data/SBS6
@@ -0,0 +1,24 @@
+6.00¶ ¶Hart van Nederland¶
+6.30¶ ¶Formule 1: Kwalificatie GP China¶
+8.05¶ ¶Tele 6: Tel Sell¶
+10.05¶ ¶Shownieuws¶
+11.00¶ ¶SBS 6 Games¶
+12.45¶ ¶BattleBots¶
+13.15¶ ¶Formule 1: Kwalificatie GP China¶
+14.25¶ ¶Disney feest¶
+15.55¶ ¶SBS Autosport: Formule 3 Euro series¶
+16.20¶ ¶Truck- en tractorpulling¶
+16.55¶ ¶Snow magazine VIPS¶
+17.25¶ ¶Chef!¶
+18.00¶ ¶De tuinruimers¶
+19.00¶ ¶Laat me maar lachen: Home video's¶
+20.00¶ ¶Lotto Weekend Miljonairs¶
+20.55¶ ¶Wegmisbruikers!¶
+21.55¶ ¶Ton¶
+22.30¶ ¶Hart van Nederland¶
+22.45¶ ¶Piets weerbericht¶
+22.50¶ ¶Shownieuws¶
+23.10¶ ¶Numb3rs¶
+0.05¶F¶Monday night mayhem¶
+2.00¶ ¶Nachtprogrammering: Game on¶
+3.15¶ ¶Nachtprogrammering: HotCity¶
diff --git a/tv/data/VRT_TV1 b/tv/data/VRT_TV1
new file mode 100644
index 0000000..c6930df
--- /dev/null
+++ b/tv/data/VRT_TV1
@@ -0,0 +1,30 @@
+9.00¶ ¶Herfstbeelden¶
+10.00¶ ¶Donna op één¶
+12.00¶ ¶Clips¶
+12.30¶ ¶TV Brussel¶
+13.00¶ ¶Het journaal¶
+13.30¶ ¶Het weer¶
+13.35¶ ¶Villa politica¶
+14.20¶F¶Meet John Doe¶
+16.20¶ ¶The nanny¶
+16.45¶ ¶Gentse waterzooi¶
+17.30¶ ¶Buren¶
+17.55¶ ¶Kijk uit!¶
+18.00¶ ¶Het journaal¶
+18.10¶ ¶Vlaanderen vakantieland¶
+19.00¶ ¶Het journaal¶
+19.30¶ ¶Het weer¶
+19.35¶ ¶Man bijt hond¶
+20.05¶ ¶Joker- en lottotrekking¶
+20.10¶ ¶F.C. De Kampioenen¶
+20.45¶ ¶De nieuwste quiz¶
+21.39¶ ¶Winstverdeling joker en lotto¶
+21.40¶ ¶The Bill¶
+22.30¶ ¶Studio 1¶
+23.28¶ ¶KENO-uitslagen¶
+23.29¶ ¶Euro millions-uitslagen¶
+23.30¶ ¶Het journaal laat¶
+23.49¶ ¶Pick 3¶
+23.50¶ ¶Het weer¶
+23.55¶F¶Enemy of the state¶
+2.05¶ ¶Doorlopende herhalingen van Het journaal laat en weer¶
diff --git a/tv/data/Veronica b/tv/data/Veronica
new file mode 100644
index 0000000..c8b8da1
--- /dev/null
+++ b/tv/data/Veronica
@@ -0,0 +1,37 @@
+6.00¶ ¶Symfollies¶
+6.00¶ ¶Jetix¶
+6.05¶ ¶Roboroach¶
+6.25¶ ¶Jacob Dubbel¶
+6.50¶ ¶Ernst, Bobbie en de rest¶
+7.00¶ ¶A.T.O.M¶
+7.25¶ ¶Totally spies¶
+7.50¶ ¶Auto's¶
+8.10¶ ¶Bende van vijf¶
+8.30¶ ¶The max¶
+8.45¶ ¶Totally spies¶
+9.05¶ ¶The max¶
+9.25¶ ¶W.I.T.C.H¶
+9.45¶ ¶The max¶
+10.00¶ ¶Shin Chan¶
+10.25¶ ¶The max¶
+10.40¶ ¶Beugelbekkie¶
+11.30¶ ¶Bende van vijf¶
+12.20¶ ¶Kids from room 402¶
+13.05¶ ¶Spy dogs¶
+13.20¶ ¶What's with Andy¶
+14.10¶ ¶Shin Chan¶
+14.30¶ ¶Lizzie McGuire¶
+14.55¶ ¶Beugelbekkie¶
+15.40¶ ¶Totally spies¶
+16.35¶ ¶W.I.T.C.H¶
+16.55¶ ¶HotNews.nl¶
+18.00¶ ¶Gammo update¶
+18.05¶ ¶The Jamie Kennedy experiment¶
+18.10¶ ¶Politieachtervolgingen!¶
+18.45¶ ¶Stargate SG-1¶
+19.40¶ ¶Star Trek: Enterprise¶
+20.30¶ ¶Scare tactics¶
+21.00¶ ¶Fear Factor USA¶
+22.00¶F¶Legionnaire¶
+23.50¶F¶The Godfather II¶
+1.20¶ ¶Nachtprogrammering: StreetCam¶
diff --git a/tv/dump.pl b/tv/dump.pl
new file mode 100755
index 0000000..d398eae
--- /dev/null
+++ b/tv/dump.pl
@@ -0,0 +1,229 @@
+#!/usr/bin/perl -w
+# Script om tvgids voor vandaag naar file te schrijven
+# Geschreven in het kader van DND Progathon 2000
+# 16 Januari 2000
+# Casper Joost Eyckelhof (Titanhead)
+# casper@joost.student.utwente.nl
+
+#2 december 2001, omgeschreven voor gebruik op rtl.nl
+
+#26-28 Juni 2001, constante veranderingen omdat veronica dagelijks de
+#beveiliging aanpast: gebruik van proxies, fake headers, etc
+
+use LWP::UserAgent;
+use HTTP::Cookies;
+
+$ua         = new LWP::UserAgent;
+$cookie_jar = HTTP::Cookies->new;
+
+# fisher_yates_shuffle( \@array ) : generate a random permutation
+# of @array in place
+sub fisher_yates_shuffle {
+    my $array = shift;
+    my $i;
+    for ( $i = @$array ; --$i ; ) {
+        my $j = int rand( $i + 1 );
+        next if $i == $j;
+        @$array[ $i, $j ] = @$array[ $j, $i ];
+    }
+}
+
+
+sub bytvtime {
+  my $au = 0;
+  my $am = 0;
+  my $bu = 0;
+  my $bm = 0;
+  
+  if ( $a =~/^(\d+)\.(\d+).*$/ ) {
+     ($au, $am) = ($1, $2);
+  }
+  if ( $b =~/^(\d+)\.(\d+).*$/ ) {
+     ($bu, $bm) = ($1, $2);
+  }
+  
+  $au += 24 if ($au < 6);
+  $bu += 24 if ($bu < 6);         
+
+  # The actual compare:
+
+  $au <=> $bu or
+  $am <=> $bm;
+
+}
+
+#### allerlei fijne definities en initialisaties ########
+$datadir = "/home/multilink/multigate/commands/tv/data/";
+
+@agents = (
+    "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)",
+    "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)",
+    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Opera 6.01  [en]",
+    "Mozilla/5.0 (X11; U; IRIX IP32; en-US; rv:1.0.0) Gecko/20020606"
+);
+
+$agent = @agents[ int( rand(@agents) ) ];
+$ua->agent($agent);
+
+#random delay voor start: 0-10 minuten 
+
+#sleep( int( rand(600) ) );
+
+%zenders = (
+    1  => "Nederland1",
+    2  => "Nederland2",
+    3  => "Nederland3",
+    4  => "RTL4",
+    31 => "RTL5",
+    46 => "RTL7",
+    34 => "Veronica",
+    36 => "SBS6",
+    37 => "Net5",
+    5  => "VRT_TV1",
+    6  => "Ketnet_Canvas",
+    7  => "BBC1",
+    8  => "BBC2",
+
+    #	18 => "NGC",
+    #	19 => "Eurosport",
+    #	9 => "ARD",
+    #	10 => "ZDF",
+    #	11 => "RTLTelevision",
+    #	12 => "WDR",
+    #	13 => "N3",
+    #	14 => "Sudwest3",
+    #	15 => "La_Une",
+    #	16 => "La_Deux",
+    #	17 => "TV_5",
+    #	20 => "TCM",
+    #	21 => "CartoonNetwork",
+    #	22 => "Kindernet",
+    	25 => "MTV",
+    #	26 => "CNN",
+    #	27 => "RAIUNO",
+    #	28 => "Sat1",
+    29 => "Discovery",
+
+    #	32 => "TRTInt",
+    #	35 => "TMF"
+    #	40 => "AT5",
+    #	49 => "VTM",
+    #	50 => "3sat",
+    #	58 => "Pro7",
+    #	59 => "Kanaal2",
+    #   60 => "VT4",
+    #	65 => "Animal",
+    #	86 => "BBCworld",
+    #	87 => "TVE",
+    #	90 => "BVN-TV",
+    #	24 => "Canal+1",
+    #	39 => "Canal+2",
+    #   89 => "Nickelodeon"
+);
+
+$base_url = "http://www.rtl.nl/active/tvview/index.xml?station=1&zender=";
+
+#Get my first cookie!
+$request = new HTTP::Request( 'GET', "http://www.rtl.nl/active/tvview/index.xml" );
+$request->header( "Accept"          => "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png" );
+$request->header( "Accept-Encoding" => "gzip" );
+$request->header( "Accept-Language" => "en" );
+$request->header( "Accept-Charset"  => "iso-8859-1,*,utf-8" );
+$response = $ua->request($request);
+$cookie_jar->extract_cookies($response);
+
+#print STDERR "Cookie: ". $cookie_jar->as_string();
+
+@zenderrij = keys %zenders;
+
+fisher_yates_shuffle( \@zenderrij );
+
+### alle zenders voor vandaag ophalen en wegschrijven ###
+foreach $zender (@zenderrij) {
+    my $zenderfile = $datadir . $zenders{$zender};
+
+    #Alleen als de zenderfile nog niet bestaat of 0 groot is: 
+    if ( ( !-e $zenderfile ) || ( -z $zenderfile ) ) {
+
+        #Een korte random slaap, om het op echt klikgedrag te laten lijken
+        sleep( int( rand(60) ) + 30 );
+
+        #Haal pagina voor zender op
+        $request = new HTTP::Request( 'GET', $base_url . $zender . "&dag=1" );
+        $request->referer("http://www.rtl.nl/active/tvview/index.xml");
+        $request->header( "Accept"          => "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png" );
+        $request->header( "Accept-Encoding" => "gzip" );
+        $request->header( "Accept-Language" => "en" );
+        $request->header( "Accept-Charset"  => "iso-8859-1,*,utf-8" );
+        $cookie_jar->add_cookie_header($request);
+
+        #print STDERR "Getting: ". $base_url.$zender."&dag=1" ."\n";
+        $response = $ua->request($request);
+        $content  = $response->content;
+        $cookie_jar->extract_cookies($response);
+
+        #print STDERR "Cookie: ". $cookie_jar->as_string() . "\n";
+        #print STDERR $content;
+        my $teopenen = $datadir . $zenders{$zender};
+        open( DATA, "> $teopenen" );
+
+        #print STDERR "$zenders{$zender}\n";
+        #Een beetje cleaning
+        $content =~ s/ //gi;
+        $content =~ s/&/&/gi;
+        $content =~ s/&(.).*?;/$1/g;
+        $content =~ s/
\n//sgi; + $content =~ s/\xA0//g; + +# @items = split /(\d{2}:\d{2}).*?<\/starttime>/, $content; +# @items = split m|.*?(\d{1,2}:\d{2}).*?|, $content; + my $prop1 = 'bgcolor="#666666"'; + my $prop2 = 'valign="bottom"'; + my $prop3 = 'width="48"'; + + @items = split m@.*?(\d{1,2}:\d{2}).*?@, $content; + + shift @items; #eerste item is "header" + + my @outlines; + while (@items) { + $beschrijving = ""; + $ltijd = shift @items; # eerst een tijd + $ltijd =~ s/:/./; + $rest = shift @items; # alles tot de volgende tijd + $rest =~ s/\n+/\n/g; # geen dubbele newlines + @inhoud = split /\n/, $rest; # bovenstaande per regel + # er zijn nu 13 regels in @inhoud, waarvan slechts een aantal spannend + shift @inhoud; # eerst een + + $titel = shift @inhoud; # de regel met de titel erin + #print STDERR "Titel: $titel\n"; + $titel =~ /(.*?)<\/b>/; + $titel = $1; + $titel =~ s/<.*?>//g; #geen URL's in de titel + + $extras = shift @inhoud; #de symbolen, zoals film, herhaling en teletekst + if ( $extras =~ /alt="speelfilm"/i ) { $film = "F" } + else { $film = " " } + + while (@inhoud) { + $frop = shift @inhoud; + if ( $frop =~ /colspan="2"/ ) { #alle regels met colspan=2 bevatten nuttige info + $frop =~ s/<.*?>//g; #html eruit gooien + $beschrijving .= "$frop "; + } + + } + + #print STDERR "$ltijd - $film - $titel - $beschrijving\n"; + #print DATA join "\xb6", ( $ltijd, $film, $titel, $beschrijving ), "\n"; #wegschrijven naar file + my $line = join("\xb6", ( $ltijd, $film, $titel, $beschrijving )); + push @outlines, $line; + } + foreach my $line (sort bytvtime @outlines ) { + print DATA $line , "\n"; + } + close DATA; + } +} diff --git a/tv/dumptest.pl b/tv/dumptest.pl new file mode 100755 index 0000000..652478b --- /dev/null +++ b/tv/dumptest.pl @@ -0,0 +1,191 @@ +#!/usr/bin/perl -w +# Script om tvgids voor vandaag naar file te schrijven +# Geschreven in het kader van DND Progathon 2000 +# 16 Januari 2000 +# Casper Joost Eyckelhof (Titanhead) +# casper@joost.student.utwente.nl + +#2 december 2001, omgeschreven voor gebruik op rtl.nl + +#26-28 Juni 2001, constante veranderingen omdat veronica dagelijks de +#beveiliging aanpast: gebruik van proxies, fake headers, etc + +use LWP::UserAgent; +use HTTP::Cookies; + +$ua = new LWP::UserAgent; +$cookie_jar = HTTP::Cookies->new; + +# fisher_yates_shuffle( \@array ) : generate a random permutation +# of @array in place +sub fisher_yates_shuffle { + my $array = shift; + my $i; + for ( $i = @$array ; --$i ; ) { + my $j = int rand( $i + 1 ); + next if $i == $j; + @$array[ $i, $j ] = @$array[ $j, $i ]; + } +} + +#### allerlei fijne definities en initialisaties ######## +$datadir = "/home/multilink/multigate/commands/tv/data/"; + +@agents = ( + "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)", + "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)", + "Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Opera 6.01 [en]", + "Mozilla/5.0 (X11; U; IRIX IP32; en-US; rv:1.0.0) Gecko/20020606" +); + +$agent = @agents[ int( rand(@agents) ) ]; +$ua->agent($agent); + +%zenders = ( + 1 => "Nederland1", + 2 => "Nederland2", + 3 => "Nederland3", + 4 => "RTL4", + 31 => "RTL5", + 46 => "Yorin", + 34 => "Veronica", + 36 => "SBS6", + 37 => "Net5", + 5 => "VRT_TV1", + 6 => "Ketnet_Canvas", + 7 => "BBC1", + 8 => "BBC2", + + # 18 => "NGC", + # 19 => "Eurosport", + # 9 => "ARD", + # 10 => "ZDF", + # 11 => "RTLTelevision", + # 12 => "WDR", + # 13 => "N3", + # 14 => "Sudwest3", + # 15 => "La_Une", + # 16 => "La_Deux", + # 17 => "TV_5", + # 20 => "TCM", + # 21 => "CartoonNetwork", + # 22 => "Kindernet", + # 25 => "MTV", + # 26 => "CNN", + # 27 => "RAIUNO", + # 28 => "Sat1", + 29 => "Discovery", + + # 32 => "TRTInt", + # 35 => "TMF" + # 40 => "AT5", + # 49 => "VTM", + # 50 => "3sat", + # 58 => "Pro7", + # 59 => "Kanaal2", + # 60 => "VT4", + # 65 => "Animal", + # 86 => "BBCworld", + # 87 => "TVE", + # 90 => "BVN-TV", + # 24 => "Canal+1", + # 39 => "Canal+2", + # 89 => "Nickelodeon" +); + +$base_url = "http://www.rtl.nl/active/tvview/index.xml?station=1&zender="; + +#Get my first cookie! +$request = new HTTP::Request( 'GET', "http://www.rtl.nl/active/tvview/index.xml" ); +$request->header( "Accept" => "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png" ); +$request->header( "Accept-Encoding" => "gzip" ); +$request->header( "Accept-Language" => "en" ); +$request->header( "Accept-Charset" => "iso-8859-1,*,utf-8" ); +$response = $ua->request($request); +$cookie_jar->extract_cookies($response); + +#print STDERR "Cookie: ". $cookie_jar->as_string(); + +@zenderrij = keys %zenders; + +fisher_yates_shuffle( \@zenderrij ); + +### alle zenders voor vandaag ophalen en wegschrijven ### +foreach $zender (@zenderrij) { + my $zenderfile = $datadir . $zenders{$zender}; + + #Alleen als de zenderfile nog niet bestaat of 0 groot is: + if ( ( !-e $zenderfile ) || ( -z $zenderfile ) ) { + + #Een korte random slaap, om het op echt klikgedrag te laten lijken + sleep( int( rand(5) ) + 5 ); + + #Haal pagina voor zender op + $request = new HTTP::Request( 'GET', $base_url . $zender . "&dag=1" ); + $request->referer("http://www.rtl.nl/active/tvview/index.xml"); + $request->header( "Accept" => "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png" ); + $request->header( "Accept-Encoding" => "gzip" ); + $request->header( "Accept-Language" => "en" ); + $request->header( "Accept-Charset" => "iso-8859-1,*,utf-8" ); + $cookie_jar->add_cookie_header($request); + + print STDERR "Getting: ". $base_url.$zender."&dag=1" ."\n"; + $response = $ua->request($request); + $content = $response->content; + $cookie_jar->extract_cookies($response); + +# print STDERR "Cookie: ". $cookie_jar->as_string() . "\n"; + print STDERR $content; + my $teopenen = $datadir . $zenders{$zender}; + print STDERR "$zenders{$zender}\n"; + #Een beetje cleaning + $content =~ s/ //gi; + $content =~ s/&/&/gi; + $content =~ s/&(.).*?;/$1/g; + $content =~ s/
\n//sgi; + $content =~ s/\xA0//g; + +# @items = split /(\d{2}:\d{2}).*?<\/starttime>/, $content; +#  21:05 +#  21:47 + + @items = split m|.*?(\d{2}:\d{2}).*?|, $content; + shift @items; #eerste item is "header" + + while (@items) { + print "--> item: "; + $beschrijving = ""; + $ltijd = shift @items; # eerst een tijd + $ltijd =~ s/:/./; + $rest = shift @items; # alles tot de volgende tijd + $rest =~ s/\n+/\n/g; # geen dubbele newlines + @inhoud = split /\n/, $rest; # bovenstaande per regel + # er zijn nu 13 regels in @inhoud, waarvan slechts een aantal spannend + shift @inhoud; # eerst een + + $titel = shift @inhoud; # de regel met de titel erin + # print STDERR "Titel: $titel\n"; + $titel =~ /(.*?)<\/b>/; + $titel = $1; + $titel =~ s/<.*?>//g; #geen URL's in de titel + + $extras = shift @inhoud; #de symbolen, zoals film, herhaling en teletekst + if ( $extras =~ /alt="speelfilm"/i ) { $film = "F" } + else { $film = " " } + + while (@inhoud) { + $frop = shift @inhoud; + if ( $frop =~ /colspan="2"/ ) { #alle regels met colspan=2 bevatten nuttige info + $frop =~ s/<.*?>//g; #html eruit gooien + $beschrijving .= "$frop "; + } + + } + + print STDERR "$ltijd - $film - $titel - $beschrijving\n"; + print DATA join "\xb6", ( $ltijd, $film, $titel, $beschrijving ), "\n"; #wegschrijven naar file + } + close DATA; + } +} diff --git a/tv/help.txt b/tv/help.txt new file mode 100644 index 0000000..3294250 --- /dev/null +++ b/tv/help.txt @@ -0,0 +1 @@ +tv {nu,straks,film,,} [tijd] [aantal] - zoekt in tv gegevens van vandaag \ No newline at end of file diff --git a/tv/level b/tv/level new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tv/level @@ -0,0 +1 @@ +0 diff --git a/tv/tv.pl b/tv/tv.pl new file mode 100755 index 0000000..28303c7 --- /dev/null +++ b/tv/tv.pl @@ -0,0 +1,407 @@ +#!/usr/bin/perl -w + +# Script om in de televisie van vandaag te zoeken +# Geschreven in het kader van DND Progathon 2000 +# Copyright: Casper Joost Eyckelhof (Titanhead) +# casper@joost.student.utwente.nl +# +# Gebaseerd op v1.0 door Ylebre en Titanhead +# v2.0: 16 Januari 2000; gegevens van multiguide +# v2.1: 19 Januari 2000; commandline paramater "film" +# v3.0: 28 Juni 2001; zoek in lokale cache, gemaakt met tvdump +# v3.1: 28 Augustus 2001; snapt ook zender als argument (wat is er nu op zender?) +# v4.0: 25 Februari 2002; nog meer commandline opties + slimmer sorteren +# v4.1: 13 Augustus 2004; grapje met "iets leuks" +# v5.0: 22 Mei 2005; rewrite of a lot of subs, general code cleanup and some minor fixes (angel_7th) + +#### allerlei fijne definities en initialisaties ######## +use strict; +use warnings; + +my $maxoutput = 25; +my $aantal = 5; +my $aantalset = 0; + +my $filmzoeken = 0; +my $nuoptv = 0; +my $straksoptv = 0; +my $tijdstip; +my $dummy; + +my @output = (); +#my $datadir = "./data"; +my $datadir = "/home/multilink/multigate/commands/tv/data"; + +my $is_multicast = $ENV{'MULTI_IS_MULTICAST'}; # message to multiple recipients (channels) + +## Welke zenders zijn beschikbaar? +my %zenders; +opendir( BIN, $datadir ) or die "Can't open $datadir: $!"; +while ( defined( my $file = readdir BIN ) ) { + if ( ( -T "$datadir/$file" ) && ( -s "$datadir/$file" ) ) { + $zenders{ lc($file) } = $file; + } #hash from lowercase to realname +} +close BIN; + +# alles dat in de "tv nu" getoond moet worden +my @nuzenderlijst = qw(Nederland1 Nederland2 Nederland3 RTL4 RTL5 SBS6 Net5 RTL7 BBC1 BBC2 Veronica); + +my %aliases = ( + "ned1" => "nederland1", + "ned2" => "nederland2", + "ned3" => "nederland3", + "brt1" => "vrt_tv1", + "tv1" => "vrt_tv1", + "belgie1" => "vrt_tv1", + "ketnet" => "ketnet_canvas", + "canvas" => "ketnet_canvas", + "brt2" => "ketnet_canvas", + "v8" => "veronica", + "fox" => "veronica", + "disc" => "discovery", + "rtlvijf" => "rtl5", + "rtlvier" => "rtl4", + "yorin" => "rtl7", + ); + +my %nulijst = (); +my $item; +foreach $item (@nuzenderlijst) { + $nulijst{ lc($item) } = 1; +} + +my $thishour = int( (localtime)[2] ); +my $thisminute = int( (localtime)[1] ); + +#0 tot 6 wordt 24 tot 30 +if ( $thishour < 6 ) { + $thishour += 24; +} + +####### Handige subjes :) ######### + +### Start of angel_7th rewrite code + +# +# Sub to convert a string time to a pair of numbers, while correcting for a natural day-night rythm +# + +sub convert_time($) { + my $tijd = shift; + my ( $hour, $minute ) = $tijd =~ /(\d+)\.(\d+)/; + if ( $hour < 6 ) { $hour += 24; } + return ($hour, $minute); +} + +# +# Adaptation of time-scoring to normal datastructures; +# +sub sort_time_score($) { + my $program = shift; + my $delta = (60 * $program->{'hour'} + $program->{'minute'} ) - (60 * $thishour + $thisminute ); + + my $score; + if ( $delta >= 0 ) { + $score = 20 - ( $delta / 18 ); #20 - 1/18 t + } else { + $score = 20 + ( $delta / 6 ); #20 + 1/6 t + if ( $delta < 60 ) { + $score -= 10; + } + } + + return $score; +} + +# +# Adaptation of sub bytime to a normal datastructure +# +sub sort_time() { + return sort_time_score($b) <=> sort_time_score($a); +} + +# +# Sub to load all program info for a zender +# +# returns a arrayref of hashrefs containing the following keys: +# +# line : the literal line from the file +# list : the list (tijd, film, naam, beschrijving, prut) as used in other (older) subs +# zender : the channel +# +# tijd +# film +# naam +# beschrijving +# prut +# +# hour +# minute +# +# vtijd : the end time of the program +# vhour +# vminute + +sub load_zender($) { + my $zender = shift; + open( ZENDER, "< $datadir/$zender" ) or die "Cannot open $zender\n"; + my @lines = ; + close ZENDER; + chomp @lines; + + my @results = (); + while (@lines) { + my $line = shift @lines; + my @list = split /\xb6/, $line; + my ( $tijd, $film, $naam, $beschrijving, $prut ) = @list; + + my ($vtijd, $vhour, $vminute) = ('??.??', 31, 00); # Ugly magic number, 30 is max hour + + if (defined $lines[0]) { # We can determine an end time + ($vtijd) = $lines[0] =~ m/^(.*?)\xb6/; + ($vhour, $vminute) = convert_time($vtijd); + } + + my ($hour, $minute) = convert_time($tijd); + + my $prog_ref = { + zender => $zender, + line => $line, + list => \@list, + + tijd => $tijd, + film => $film, + naam => $naam, + beschrijving => $beschrijving, + prut => $prut, + + hour => $hour, + minute => $minute, + + vtijd => $vtijd, + vhour => $vhour, + vminute => $vminute, + }; + + push @results, $prog_ref; + } + + return \@results; +} + +# +# Adaptation of the zoek sub +# +sub search($$) { + my ( $term, $count ) = @_; + #patch voor gwen, laser en diddlien: + if (lc($term) eq 'csi') { + $term = 'Crime Scene Investigation'; + } + my @resultlist; + foreach my $zender ( values %zenders ) { + my @programs = @{load_zender($zender)}; + foreach my $program (@programs) { + my $naam = $program->{'naam'}; + if ( ( $naam =~ /\Q$term\E/i ) && ( $naam !~ /Trekking/i ) ) { # but... WHY?! + push @resultlist, $program; + } + } + } + my @sortedresult = sort { sort_time } @resultlist; + my @results = splice @sortedresult, 0, $aantal; + return \@results; +} + +# +# subs to pretty-print program structures +# +sub program_to_string_short($) { + my $program = shift; + return $program->{'zender'} . ' : ' . $program->{'tijd'} . ' - ' . $program->{'vtijd'} . ' ' . $program->{'naam'}; +} + +# +# Rewrite of sub films to return a sorted list of n films +# + +sub films($) { + my $aantal = shift; + my @resultlist; + foreach my $zender ( values %zenders ) { + my @programs = @{load_zender($zender)}; + foreach my $program (@programs) { + if ( $program->{'film'} eq "F" ) { + push @resultlist, $program; + } + } + } + my @sortedresult = sort { sort_time } @resultlist; + my @results = splice @sortedresult, 0, $aantal; + return \@results; +} + +# +# now(zender, tijd, aantal) +# geeft voor zender de huidige en volgende aantal-1 programma's +# +# Rewrite of nu() +# + +sub now { + my ( $nuzender, $nutijd, $nuaantal ) = @_; + + my ( $nuhour, $numinute ) = convert_time($nutijd); + my @programs = @{ load_zender($zenders{lc($nuzender)}) }; + + my $found = 0; + while (@programs) { + my $program = $programs[0]; + if ($program->{'vhour'} < $nuhour or ($program->{'vhour'} == $nuhour and $program->{'vminute'} < $numinute)) { + shift @programs + } else { + last; + } + } + + my @results = splice @programs, 0, $aantal; + return \@results; +} + +### End of angel_7th rewrite code + +sub min2 { + my ( $a, $b ) = @_; + if ( $a < $b ) { + return $a; + } else { + return $b; + } +} + +sub isZender { + my $zender = shift; + foreach ( keys %zenders ) { + if ( $_ eq lc($zender) ) { return 1; } + } + return 0; +} + +if ( ( @ARGV == 0 ) || ( $ARGV[0] eq "" ) ) { + print "tv doet het beter.\n"; +} else { + my $zoekstring = $ARGV[0]; + +# Preprocessing for special stuff + if ($zoekstring =~ /^iets leuks$/i) { + my @opties = keys %zenders; + $zoekstring = $opties[ int rand @opties ]; # random zender + } + + +## Extra goodies/opties uit $zoekstring halen + + if ( $zoekstring =~ /^(.*?\s*)(\d{1,2}[.:]\d{2})\s*(.*?)$/ ) { + $zoekstring = $1 . " " . $3; + $tijdstip = $2; + $tijdstip =~ s/:/./; + +# We doen dus alsof het nu een andere tijd is: +# Jaja, bah bah, globaal (maar anders kan sort er niet bij) + + ( $thishour, $thisminute ) = split /\./, $tijdstip, 2; + +#0 tot 6 wordt 24 tot 30 + if ( $thishour < 6 ) { + $thishour += 24; + } + + if ( $zoekstring =~ /^\s*$/ ) { + $nuoptv = 1; + } #alleen een tijd, verder niks + } + + if ( $zoekstring =~ /^(.*?)\s(\d+)$/ ) { + $zoekstring = $1; + $aantal = min2( $2, $maxoutput ); + $aantalset = 1; + } + + if ( $zoekstring =~ /^film\s*(.*?)$/i ) { + $filmzoeken = 1; + $zoekstring = $1; + } + +#remove trailing and prefix whitespace + $zoekstring =~ s/^\s+//; + $zoekstring =~ s/\s+$//; + + if ( lc($zoekstring) eq "nu" ) { + $nuoptv = 1; + } + + if ( lc($zoekstring) eq "straks" ) { + $straksoptv = 1; + } + + if ( defined( $aliases{ lc($zoekstring) } ) ) { + $zoekstring = $aliases{ lc($zoekstring) }; + } + +## Alle opties zijn uit de zenderstring gehaald, er zit nu nog in: +# zender of zoekterm + + if ( $nuoptv || ( $straksoptv && ( defined $tijdstip ) ) ) { + my $tijdzoek = "$thishour.$thisminute"; + if ( defined $tijdstip ) { + $tijdzoek = $tijdstip; + } + foreach (@nuzenderlijst) { + my $zender = lc($_); + if ( isZender($zender) ) { + my $results = now( $zender, $tijdzoek, 1 ); + unless (scalar @{$results} < 1) { + push @output, program_to_string_short($results->[0]); + } + } + } + } elsif ($straksoptv) { + my $tijdzoek = "$thishour.$thisminute"; + if ( defined $tijdstip ) { + $tijdzoek = $tijdstip; + } + foreach (@nuzenderlijst) { + my $zender = lc($_); + if ( isZender($zender) ) { + my $results = now( $zender, $tijdzoek, 2 ); + unless (scalar @{$results} < 2) { + push @output, program_to_string_short($results->[1]); + } + } + } + } elsif ($filmzoeken) { + @output = map { program_to_string_short($_) } @{films($aantal)}; + } elsif ( isZender($zoekstring) ) { + my $zender = lc($zoekstring); + my $tijd = "$thishour.$thisminute"; + if ( defined $tijdstip ) { + $tijd = $tijdstip; + } + $aantal = 1 unless $aantalset; + @output = map { program_to_string_short($_) } @{now( $zoekstring, $tijd, $aantal )}; + } else { + @output = map { program_to_string_short($_) } @{search($zoekstring, $aantal)}; + } + +### Afdrukken uitvoer ### + foreach (@output) { + print "$_\n"; + } + +# Geen uitvoer... + if ( @output == 0 ) { + print "Geen programma's gevonden\n"; + } + +} diff --git a/tv/tv2.pl b/tv/tv2.pl new file mode 100755 index 0000000..eb12399 --- /dev/null +++ b/tv/tv2.pl @@ -0,0 +1,102 @@ +#!/usr/bin/perl +# Script om in de televisie van vandaag te zoeken +# Geschreven in het kader van DND Progathon 2000 +# Casper Joost Eyckelhof (Titanhead) +# casper@joost.student.utwente.nl +# +# Gebaseerd op v1.0 door Ylebre en Titanhead +# v2.0: 16 Januari 2000; gegevens van multiguide +# v2.1: 19 Januari 2000; commandline paramater "film" +# v3.0: 28 Juni 2001; zoek in lokale cache, gemaakt met tvdump +# v3.1: 28 Augustus 2001; snapt ook zender als argument (wat is er nu op zender?) + +#### allerlei fijne definities en initialisaties ######## + +$maxoutput = 5; +@output = (); +$datadir = "/home/multilink/multigate/commands/tv2/data"; + +$thishour = int( (localtime)[2] ); +$thisminute = int( (localtime)[1] ); + +#0 tot 6 wordt 24 tot 30 +if ( $thishour < 6 ) { + $thishour += 24; +} + +if ( @ARGV == 0 ) { + print "tv doet het beter.\n"; +} else { + + ### alle zenders voor vandaag checken op zoekstring (argv) ### + + opendir( BIN, $datadir ) or die "Can't open $dir: $!"; + ZENDERS: + while ( defined( $file = readdir BIN ) ) { + if ( -T "$datadir/$file" ) { + + ##Haal "pagina" voor 1 zender op + open( ZENDER, "< $datadir/$file" ); + @lines = ; + close ZENDER; + if ( lc($file) eq lc( $ARGV[0] ) ) { + my ( $nutijd, $nu ); + foreach $line (@lines) { + ( $ltijd, $film, $lnaam, $beschrijving, $prut ) = split /\xb6/, $line; + $ltijd =~ /(\d+):(\d+)/; + $lhour = int($1); + if ( $lhour < 6 ) { $lhour += 24; } + $lminute = $2; + if ( ( ( ( $lhour < $thishour ) || ( ( $lhour == $thishour ) && ( $lminute <= $thisminute ) ) ) ) ) { + $nutijd = $ltijd; + $nu = $lnaam; + $vorige_uur = $lhour; + } else { + if ( $nutijd > 23 ) { $nutijd -= 24; } + if ( $ltijd > 23 ) { $ltijd -= 24; } + print "$file: $nutijd - $ltijd $nu"; + exit 0; + } + } + print "$file: tot $nutijd was $nu"; + exit 0; + } else { + + ##Regel voor regel doorwerken + foreach $line (@lines) { + ( $ltijd, $film, $lnaam, $beschrijving, $prut ) = split /\xb6/, $line; + $ltijd =~ /(\d+):(\d+)/; + $lhour = $1; + if ( $lhour < 6 ) { $lhour += 24; } + + ##Check op zoekstring + if ( ( ( $ARGV[0] =~ /film/i ) && ( $film eq "F" ) ) || ( $lnaam =~ /@ARGV/i ) ) { + + ##Controleer of het niet allang voorbij is + ##en bewaar het programma in @output + if ( $thishour - 2 < $lhour ) { + if ( $lnaam !~ /trekking/i ) { #Niet al die loterijen als je startrek zoekt! + $found = "$file " . "$ltijd $lnaam"; + $found =~ s/\n//g; + push @output, $found; + + ##Stop als je maxima hoeveelheid "hits" hebt" + if ( @output == $maxoutput ) { last ZENDERS } + ; #stoppen met zoeken + } + } + } + } + } + } + } + closedir(BIN); + + ### Afdrukken uitvoer ### + + if ( @output + 0 == 0 ) { + print "Geen programma's gevonden.\n"; + } else { + foreach $progje (@output) { print $progje. "\n" } + } +} diff --git a/tv/tvtest.pl b/tv/tvtest.pl new file mode 100755 index 0000000..e243265 --- /dev/null +++ b/tv/tvtest.pl @@ -0,0 +1,398 @@ +#!/usr/bin/perl -w + +# Script om in de televisie van vandaag te zoeken +# Geschreven in het kader van DND Progathon 2000 +# Copyright: Casper Joost Eyckelhof (Titanhead) +# casper@joost.student.utwente.nl +# +# Gebaseerd op v1.0 door Ylebre en Titanhead +# v2.0: 16 Januari 2000; gegevens van multiguide +# v2.1: 19 Januari 2000; commandline paramater "film" +# v3.0: 28 Juni 2001; zoek in lokale cache, gemaakt met tvdump +# v3.1: 28 Augustus 2001; snapt ook zender als argument (wat is er nu op zender?) +# v4.0: 25 Februari 2002; nog meer commandline opties + slimmer sorteren +# v4.1: 13 Augustus 2004; grapje met "iets leuks" + +#### allerlei fijne definities en initialisaties ######## +use strict; + +my $maxoutput = 25; +my $aantal = 5; +my $aantalset = 0; + +my $filmzoeken = 0; +my $nuoptv = 0; +my $straksoptv = 0; +my $tijdstip; +my $dummy; + +my @output = (); +my $datadir = "./data"; + +my $is_multicast = $ENV{'MULTI_IS_MULTICAST'}; # message to multiple recipients (channels) + +## Welke zenders zijn beschikbaar? +my %zenders; +opendir( BIN, $datadir ) or die "Can't open $datadir: $!"; +while ( defined( my $file = readdir BIN ) ) { + if ( ( -T "$datadir/$file" ) && ( -s "$datadir/$file" ) ) { + $zenders{ lc($file) } = $file; + } #hash from lowercase to realname +} +close BIN; + +# alles dat in de "tv nu" getoond moet worden +my @nuzenderlijst = qw(Nederland1 Nederland2 Nederland3 RTL4 RTL5 SBS6 Net5 Yorin BBC1 BBC2 Veronica); + +my %aliases = ( + "ned1" => "nederland1", + "ned2" => "nederland2", + "ned3" => "nederland3", + "brt1" => "vrt_tv1", + "tv1" => "vrt_tv1", + "belgie1" => "vrt_tv1", + "ketnet" => "ketnet_canvas", + "canvas" => "ketnet_canvas", + "brt2" => "ketnet_canvas", + "v8" => "veronica", + "fox" => "veronica", + "disc" => "discovery", + "rtlvijf" => "rtl5", + "rtlvier" => "rtl4" +); + +my %nulijst = (); +my $item; +foreach $item (@nuzenderlijst) { + $nulijst{ lc($item) } = 1; +} + +my $thishour = int( (localtime)[2] ); +my $thisminute = int( (localtime)[1] ); + +#0 tot 6 wordt 24 tot 30 +if ( $thishour < 6 ) { + $thishour += 24; +} + +####### Handige subjes :) ######### + +# +# nu(zender, tijd, aantal) +# geeft voor zender de huidige en volgende aantal-1 programma's +# + +sub nu { + my ( $nuzender, $nutijd, $nuaantal ) = @_; + + print STDERR "nu: ($nuzender, $nutijd, $nuaantal )\n"; + + $nutijd =~ /(\d+)\.(\d+)/; + my ( $nuhour, $numinute ) = ( $1, $2 ); + if ( $nuhour < 6 ) { $nuhour += 24 } + + ##Haal "pagina" voor nuzender op + $nuzender = $zenders{ lc($nuzender) }; + open( ZENDER, "< $datadir/$nuzender" ) or die "Cannot open $nuzender\n"; + my @lines = ; + close ZENDER; + + my ( $ftijd, $film, $lnaam, $beschrijving, $prut ); #buffer voor "huidige regel" + my ( $vftijd, $vfilm, $vlnaam, $vbeschrijving, $vprut ); #buffer voor "vorige regel" + my $found = 0; + my @out; + my $line; + my $laatste = "opdezestringmatchtechtniksQWERTY"; + foreach $line (@lines) { + ( $ftijd, $film, $lnaam, $beschrijving, $prut ) = split /\xb6/, $line; + $ftijd =~ /(\d+)\.(\d+)/; + my ( $fhour, $fminute ) = ( $1, $2 ); +# if ( $fhour < 6 ) { $fhour += 24; } + if ( ( ( ( $fhour < $nuhour ) || ( ( $fhour == $nuhour ) && ( $fminute < $numinute ) ) ) ) ) { + print STDERR "Bewaren als laatste regel: $ftijd, $film, $lnaam, $beschrijving, $prut\n"; + #bewaar gegevens als vorige regel + ( $vftijd, $vfilm, $vlnaam, $vbeschrijving, $vprut ) = ( $ftijd, $film, $lnaam, $beschrijving, $prut ); + } else { + $found++; + print STDERR "found, nuaantal = $found, $nuaantal\n"; + #vorige was wat we zochten + if ( $found <= $nuaantal ) { + if ( $found == 1 ) { + push @out, "$vftijd $vlnaam"; + $laatste = "$vftijd $vlnaam"; + if ( $nuaantal > 1 ) { #en meteen de huidige ook, anders verdwijnt die volgende loop + $found++; + push @out, "$ftijd $lnaam"; + $laatste = "$ftijd $lnaam"; + } + } else { + push @out, "$ftijd $lnaam"; + $laatste = "$ftijd $lnaam"; + } + } + } + } + + #laatste programma: + if ( ( $found < $nuaantal ) && ( not( "$ftijd $lnaam" eq $laatste ) ) ) { + push @out, "$ftijd $lnaam (eindtijd onbekend)"; + } + print STDERR "OUT = " , join(' : ', @out); + return (@out); +} + +sub max2 { + my ( $a, $b ) = @_; + if ( $a > $b ) { + return $a; + } else { + return $b; + } +} + +sub min2 { + my ( $a, $b ) = @_; + if ( $a < $b ) { + return $a; + } else { + return $b; + } +} + +# +# Speciaal om op tijd te sorteren. Wil een tijd in 2e veld van $a en $b +# +sub bytime { + my ( $frop, $tijda, $frop2 ) = split /\s/, $a, 3; + my ( $frop3, $tijdb, $frop4 ) = split /\s/, $b, 3; + my ( $uura, $minuuta ) = split /\./, $tijda; + my ( $uurb, $minuutb ) = split /\./, $tijdb; + + if ( $uura < 6 ) { $uura += 24 } + if ( $uurb < 6 ) { $uurb += 24 } + + #verzin een score verloop... (kan beter :) + my ( $ascore, $deltaa, $bscore, $deltab ); + + #Verschil in minuten tussen nu en (a , b) + $deltaa = ( 60 * $uura + $minuuta ) - ( 60 * $thishour + $thisminute ); + $deltab = ( 60 * $uurb + $minuutb ) - ( 60 * $thishour + $thisminute ); + + if ( $deltaa >= 0 ) { + $ascore = 20 - ( $deltaa / 18 ); #20 - 1/18 t + } else { + $ascore = 20 + ( $deltaa / 6 ); #20 + 1/6 t + if ( $deltaa < 60 ) { + $ascore -= 10; + } + } + + if ( $deltab >= 0 ) { + $bscore = 20 - ( $deltab / 18 ); + } else { + $bscore = 20 + ( $deltab / 6 ); + if ( $deltab < 60 ) { + $bscore -= 10; + } + + } + + return $bscore <=> $ascore; +} + +# +# Geeft een gesorteerde lijst met n films van alle zenders +# + +sub films { + my $aantal = shift; + my $zender; + my @resultlist; + foreach $zender ( values %zenders ) { + open( ZENDER, "< $datadir/$zender" ); + my @lines = ; + close ZENDER; + my $line; + foreach $line (@lines) { + my ( $ftijd, $film, $lnaam, $beschrijving, $prut ) = split /\xb6/, $line; + if ( $film eq "F" ) { + push @resultlist, "$zender: $ftijd $lnaam"; + } + } + } + my @sortedresult = sort { bytime } @resultlist; + return ( splice @sortedresult, 0, $aantal ); +} + +# +# Geeft een gesorteerde lijst met n programma's van alle zenders +# Voldoend aan zoekterm +# + +sub zoek { + my ( $zoekterm, $aantal ) = @_; + my $zender; + my @resultlist; + foreach $zender ( values %zenders ) { + open( ZENDER, "< $datadir/$zender" ); + my @lines = ; + close ZENDER; + my $line; + foreach $line (@lines) { + my ( $ftijd, $film, $lnaam, $beschrijving, $prut ) = split /\xb6/, $line; + if ( ( $lnaam =~ /\Q$zoekterm\E/i ) && ( $lnaam !~ /Trekking/i ) ) { + push @resultlist, "$zender: $ftijd $lnaam"; + } + } + } + my @sortedresult = sort { bytime } @resultlist; + return ( splice @sortedresult, 0, $aantal ); +} + +sub isZender { + my $zender = shift; + foreach ( keys %zenders ) { + if ( $_ eq lc($zender) ) { return 1; } + } + return 0; +} + +if ( ( @ARGV == 0 ) || ( $ARGV[0] eq "" ) ) { + print "tv doet het beter.\n"; +} else { + my $zoekstring = $ARGV[0]; + + # Preprocessing for special stuff + if ($zoekstring =~ /^iets leuks$/i) { + my @opties = keys %zenders; + $zoekstring = $opties[ int rand @opties ]; # random zender + } + + + ## Extra goodies/opties uit $zoekstring halen + + if ( $zoekstring =~ /^(.*?\s*)(\d{1,2}[.:]\d{2})\s*(.*?)$/ ) { + $zoekstring = $1 . " " . $3; + $tijdstip = $2; + $tijdstip =~ s/:/./; + + # We doen dus alsof het nu een andere tijd is: + # Jaja, bah bah, globaal (maar anders kan sort er niet bij) + + ( $thishour, $thisminute ) = split /\./, $tijdstip, 2; + + #0 tot 6 wordt 24 tot 30 + if ( $thishour < 6 ) { + $thishour += 24; + } + + if ( $zoekstring =~ /^\s*$/ ) { + $nuoptv = 1; + } #alleen een tijd, verder niks + } + + if ( $zoekstring =~ /^(.*?)\s(\d+)$/ ) { + $zoekstring = $1; + $aantal = min2( $2, $maxoutput ); + $aantalset = 1; + } + + if ( $zoekstring =~ /^film\s*(.*?)$/i ) { + $filmzoeken = 1; + $zoekstring = $1; + } + + #remove trailing and prefix whitespace + $zoekstring =~ s/^\s+//; + $zoekstring =~ s/\s+$//; + + if ( lc($zoekstring) eq "nu" ) { + $nuoptv = 1; + } + + if ( lc($zoekstring) eq "straks" ) { + $straksoptv = 1; + } + + if ( defined( $aliases{ lc($zoekstring) } ) ) { + $zoekstring = $aliases{ lc($zoekstring) }; + } + + ## Alle opties zijn uit de zenderstring gehaald, er zit nu nog in: + # zender of zoekterm + + if ( $nuoptv || ( $straksoptv && ( defined $tijdstip ) ) ) { + my $tijdzoek = "$thishour.$thisminute"; + if ( defined $tijdstip ) { + $tijdzoek = $tijdstip; + } + foreach (@nuzenderlijst) { + if ( isZender($_) ) { + my @result = nu( $_, $tijdzoek, 2 ); + my ( $tijd, $prog ) = split /\s/, $result[0], 2; + my ( $tijd2, $dummy ) = split /\s/, $result[1], 2 + if ( defined $result[1] ); + $tijd2 = '??.??' unless defined $tijd2; + push @output, "$_: $tijd - $tijd2 $prog", if defined($prog); + } + } + } elsif ($straksoptv) { + my $tijdzoek = "$thishour.$thisminute"; + if ( defined $tijdstip ) { + $tijdzoek = $tijdstip; + } + foreach (@nuzenderlijst) { + if ( isZender($_) ) { + my @result = nu( $_, $tijdzoek, 3 ); + my ( $tijd, $prog ) = split /\s/, $result[1], 2, + if ( defined $result[1] ); + my ( $tijd2, $dummy ) = split /\s/, $result[2], 2, + if ( defined $result[2] ); + $tijd2 = '??.??' unless defined $tijd2; + push @output, "$_: $tijd - $tijd2 $prog", if defined($prog); + } + } + } elsif ($filmzoeken) { + push @output, films($aantal); #veel logica is sub films zelf + } elsif ( isZender($zoekstring) ) { + my $tijd = "$thishour.$thisminute"; + if ( defined $tijdstip ) { + $tijd = $tijdstip; + } + $aantal = 1 unless $aantalset; + my @tussenresult = nu( $zoekstring, $tijd, $aantal + 1 ); + my $i; + + #for ($i=0; $i < max2( (@tussenresult-1), $aantal); $i++) { + for ( $i = 0 ; $i < min2( scalar(@tussenresult), $aantal ) ; $i++ ) { + my ( $tijd, $prog ) = split /\s/, $tussenresult[$i], 2; + my $tijd2; + if ( defined( $tussenresult[ $i + 1 ] ) ) { + ( $tijd2, $dummy ) = split /\s/, $tussenresult[ $i + 1 ], 2; + } else { + $tijd2 = '??.??'; + } + push @output, "$tijd - $tijd2: $prog", if ( defined $prog ); + } + } else { + + # "Gewone" zoekterm + push @output, zoek( $zoekstring, $aantal ); + } + + # ANTISPAM: Exit if multicast and > 3 lines + if ( $is_multicast && ( @output > 3 ) ) { + exit 0; + } + + ### Afdrukken uitvoer ### + foreach (@output) { + print "$_\n"; + } + + # Geen uitvoer... + if ( @output == 0 ) { + print "Geen programma's gevonden\n"; + } + +} diff --git a/tvinfo/command.cfg b/tvinfo/command.cfg new file mode 100644 index 0000000..5d439f1 --- /dev/null +++ b/tvinfo/command.cfg @@ -0,0 +1 @@ +level = 100 diff --git a/tvinfo/help.txt b/tvinfo/help.txt new file mode 100644 index 0000000..f9956b7 --- /dev/null +++ b/tvinfo/help.txt @@ -0,0 +1 @@ +tvinfo : Beschrijving van huidige programma op zender. \ No newline at end of file diff --git a/tvinfo/tvinfo.pl b/tvinfo/tvinfo.pl new file mode 100755 index 0000000..ab1dab1 --- /dev/null +++ b/tvinfo/tvinfo.pl @@ -0,0 +1,232 @@ +#!/usr/bin/perl -w + +# casper@joost.student.utwente.nl + +#### allerlei fijne definities en initialisaties ######## +use strict; + +my $tijdstip; +my $dummy; + +my @output = (); +my $datadir = "../tv/data"; + +## Welke zenders zijn beschikbaar? +my %zenders; +opendir( BIN, $datadir ) or die "Can't open $datadir: $!"; +while ( defined( my $file = readdir BIN ) ) { + if ( ( -T "$datadir/$file" ) && ( -s "$datadir/$file" ) ) { + $zenders{ lc($file) } = $file; + } #hash from lowercase to realname +} +close BIN; + +my %aliases = ( + "ned1" => "nederland1", + "ned2" => "nederland2", + "ned3" => "nederland3", + "brt1" => "vrt_tv1", + "tv1" => "vrt_tv1", + "belgie1" => "vrt_tv1", + "v8" => "fox", + "vacht" => "fox", + "disc" => "discovery", + "rtlvijf" => "rtl5", + "rtlvier" => "rtl4" +); + +my $thishour = int( (localtime)[2] ); +my $thisminute = int( (localtime)[1] ); + +#0 tot 6 wordt 24 tot 30 +if ( $thishour < 6 ) { + $thishour += 24; +} + +####### Handige subjes :) ######### + +# +# nu(zender, tijd, aantal) +# geeft voor zender de huidige en volgende aantal-1 programma's +# + +sub nu { + my ( $nuzender, $nutijd ) = @_; + + #print STDERR "nu: ($nuzender, $nutijd, $nuaantal )\n"; + + $nutijd =~ /(\d+)\.(\d+)/; + my ( $nuhour, $numinute ) = ( $1, $2 ); + if ( $nuhour < 6 ) { $nuhour += 24 } + + ##Haal "pagina" voor nuzender op + $nuzender = $zenders{ lc($nuzender) }; + open( ZENDER, "< $datadir/$nuzender" ) or die "Cannot open $nuzender\n"; + my @lines = ; + close ZENDER; + + my ( $ftijd, $film, $lnaam, $beschrijving, $prut ); #buffer voor "huidige regel" + my ( $vftijd, $vfilm, $vlnaam, $vbeschrijving, $vprut ); #buffer voor "vorige regel" + my $found = 0; + my @out; + my $line; + my $laatste = "opdezestringmatchtechtniksQWERTY"; + foreach $line (@lines) { + ( $ftijd, $film, $lnaam, $beschrijving, $prut ) = split /\xb6/, $line; + $ftijd =~ /(\d+)\.(\d+)/; + my ( $fhour, $fminute ) = ( $1, $2 ); + if ( $fhour < 6 ) { $fhour += 24; } + if ( ( ( ( $fhour < $nuhour ) || ( ( $fhour == $nuhour ) && ( $fminute < $numinute ) ) ) ) ) { + + #bewaar gegevens als vorige regel + ( $vftijd, $vfilm, $vlnaam, $vbeschrijving, $vprut ) = ( $ftijd, $film, $lnaam, $beschrijving, $prut ); + } else { + $found++; + + #vorige was wat we zochten + return "$vlnaam: $vbeschrijving"; + } + } + + #laatste programma: + if ( ( $found < 2 ) && ( not( "$ftijd $lnaam" eq $laatste ) ) ) { + return "$vlnaam: $vbeschrijving"; + } + +} + +sub max2 { + my ( $a, $b ) = @_; + if ( $a > $b ) { + return $a; + } else { + return $b; + } +} + +sub min2 { + my ( $a, $b ) = @_; + if ( $a < $b ) { + return $a; + } else { + return $b; + } +} + +# +# Speciaal om op tijd te sorteren. Wil een tijd in 2e veld van $a en $b +# +sub bytime { + my ( $frop, $tijda, $frop2 ) = split /\s/, $a, 3; + my ( $frop3, $tijdb, $frop4 ) = split /\s/, $b, 3; + my ( $uura, $minuuta ) = split /\./, $tijda; + my ( $uurb, $minuutb ) = split /\./, $tijdb; + + if ( $uura < 6 ) { $uura += 24 } + if ( $uurb < 6 ) { $uurb += 24 } + + #verzin een score verloop... (kan beter :) + my ( $ascore, $deltaa, $bscore, $deltab ); + + #Verschil in minuten tussen nu en (a , b) + $deltaa = ( 60 * $uura + $minuuta ) - ( 60 * $thishour + $thisminute ); + $deltab = ( 60 * $uurb + $minuutb ) - ( 60 * $thishour + $thisminute ); + + if ( $deltaa >= 0 ) { + $ascore = 20 - ( $deltaa / 18 ); #20 - 1/18 t + } else { + $ascore = 20 + ( $deltaa / 6 ); #20 + 1/6 t + if ( $deltaa < 60 ) { + $ascore -= 10; + } + } + + if ( $deltab >= 0 ) { + $bscore = 20 - ( $deltab / 18 ); + } else { + $bscore = 20 + ( $deltab / 6 ); + if ( $deltab < 60 ) { + $bscore -= 10; + } + + } + + return $bscore <=> $ascore; +} + +# +# Geeft een gesorteerde lijst met n films van alle zenders +# + +sub films { + my $aantal = shift; + my $zender; + my @resultlist; + foreach $zender ( values %zenders ) { + open( ZENDER, "< $datadir/$zender" ); + my @lines = ; + close ZENDER; + my $line; + foreach $line (@lines) { + my ( $ftijd, $film, $lnaam, $beschrijving, $prut ) = split /\xb6/, $line; + if ( $film eq "F" ) { + push @resultlist, "$zender: $ftijd $lnaam"; + } + } + } + my @sortedresult = sort { bytime } @resultlist; + return ( splice @sortedresult, 0, $aantal ); +} + +# +# Geeft een gesorteerde lijst met n programma's van alle zenders +# Voldoend aan zoekterm +# + +sub zoek { + my ( $zoekterm, $aantal ) = @_; + my $zender; + my @resultlist; + foreach $zender ( values %zenders ) { + open( ZENDER, "< $datadir/$zender" ); + my @lines = ; + close ZENDER; + my $line; + foreach $line (@lines) { + my ( $ftijd, $film, $lnaam, $beschrijving, $prut ) = split /\xb6/, $line; + if ( ( $lnaam =~ /$zoekterm/i ) && ( $lnaam !~ /Trekking/i ) ) { + push @resultlist, "$zender: $ftijd $lnaam"; + } + } + } + my @sortedresult = sort { bytime } @resultlist; + return ( splice @sortedresult, 0, $aantal ); +} + +sub isZender { + my $zender = shift; + foreach ( keys %zenders ) { + if ( $_ eq lc($zender) ) { return 1; } + } + return 0; +} + +my $zoekzender = $ARGV[0]; +if ( defined( $aliases{ lc($zoekzender) } ) ) { + $zoekzender = $aliases{ lc($zoekzender) }; +} + +unless ( ( defined $zoekzender ) && isZender($zoekzender) ) { + print "Welke zender zei je?\n"; + exit 0; +} + +#0 tot 6 wordt 24 tot 30 +if ( $thishour < 6 ) { + $thishour += 24; +} + +my $tijdzoek = "$thishour.$thisminute"; + +print nu( $zoekzender, $tijdzoek ); + diff --git a/units/command.cfg b/units/command.cfg new file mode 100644 index 0000000..3bc5dd6 --- /dev/null +++ b/units/command.cfg @@ -0,0 +1,2 @@ +level = 100 +cache = 0 diff --git a/units/help.txt b/units/help.txt new file mode 100644 index 0000000..6e66d4f --- /dev/null +++ b/units/help.txt @@ -0,0 +1,2 @@ +Unit conversion; See 'man units' for details. + diff --git a/units/units.pl b/units/units.pl new file mode 100755 index 0000000..8637109 --- /dev/null +++ b/units/units.pl @@ -0,0 +1,62 @@ +#!/usr/bin/perl -w + +use strict; + +# usage !units ["]["] ["]["] + +my $arg = shift; + +unless ($arg) { + usage: print 'usage !units [] ["]["] ["]["] []', "\n"; + exit 0; +} + +my ( $n, $f, $t ); + +if ( $arg =~ /^\s*(\d+\.?\d*)\s+"(.+)"\s+"(.+)"\s*$/ ) { + $n = $1; + $f = $2; + $t = $3; +} elsif ( $arg =~ /^\s*(\d+\.?\d*)\s+(\S+)\s+(\S+)\s*$/ ) { + $n = $1; + $f = $2; + $t = $3; +} elsif ( $arg =~ /^\s*"(.+)"\s+"(.+)"\s+(\d+\.?\d*)\s*$/ ) { + $n = $3; + $f = $1; + $t = $2; +} elsif ( $arg =~ /^\s*(\S+)\s+(\S+)\s+(\d+\.?\d*)\s*$/ ) { + $n = $3; + $f = $1; + $t = $2; +} elsif ( $arg =~ /^\s*(\S+)\s+(\S+)\s*$/ ) { + $n = 1; + $f = $1; + $t = $2; +} elsif ( $arg =~ /^\s*"(.+)"\s+"(.+)"\s*$/ ) { + $n = 1; + $f = $1; + $t = $2; +} else { + goto usage; +} + +#print "'/usr/bin/units', '-q', '-v', \"$n $f\", $t\n"; + +my $pid = open( U, '-|' ) || exec '/usr/bin/units', '-q', '-v', "$n $f", $t; + +unless ($pid) { + print "Cannot start /usr/bin/units!?\n"; + exit 0; +} + +my $line = ; # The first line of output is interresting + +while () { } +; # discard the rest; + +close U; + +print $line; + +exit 0; diff --git a/unixtime/command.cfg b/unixtime/command.cfg new file mode 100644 index 0000000..b9ff63f --- /dev/null +++ b/unixtime/command.cfg @@ -0,0 +1 @@ +level = 50 \ No newline at end of file diff --git a/unixtime/help.txt b/unixtime/help.txt new file mode 100644 index 0000000..efd0747 --- /dev/null +++ b/unixtime/help.txt @@ -0,0 +1 @@ +unixtime : converts epoch to human readable date \ No newline at end of file diff --git a/unixtime/unixtime.pl b/unixtime/unixtime.pl new file mode 100755 index 0000000..26ac0af --- /dev/null +++ b/unixtime/unixtime.pl @@ -0,0 +1,10 @@ +#!/usr/bin/perl -w +use strict; + +my $commandline = defined $ARGV[0] ? $ARGV[0] : ''; + +if ( $commandline =~ /^(\d+)/ ) { + print scalar localtime($1), "\n"; +} else { + print "Geef aantal seconden na 1 januari 1970\n"; +} diff --git a/unroman/command.cfg b/unroman/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/unroman/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/unroman/level b/unroman/level new file mode 100644 index 0000000..573541a --- /dev/null +++ b/unroman/level @@ -0,0 +1 @@ +0 diff --git a/unroman/unroman.pl b/unroman/unroman.pl new file mode 100755 index 0000000..c26809a --- /dev/null +++ b/unroman/unroman.pl @@ -0,0 +1,43 @@ +#!/usr/bin/perl -w + +use strict; + +if ( !defined $ARGV[0] ) { + print "Syntax: unroman \n"; + exit(1); +} + +my $rnum = $ARGV[0]; +my %vals = ( + I => 1, + V => 5, + X => 10, + L => 50, + C => 100, + D => 500, + M => 1000, +); +my $result = 0; +my $pval = 0; + +my @letters = split ( / */, $rnum ); + +foreach my $l (@letters) { + my $val = $vals{$l}; + if ( !defined $val ) { + print "Wrong character in roman string: $l\n"; + exit(1); + } + $result += $val; + if ( $val > $pval ) { + $result -= 2 * $pval; + } + $pval = $val; +} + +print "$result\n"; +exit 0; + +#Het kan ook korter: zonder errorchecking: +#!/usr/bin/perl -paF// +#%v=(I1V5X10L50C100D500M1000)=~/(.)(\d+)/g;map{$a=$v{$_};$a>$p?$r-=2*$p:$r+=$a;$p=$a}@F;$_=$r.$/ diff --git a/unroman/unroman.pl.ado b/unroman/unroman.pl.ado new file mode 100755 index 0000000..d8d38c8 --- /dev/null +++ b/unroman/unroman.pl.ado @@ -0,0 +1,38 @@ +#!/usr/bin/perl -w + +use strict; + +if ( !defined $ARGV[0] ) { + print "Syntax: unroman \n"; + exit(1); +} + +my $rnum = $ARGV[0]; +my %vals = ( + I => 1, + V => 5, + X => 10, + L => 50, + C => 100, + D => 500, + M => 1000, +); +my $result = 0; +my $pval = 0; + +my @letters = split ( / */, $rnum ); + +foreach my $l (@letters) { + my $val = $vals{$l}; + if ( !defined $val ) { + print "Wrong character in roman string: $l\n"; + exit(1); + } + $result += $val; + if ( $val > $pval ) { + $result -= 2 * $pval; + } + $pval = $val; +} + +print "$result\n"; diff --git a/uppercase/command.cfg b/uppercase/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/uppercase/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/uppercase/help.txt b/uppercase/help.txt new file mode 100644 index 0000000..0d05acc --- /dev/null +++ b/uppercase/help.txt @@ -0,0 +1 @@ +Maakt van alle letters in de invoer hoofdletters. \ No newline at end of file diff --git a/uppercase/level b/uppercase/level new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/uppercase/level @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/uppercase/uppercase.pl b/uppercase/uppercase.pl new file mode 100755 index 0000000..a308a60 --- /dev/null +++ b/uppercase/uppercase.pl @@ -0,0 +1,7 @@ +#!/usr/bin/perl -w + +$commandline = join " ", @ARGV; + +#$commandline = lc($commandline); +print "\U$commandline\n"; + diff --git a/uptime/aliases.db b/uptime/aliases.db new file mode 100644 index 0000000..99ba466 --- /dev/null +++ b/uptime/aliases.db @@ -0,0 +1,43 @@ +# aliases db +# real_nick [...] +pervy eli pervect pervert +titanhead titan joost daehnatit casper titanhome titaninf joosthome +ado adoeh arjan +a6502 wieger axp6502 a65c02 wt6502 +cad ctlaltdel wtcad wouter +webbie webbier marcel +omehenk mook oh [oh] [o-h] +weasel iamweasel wessel +bokkepoot bok jen +loek lucas +laser laser_ mark +mw jasper +rooq herke vuurmans rook +sim florian [sim] +mars mars-veb marsha mars123 mars-cent +grit gerrit +sjoe schu schuciv schuhome schubi sjoerd +rooq herke rooqciv virooq +loek lukas lo3k +feed feedback feeby harriet afeed bfeed +ylebre yle yvo +krejt tjerk krejt-wt krejt-wt2 +dju stijn +oester oes oesdnd +krie krietje kriebel roalt +fuzz fuzzbuzz bart +domino fetske domino_f +snt snot +desiderta desi dees +socrates soc socje eelco +brie bre arno +gwen wolfje wolfjet wolfjec wolf gerty gwencent missmors +brugh herco kjoe psy psylocke psylocke_ +synq synqt koen +mrjb kleinebre jubbuh +ravo rob tov tovenaar +jit jit_ tukker klaasjan +yaxmir yax ericje eric +pip post +sjois sjoisje joyce yoix +foxm fox foxmulder \ No newline at end of file diff --git a/uptime/bdays.db b/uptime/bdays.db new file mode 100644 index 0000000..8356426 --- /dev/null +++ b/uptime/bdays.db @@ -0,0 +1,68 @@ +# birthdays database +# user_id birthday [birthtime] +# birthday syntax: dd-mm-yyyy +# birttime syntax: hh:mm +webbie 02-03-1979 11:00 +fvdh 14-06-1981 +pervy 16-10-1972 +cad 11-12-1976 13:10 +titanhead 07-11-1977 23:00 +a6502 01-02-1972 +npar 18-03-1977 +raindeer 19-05-1976 +weasel 05-11-1977 +grit 19-08-1969 +mars 11-05-1974 17:30 +sjoe 14-10-1971 +loek 19-10-1975 00:28 +laser 18-12-1974 +eppo 23-11-1977 05:45 +sim 28-06-1974 +ado 14-08-1970 +feed 05-09-1969 17:50 +tim 11-09-1961 +desiderta 12-03-1972 07:30 +rooq 22-01-1974 +ylebre 14-08-1979 +bokkepoot 01-05-1969 +krejt 22-10-1968 +dju 20-10-1977 08:00 +omehenk 06-03-1974 10:35 +jit 19-04-1975 +oester 22-03-1969 7:15 +mw 03-11-1975 10:10 +krie 16-04-1973 +poef 20-09-1972 +fuzz 20-12-1973 +domino 14-04-1968 +snt 02-11-1994 +dnd 25-04-1991 +brie 18-04-1972 +socrates 17-02-1979 +gwen 13-11-1967 12:10 +brugh 08-05-1968 7:30 +t_i 16-08-1972 22:00 +synq 28-02-1975 6:00 +mrjb 30-06-1973 +ravo 25-01-1961 20:05 +tsd 25-03-1979 +yaxmir 01-05-1975 12:01 +pip 23-01-1973 12:07 +sjois 19-11-1971 +#bardad 22-10-1966 +foxm 08-05-1970 22:17 +topkat 28-03-1971 16:18 +multigate 13-02-2001 12:06 +mirc 28-02-1995 +hasting 28-05-1965 +tonytee 20-01-1970 +rien 04-10-1980 +mir 23-06-1972 +madeddie 06-03-1979 +bb_art 21-12-1960 +mjrider 07-05-1979 04:30 +#fenrir 07-12-1971 07:00 +wiggy 24-12-1975 14:00 +speedy 14-04-1978 +#emphyrio 08-11-1975 +oxonium 04-11-1981 15:30 diff --git a/uptime/command.cfg b/uptime/command.cfg new file mode 100644 index 0000000..8f74efe --- /dev/null +++ b/uptime/command.cfg @@ -0,0 +1,2 @@ +level = 50 +user = 0 diff --git a/uptime/help.txt b/uptime/help.txt new file mode 100644 index 0000000..8c0f4a7 --- /dev/null +++ b/uptime/help.txt @@ -0,0 +1 @@ +uptime [user]: calculates the uptime of user. \ No newline at end of file diff --git a/uptime/level b/uptime/level new file mode 100644 index 0000000..e373ee6 --- /dev/null +++ b/uptime/level @@ -0,0 +1 @@ +50 diff --git a/uptime/nickresolve.pl b/uptime/nickresolve.pl new file mode 100755 index 0000000..96079bf --- /dev/null +++ b/uptime/nickresolve.pl @@ -0,0 +1,43 @@ +#!/usr/bin/perl + +## Function nickresolve +## in : alias to be resolved +## out: nick that it is resolved to +## which will just be alias if the alias wasn't found + +sub nickresolve { + + my ($aliases_db); + my ($alias); + my ($nick); + my ($ADB); + my ($line); + my (@aliases); + my ($index); + + $aliases_db = "/home/multilink/multigate/commands/jarig/aliases.db"; + + ## Function arguments ## + $alias = lc( $_[0] ); + + ## Find real nick of this alias. If no nicks are found then nick=alias ## + + $nick = ""; + open( ADB, "< $aliases_db" ) or die "Unable to open aliases.db\n"; + while ( ( $line = ) && ( $nick eq "" ) ) { + if ( $line !~ /^#/ ) { + @aliases = split ' ', $line; + $index = 1; + while ( ( $aliases[$index] ne $alias ) && ( $index < @aliases ) ) { + $index++; + } + if ( $index < @aliases ) { + $nick = $aliases[0]; + } + } + } + close(ADB); + if ( $nick eq "" ) { $nick = $alias } + + return $nick; +} diff --git a/uptime/uptime.pl b/uptime/uptime.pl new file mode 100755 index 0000000..2ffd42b --- /dev/null +++ b/uptime/uptime.pl @@ -0,0 +1,120 @@ +#!/usr/bin/perl -w + +# +# multigate uptime +# (C) 2000,2001 Wieger Opmeer , Casper Joost Eyckelhof +# + +# +# Imports and global vars +# + +use strict; +use vars qw( $dbh $password ); +use FileHandle; +use DBI; +use Date::Calc qw( Language Decode_Language Delta_DHMS Add_Delta_YMD Today Today_and_Now ); + +# +# --------------------------------------------------------- +# main +# + +my $fh = new FileHandle; + +if ( ( open $fh, '< ../../../.multigatepassword' ) ) { + $password = <$fh>; + chomp $password; + close $fh; +} else { + $password = ''; +} + +my $arg = $ARGV[0]; +$arg =~ s/\s+$//; #no trailing spaces + +my $user = $ENV{'MULTI_REALUSER'}; + +if ( ( !defined $arg ) || ( $arg eq "" ) ) { + $arg = $user; +} + +#some smart check? + +douptime($arg); +exit 0; + +sub douptime { + my $nick = shift; + + $dbh = DBI->connect( 'DBI:mysql:multigate', 'multilink', $password ); + + die "Cannot access database" unless defined $dbh; + + my $user = aliastouser($arg); + + my @row = $dbh->selectrow_array( <<'EOT', {}, $user ); +SELECT + birthday, birthtime +FROM + user +WHERE + username LIKE ? +EOT + + $dbh->disconnect; + + my ( $bdt, $btm ) = @row; + + unless ( @row and $bdt ) { + print "Geen verjaardag gevonden voor '$user'.\n"; + return; + } + + $bdt =~ s/(\d\d\d\d)-(\d\d)-(\d\d)/$3-$2-$1/; + my ( $by, $bm, $bd ) = ( $1, $2, $3 ); + + $btm = '00:00:00' unless $btm; + + my ( $bh, $bmin, $bs ) = $btm =~ /(\d\d):(\d\d):(\d\d)/; + + my ( $ty, $tm, $td, $th, $tmin, $ts ) = Today_and_Now(); + + my $Dy = $ty - $by; + + my ( $Dd, $Dh, $Dm, $Ds ) = Delta_DHMS( $ty, $bm, $bd, $bh, $bmin, $bs, $ty, $tm, $td, $th, $tmin, $ts ); + if ( ( $Dd < 0 ) + || ( ( $Dd == 0 ) && ( $Dh < 0 ) ) + || ( ( $Dd == 0 ) && ( $Dh == 0 ) && ( $Dm < 0 ) ) + || ( ( $Dd == 0 ) && ( $Dh == 0 ) && ( $Dm == 0 ) && ( $Ds < 0 ) ) ) + { + + #if ( $Dd <= 0 ) { + $Dy--; + ( $Dd, $Dh, $Dm, $Ds ) = Delta_DHMS( $ty - 1, $bm, $bd, $bh, $bmin, $bs, $ty, $tm, $td, $th, $tmin, $ts ); + } + + print "$user system boot $bdt $btm, uptime $Dy years, $Dd days, $Dh hours, $Dm minutes, $Ds seconds.\n"; + + return; +} + +# +# Try to resolve an alias into a user; return alias if it fails +# +sub aliastouser { + my $alias = shift; + return '' unless $alias; + my $res = $dbh->selectrow_array( <<'EOT', {}, $alias ); +SELECT + username +FROM + alias +WHERE + alias = ? +EOT + return $alias unless defined $res; + return $res; +} + +1; # You never know... diff --git a/uptime/uptime2.pl b/uptime/uptime2.pl new file mode 100755 index 0000000..a922d05 --- /dev/null +++ b/uptime/uptime2.pl @@ -0,0 +1,263 @@ +#!/usr/bin/perl + +do "/home/multilink/multigate/commands/jarig/nickresolve.pl"; + +$bdays_db = "/home/multilink/multigate/commands/jarig/bdays.db"; + +sub printsyntax { + print "$_[0] Typ: /msg multilink jarig -h\n"; +} + +sub datetoday { + + ## day (1-31) + ## month (1-12) + my ($yday) = ( 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 )[ $_[1] - 1 ] + $_[0] - 1; + + return $yday; +} + +sub isleapyear { + + ## year (1900...) + my ($leap) = 0; + + if ( ( ( $_[0] % 4 ) eq 0 ) && ( ( ( $_[0] % 100 ) ne 0 ) || ( ( $_[0] % 400 ) eq 0 ) ) ) { + $leap = 1; + } + return ($leap); +} + +sub datetopit { + + ## day (1-31) + ## month (1-12) + ## year + ## baseyear ( <= year) + my ($day) = $_[0]; + my ($month) = $_[1]; + my ($year) = $_[2]; + my ($baseyear) = $_[3]; + my ($pit) = datetoday( $day, $month ); + + $pit = $pit + ( $year - $baseyear ) * 366; + while ( $baseyear lt $year ) { + if ( isleapyear($baseyear) eq 0 ) { + $pit = $pit - 1; + } + $baseyear = $baseyear + 1; + } + if ( ( int($month) ge 3 ) && ( isleapyear($year) eq 0 ) ) { + $pit = $pit - 1; + } + + return ($pit); +} + +sub bdayrange { + + ## From date + @fdate = ( $_[0], $_[1], $_[2] ); + $fday = datetoday( $fdate[0], $fdate[1] ); + + ## To date + @tdate = @fdate; + $tdate[1] = $tdate[1] + 1; + if ( $tdate[1] eq 13 ) { + $tdate[1] = 1; + $tdate[2] = $tdate[2] + 1; + } + $tday = datetoday( $tdate[0], $tdate[1] ); + + @bmessages = (); + + open( BDB, "< $bdays_db" ) or die "Unable to open bdays.db\n"; + while ( ( $line = ) ) { + if ( $line !~ /^#/ ) { + @bdays = split ' ', $line; + @bdates = split '-', $bdays[1]; + $bday = datetoday( $bdates[0], $bdates[1] ); + $hit = 0; + if ( $fdate[2] ne $tdate[2] ) { + + ## Range covers a year change + if ( ( $bday >= $fday ) || ( $bday < $tday ) ) { + $hit = 1; + if ( $bday >= $fday ) { + $year = $fdate[2]; + } else { + $year = $tdate[2]; + } + } + } else { + + ## Entire range within the same year + if ( ( $fday <= $bday ) && ( $bday < $tday ) ) { + $hit = 1; + $year = $fdate[2]; + } + } + if ( $hit ne 0 ) { + $age = $year - $bdates[2]; + $messages[@messages] = "$year$bdates[1]$bdates[0] $bdays[ 0]" . " $bdates[0]-$bdates[1]-$year ($age)\n"; + } + } + } + close(BDB); + @messages = sort @messages; + if ( @messages ne 0 ) { + print "Verjaardagen in de periode van $fdate[0]-$fdate[1]-$fdate[2] tot $tdate[0]-$tdate[1]-$tdate[2]:\n"; + foreach $message (@messages) { + print substr( $message, 9, length($message) - 9 ); + } + } else { + print "Geen verjaardagen gevonden in de periode van $fdate[0]-$fdate[1]-$fdate[2] tot $tdate[0]-$tdate[1]-$tdate[2]:\n"; + } +} + +sub bdayuptime { + $alias = $_[0]; + $nick = $_[1]; + + $found = 0; + + open( BDB, "< $bdays_db" ) or die "Unable to open bdays.db\n"; + while ( ( $found eq 0 ) && ( $line = ) ) { + if ( $line !~ /^#/ ) { + @bdays = split ' ', $line; + if ( $bdays[0] eq $nick ) { + $bdate = $bdays[1]; + $btime = $bdays[2]; + if ( $btime eq '' ) { + $btime = '12:00'; + } + print STDERR "date,time = $bdate,$btime\n"; + + ## + ## Now calculate the person's "uptime" + ## + @btimes = split ':', $btime; + @bdates = split '-', $bdate; + + @ntimes = localtime(time); + + $bhour = $btimes[0]; + $bminute = $btimes[1]; + $bday = $bdates[0]; + $bmonth = $bdates[1]; + $byear = $bdates[2]; + + @ctimes = localtime(time); + $chour = $ctimes[2]; + $cminute = $ctimes[1]; + $cday = $ctimes[3]; + $cmonth = $ctimes[4] + 1; + $cyear = $ctimes[5] + 1900; + + $bpit = datetopit( $bday, $bmonth, $cyear, $cyear - 1 ) * 24 * 60 + $bhour * 60 + $bminute; + $cpit = datetopit( $cday, $cmonth, $cyear, $cyear - 1 ) * 24 * 60 + $chour * 60 + $cminute; + print STDERR "bpit,cpit = $bpit,$cpit\n"; + + if ( $cpit lt $bpit ) { + + # birthday still to come in this year + $years = $cyear - $byear - 1; + $bpit = datetopit( $bday, $bmonth, $cyear - 1, $cyear - 1 ) * 24 * 60 + $bhour * 60 + $bminute; + } else { + + # have already had the birthday this year + $years = $cyear - $byear; + } + + $pits = $cpit - $bpit; + + $days = int( $pits / 24 / 60 ); + $hours = int( ( $pits / 60 ) % 24 ); + $minutes = $pits % 60; + + ## Thanks to sim for the brilliant uptime idea + if ( $bdays[2] eq '' ) { + print "$alias system boot $bdays[ 1], uptime $years years, $days days\n"; + } else { + print "$alias system boot $bdays[ 1] $bdays[ 2], uptime $years years, $days days, $hours hrs, $minutes mins\n"; + } + $found = 1; + } + } + } + if ( $found eq 0 ) { + print "Geen verjaardag gevonden voor $alias\n"; + } + close(BDB); +} + +if ( @ARGV > 1 ) { + printsyntax("Te veel argumenten"); + exit 1; +} + +if ( ( $ARGV[0] eq '-h' ) || ( $ARGV[0] eq '--help' ) ) { + print "Syntax: !jarig [ | | +]\n"; + print "!jarig Verjaardagen komende maand (zelfde als !jarig +0)\n"; + print "!jarig Geboorte datum en uptime van de persoon \n"; + print "!jarig De verjaardagen in maand 1 = januari, 12 = december\n"; + print "!jarig + De verjaardagen (gedurende een maand tijd) maanden vanaf vandaag\n"; + exit 0; +} + +## Process arguments ## +$nick = nickresolve( $ARGV[0] ); +$fchar = substr( $ARGV[0], 0, 1 ); + +if ( ( ( $fchar ge '0' ) && ( $fchar le '9' ) ) || ( $fchar eq '+' ) || ( $fchar eq '' ) ) { + + ## + ## Get current date + ## + ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time); + $year = $year + 1900; + $mon = $mon + 1; + + if ( ( $fchar eq '+' ) || ( $fchar eq '' ) ) { + + ## + ## Offset [ 0...11] + ## + if ( $fchar eq '+' ) { + if ( length( $ARGV[0] ) eq 1 ) { + printsyntax("Je moet wel een getal d'rbij zetten"); + exit 1; + } + $offset = substr( $ARGV[0], 1, length( $ARGV[0] ) - 1 ); + } else { + $offset = 0; + } + if ( ( $offset < 0 ) || ( $offset > 11 ) ) { + printsyntax("Van 0 t/m 11 aub"); + exit 1; + } + $mon = $mon + $offset; + if ( $mon > 12 ) { + $mon = $mon - 12; + $year = $year + 1; + } + } else { + + ## + ## Specific calendar month [ 1...12] + ## + $month = $ARGV[0]; + if ( ( $month < 1 ) || ( $month > 12 ) ) { + printsyntax("Van 1 t/m 12 aub"); + exit 1; + } + if ( $month < $mon ) { + $year = $year + 1; + } + $mon = $month; + $mday = 1; + } + bdayrange( $mday, $mon, $year ); +} else { + bdayuptime( $ARGV[0], $nick ); +} diff --git a/uptime/user b/uptime/user new file mode 100644 index 0000000..a373fdb --- /dev/null +++ b/uptime/user @@ -0,0 +1,4 @@ +The fact that this file exists, means that the file wants a username supplied as +first argument. + +The content does not matter (yet..) diff --git a/utfoon/acasa.txt b/utfoon/acasa.txt new file mode 100644 index 0000000..1a9caac --- /dev/null +++ b/utfoon/acasa.txt @@ -0,0 +1,184 @@ +5001:Calslaan 1-1 7522 MH +5002:Calslaan 1-2 7522 MH +5003:Calslaan 1-3 7522 MH +5004:Calslaan 3-1 7522 MH +5005:Calslaan 3-2 7522 MH +5006:Calslaan 3-3 7522 MH +5007:Calslaan 5-1 7522 MH +5008:Calslaan 5-2 7522 MH +5009:Caslaan 5-3 7522 MH +5010:Calslaan 7-1 7522 MH +5011:Calslaan 7-2 7522 MH +5012:Calslaan 7-3 7522 MH +5013:Calslaan 9-1 7522 MH +5014:Calslaan 9-2 7522 MH +5015:Calslaan 9-3 7522 MH +5016:Calslaan 11-1 7522 MH +5017:Calslaan 11-2 7522 MH +5018:Calslaan 11-3 7522 MH +5019:Calslaan 13-1 7522 MH +5020:Calslaan 13-2 7522 MH +5021:Calslaan 13-3 7522 MH +5022:Calslaan 2A 7522 MA +5023:Calslaan 2B 7522 MA +5024:Calslaan 4 7522 MA +5025:Calslaan 6 7522 MA +5026:Calslaan 8 7522 MA +5027:Calslaan 10 7522 MA +5028:Calslaan 12 7522 MB +5029:Calslaan 14A 7522 MB +5030:Calslaan 14B 7522 MB +5032:Calslaan 16A 7522 MB +5063:Calslaan 16B 7522 MB +5034:Calslaan 18 7522 MB +5035:Calslaan 20 7522 MC +5036:Calslaan 22 7522 MC +5037:Calslaan 24 7522 MC +5038:Calslaan 26 7522 MC +5039:Calslaan 28A 7522 MC +5040:Calslaan 28B 7522 MC +5041:Calslaan 30A 7522 MD +5042:Calslaan 30B 7522 MD +5043:Calslaan 32 7522 MD +5044:Calslaan 34 7522 MD +5045:Calslaan 36 7522 MD +5046:Calslaan 38 7522 ME +5047:Calslaan 40 7522 ME +5048:Calslaan 42A 7522 ME +5049:Calslaan 42B 7522 ME +5031:Calslaan 44-1 7522 ME +5033:Calslaan 44-2 7522 ME +5050:Calslaan 44-3 7522 ME +5095:Calslaan 46-1 7522 MG +5052:Calslaan 46-2 7522 MG +5127:Calslaan 46-3 7522 MG +5195:Calslaan 48-1 7522 MG +5400:Calslaan 48-2 7522 MG +5053:Calslaan 48-3 7522 MG +5401:Calslaan 50-1 7522 MG +5051:Calslaan 50-2 7522 MG +5054:Calslaan 50-3 7522 MG +5402:Calslaan 52-1 7522 MG +5403:Calslaan 52-2 7522 MG +5055:Calslaan 52-3 7522 MG +5404:Calslaan 54-1 7522 MG +5405:Calslaan 54-2 7522 MG +5056:Calslaan 54-3 7522 MG +5406:Calslaan 56-1 7522 MG +5057:Calslaan 56-2 7522 MG +5058:Calslaan 56-3 7522 MG +5081:Campuslaan 21 7522 NC +5082:Campuslaan 23 7522 NC +5083:Campuslaan 25 7522 NC +5084:Campuslaan 27 7522 NC +5085:Campuslaan 29 7522 NC +5086:Campuslaan 31 7522 NC +5087:Campuslaan 33 7522 NG +5088:Campuslaan 35 7522 NG +5089:Campuslaan 37 7522 NG +5090:Campuslaan 39 7522 NG +5091:Campuslaan 41 7522 NG +5092:Campuslaan 43 7522 NG +5093:Campuslaan 45 7522 NG +5094:Campuslaan 47 7522 NG +5096:Campuslaan 49 7522 NG +5097:Campuslaan 51 7522 NG +5098:Campuslaan 53 7522 NK +5099:Campuslaan 55 7522 NK +5100:Campuslaan 57 7522 NK +5101:Campuslaan 59 7522 NK +5102:Campuslaan 61 7522 NK +5103:Campuslaan 63 7522 NK +5104:Campuslaan 65 7522 NK +5105:Campuslaan 67 7522 NK +5106:Campuslaan 69 7522 NK +5107:Campuslaan 71 7522 NK +5059:Matenweg 2 7522 LG +5060:Matenweg 4 7522 LG +5061:Matenweg 6 7522 LG +5062:Matenweg 8 7522 LG +5064:Matenweg 10 7522 LG +5065:Matenweg 12 7522 LG +5066:Matenweg 14 7522 LH +5067:Matenweg 16 7522 LH +5068:Matenweg 18 7522 LH +5069:Matenweg 20 7522 LH +5070:Matenweg 22 7522 LH +5071:Matenweg 24 7522 LH +5072:Matenweg 26 7522 LH +5073:Matenweg 28 7522 LH +5074:Matenweg 30-1 7522 LK +5075:Matenweg 30-2 108 t/m 121 7522 LK +5076:Matenweg 30-boven 227 t/m 235 7522 LK +5077:Matenweg 32 7522 LK +5078:Matenweg 34 7522 LK +5079:Matenweg 36 7522 LK +5080:Matenweg 38 7522 LK +5112:Matenweg 73-LX 101 t/m 109 7522 LD +5113:Matenweg 73-R 110 t/m 118 7522 LD +5114:Matenweg 73-2 7522 LD +5115:Matenweg 73-3 7522 LD +5116:Matenweg 75-LX 101 t/m 109 7522 LD +5117:Matenweg 75-R 110 t/m 118 7522 LD +5118:Matenweg 75-2 7522 LD +5119:Matenweg 75-3 7522 LD +5120:Wbw 377-LG 7522 ZA +5121:Wbw 377-LX 101 t/m 108 7522 ZA +5122:Wbw 377-R 111 t/m 118 7522 ZA +5159:Wbw 377-2 voor 209 t/m 215 7522 ZA +5123:Wbw 377-2 achter 201 t/m 207 7522 ZA +5124:Wbw 377-3 7522 ZA +5125:Wbw 379-Lg 7522 ZA +5126:Wbw 379-Lx 101 t/m 109 7522 ZA +5128:Wbw 379-R 110 t/m 118 7522 ZA +5187:Wbw 379-2 voor 209 t/m 215 7522 ZA +5129:Wbw 379-2 achter 201 t/m 207 7522 ZA +5130:Wbw 379-3 7522 ZA +5131:Wbw 381-Lx 101 t/m 109 7522 ZA +5132:Wbw 381-R 110 t/m 118 7522 ZA +5133:Wbw 381-2 voor 208 t/m 213 7522 ZA +5175:Wbw 381-2 achter 201 t/m 206 7522 ZA +5134:Wbw 381-3 7522 ZA +5135:Wbw 383-Lg 7522 ZA +5136:Wbw 383-Lx 101 t/m 109 7522 ZA +5137:Wbw 383-R 110 t/m 118 7522 ZA +5303:Wbw 383-2 voor 209 t/m 215 7522 ZA +5138:Wbw 383-2 achter 201 t/m 207 7522 ZA +5139:Wbw 383-3 7522 ZA +5171:Wbw 385-Lx 101 t/m 109 7522 ZA +5172:Wbw 385-R 110 t/m 118 7522 ZA +5301:Wbw 385-2 voor 208 t/m 213 7522 ZA +5173:Wbw 385-2 achter 201 t/m 206 7522 ZA +5174:Wbw 385-3 7522 ZA +5140:Wbw 387-Lg 7522 ZA +5141:Wbw 387-Lx 101 t/m 109 7522 ZA +5142:Wbw 387-R 110 t/m 118 7522 ZA +5302:Wbw 387-2 voor 208 t/m 213 7522 ZA +5143:Wbw 387-2 achter 201 t/m 206 7522 ZA +5144:Wbw 387-3 7522 ZA +5145:Wbw 389-Lg 7522 ZA +5146:Wbw 389-Lx 101 t/m 109 7522 ZA +5147:Wbw 389-R 110 t/m 118 7522 ZA +5148:Wbw 389-achter 201 t/m 207 7522 ZA +5304:Wbw 389-voor 209 t/m 215 7522 ZA +5149:Wbw 389-3 7522 ZA +5150:Wbw 393-Lx 101 t/m 108 7522 ZA +5151:Wbw 393-R 111 t/m 118 7522 ZA +5152:Wbw 393-2 7522 ZA +5153:Wbw 393-3 7522 ZA +5154:Wbw 395-Lx 101 t/m 108 7522 ZA +5155:Wbw 395-R 111 t/m 118 7522 ZA +5156:Wbw 395-2 7522 ZA +5157:Wbw 395-3 7522 ZA +5158:Wbw 397-Lx 101 t/m 108 7522 ZA +5160:Wbw 397-R 111 t/m 118 7522 ZA +5161:Wbw 397-2 7522 ZA +5162:Wbw 397-3 7522 ZA +5163:Wbw 399-Lx 101 t/m 108 7522 ZA +5164:Wbw 399-R 111 t/m 118 7522 ZA +5165:Wbw 399-2 7522 ZA +5166:Wbw 399-3 7522 ZA +5167:Wbw 401-Lx 7522 ZA +5168:Wbw 401-R 7522 ZA +5169:Wbw 401-2 7522 ZA +5170:Wbw 401-3 7522 ZA diff --git a/utfoon/acasalijst.txt b/utfoon/acasalijst.txt new file mode 100644 index 0000000..421e8de --- /dev/null +++ b/utfoon/acasalijst.txt @@ -0,0 +1,368 @@ +Calslaan 1-1 7522 MH +5001 +Calslaan 1-2 7522 MH +5002 +Calslaan 1-3 7522 MH +5003 +Calslaan 3-1 7522 MH +5004 +Calslaan 3-2 7522 MH +5005 +Calslaan 3-3 7522 MH +5006 +Calslaan 5-1 7522 MH +5007 +Calslaan 5-2 7522 MH +5008 +Caslaan 5-3 7522 MH +5009 +Calslaan 7-1 7522 MH +5010 +Calslaan 7-2 7522 MH +5011 +Calslaan 7-3 7522 MH +5012 +Calslaan 9-1 7522 MH +5013 +Calslaan 9-2 7522 MH +5014 +Calslaan 9-3 7522 MH +5015 +Calslaan 11-1 7522 MH +5016 +Calslaan 11-2 7522 MH +5017 +Calslaan 11-3 7522 MH +5018 +Calslaan 13-1 7522 MH +5019 +Calslaan 13-2 7522 MH +5020 +Calslaan 13-3 7522 MH +5021 +Calslaan 2A 7522 MA +5022 +Calslaan 2B 7522 MA +5023 +Calslaan 4 7522 MA +5024 +Calslaan 6 7522 MA +5025 +Calslaan 8 7522 MA +5026 +Calslaan 10 7522 MA +5027 +Calslaan 12 7522 MB +5028 +Calslaan 14A 7522 MB +5029 +Calslaan 14B 7522 MB +5030 +Calslaan 16A 7522 MB +5032 +Calslaan 16B 7522 MB +5063 +Calslaan 18 7522 MB +5034 +Calslaan 20 7522 MC +5035 +Calslaan 22 7522 MC +5036 +Calslaan 24 7522 MC +5037 +Calslaan 26 7522 MC +5038 +Calslaan 28A 7522 MC +5039 +Calslaan 28B 7522 MC +5040 +Calslaan 30A 7522 MD +5041 +Calslaan 30B 7522 MD +5042 +Calslaan 32 7522 MD +5043 +Calslaan 34 7522 MD +5044 +Calslaan 36 7522 MD +5045 +Calslaan 38 7522 ME +5046 +Calslaan 40 7522 ME +5047 +Calslaan 42A 7522 ME +5048 +Calslaan 42B 7522 ME +5049 +Calslaan 44-1 7522 ME +5031 +Calslaan 44-2 7522 ME +5033 +Calslaan 44-3 7522 ME +5050 +Calslaan 46-1 7522 MG +5095 +Calslaan 46-2 7522 MG +5052 +Calslaan 46-3 7522 MG +5127 +Calslaan 48-1 7522 MG +5195 +Calslaan 48-2 7522 MG +5400 +Calslaan 48-3 7522 MG +5053 +Calslaan 50-1 7522 MG +5401 +Calslaan 50-2 7522 MG +5051 +Calslaan 50-3 7522 MG +5054 +Calslaan 52-1 7522 MG +5402 +Calslaan 52-2 7522 MG +5403 +Calslaan 52-3 7522 MG +5055 +Calslaan 54-1 7522 MG +5404 +Calslaan 54-2 7522 MG +5405 +Calslaan 54-3 7522 MG +5056 +Calslaan 56-1 7522 MG +5406 +Calslaan 56-2 7522 MG +5057 +Calslaan 56-3 7522 MG +5058 +Campuslaan 21 7522 NC +5081 +Campuslaan 23 7522 NC +5082 +Campuslaan 25 7522 NC +5083 +Campuslaan 27 7522 NC +5084 +Campuslaan 29 7522 NC +5085 +Campuslaan 31 7522 NC +5086 +Campuslaan 33 7522 NG +5087 +Campuslaan 35 7522 NG +5088 +Campuslaan 37 7522 NG +5089 +Campuslaan 39 7522 NG +5090 +Campuslaan 41 7522 NG +5091 +Campuslaan 43 7522 NG +5092 +Campuslaan 45 7522 NG +5093 +Campuslaan 47 7522 NG +5094 +Campuslaan 49 7522 NG +5096 +Campuslaan 51 7522 NG +5097 +Campuslaan 53 7522 NK +5098 +Campuslaan 55 7522 NK +5099 +Campuslaan 57 7522 NK +5100 +Campuslaan 59 7522 NK +5101 +Campuslaan 61 7522 NK +5102 +Campuslaan 63 7522 NK +5103 +Campuslaan 65 7522 NK +5104 +Campuslaan 67 7522 NK +5105 +Campuslaan 69 7522 NK +5106 +Campuslaan 71 7522 NK +5107 +Matenweg 2 7522 LG +5059 +Matenweg 4 7522 LG +5060 +Matenweg 6 7522 LG +5061 +Matenweg 8 7522 LG +5062 +Matenweg 10 7522 LG +5064 +Matenweg 12 7522 LG +5065 +Matenweg 14 7522 LH +5066 +Matenweg 16 7522 LH +5067 +Matenweg 18 7522 LH +5068 +Matenweg 20 7522 LH +5069 +Matenweg 22 7522 LH +5070 +Matenweg 24 7522 LH +5071 +Matenweg 26 7522 LH +5072 +Matenweg 28 7522 LH +5073 +Matenweg 30-1 7522 LK +5074 +Matenweg 30-2 108 t/m 121 7522 LK +5075 +Matenweg 30-boven 227 t/m 235 7522 LK +5076 +Matenweg 32 7522 LK +5077 +Matenweg 34 7522 LK +5078 +Matenweg 36 7522 LK +5079 +Matenweg 38 7522 LK +5080 +Matenweg 73-LX 101 t/m 109 7522 LD +5112 +Matenweg 73-R 110 t/m 118 7522 LD +5113 +Matenweg 73-2 7522 LD +5114 +Matenweg 73-3 7522 LD +5115 +Matenweg 75-LX 101 t/m 109 7522 LD +5116 +Matenweg 75-R 110 t/m 118 7522 LD +5117 +Matenweg 75-2 7522 LD +5118 +Matenweg 75-3 7522 LD +5119 +Wbw 377-LG 7522 ZA +5120 +Wbw 377-LX 101 t/m 108 7522 ZA +5121 +Wbw 377-R 111 t/m 118 7522 ZA +5122 +Wbw 377-2 voor 209 t/m 215 7522 ZA +5159 +Wbw 377-2 achter 201 t/m 207 7522 ZA +5123 +Wbw 377-3 7522 ZA +5124 +Wbw 379-Lg 7522 ZA +5125 +Wbw 379-Lx 101 t/m 109 7522 ZA +5126 +Wbw 379-R 110 t/m 118 7522 ZA +5128 +Wbw 379-2 voor 209 t/m 215 7522 ZA +5187 +Wbw 379-2 achter 201 t/m 207 7522 ZA +5129 +Wbw 379-3 7522 ZA +5130 +Wbw 381-Lx 101 t/m 109 7522 ZA +5131 +Wbw 381-R 110 t/m 118 7522 ZA +5132 +Wbw 381-2 voor 208 t/m 213 7522 ZA +5133 +Wbw 381-2 achter 201 t/m 206 7522 ZA +5175 +Wbw 381-3 7522 ZA +5134 +Wbw 383-Lg 7522 ZA +5135 +Wbw 383-Lx 101 t/m 109 7522 ZA +5136 +Wbw 383-R 110 t/m 118 7522 ZA +5137 +Wbw 383-2 voor 209 t/m 215 7522 ZA +5303 +Wbw 383-2 achter 201 t/m 207 7522 ZA +5138 +Wbw 383-3 7522 ZA +5139 +Wbw 385-Lx 101 t/m 109 7522 ZA +5171 +Wbw 385-R 110 t/m 118 7522 ZA +5172 +Wbw 385-2 voor 208 t/m 213 7522 ZA +5301 +Wbw 385-2 achter 201 t/m 206 7522 ZA +5173 +Wbw 385-3 7522 ZA +5174 +Wbw 387-Lg 7522 ZA +5140 +Wbw 387-Lx 101 t/m 109 7522 ZA +5141 +Wbw 387-R 110 t/m 118 7522 ZA +5142 +Wbw 387-2 voor 208 t/m 213 7522 ZA +5302 +Wbw 387-2 achter 201 t/m 206 7522 ZA +5143 +Wbw 387-3 7522 ZA +5144 +Wbw 389-Lg 7522 ZA +5145 +Wbw 389-Lx 101 t/m 109 7522 ZA +5146 +Wbw 389-R 110 t/m 118 7522 ZA +5147 +Wbw 389-achter 201 t/m 207 7522 ZA +5148 +Wbw 389-voor 209 t/m 215 7522 ZA +5304 +Wbw 389-3 7522 ZA +5149 +Wbw 393-Lx 101 t/m 108 7522 ZA +5150 +Wbw 393-R 111 t/m 118 7522 ZA +5151 +Wbw 393-2 7522 ZA +5152 +Wbw 393-3 7522 ZA +5153 +Wbw 395-Lx 101 t/m 108 7522 ZA +5154 +Wbw 395-R 111 t/m 118 7522 ZA +5155 +Wbw 395-2 7522 ZA +5156 +Wbw 395-3 7522 ZA +5157 +Wbw 397-Lx 101 t/m 108 7522 ZA +5158 +Wbw 397-R 111 t/m 118 7522 ZA +5160 +Wbw 397-2 7522 ZA +5161 +Wbw 397-3 7522 ZA +5162 +Wbw 399-Lx 101 t/m 108 7522 ZA +5163 +Wbw 399-R 111 t/m 118 7522 ZA +5164 +Wbw 399-2 7522 ZA +5165 +Wbw 399-3 7522 ZA +5166 +Wbw 401-Lx 7522 ZA +5167 +Wbw 401-R 7522 ZA +5168 +Wbw 401-2 7522 ZA +5169 +Wbw 401-3 7522 ZA +5170 diff --git a/utfoon/command.cfg b/utfoon/command.cfg new file mode 100644 index 0000000..557d8e9 --- /dev/null +++ b/utfoon/command.cfg @@ -0,0 +1,2 @@ +level = 50 +cache = 86400 # 1 day diff --git a/utfoon/help.txt b/utfoon/help.txt new file mode 100644 index 0000000..6cc1887 --- /dev/null +++ b/utfoon/help.txt @@ -0,0 +1 @@ +utfoon : zoekt in de UT zakengids online naar een naam en afdeling bij 4 cijferige nummers \ No newline at end of file diff --git a/utfoon/parse.pl b/utfoon/parse.pl new file mode 100755 index 0000000..a8e45b3 --- /dev/null +++ b/utfoon/parse.pl @@ -0,0 +1,15 @@ +#!/usr/bin/perl -w + +open FOO, "< acasalijst.txt"; +my @frop = ; +close FOO; + +map { s/\n//g } @frop; +map { s/\s{2]/ /g } @frop; + +while (@frop) { + my $adres = shift @frop; + my $nummer = shift @frop; + print "$nummer:$adres\n"; +} + diff --git a/utfoon/utfoon.pl b/utfoon/utfoon.pl new file mode 100755 index 0000000..641cef1 --- /dev/null +++ b/utfoon/utfoon.pl @@ -0,0 +1,65 @@ +#!/usr/bin/perl + +use strict; +use LWP::UserAgent; + +my $ua = new LWP::UserAgent; + +#Set agent name, vooral niet laten weten dat we een script zijn +my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; +$ua->agent($agent); + +my $number = 3; + +my $zoek = $ARGV[0]; +my @results = (); +if ( $zoek =~ /^\d{4}$/ ) { + + my $request = new HTTP::Request( 'GET', "http://www.utwente.nl/cgi-bin/gids/zoekgids.pl?zoeknaar=$zoek&pagina=zoekgids.html" ); + my $content = $ua->request($request)->content; + + my @frop = ( $content =~ m|(.*?)|sg ); + + foreach my $entry (@frop) { + if ( my @fields = ( $entry =~ m|(.*?)|gs ) ) { + map { s/ // } @fields; + map { s/<.*?>//gi } @fields; + map { s/^\s*// } @fields; + map { s/\s*$// } @fields; + if ( $fields[0] == $zoek ) { + push @results, "$fields[0] $fields[2] ($fields[3])"; + } + } + } + + if ( @results == 0 ) { + + #zoek op campus: + open FOO, "; + close FOO; + + my @nummers = grep /^$zoek/, @lijst; + + if ( @nummers == 1 ) { + my ( $nummer, $adres ) = split ":", $nummers[0], 2; + print "$nummer: $adres"; + exit 0; + } else { + print "Niets gevonden\n"; + exit 0; + } + } + if ( @results > $number ) { + print scalar @results, " resultaten. Eerste $number zijn:\n"; + for ( my $i = 0 ; $i < $number ; $i++ ) { + print $results[$i] . "\n"; + } + } else { + foreach my $item (@results) { + print "$item \n"; + } + } +} else { + print "Geef 4-cijferig nummer\n"; +} diff --git a/utgebouw/command.cfg b/utgebouw/command.cfg new file mode 100644 index 0000000..4ab70ec --- /dev/null +++ b/utgebouw/command.cfg @@ -0,0 +1,2 @@ +level = 50 +author = angel_7th diff --git a/utgebouw/help.txt b/utgebouw/help.txt new file mode 100644 index 0000000..405f2d1 --- /dev/null +++ b/utgebouw/help.txt @@ -0,0 +1 @@ +utgebouw {nr,naam,afko} - zoekt naar als nr/naam/afko in de lijst van UT gebouwen ("omnummerapp.") diff --git a/utgebouw/utgebouw.pl b/utgebouw/utgebouw.pl new file mode 100755 index 0000000..60263c6 --- /dev/null +++ b/utgebouw/utgebouw.pl @@ -0,0 +1,41 @@ +#!/usr/bin/perl -w +use strict; +use LWP::UserAgent; + +my $is_multicast = $ENV{'MULTI_IS_MULTICAST'}; +my $multicast_max_lines = 3; + +my @output = (); + +my $commandline = defined $ARGV[0] ? $ARGV[0] : ''; +my ( $cmd, $arg ) = split /\s+/, $commandline, 2; + +unless ( $cmd =~ m/nr|naam|afko/ and defined $arg and $arg =~ m/\w/ ) { + print "syntax error, please read the help\n"; + exit(1); +} + +open( FILE, "; + +my $line; +foreach $line (@lines) { + chomp($line); + my ( $nr, $naam, $afko, $tel, $oud, $nroud ) = split /,/, $line; + + if ( ( $cmd eq "nr" and ( $nr eq $arg || lc($nroud) eq lc($arg) ) ) + || ( $cmd eq "naam" and ( $naam =~ m/\Q$arg\E/i || $oud =~ m/\Q$arg\E/i ) ) + || ( $cmd eq "afko" and lc($afko) eq lc($arg) ) ) + { + push ( @output, "$oud($nroud) -> $naam($nr) [$afko]" ); + } +} + +if ( @output <= 0 ) { + print "No results\n"; +} elsif ( @output > $multicast_max_lines and $is_multicast ) { + print "Too much output, please try again on non-multicast protocol"; +} else { + my $outline = join ( "\n", @output ); + print "$outline\n"; +} diff --git a/utgebouw/utgebouw.txt b/utgebouw/utgebouw.txt new file mode 100644 index 0000000..ee015ca --- /dev/null +++ b/utgebouw/utgebouw.txt @@ -0,0 +1,59 @@ +1,Charlie,CH,CHARLIE,Portiersloge,1 +2,Spiegel,SP,SPIEGEL,BB-gebouw,2 +3,Vleugel,VL,VLEUGEL,Bestuursvleugel,2A +4,carillon,,,Carillon,28 +5,hogedruklab,HD,HOGEDRUKLAB,Hogedruklaboratorium,5 +6,Paviljoen,PA,PAVILJOEN,Paviljoen,3 +7,Seinhuis,SE,SEINHUIS,PTT-gebouwtje,4 +8,Garage,GA,GARAGE,Garagecomplex/Utechno,4 +9,Citadel,CI,CITADEL,KCT-gebouw,7 +10,Ravelijn,RA,RAVELIJN,TO-gebouw,8 +11,Zilverling,ZI,ZILVERLING,INF-gebouw,9 +12,Waaier,WA,WAAIER,Collegezalencomplex,9A +13,Matrix,MA,MATRIX,Hal D,-- +17,Langezijds,LA,LANGEZIJDS,CT-gebouw,6 +18,AKI,AKI,AKI,AKI,38 +19,Temp,TE,TEMP,Gebouw B,39 +20,Horsttoren,HT,HORSTTOREN,WB-gebouw Toren,10 +21,Horstring,HR,HORSTRING,WB-gebouw Ring ,10 +22,Westhorst,WH,WESTHORST,WB-gebouw hal IV,10 +23,Kleinhorst,KH,KLEINHORST,WB-gebouw hal I,10 +24,Noordhorst,NH,NOORDHORST,WB-gebouw hal II,10 +26,Oosthorst,OH,OOSTHORST,WB-gebouw hal III,10 +27,Meander,ME,MEANDER,, +28,Zuidhorst,ZH,ZUIDHORST,WB-gebouw hal V,10 +29,pinetum,,,Pinetum de Horstlanden,29 +30,afvalstoffendepot,AF,AFVALDEPOT,CAD,34 +31,windpark,WP,WINDPARK,WOT,31 +32,biomagnetisch centrum,BI,BIOMAGN C,Biomagnetisch Centrum,30 +40,Erve Holzik,ER,ERVE HOLZIK,Erve Holzik,32 +41,Cubicus,CU,CUBICUS,TWRC-gebouw,11 +42,Faculty Club,FC,FACULTY CLUB,Boerderij,12 +43,Schuur,SR,SCHUUR,Schuur,12A +44,Drienerburght,DR,DRIENERB,Drienerburght,15 +45,Hogekamp,HO,HOGEKAMP,EL/TN-gebouw,13 +46,cleanrooms,CL,CLEANROOMS ,MESA+,13A +47,Vrijhof,VR,VRIJHOF,Vrijhof,14 +48,Bastille,BA,BASTILLE,Bastille,16 +49,Sportcentrum,SC,SPORTCENTRUM,Sportcentrum,17 +55,winkelcentrum,WI,WINKELCENTR,Winkelcentrum,18 +56,amfitheater,AM,AMFITHEATER,Openluchttheater,21 +57,zwembad,ZW,ZWEMBAD,Openluchtzwembad,20 +58,Sleutel,SL,SLEUTEL,de Sleutel,22 +59,Mondriaan,MO,MONDRIAAN,Gastenwoningen,33 +60,Vlinder,VI,VLINDER,de vlinder,23 +61,medisch centrum,MC,MEDISCH C,Medisch Centrum,19 +62,Boerderij Bosch,BB,BOERD BOSCH,Boerderij Bosch,41 +63,blokhutten,BL,BLOKHUTTEN,Blokhutten,40 +64,tennispark,TP,TENNISPARK,Tennispark,27 +65,Logica,LO,LOGICA,Logica,26 +66,BTC,BTC,BTC,BTC, Twinning Centre,36 +67,Capitool 15,CA,CAPITOOL,Capitool 15,43 +68,B&S-park,B&S,B&S-PARK,TSM,35A +69,Institutenweg 1,IN,INSTITUTENW,Institutenweg 1,42 +,,BO,BOUWHUIS,, +,,LE,LEEUWARDEN,, +M,medewerkerswoningen,,,Stafwoningen,25 +S,studentenhuisvesting,,,Studentenhuisvesting,24 +H,bushalte,,,bushalte,H +P,parkeerplaats,,,parkeersplaats,P diff --git a/vandale/command.cfg b/vandale/command.cfg new file mode 100644 index 0000000..339a076 --- /dev/null +++ b/vandale/command.cfg @@ -0,0 +1,3 @@ +level = 0 +cache = 86400 # 1 day +author = tsd diff --git a/vandale/vandale.pl b/vandale/vandale.pl new file mode 100755 index 0000000..167a7fd --- /dev/null +++ b/vandale/vandale.pl @@ -0,0 +1,96 @@ +#!/usr/bin/perl -w +# Casper Joost Eyckelhof (Titanhead) +# casper@joost.student.utwente.nl + +# enhanced by Bas van Sisseren (tsd) +# bas@dnd.utwente.nl + +use strict; +use LWP::UserAgent; +use URI::Escape; +use HTML::Entities; + +my $address = $ENV{'MULTI_USER'}; # address of invoking user +my $user = $ENV{'MULTI_REALUSER'}; # multigate username of invoking user +my $userlevel = $ENV{'MULTI_USERLEVEL'}; # userlevel of invoking user +my $from_protocol = $ENV{'MULTI_FROM'}; # protocol this command was invoked from +my $to_protocol = $ENV{'MULTI_TO'}; # protocol where output will be sent +my $command_level = $ENV{'MULTI_COMMANDLEVEL'}; # level needed for this command +my $is_multicast = $ENV{'MULTI_IS_MULTICAST'}; # message to multiple recipients (channels) + + +my $max_words = $is_multicast ? 1 : 3; + +if ( !( defined $ARGV[0] ) || ( $ARGV[0] =~ /^\s*$/ ) ) { + print "Geef zoekterm\n"; + exit 0; +} + +my $zoekwoord = $ARGV[0]; + +#if (( $ENV{'MULTI_REALUSER'} =~ /grit/i ) && ( $zoekwoord =~ /^kleptocratentax$/i )) { +# print "kleptocratentax: extra belasting op vertrekbonussen voor hoge bestuurders\n"; +# exit 0; +#} + +my $ua = new LWP::UserAgent; + +my @agents = ( + "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)", "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Opera 6.01 [en]" +); + +my $agent = @agents[ int( rand(@agents) ) ]; +$ua->agent($agent); + +$zoekwoord =~ s/\s//g; +$zoekwoord = uri_escape($zoekwoord); + +#$zoek_url = "http://www.vandale.nl/NASApp/cs/ContentServer?zoekwoord=$zoekwoord&pagename=VanDale%2FZoekResultaat"; +my $zoek_url = "http://www.vandale.nl/opzoeken/woordenboek/?zoekwoord=$zoekwoord"; + +my $request = new HTTP::Request( 'GET', $zoek_url ); +$request->referer("http://www.vandale.nl/"); +$request->header( "Accept" => "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png" ); +$request->header( "Accept-Encoding" => "gzip" ); +$request->header( "Accept-Language" => "en" ); +$request->header( "Accept-Charset" => "iso-8859-1,*,utf-8" ); + +my $response = $ua->request($request); +my $content = $response->content; + + +my $data = $content; +$data =~ s/\n\s+/\n/g; +$data =~ s/]*>/\n/ig; +$data =~ s/]*>/\n /ig; +$data =~ s/]*>(.*?)<\/u[^>]*>/\c_$1\c_/ig; +$data =~ s/<[^>]*>//g; +$data = decode_entities($data); + +$data =~ s/\r//g; + +$data =~ s/^.*?\nRESULTAAT[^\n]*\n//s + or do { + print "Woord niet gevonden.\n"; + exit 0; + }; + +$data =~ s/\nOpnieuw\/verfijnd zoeken.*?$//s + or do { + print "Woord niet gevonden.\n"; + exit 0; + }; + +$data =~ s/^\n+//; +$data =~ s/\n\n+/\n\n/g; +$data =~ s/\n+$//; + +my @words = split /\n\n/, $data; +my @out = (); + +while (@words && ($max_words-- > 0)) { + push @out, shift @words; +} + +print join("\n\n", @out)."\n"; diff --git a/vb/command.cfg b/vb/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/vb/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/vb/level b/vb/level new file mode 100644 index 0000000..573541a --- /dev/null +++ b/vb/level @@ -0,0 +1 @@ +0 diff --git a/vb/vb.pl b/vb/vb.pl new file mode 100755 index 0000000..ef59ff5 --- /dev/null +++ b/vb/vb.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl -w +use strict; + +my %openingstijden = ( + "zondag" => "21:00", + "maandag" => "21:00", + "dinsdag" => "21:00", + "woensdag" => "21:00", + "donderdag" => "22:00", + "vrijdag" => "22:00", + "zaterdag" => "22:00" +); + +my $thisday = ( 'zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag' )[ (localtime)[6] ]; + +if ( @ARGV && defined( $openingstijden{ lc( $ARGV[0] ) } ) ) { + $thisday = lc( $ARGV[0] ); +} + +print "Op $thisday is de VB geopend vanaf $openingstijden{$thisday}.\n"; diff --git a/version/command.cfg b/version/command.cfg new file mode 100644 index 0000000..012be23 --- /dev/null +++ b/version/command.cfg @@ -0,0 +1,13 @@ +# format: option = value +# comments start with a '#' sign, empty lines are ignored + +# level: level needed to run this command +level = 0 + +# user: command needs to know who is calling (0=no; 1=yes) +# default 0 +user = 0 # command needs to know who is calling (0=no; 1=yes) + +# cache: minutes to cache results from command +# default 0; no caching at all +cache = 0 diff --git a/version/help.txt b/version/help.txt new file mode 100644 index 0000000..41033c7 --- /dev/null +++ b/version/help.txt @@ -0,0 +1 @@ +version: returns the version of the currently running Multigate \ No newline at end of file diff --git a/version/version.pl b/version/version.pl new file mode 100755 index 0000000..1c74ae3 --- /dev/null +++ b/version/version.pl @@ -0,0 +1,14 @@ +#!/usr/bin/perl -w +# +# Casper Joost Eyckelhof , 2002 + +use strict; + +use lib '../../lib/'; +use Multigate::Config qw( getconf readconfig ); + +readconfig("../../multi.conf"); + +my $version = getconf('multiversion'); + +print "Multigate version: \"$version\" running\n"; diff --git a/vertaal/command.cfg b/vertaal/command.cfg new file mode 100644 index 0000000..ada8638 --- /dev/null +++ b/vertaal/command.cfg @@ -0,0 +1,2 @@ +cache = 3600 +level = 1000 diff --git a/vertaal/help.txt b/vertaal/help.txt new file mode 100644 index 0000000..bfa802d --- /dev/null +++ b/vertaal/help.txt @@ -0,0 +1,2 @@ +vertaal : vertaalt woord van of naar nederlands. (Codes: en, ne, fn, nf, dn, nd, in, ni, sn, sn) +zie ook: http://www.euroglotonline.nl/default.html \ No newline at end of file diff --git a/vertaal/old/command.cfg b/vertaal/old/command.cfg new file mode 100644 index 0000000..aaf7ba1 --- /dev/null +++ b/vertaal/old/command.cfg @@ -0,0 +1,2 @@ +cache = 3600 +level = 100 diff --git a/vertaal/old/help.txt b/vertaal/old/help.txt new file mode 100644 index 0000000..fb57c48 --- /dev/null +++ b/vertaal/old/help.txt @@ -0,0 +1,2 @@ +vertaal code woord: vertaalt woord van of naar nederlands. (Codes: ne,en,nd,dn,nf,fn,ni,in,ns,sn,nl,ln,na,an,nz,zn) +zie ook: http://dictionaries.travlang.com/dutch.html \ No newline at end of file diff --git a/vertaal/old/vertaal.pl b/vertaal/old/vertaal.pl new file mode 100755 index 0000000..fbb734d --- /dev/null +++ b/vertaal/old/vertaal.pl @@ -0,0 +1,81 @@ +#!/usr/bin/perl +# Casper Joost Eyckelhof (Titanhead) +# joost@dnd.utwente.nl + +use strict; +use LWP::UserAgent; + +my ( $taal, $woord, $prut ) = split ' ', $ARGV[0], 3; + +$taal = lc($taal); +$woord = lc($woord); + +my %taalurl = ( + 'en' => "DutchEnglish", + 'ne' => "EnglishDutch", + 'fn' => "DutchFrench", + 'nf' => "FrenchDutch", + 'nd' => "GermanDutch", + 'dn' => "DutchGerman", + 'ni' => "ItalianDutch", + 'in' => "DutchItalian", + 'ns' => "SpanishDutch", + 'sn' => "DutchSpanish", + 'np' => "PortugueseDutch", + 'pn' => "DutchPortuguese", + 'nl' => "LatinDutch", + 'ln' => "DutchLatin", + 'nz' => "SwedishDutch", + 'zn' => "DutchSwedish", + 'na' => "AfrikaansDutch", + 'an' => "DutchAfrikaans" + + # 'ne' => "EsperantoDutch", + # 'en' => "DutchEsperanto" +); + +unless ( ( defined $taalurl{$taal} ) && defined $woord ) { + print "Geef bestaande taalcode en 1 woord. (Bv. \"vertaal ne bier\")\n"; + exit 0; +} + +# bepaal juiste pagina +my $url = "http://dictionaries.travlang.com/" . $taalurl{$taal} . "/dict.cgi?query=$woord&max=20"; + +#Haal pagina op +my $ua = new LWP::UserAgent; + +#Set agent name, vooral niet laten weten dat we een script zijn +my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; +$ua->agent($agent); + +my $request = new HTTP::Request( 'GET', $url ); +my $result = $ua->request($request); + +unless ( $result->is_success ) { + print "Error opening page\n"; + exit 0; +} + +my $content = $result->content; + +#alles tussen
 en 
+$content =~ s/^.*?
(.*?)<\/pre>.*?$/$1/is;
+
+my @lines = split /^/m, $content;
+
+# Zoek de goede regel
+my $result;
+my $aantal = 0;
+foreach my $line (@lines) {
+    if ( $line =~ /^(\S+)/i ) {
+        $result .= "$1 ";
+        $aantal++;
+    }
+}
+
+if ($aantal) {
+    print "$woord: $result\n";
+} else {
+    print "Niets gevonden\n";
+}
diff --git a/vertaal/vertaal.pl b/vertaal/vertaal.pl
new file mode 100755
index 0000000..5c37be3
--- /dev/null
+++ b/vertaal/vertaal.pl
@@ -0,0 +1,99 @@
+#!/usr/bin/perl 
+# Arjan Opmeer (Ado)
+# ado@dnd.utwente.nl
+
+use strict;
+use LWP::UserAgent;
+
+my ( $lang, $word, undef ) = split ( ' ', $ARGV[0], 3 );
+
+$lang = lc($lang);
+$word = lc($word);
+
+my $multicast = $ENV{'MULTI_IS_MULTICAST'};
+my $maxlines  = 4;                            #maxlines on multicast channel
+
+my %langtable = (
+    'e' => "Engels",
+    'n' => "Nederlands",
+    'f' => "Frans",
+    'd' => "Duits",
+    'i' => "Italiaans",
+    's' => "Spaans"
+);
+
+my $fromlang = $langtable{ substr( $lang, 0, 1 ) };
+my $tolang   = $langtable{ substr( $lang, 1, 1 ) };
+
+#print "from: $fromlang\nto: $tolang\n";
+
+if ( ( !defined $fromlang ) || ( !defined $tolang ) || ( !defined $word ) ) {
+    print "Geef bestaande taalcode en 1 woord. (Bv. \"vertaal ne bier\")\n";
+    exit(1);
+}
+
+# Construct URL
+my $url =
+  "http://www.euroglotonline.nl/scripts/Eginternet/Euroglot.exe?&ScreenLanguage=Dutch&srcLang="
+  . $fromlang
+  . "&dstLang=" . $tolang
+  . "&srcInput=" . $word
+  . "&MorphReg=false&";
+
+# Create a new useragent instance
+my $ua = new LWP::UserAgent;
+
+# Set agent name. Don't let the other side know that we are a script
+my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)";
+$ua->agent($agent);
+
+# Fetch the requested page
+my $request = new HTTP::Request( 'GET', $url );
+my $result  = $ua->request($request);
+
+if ( !$result->is_success ) {
+    print "Error opening page\n";
+    exit(1);
+}
+
+my $content = $result->content;
+
+# Bleh! Output uses CRLF. Remove CR.
+$content =~ s/\r//sg;
+
+# Strip down output to inner table of nested tables structure
+$content =~ s/^.*?(.*)<\/table>.*?$/$1/si;
+$content =~ s/^.*?(.*)<\/table>.*?$/$1/si;
+$content =~ s/^.*?(.*)<\/table>.*?$/$1/si;
+
+# Remove remaining HTML markup
+$content =~ s/<.*?>//sg;
+
+# Remove leading and trailing whitespace
+$content =~ s/^\s*//mg;
+$content =~ s/\s*$//mg;
+
+my @lines = split ( /^/m, $content );
+chomp(@lines);
+
+# Find matches
+my $result  = "";
+my @results = ();
+my $count   = 0;
+for ( my $i = 0 ; $i < $#lines ; $i = $i + 2 ) {
+    if ( $lines[$i] =~ /^$word/i ) {
+        $count++;
+        $result .= "$count. $lines[$i]: $lines[$i + 1]\n";
+        push @results, "$count. $lines[$i]: $lines[$i + 1]";
+    }
+}
+
+if ($count) {
+    if ($multicast) {    #print $maxlines lines
+        print join "\n", splice( @results, 0, $maxlines );
+    } else {    #print everything
+        print join "\n", @results;
+    }
+} else {
+    print "Niets gevonden\n";
+}
diff --git a/vijf/command.cfg b/vijf/command.cfg
new file mode 100644
index 0000000..f12d7a2
--- /dev/null
+++ b/vijf/command.cfg
@@ -0,0 +1,3 @@
+level = 0
+cache = 0  #0 seconds
+author = CAD
\ No newline at end of file
diff --git a/vijf/vijf.pl b/vijf/vijf.pl
new file mode 100755
index 0000000..705cfce
--- /dev/null
+++ b/vijf/vijf.pl
@@ -0,0 +1,23 @@
+#!/usr/bin/perl -w
+
+my $tijd = scalar localtime;
+my $realuser = $ENV{'MULTI_REALUSER'};
+
+$tijd =~ s/\ 17:/05/g;
+
+$tijd =~ s/[^5]//g;
+
+if ( length($tijd) == 0 ) {
+    if( $realuser eq "ctlaltdel" ) {
+        print "Voor jou altijd!\n";
+    } else {   
+        print "Jammer joh, geen vijf in de klok.\n";
+    }
+} else {
+    if ( length($tijd) > 1 ) {
+        print "Er zitten " . length($tijd) . " vijven in de klok!\n";
+    } else {
+        print "Er zit een vijf in de klok!\n";
+    }
+}
+
diff --git a/vote/command.cfg b/vote/command.cfg
new file mode 100644
index 0000000..b9ff63f
--- /dev/null
+++ b/vote/command.cfg
@@ -0,0 +1 @@
+level = 50
\ No newline at end of file
diff --git a/vote/help.txt b/vote/help.txt
new file mode 100644
index 0000000..1810673
--- /dev/null
+++ b/vote/help.txt
@@ -0,0 +1 @@
+vote [partij]: wat ga jij stemmen? Zonder argument geeft het een tussenstand. Let op: je voorkeur wordt met naam erbij opgeslagen op de server om te voorkomen dat mensen 2x stemmen. Wisselen kan, laatste stem telt.
\ No newline at end of file
diff --git a/vote/vote.pl b/vote/vote.pl
new file mode 100755
index 0000000..a323a7a
--- /dev/null
+++ b/vote/vote.pl
@@ -0,0 +1,42 @@
+#!/usr/bin/perl -w
+## Import available environment variables
+
+my $realuser    = $ENV{'MULTI_REALUSER'};             # multigate username of invoking user
+my $commandline = defined $ARGV[0] ? $ARGV[0] : '';
+
+my %votes = ();    # user -> partij
+                   # read votes
+open( VOTE, ") {
+    chomp;
+    my ( $user, $party ) = split ':';
+    $votes{$user} = $party;
+}
+close VOTE;
+
+if ( $commandline eq '' ) {
+
+    #results:
+    my %partycount = ();
+    foreach my $user ( keys %votes ) {
+        $partycount{ $votes{$user} }++;
+    }
+    my $total = keys %votes;
+    foreach my $party ( sort { $partycount{$b} <=> $partycount{$a} } keys %partycount ) {
+        my $percentage = int( 100 * ( $partycount{$party} / $total ) );
+        print "$party: $partycount{$party}($percentage\%); ";
+    }
+
+} else {
+    $commandline =~ s/\s//g;
+    my $party = lc($commandline);
+    $votes{$realuser} = $party;
+
+    #write votes
+    open( VOTE, ">vote.dat" );
+    foreach my $user ( keys %votes ) {
+        print VOTE "$user:$votes{$user}\n";
+    }
+    close VOTE;
+    print "Voted\n";
+}
diff --git a/vrouwnato/command.cfg b/vrouwnato/command.cfg
new file mode 100644
index 0000000..711930a
--- /dev/null
+++ b/vrouwnato/command.cfg
@@ -0,0 +1 @@
+level = 0
diff --git a/vrouwnato/help.txt b/vrouwnato/help.txt
new file mode 100644
index 0000000..ac8af07
--- /dev/null
+++ b/vrouwnato/help.txt
@@ -0,0 +1 @@
+nato: converts text to NATO spelling alphabet
\ No newline at end of file
diff --git a/vrouwnato/level b/vrouwnato/level
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/vrouwnato/level
@@ -0,0 +1 @@
+0
diff --git a/vrouwnato/vrouwnato.pl b/vrouwnato/vrouwnato.pl
new file mode 100755
index 0000000..bed312c
--- /dev/null
+++ b/vrouwnato/vrouwnato.pl
@@ -0,0 +1,49 @@
+#!/usr/bin/perl -w
+use strict;
+
+my %table = (
+    A => "ANNA",
+    B => "BABETTE",
+    C => "CARLA",
+    D => "DONNA",
+    E => "ELISA",
+    F => "FROUKJE",
+    G => "GERDA",
+    H => "HARRIET",
+    I => "IRENE",
+    J => "JULIETT",
+    K => "KARLIJN",
+    L => "LEONTIEN",
+    M => "MAMA",
+    N => "NINA",
+    O => "OMA",
+    P => "PRINSES",
+    Q => "QUANYA",
+    R => "RONJA",
+    S => "SARAH",
+    T => "TINA",
+    U => "URSULA",
+    V => "VICTORIA",
+    W => "WENDY",
+    X => "XANDRA",
+    Y => "YVONNE",
+    Z => "ZELDA",
+    0 => "ZERO",
+    1 => "ONE",
+    2 => "TWO",
+    3 => "THREE",
+    4 => "FOUR",
+    5 => "FIVE",
+    6 => "SIX",
+    7 => "SEVEN",
+    8 => "EIGHT",
+    9 => "NINER"
+);
+
+my $input = $ARGV[0];
+
+$input =~ s/\W//g;
+$input =~ s/([A-Za-z0-9])/$table{uc($1)} /g;
+
+print $input, "\n";
+
diff --git a/wauwel/command.cfg b/wauwel/command.cfg
new file mode 100644
index 0000000..b9ff63f
--- /dev/null
+++ b/wauwel/command.cfg
@@ -0,0 +1 @@
+level = 50
\ No newline at end of file
diff --git a/wauwel/help.txt b/wauwel/help.txt
new file mode 100644
index 0000000..2d8117b
--- /dev/null
+++ b/wauwel/help.txt
@@ -0,0 +1 @@
+wauwel: gewauwel...
\ No newline at end of file
diff --git a/wauwel/kretologie.txt b/wauwel/kretologie.txt
new file mode 100644
index 0000000..7b0d48a
--- /dev/null
+++ b/wauwel/kretologie.txt
@@ -0,0 +1,3 @@
+A = new Array("geïntegreerde ","systematische ","functionele ","multi-disciplinaire ","gekantelde ","normatieve ","sociaal-psychologische ","dynamische ","geobjectiveerde ","structurele ");
+B = new Array("begeleiding van ","organisatorische ","ontwikkeling van ","benadering van ","technologische ","relationele ","coördinatie van ","bureaucratische ","prognose van ","conservatieve ");
+C = new Array("veranderingsprocessen","modelontwikkeling","gedragsalternatieven","managementtechnieken","organisatievormen","spanningsvelden","machtsaspecten","informatiesystemen","communicatiemethoden","strategiebepaling");
diff --git a/wauwel/onzingeneratoren.html b/wauwel/onzingeneratoren.html
new file mode 100644
index 0000000..fb8a244
--- /dev/null
+++ b/wauwel/onzingeneratoren.html
@@ -0,0 +1,442 @@
+
+
+
+
+	Komma Punt Net - Onzingeneratoren
+      
+	
+	
+	
+	
+	
+	
+
+
+ 
+
+	
+Komma Punt Net - Onzingeneratoren
+
+
+
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    
+    
+    
+
+
+
+
+
+
+    
+    
+    
+
+
+
+
+
+    
+    
+    
+
+
+
+
+
+    
+    
+    
+
+
+
+
+    
+    
+    
+
+
+
+
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
voorpagina
de binnenkomer
kantoortaal
spreekmoorden
onzingeneratoren
signatures
columns
business babbel bingo
links
uit het lood
over de maker
het rommelhok
+
Mailen?

+webmaster@komma.net
+
© 2001/2003
+Komma Punt Net
+
+ + +


+ + + + +
+ + +
+ +

+

+ Onzingeneratoren +



+

Huh? Onzingeneratoren? Jazeker, reeksen met zinsneden en + uitdrukkingen die veel letters bevatten en een omgekeerd evenredige + inhoud en daarnaast nog eens willekeurig uitgewisseld kunnen worden + zonder aan betekenis te verliezen - of te winnen....

Even voor alle duidelijkheid: dit is niet door Wammes bedacht. Het + is een wijd en zijd verbreid tijdverdrijf, dat hier en daar wat + professioneler wordt gebruikt. De onderstaande voorbeelden zijn + sterk geïnspireerd op - om niet te zeggen ontleend aan - het boek Kantoortaal van Wim de Jong en Henrico + Prins.

Het principe is eenvoudig: klik op een van de knoppen en er komt + een zin tevoorschijn met een reeks vre-se-lij-ke uitdrukkingen, + voornamelijk uit het ambtelijke circuit en dat van de zakelijke + dienstverlening.

Veel plezier!

+ + (Let op: dit werkt alleen met JavaScript ingeschakeld. Waarom ik op deze webstek gebruik heb gemaakt van JavasScript, is hier te lezen.) +

+

+ De systematische trefwoordenprojector +


+ +
+
+ + +






+
+

+ De kretologiemixer +


+
+
+ + +






+
+

+ De rapportvuller +

+
+
+
+ + +






+
+

+ De welzijnsroomklopper +

+
+
+
+ + +




+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/wauwel/projector.txt b/wauwel/projector.txt new file mode 100644 index 0000000..b678585 --- /dev/null +++ b/wauwel/projector.txt @@ -0,0 +1,3 @@ +A = new Array("geïntegreerde ","collectieve ","parallelle ","graduele ","schematische ","formatieve ","optimale ","gesynchroniseerde ","functionele ","optionele ", "geobjectiveerde ", "uitgekristalliseerde ", "normatieve "); +B = new Array("beleids","rationaliserings","systeem","management","productiviteits","normaliserings","structuur","utiliteits","ontwikkelings","organisatie"); +C = new Array("standaardisatie","synthese","inschaling","mobiliteit","analyse","programmering","fasering","projectie","stabilisatie","flexibiliteit","rapportage"); diff --git a/wauwel/rapportvuller.txt b/wauwel/rapportvuller.txt new file mode 100644 index 0000000..e9916a7 --- /dev/null +++ b/wauwel/rapportvuller.txt @@ -0,0 +1,4 @@ +A = new Array("In het bijzonder kunnen wij stellen dat ","Anderzijds zijn wij van mening dat ","Wij kunnen er echter van uitgaan dat ","Hiermee rekening houdend is het juist dat ","Waardoor ","De conclusie is gewettigd dat ","Ook is het uiterst waarschijnlijk dat ","Met het oog op doelstellingen ten gevolge waarvan ","U zult toch moeilijk kunnen ontkennen dat ","De moderne opvatting gaat ervan uit dat "); +B = new Array("het overgrote deel van de input/output coördinatie ","een voortdurende stroom van effectieve informatie ","de karakterisering van specifieke criteria ","de initialisering van de ontwikkeling van het kritieke subsysteem ","het volledig geïntegreerde testprogramma ","de basis van de productconfiguratie ","ieder geassocieerd dienstverlenend element ","de incorporatie van additionele uitvoeringsvoorwaarden ","het onafhankelijk functioneel principe ","de primaire interrelatie van technologieën "); +C = new Array("gebruik moet maken van en functioneel verweven moet zijn met ","de waarschijnlijkheid optimaliseert van het succes tot ","de expliciete gebruikslimieten toevoegt aan ","het noodzakelijk maakt dat urgent beschouwing wordt toegepast op ","niet te onderschatten systeemonderzoek vergt om te komen tot ","verder geëlaboreerd wordt met beschouwingen ten aanzien van ","een uitermate interessante stimulans levert voor ","het belang erkent van andere systemen en de noodzaak voor ","invloed heeft op een buitengewoon interessante implementatie van ","allesoverheersende bedrijfsvoorwaarden toevoegt aan "); +D = new Array("het moderne doch gecompliceerde technische resultaat","de verwachte vierde-generatieapparatuur","het testen van de bedrijfszekerheid van het subsysteem","het gestructureerde ontwerp dat gebaseerd is op de technologische concepten","de initiële grenzen van de classificatie-limiet","de ontwikkeling van het technische gedrag over een gegeven tijdsbestek","de heersende grondgedachte ten aanzien van systeemdwang en standaardisatie","het concept van de stijgende penetratiegraad","een willekeurige discontinue samenstellingmodus","een volledige systeembenadering"); diff --git a/wauwel/wauwel.pl b/wauwel/wauwel.pl new file mode 100755 index 0000000..9baf3a1 --- /dev/null +++ b/wauwel/wauwel.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl -w +use strict; +my @first = ( + "geïntegreerde ", "collectieve ", "parallelle ", "graduele ", + "schematische ", "formatieve ", "optimale ", "gesynchroniseerde ", + "functionele ", "optionele ", "geobjectiveerde ", "uitgekristalliseerde ", + "normatieve ", "progressieve ", "decentrale ", "centrale ", + "strategische ", "pseudo-", "duurzame " +); +my @second = ( + "beleids", "rationaliserings", "systeem", "management", "productiviteits", "normaliserings", + "structuur", "utiliteits", "ontwikkelings", "organisatie" +); +my @third = ( + "standaardisatie", "synthese", "inschaling", "mobiliteit", "analyse", "programmering", + "fasering", "projectie", "stabilisatie", "flexibiliteit", "rapportage", "participatie", + "bevordering" +); + +my $result = $first[ rand(@first) ] . $second[ rand(@second) ] . $third[ rand(@third) ]; + +print "$result\n"; diff --git a/wauwel/welzijn.txt b/wauwel/welzijn.txt new file mode 100644 index 0000000..255f4a3 --- /dev/null +++ b/wauwel/welzijn.txt @@ -0,0 +1,3 @@ +A = new Array("creatief ","een stukje ","holistisch ","existentieel ","lichamelijk ","geestelijk ","spiritueel ","religieus ","dynamisch "); +B = new Array("omvattend ","vervullend ","sociaal ","vermenselijkend ","wezenlijk ","groepsmatig ","natuurlijk ","binnenwerelds ","innerlijk ","kritisch "); +C = new Array("aanreiken","duiden","omvatten","invoelen","verwerken","anders-zijn","jezelf-zijn","naar-de-ander-gaan","verwerkelijken","vermaatschappelijken"); diff --git a/weather/command.cfg b/weather/command.cfg new file mode 100644 index 0000000..0c6f223 --- /dev/null +++ b/weather/command.cfg @@ -0,0 +1,2 @@ +level = 50 +cache = 180 \ No newline at end of file diff --git a/weather/help.txt b/weather/help.txt new file mode 100644 index 0000000..2476566 --- /dev/null +++ b/weather/help.txt @@ -0,0 +1 @@ +weather : current weather and forecasts from CNN Weather services \ No newline at end of file diff --git a/weather/weather.pl b/weather/weather.pl new file mode 100755 index 0000000..7a212a7 --- /dev/null +++ b/weather/weather.pl @@ -0,0 +1,52 @@ +#!/usr/bin/perl +# Ooit via wiggy gekregen +# Aangepast toen CNN de html ging aanpassen +# Moet een keer overnieuw, is vies! + +my $query = $ARGV[0]; + +my $response = `wget -o /dev/null -O /dev/stdout http://weather.cnn.com/weather/search?wsearch='$query'`; +my $reply = "I can't find the temperature for '$query'"; + +if ( $response =~ /\((-?\d+)°c\)/i ) { + my $temperature = $1; + my $weathertype = "Unknown"; + my $forecast = ""; + my $day = ""; + my $daytemp = 0; + my @type; + + if ( $response =~ + m|
(.*?)
|i + ) + { + $weathertype = $1; + } + + while ( $response =~ + m|(.*?)
-?\d+°F \((-?\d+)°C\).*?http://i.cnn.net/cnn/.element/img/1.0/weather/med/(.*?)\.gif(.*)$"|si + ) + { + #print STDERR "Match\n"; + @type = split ( /\./, $3 ); + $day = $1; + $daytemp = $2; + $response = $4; + $type[0] =~ s/^(.)/\u$1/; + $forecast = $forecast . $day . ": " . $daytemp . " C (" . join ( " ", @type ) . ") "; + } + + $query =~ s/^(.)/\u$1/; + $reply = "It's $temperature C ($weathertype) in $query,\nforecast: $forecast"; +} elsif ( $response =~ /\?locCode=[^"]+">([^<]+)/ ) { + $reply = "Multiple cities match your query: "; + + while ( $response =~ /\?locCode=[^"]+">([^<]+)/ ) { + $reply = $reply . "'" . $1 . "' "; + + $response = $'; + } +} + +print("$reply\n"); + diff --git a/weer/command.cfg b/weer/command.cfg new file mode 100644 index 0000000..acad6d4 --- /dev/null +++ b/weer/command.cfg @@ -0,0 +1,2 @@ +level = 0 +cache = 1800 # 30 minutes \ No newline at end of file diff --git a/weer/help.txt b/weer/help.txt new file mode 100644 index 0000000..bd122f4 --- /dev/null +++ b/weer/help.txt @@ -0,0 +1 @@ +Het KNMI weerbericht. diff --git a/weer/level b/weer/level new file mode 100644 index 0000000..573541a --- /dev/null +++ b/weer/level @@ -0,0 +1 @@ +0 diff --git a/weer/test.pl b/weer/test.pl new file mode 100755 index 0000000..517a1c7 --- /dev/null +++ b/weer/test.pl @@ -0,0 +1,37 @@ +#!/usr/bin/perl -w +# Casper Joost Eyckelhof (Titanhead) +# casper@joost.student.utwente.nl + +use LWP::UserAgent; +use HTTP::Cookies; + +$ua = new LWP::UserAgent; + +#### allerlei fijne definities en initialisaties ######## + +@agents = ( + "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)", + "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)" +); + +$agent = @agents[ int( rand(@agents) ) ]; +$ua->agent($agent); + +$request = new HTTP::Request( 'GET', "http://www.knmi.nl/voorl/weer/weermain.html" ); +$request->referer("http://www.knmi.nl/voorl/weer/"); +$response = $ua->request($request); +$html = $response->content; +#$html =~ s/\n/ /g; + +$html =~ m/Het weer.*?td>.*?/s; + +my $weer = $1; + +$weer =~ s///; +$weer =~ s/<.*?>//g; +$weer =~ s/^.*?>//; +$weer =~ s/\n/ /g; +$weer =~ s/\r//g; +$weer =~ s/(\s+)/ /g; +$weer =~ s/\.\.\.//g; +print "$weer (Bron: KNMI)\n"; diff --git a/weer/weather.nl.pl b/weer/weather.nl.pl new file mode 100755 index 0000000..48c9325 --- /dev/null +++ b/weer/weather.nl.pl @@ -0,0 +1,39 @@ +#!/usr/bin/perl -w + +# Copyright (C) 1998 Thomas van Gulick +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +# 1998 May 20 +# - Actually nothing has changed to this script when it was ported to +# New Eru! +# 2000 June 20 +# - Major changes in program, doesn't look like the old +# one. + +use strict; + +my $html = `lynx -dump http://www.knmi.nl/voorl/weer/weermain.html`; +my $weerstart = index( $html, "Het weer:" ); +my $weerend = index( $html, "Waarschuwingen:" ); +my $rest1 = substr( $html, $weerstart + 9, $weerend - 13 ); +$rest1 =~ s/\s{2,5}/ /g; +$rest1 =~ /.*?uur\.(.*)/; +my $rest2 = $1; + +#print $rest2; +$rest2 =~ s/\n+/ /g; +$rest2 =~ s/^\s+//; #remove leading spaces +print $rest2; diff --git a/weer/weer.pl b/weer/weer.pl new file mode 100755 index 0000000..d3de86e --- /dev/null +++ b/weer/weer.pl @@ -0,0 +1,37 @@ +#!/usr/bin/perl -w +# Casper Joost Eyckelhof (Titanhead) +# casper@joost.student.utwente.nl + +use LWP::UserAgent; +use HTTP::Cookies; + +$ua = new LWP::UserAgent; + +#### allerlei fijne definities en initialisaties ######## + +@agents = ( + "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)", + "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)" +); + +$agent = @agents[ int( rand(@agents) ) ]; +$ua->agent($agent); + +$request = new HTTP::Request( 'GET', "http://www.knmi.nl/voorl/weer/weermain.html" ); +$request->referer("http://www.knmi.nl/voorl/weer/"); +$response = $ua->request($request); +$html = $response->content; +#$html =~ s/\n/ /g; + +#$html =~ m/Het weer.*?.*?/s; + +my $weer = $1; +$weer =~ s///; +$weer =~ s/<.*?>//g; +$weer =~ s/^.*?>//; +$weer =~ s/\n/ /g; +$weer =~ s/\r//g; +$weer =~ s/(\s+)/ /g; +$weer =~ s/\.\.\.//; +print "$weer (Bron: KNMI)\n"; diff --git a/weer/weer.pl.ftp.stuk b/weer/weer.pl.ftp.stuk new file mode 100755 index 0000000..76b1ffc --- /dev/null +++ b/weer/weer.pl.ftp.stuk @@ -0,0 +1,39 @@ +#!/usr/bin/perl -w +# Casper Joost Eyckelhof (Titanhead) +# casper@joost.student.utwente.nl + +use LWP::UserAgent; +use HTTP::Cookies; + +$ua = new LWP::UserAgent; + +#### allerlei fijne definities en initialisaties ######## + +@agents = ( + "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)", + "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)" +); + +$agent = @agents[ int( rand(@agents) ) ]; +$ua->agent($agent); + +$request = new HTTP::Request( 'GET', "ftp://ftp.knmi.nl/pub_weerberichten/basisverwachting.txt" ); +$response = $ua->request($request); +$html = $response->content; + +$html =~ s/\n/ /g; + +$html =~ m|Het weer:\s+(.*?)\s+De wind|is; +my $weer = $1; + +unless ($weer) { + if ($html =~ /\s{2,}(.*?)\s{2,}/is) { + $weer = $1; + } +} + +if ( $weer eq '' ) { + $weer = "Geen weer vandaag..."; +} + +print "$weer (Bron: KNMI)\n"; diff --git a/weer/weerftp.pl b/weer/weerftp.pl new file mode 100755 index 0000000..08d42d9 --- /dev/null +++ b/weer/weerftp.pl @@ -0,0 +1,26 @@ +#!/usr/bin/perl -w +# Casper Joost Eyckelhof (Titanhead) +# casper@joost.student.utwente.nl + +use LWP::UserAgent; +use HTTP::Cookies; + +$ua = new LWP::UserAgent; + +#### allerlei fijne definities en initialisaties ######## + +@agents = ( + "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)", + "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)" +); + +$agent = @agents[ int( rand(@agents) ) ]; +$ua->agent($agent); + +$request = new HTTP::Request( 'GET', "ftp://ftp.knmi.nl/pub_weerberichten/basisverwachting.txt" ); +$response = $ua->request($request); +$html = $response->content; + +$html =~ s/\n/ /g; +$html =~ m|Het weer:\s+(.*?)\s+De wind|is; +print "$1 (Bron: KNMI)\n"; diff --git a/weer/weersimpel.pl b/weer/weersimpel.pl new file mode 100755 index 0000000..e9ff0b2 --- /dev/null +++ b/weer/weersimpel.pl @@ -0,0 +1,27 @@ +#!/usr/bin/perl -w +# Casper Joost Eyckelhof (Titanhead) +# casper@joost.student.utwente.nl + +use LWP::UserAgent; + +$ua = new LWP::UserAgent; + +#### allerlei fijne definities en initialisaties ######## + +@agents = ( + "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)", + "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)" +); + +$agent = @agents[ int( rand(@agents) ) ]; +$ua->agent($agent); + +$request = new HTTP::Request( 'GET', "http://www.knmi.nl/voorl/weer/weermain.html" ); +$request->referer("http://www.knmi.nl/voorl/weer/"); +$response = $ua->request($request); +$html = $response->content; +$html =~ s/\n/ /g; +$html =~ s/\r//g; +$html =~ s/<.*?>//g; +$html =~ /.*?Het weer.*?uur\.\s*(.*?)\s*Waarschuwingen/; +print $1; diff --git a/weersvooruitzicht/command.cfg b/weersvooruitzicht/command.cfg new file mode 100644 index 0000000..a3008c2 --- /dev/null +++ b/weersvooruitzicht/command.cfg @@ -0,0 +1,3 @@ +level = 100 +cache = 300 +author = bas \ No newline at end of file diff --git a/weersvooruitzicht/content b/weersvooruitzicht/content new file mode 100644 index 0000000..18ebf2e --- /dev/null +++ b/weersvooruitzicht/content @@ -0,0 +1,108 @@ + + + NOS teletekst, Pagina: 704-01 + + + + + + + + + + +
Copyright NOS 2004
+ download hier de Teletekst browser voor windows
+ NIEUW: Nu ook een browser applicatie voor de MAC +
+ + + + + diff --git a/weersvooruitzicht/help.txt b/weersvooruitzicht/help.txt new file mode 100644 index 0000000..fd97c9d --- /dev/null +++ b/weersvooruitzicht/help.txt @@ -0,0 +1 @@ +geeft het weersvooruitzicht volgens het KNMI. (teletekst pagina 704) diff --git a/weersvooruitzicht/weersvooruitzicht.pl b/weersvooruitzicht/weersvooruitzicht.pl new file mode 100755 index 0000000..4f4b2c1 --- /dev/null +++ b/weersvooruitzicht/weersvooruitzicht.pl @@ -0,0 +1,88 @@ +#!/usr/bin/perl -w +# Bas van Sisseren / 17-05-2004 +# Based on: Casper Eyckelhof's !tt + +use strict; +use LWP::UserAgent; +use HTML::Entities; + +my $content; + +if (1) { + my $baseurl = "http://teletekst.nos.nl/tekst/"; + + my $cmdline = @ARGV ? shift: 'test'; + my $url = $baseurl . '704-01.html'; + + ## Get a certain URL + my $ua = new LWP::UserAgent; + + #Set agent name, we are not a script! :) + $ua->agent("Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"); + + my $request = new HTTP::Request( 'GET', $url ); + $request->referer('http://portal.omroep.nl/'); + + $request->header( "Accept" => 'application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1' ); + $request->header( "Accept-Encoding" => "gzip,deflate" ); + $request->header( "Accept-Language" => "en-us, en;q=0.5" ); + $request->header( "Accept-Charset" => "ISO-8859-1,utf-8;q=0.7,*" ); + + $content = $ua->request($request)->content; + + # open F, "> content"; + # print F $content; + # close F; +} else { + open F, "< content"; + $content = join '', ; + close F; +} + +#get everything between
 
+if ( $content =~ s/^.*?
(.*?)<\/pre>.*?$/$1/si ) {
+    $content =~ s/<[^>]*>//g;
+    $content = HTML::Entities::decode($content);
+    my @content = split /\n+/, $content;
+    my @days    = ();
+    my %data    = ();
+    foreach my $line (@content) {
+        chomp $line;
+        $line =~ s/^\s+//g;
+        $line =~ s/\s+/ /g;
+        $line =~ s/\s*$/ /g;
+        if ( $line =~ /^((ma|di|wo|do|vr|za|zo) ){5}$/ ) {
+            @days = split / /, $line;
+        }
+        if ( @days && $line =~ /^zon \% ((\d+ ){5})$/ ) {
+            my @val = split / /, $1;
+            for ( my $i = 0 ; $i < 5 ; $i++ ) { $data{ $days[$i] }{zon} = $val[$i] }
+        }
+        if ( @days && $line =~ /^neersl\. \% ((\d+ ){5})$/ ) {
+            my @val = split / /, $1;
+            for ( my $i = 0 ; $i < 5 ; $i++ ) { $data{ $days[$i] }{neerslag} = $val[$i] }
+        }
+        if ( @days && $line =~ /^min\.temp\. ((-?\d+ ){5})$/ ) {
+            my @val = split / /, $1;
+            for ( my $i = 0 ; $i < 5 ; $i++ ) { $data{ $days[$i] }{min_temp} = $val[$i] }
+        }
+        if ( @days && $line =~ /^max\.temp\. ((-?\d+ ){5})$/ ) {
+            my @val = split / /, $1;
+            for ( my $i = 0 ; $i < 5 ; $i++ ) { $data{ $days[$i] }{max_temp} = $val[$i] }
+        }
+        if ( @days && $line =~ /^-richting (([NWZSEO]+ |VAR ){5})$/ ) {
+            my @val = map { $_ eq 'VAR' ? '-' : $_ } split / /, $1;
+            for ( my $i = 0 ; $i < 5 ; $i++ ) { $data{ $days[$i] }{wind_ri} = $val[$i] }
+        }
+        if ( @days && $line =~ /^-kracht ((\d+ ){5})$/ ) {
+            my @val = split / /, $1;
+            for ( my $i = 0 ; $i < 5 ; $i++ ) { $data{ $days[$i] }{wind_kr} = $val[$i] }
+        }
+    }
+    foreach my $day (@days) {
+        printf "%s: %02u%% zon; %02u%% neerslag; %2s tot %2s graden; wind: %-2s %s\n", $day,
+          @{ $data{$day} }{ 'zon', 'neerslag', 'min_temp', 'max_temp', 'wind_ri', 'wind_kr' };
+    }
+} else {
+    print "Pagina niet gevonden\n";
+}
diff --git a/whoami/command.cfg b/whoami/command.cfg
new file mode 100644
index 0000000..925da72
--- /dev/null
+++ b/whoami/command.cfg
@@ -0,0 +1,2 @@
+level = 0
+user = 0
diff --git a/whoami/help.txt b/whoami/help.txt
new file mode 100644
index 0000000..0f72470
--- /dev/null
+++ b/whoami/help.txt
@@ -0,0 +1 @@
+whoami: geeft username en userlevel als je herkend wordt door multigate.
\ No newline at end of file
diff --git a/whoami/level b/whoami/level
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/whoami/level
@@ -0,0 +1 @@
+0
diff --git a/whoami/user b/whoami/user
new file mode 100644
index 0000000..a373fdb
--- /dev/null
+++ b/whoami/user
@@ -0,0 +1,4 @@
+The fact that this file exists, means that the file wants a username supplied as
+first argument.
+
+The content does not matter (yet..)
diff --git a/whoami/whoami.pl b/whoami/whoami.pl
new file mode 100755
index 0000000..7af9285
--- /dev/null
+++ b/whoami/whoami.pl
@@ -0,0 +1,12 @@
+#!/usr/bin/perl -w
+use strict;
+
+my $user  = $ENV{'MULTI_REALUSER'};
+my $level = $ENV{'MULTI_USERLEVEL'};
+
+if ( $user eq "pietjepuk" ) {
+    $user .= " (" . $ENV{'MULTI_USER'} . ")";
+}
+
+print "$user has level $level\n";
+
diff --git a/why/command.cfg b/why/command.cfg
new file mode 100644
index 0000000..5d439f1
--- /dev/null
+++ b/why/command.cfg
@@ -0,0 +1 @@
+level = 100
diff --git a/why/excuses b/why/excuses
new file mode 100755
index 0000000..673ad2e
--- /dev/null
+++ b/why/excuses
@@ -0,0 +1,452 @@
+clock speed
+solar flares
+electromagnetic radiation from satellite debris
+static from nylon underwear
+static from plastic slide rules
+global warming
+poor power conditioning
+static buildup
+doppler effect
+hardware stress fractures
+magnetic interference from money/credit cards
+dry joints on cable plug
+we're waiting for [the phone company] to fix that line
+sounds like a Windows problem, try calling Microsoft support
+temporary routing anomaly
+somebody was calculating pi on the server
+fat electrons in the lines
+excess surge protection
+floating point processor overflow
+divide-by-zero error
+POSIX compliance problem
+monitor resolution too high
+improperly oriented keyboard
+network packets travelling uphill (use a carrier pigeon)
+Decreasing electron flux
+first Saturday after first full moon in Winter
+radiosity depletion
+CPU radiator broken
+It works the way the Wang did, what's the problem
+positron router malfunction
+cellular telephone interference
+techtonic stress
+piezo-electric interference
+(l)user error
+working as designed
+dynamic software linking table corrupted
+heavy gravity fluctuation, move computer to floor rapidly
+secretary plugged hairdryer into UPS
+terrorist activities
+not enough memory, go get system upgrade
+interrupt configuration error
+spaghetti cable cause packet failure
+boss forgot system password
+bank holiday - system operating credits  not recharged
+virus attack, luser responsible
+waste water tank overflowed onto computer
+Complete Transient Lockout
+bad ether in the cables
+Bogon emissions
+Change in Earth's rotational speed
+Cosmic ray particles crashed through the hard disk platter
+Smell from unhygienic janitorial staff wrecked the tape heads
+Little hamster in running wheel had coronary; waiting for replacement to be Fedexed from Wyoming
+Evil dogs hypnotised the night shift
+Plumber mistook routing panel for decorative wall fixture
+Electricians made popcorn in the power supply
+Groundskeepers stole the root password
+high pressure system failure
+failed trials, system needs redesigned
+system has been recalled
+not approved by the FCC
+need to wrap system in aluminum foil to fix problem
+not properly grounded, please bury computer
+CPU needs recalibration
+system needs to be rebooted
+bit bucket overflow
+descramble code needed from software company
+only available on a need to know basis
+knot in cables caused data stream to become twisted and kinked
+nesting roaches shorted out the ether cable
+The file system is full of it
+Satan did it
+Daemons did it
+You're out of memory
+There isn't any problem
+Unoptimized hard drive
+Typo in the code
+Yes, yes, its called a design limitation
+Look, buddy:  Windows 3.1 IS A General Protection Fault.
+That's a great computer you have there; have you considered how it would work as a BSD machine?
+Please excuse me, I have to circuit an AC line through my head to get this database working.
+Yeah, yo mama dresses you funny and you need a mouse to delete files.
+Support staff hung over, send aspirin and come back LATER.
+Someone is standing on the ethernet cable, causing a kink in the cable
+Windows 95 undocumented "feature"
+Runt packets
+Password is too complex to decrypt
+Boss' kid fucked up the machine
+Electromagnetic energy loss
+Budget cuts
+Mouse chewed through power cable
+Stale file handle (next time use Tupperware(tm)!)
+Feature not yet implemented
+Internet outage
+Pentium FDIV bug
+Vendor no longer supports the product
+Small animal kamikaze attack on power supplies
+The vendor put the bug there.
+SIMM crosstalk.
+IRQ dropout
+Collapsed Backbone
+Power company testing new voltage spike (creation) equipment
+operators on strike due to broken coffee machine
+backup tape overwritten with copy of system manager's favourite CD
+UPS interrupted the server's power
+The electrician didn't know what the yellow cable was so he yanked the ethernet out.
+The keyboard isn't plugged in
+The air conditioning water supply pipe ruptured over the machine room
+The electricity substation in the car park blew up.
+The rolling stones concert down the road caused a brown out
+The salesman drove over the CPU board.
+The monitor is plugged into the serial port
+Root nameservers are out of sync
+electro-magnetic pulses from French above ground nuke testing.
+your keyboard's space bar is generating spurious keycodes.
+the real ttys became pseudo ttys and vice-versa.
+the printer thinks its a router.
+the router thinks its a printer.
+evil hackers from Serbia.
+we just switched to FDDI.
+halon system went off and killed the operators.
+because Bill Gates is a Jehovah's witness and so nothing can work on St. Swithin's day.
+user to computer ratio too high.
+user to computer ration too low.
+we just switched to Sprint.
+it has Intel Inside
+Sticky bits on disk.
+Power Company having EMP problems with their reactor
+The ring needs another token
+new management
+telnet: Unable to connect to remote host: Connection refused
+SCSI Chain overterminated
+It's not plugged in.
+because of network lag due to too many people playing deathmatch
+You put the disk in upside down.
+Daemons loose in system.
+User was distributing pornography on server; system seized by FBI.
+BNC (brain not connected)
+UBNC (user brain not connected)
+LBNC (luser brain not connected)
+disks spinning backwards - toggle the hemisphere jumper.
+new guy cross-connected phone lines with ac power bus.
+had to use hammer to free stuck disk drive heads.
+Too few computrons available.
+Flat tire on station wagon with tapes.  ("Never underestimate the bandwidth of a station wagon full of tapes hurling down the highway" Andrew S. Tannenbaum) 
+Communications satellite used by the military for star wars.
+Party-bug in the Aloha protocol.
+Insert coin for new game
+Dew on the telephone lines.
+Arcserve crashed the server again.
+Some one needed the powerstrip, so they pulled the switch plug.
+My pony-tail hit the on/off switch on the power strip.
+Big to little endian conversion error
+You can tune a file system, but you can't tune a fish (from most tunefs man pages)
+Dumb terminal
+Zombie processes haunting the computer
+Incorrect time synchronization
+Defunct processes
+Stubborn processes
+non-redundant fan failure 
+monitor VLF leakage
+bugs in the RAID
+no "any" key on keyboard
+root rot
+Backbone Scoliosis
+/pub/lunch
+excessive collisions & not enough packet ambulances
+le0: no carrier: transceiver cable problem?
+broadcast packets on wrong frequency
+popper unable to process jumbo kernel
+NOTICE: alloc: /dev/null: filesystem full
+pseudo-user on a pseudo-terminal
+Recursive traversal of loopback mount points
+Backbone adjustment
+OS swapped to disk
+vapors from evaporating sticky-note adhesives
+sticktion
+short leg on process table
+multicasts on broken packets
+ether leak
+Atilla the Hub
+endothermal recalibration
+filesystem not big enough for Jumbo Kernel Patch
+loop found in loop in redundant loopback
+system consumed all the paper for paging
+permission denied
+Reformatting Page. Wait...
+..disk or the processor is on fire.
+SCSI's too wide.
+Proprietary Information.
+Just type 'mv * /dev/null'.
+runaway cat on system.
+Did you pay the new Support Fee?
+We only support a 1200 bps connection.
+We only support a 28000 bps connection.
+Me no internet, only janitor, me just wax floors.
+I'm sorry a pentium won't do, you need an SGI to connect with us.
+Post-it Note Sludge leaked into the monitor.
+the curls in your keyboard cord are losing electricity.
+The monitor needs another box of pixels.
+RPC_PMAP_FAILURE
+kernel panic: write-only-memory (/dev/wom0) capacity exceeded.
+Write-only-memory subsystem too slow for this machine. Contact your local dealer.
+Just pick up the phone and give modem connect sounds. "Well you said we should get more lines so we don't have voice lines."
+Quantum dynamics are affecting the transistors
+Police are examining all internet packets in the search for a narco-net-trafficker
+We are currently trying a new concept of using a live mouse.  Unfortunately, one has yet to survive being hooked up to the computer.....please bear with us.
+Your mail is being routed through Germany ... and they're censoring us.
+Only people with names beginning with 'A' are getting mail this week (a la Microsoft)
+We didn't pay the Internet bill and it's been cut off.
+Lightning strikes.
+Of course it doesn't work. We've performed a software upgrade.
+Change your language to Finnish.
+Fluorescent lights are generating negative ions. If turning them off doesn't work, take them out and put tin foil on the ends.
+High nuclear activity in your area.
+What office are you in? Oh, that one.  Did you know that your building was built over the universities first nuclear research site? And wow, aren't you the lucky one, your office is right over where the core is buried!
+The MGs ran out of gas.
+The UPS doesn't have a battery backup.
+Recursivity.  Call back if it happens again.
+Someone thought The Big Red Button was a light switch.
+The mainframe needs to rest.  It's getting old, you know.
+I'm not sure.  Try calling the Internet's head office -- it's in the book.
+The lines are all busy (busied out, that is -- why let them in to begin with?).
+Jan  9 16:41:27 huber su: 'su root' succeeded for .... on /dev/pts/1
+It's those computer people in X {city of world}.  They keep stuffing things up.
+A star wars satellite accidently blew up the WAN.
+Fatal error right in front of screen
+That function is not currently supported, but Bill Gates assures us it will be featured in the next upgrade.
+wrong polarity of neutron flow
+Lusers learning curve appears to be fractal
+We had to turn off that service to comply with the CDA Bill.
+Ionization from the air-conditioning
+TCP/IP UDP alarm threshold is set too low.
+Someone is broadcasting pygmy packets and the router doesn't know how to deal with them.
+The new frame relay network hasn't bedded down the software loop transmitter yet. 
+Fanout dropping voltage too much, try cutting some of those little traces
+Plate voltage too low on demodulator tube
+You did wha... oh _dear_....
+CPU needs bearings repacked
+Too many little pins on CPU confusing it, bend back and forth until 10-20% are neatly removed. Do _not_ leave metal bits visible!
+_Rosin_ core solder? But...
+Software uses US measurements, but the OS is in metric...
+The computer fleetly, mouse and all.
+Your cat tried to eat the mouse.
+The Borg tried to assimilate your system. Resistance is futile.
+It must have been the lightning storm we had (yesterday) (last week) (last month)
+Due to Federal Budget problems we have been forced to cut back on the number of users able to access the system at one time. (namely none allowed....)
+Too much radiation coming from the soil.
+Unfortunately we have run out of bits/bytes/whatever. Don't worry, the next supply will be coming next week.
+Program load too heavy for processor to lift.
+Processes running slowly due to weak power supply
+Our ISP is having {switching,routing,SMDS,frame relay} problems
+We've run out of licenses
+Interference from lunar radiation
+Standing room only on the bus.
+You need to install an RTFM interface.
+That would be because the software doesn't work.
+That's easy to fix, but I can't be bothered.
+Someone's tie is caught in the printer, and if anything else gets printed, he'll be in it too.
+We're upgrading /dev/null
+The Usenet news is out of date
+Our POP server was kidnapped by a weasel.
+It's stuck in the Web.
+Your modem doesn't speak English.
+The mouse escaped.
+All of the packets are empty.
+The UPS is on strike.
+Neutrino overload on the nameserver
+Melting hard drives
+Someone has messed up the kernel pointers
+The kernel license has expired
+Netscape has crashed
+The cord jumped over and hit the power switch.
+It was OK before you touched it.
+Bit rot
+U.S. Postal Service
+Your Flux Capacitor has gone bad.
+The Dilithium Crystals need to be rotated.
+The static electricity routing is acting up...
+Traceroute says that there is a routing problem in the backbone.  It's not our problem.
+The co-locator cannot verify the frame-relay gateway to the ISDN server.
+High altitude condensation from U.S.A.F prototype aircraft has contaminated the primary subnet mask. Turn off your computer for 9 days to avoid damaging it.
+Lawn mower blade in your fan need sharpening
+Electrons on a bender
+Telecommunications is upgrading. 
+Telecommunications is downgrading.
+Telecommunications is downshifting.
+Hard drive sleeping. Let it wake up on it's own...
+Interference between the keyboard and the chair.
+The CPU has shifted, and become decentralized.
+Due to the CDA, we no longer have a root account.
+We ran out of dial tone and we're and waiting for the phone company to deliver another bottle.
+You must've hit the wrong any key.
+PCMCIA slave driver
+The Token fell out of the ring. Call us when you find it.
+The hardware bus needs a new token.
+Too many interrupts
+Not enough interrupts
+The data on your hard drive is out of balance.
+Digital Manipulator exceeding velocity parameters
+appears to be a Slow/Narrow SCSI-0 Interface problem
+microelectronic Riemannian curved-space fault in write-only file system
+fractal radiation jamming the backbone
+routing problems on the neural net
+IRQ-problems with the Un-Interruptible-Power-Supply
+CPU-angle has to be adjusted because of vibrations coming from the nearby road
+emissions from GSM-phones
+CD-ROM server needs recalibration
+firewall needs cooling
+asynchronous inode failure
+transient bus protocol violation
+incompatible bit-registration operators
+your process is not ISO 9000 compliant
+You need to upgrade your VESA local bus to a MasterCard local bus.
+The recent proliferation of Nuclear Testing
+Elves on strike. (Why do they call EMAG Elf Magic)
+Internet exceeded Luser level, please wait until a luser logs off before attempting to log back on.
+Your EMAIL is now being delivered by the USPS.
+Your computer hasn't been returning all the bits it gets from the Internet.
+You've been infected by the Telescoping Hubble virus.
+Scheduled global CPU outage
+Your Pentium has a heating problem - try cooling it with ice cold water.(Do not turn of your computer, you do not want to cool down the Pentium Chip while he isn't working, do you?)
+Your processor has processed too many instructions.  Turn it off immediately, do not type any commands!!
+Your packets were eaten by the terminator
+Your processor does not develop enough heat.
+We need a licensed electrician to replace the light bulbs in the computer room.
+The POP server is out of Coke
+Fiber optics caused gas main leak
+Server depressed, needs Prozac
+quantum decoherence
+those damn raccoons!
+suboptimal routing experience
+A plumber is needed, the network drain is clogged
+50% of the manual is in .pdf readme files
+the AA battery in the wallclock sends magnetic interference
+the xy axis in the trackball is coordinated with the summer solstice
+the butane lighter causes the pincushioning
+old inkjet cartridges emanate barium-based fumes
+manager in the cable duct
+Well fix that in the next (upgrade, update, patch release, service pack).
+HTTPD Error 666 : BOFH was here
+HTTPD Error 4004 : very old Intel cpu - insufficient processing power
+The ATM board has run out of 10 pound notes.  We are having a whip round to refill it, care to contribute ?
+Network failure -  call NBC
+Having to manually track the satellite.
+Your/our computer(s) had suffered a memory leak, and we are waiting for them to be topped up.
+The rubber band broke
+We're on Token Ring, and it looks like the token got loose.
+Stray Alpha Particles from memory packaging caused Hard Memory Error on Server.
+paradigm shift...without a clutch
+PEBKAC (Problem Exists Between Keyboard And Chair)
+The cables are not the same length.
+Second-system effect.
+Chewing gum on /dev/sd3c
+Boredom in the Kernel.
+the daemons! the daemons! the terrible daemons!
+I'd love to help you -- it's just that the Boss won't let me near the computer. 
+struck by the Good Times virus
+YOU HAVE AN I/O ERROR -> Incompetent Operator error
+Your parity check is overdrawn and you're out of cache.
+Communist revolutionaries taking over the server room and demanding all the computers in the building or they shoot the sysadmin. Poor misguided fools.
+Plasma conduit breach
+Out of cards on drive D:
+Sand fleas eating the Internet cables
+parallel processors running perpendicular today
+ATM cell has no roaming feature turned on, notebooks can't connect
+Webmasters kidnapped by evil cult.
+Failure to adjust for daylight savings time.
+Virus transmitted from computer to sysadmins.
+Virus due to computers having unsafe sex.
+Incorrectly configured static routes on the corerouters.
+Forced to support NT servers; sysadmins quit.
+Suspicious pointer corrupted virtual machine
+It's the InterNIC's fault.
+Root name servers corrupted.
+Budget cuts forced us to sell all the power cords for the servers.
+Someone hooked the twisted pair wires into the answering machine.
+Operators killed by year 2000 bug bite.
+We've picked COBOL as the language of choice.
+Operators killed when huge stack of backup tapes fell over.
+Robotic tape changer mistook operator's tie for a backup tape.
+Someone was smoking in the computer room and set off the halon systems.
+Your processor has taken a ride to Heaven's Gate on the UFO behind Hale-Bopp's comet.
+it's an ID-10-T error
+Dyslexics retyping hosts file on servers
+The Internet is being scanned for viruses.
+Your computer's union contract is set to expire at midnight.
+Bad user karma.
+/dev/clue was linked to /dev/null
+Increased sunspot activity.
+We already sent around a notice about that.
+It's union rules. There's nothing we can do about it. Sorry.
+Interference from the Van Allen Belt.
+Jupiter is aligned with Mars.
+Redundant ACLs. 
+Mail server hit by UniSpammer.
+T-1's congested due to porn traffic to the news server.
+Data for intranet got routed through the extranet and landed on the internet.
+We are a 100% Microsoft Shop.
+We are Microsoft.  What you are experiencing is not a problem; it is an undocumented feature.
+Sales staff sold a product we don't offer.
+Secretary sent chain letter to all 5000 employees.
+Sysadmin didn't hear pager go off due to loud music from bar-room speakers.
+Sysadmin accidentally destroyed pager with a large hammer.
+Sysadmins unavailable because they are in a meeting talking about why they are unavailable so much.
+Bad cafeteria food landed all the sysadmins in the hospital.
+Route flapping at the NAP.
+Computers under water due to SYN flooding.
+The vulcan-death-grip ping has been applied.
+Electrical conduits in machine room are melting.
+Traffic jam on the Information Superhighway.
+Radial Telemetry Infiltration
+Cow-tippers tipped a cow onto the server.
+tachyon emissions overloading the system
+Maintenance window broken
+We're out of slots on the server
+Computer room being moved.  Our systems are down for the weekend.
+Sysadmins busy fighting SPAM.
+Repeated reboots of the system failed to solve problem
+Feature was not beta tested
+Domain controller not responding
+Someone else stole your IP address, call the Internet detectives!
+It's not RFC-822 compliant.
+operation failed because: there is no message for this error (#1014)
+stop bit received
+internet is needed to catch the etherbunny
+network down, IP packets delivered via UPS
+Firmware update in the coffee machine
+Temporal anomaly
+Mouse has out-of-cheese-error
+Borg implants are failing
+Borg nanites have infested the server
+error: one bad user found in front of screen
+Please state the nature of the technical emergency
+Internet shut down due to maintenance
+Daemon escaped from pentagram
+crop circles in the corn shell
+sticky bit has come loose
+Hot Java has gone cold
+Cache miss - please take better aim next time
+Hash table has woodworm
+Trojan horse ran out of hay
+Zombie processes detected, machine is haunted.
+overflow error in /dev/null
+Browser's cookie is corrupted -- someone's been nibbling on it.
+Mailer-daemon is busy burning your message in hell.
+According to Microsoft, it's by design
+vi needs to be upgraded to vii
+greenpeace free'd the mallocs
+Terrorists crashed an airplane into the server room, have to remove /bin/laden. (rm -rf /bin/laden)
+astropneumatic oscillations in the water-cooling
+Somebody ran the operating system through a spelling checker.
diff --git a/why/level b/why/level
new file mode 100644
index 0000000..29d6383
--- /dev/null
+++ b/why/level
@@ -0,0 +1 @@
+100
diff --git a/why/why.pl b/why/why.pl
new file mode 100755
index 0000000..a29debd
--- /dev/null
+++ b/why/why.pl
@@ -0,0 +1,18 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+my ( $hour, $wday ) = (localtime)[ 2, 6 ];
+my $surfstuk = ( ( $wday == 1 ) and ( ( $hour >= 18 ) and ( $hour < 20 ) ) );
+my $magie = int( rand 4 ) == 0;
+
+if ( $surfstuk and $magie ) {
+    print "Surfnet maintenance window\n";
+} else {
+    my $excusefile = 'excuses';
+    my @excuses;
+
+    open( EF, $excusefile ) or die "can't open excuse file($excusefile)";
+    @excuses = ;
+    print $excuses[ rand @excuses ];
+}
diff --git a/wiggy/command.cfg b/wiggy/command.cfg
new file mode 100644
index 0000000..5d439f1
--- /dev/null
+++ b/wiggy/command.cfg
@@ -0,0 +1 @@
+level = 100
diff --git a/wiggy/help.txt b/wiggy/help.txt
new file mode 100644
index 0000000..ac76357
--- /dev/null
+++ b/wiggy/help.txt
@@ -0,0 +1 @@
+Doet wat wiggy doet
diff --git a/wiggy/wiggy.pl b/wiggy/wiggy.pl
new file mode 100755
index 0000000..94a76b2
--- /dev/null
+++ b/wiggy/wiggy.pl
@@ -0,0 +1,5 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+print "Die is zoooooo oud!\n";
diff --git a/wind/command.cfg b/wind/command.cfg
new file mode 100644
index 0000000..2779c83
--- /dev/null
+++ b/wind/command.cfg
@@ -0,0 +1,2 @@
+level = 100
+author = gwen
diff --git a/wind/help.txt b/wind/help.txt
new file mode 100644
index 0000000..3e65cb6
--- /dev/null
+++ b/wind/help.txt
@@ -0,0 +1 @@
+wind: geeft eventuele windwaarschuwingen van het KNMI
\ No newline at end of file
diff --git a/wind/level b/wind/level
new file mode 100644
index 0000000..29d6383
--- /dev/null
+++ b/wind/level
@@ -0,0 +1 @@
+100
diff --git a/wind/wind.pl b/wind/wind.pl
new file mode 100755
index 0000000..3dce6a6
--- /dev/null
+++ b/wind/wind.pl
@@ -0,0 +1,35 @@
+#!/usr/bin/perl -w
+# Gekopieerd van Casper Joost Eyckelhof (Titanhead)
+# casper@joost.student.utwente.nl
+# Beunpoging door gwen op het tweede deel
+
+use LWP::UserAgent;
+use HTTP::Cookies;
+
+$ua = new LWP::UserAgent;
+
+#### allerlei fijne definities en initialisaties ########
+
+@agents = (
+    "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)", "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)",
+    "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
+);
+
+$agent = @agents[ int( rand(@agents) ) ];
+$ua->agent($agent);
+
+$request = new HTTP::Request( 'GET', "http://www.knmi.nl/voorl/weer/seinkust.html" );
+$request->referer("http://www.knmi.nl/voorl/weer/");
+
+$response = $ua->request($request);
+$html     = $response->content;
+$html =~ s/\n/ /g;
+
+$html =~ m|
  • (.*?)
  • |; + +$result = "$1 (Bron: KNMI)\n"; +$result =~ s/warning.*//gi; +$result =~ s/
    / /g; +$result =~ s/<.*?>//g; +$result =~ s/\s+/ /g; +print $result; diff --git a/windchill/command.cfg b/windchill/command.cfg new file mode 100644 index 0000000..7cc2ca0 --- /dev/null +++ b/windchill/command.cfg @@ -0,0 +1,2 @@ +level = 50 +cache = 300 \ No newline at end of file diff --git a/windchill/help.txt b/windchill/help.txt new file mode 100644 index 0000000..edcbd05 --- /dev/null +++ b/windchill/help.txt @@ -0,0 +1 @@ +windchill [locatie] - geeft de windchill-factor (gevoelstemperatuur) volgens oude en nieuwe formules. (bron temperatuur en windsnelheid: KNMI) diff --git a/windchill/windchill.pl b/windchill/windchill.pl new file mode 100755 index 0000000..e998f2f --- /dev/null +++ b/windchill/windchill.pl @@ -0,0 +1,40 @@ +#!/usr/bin/perl -w +use strict; +use LWP::UserAgent; + +## Get a certain URL +my $url = "http://www.knmi.nl/voorl/weer/aktueel.html"; + +my $ua = new LWP::UserAgent; + +#Set agent name, we are not a script! :) +my $agent = "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"; +$ua->agent($agent); + +my $request = new HTTP::Request( 'GET', $url ); +my $content = $ua->request($request)->content; + +# $result contains the String that will be returned to the user +my $result; + +#print STDERR $content; + +my $location_name; +if ( defined( $ARGV[0] ) && $ARGV[0] =~ /^([\w ]+)$/ ) { + $location_name = $1; + $result = "Er is een fout opgetreden... ($1 is geen locatie volgens http://www.knmi.nl/voorl/weer/aktueel.html ?)"; +} else { + $location_name = "Twenthe"; + $result = "Er is een fout opgetreden... !windchill kapot?"; +} + +if ( $content =~ /$location_name.*?\n.*?\n.*?(-?[0-9\.]+).*?\n.*?\n.*?\n.*?([0-9\.]+)/im ) { + my $temp = $1; + my $wind = $2; + + my $oldchill = 0.045 * ( 5.49 * sqrt($wind) + 5.81 - 0.56 * $wind ) * ( 1.8 * $temp - 59.4 ) + 33; + my $newchill = 13.13 + 0.62 * $temp - 13.95 * ( $wind**0.16 ) + 0.486 * $temp * ( $wind**0.16 ); + $result = sprintf( "oldchill: %.1f , newchill: %.1f\n", $oldchill, $newchill ); +} + +print $result; diff --git a/wollig/command.cfg b/wollig/command.cfg new file mode 100644 index 0000000..b9ff63f --- /dev/null +++ b/wollig/command.cfg @@ -0,0 +1 @@ +level = 50 \ No newline at end of file diff --git a/wollig/help.txt b/wollig/help.txt new file mode 100644 index 0000000..8c72dfc --- /dev/null +++ b/wollig/help.txt @@ -0,0 +1 @@ +wollig: geitenwol natuurlijk! \ No newline at end of file diff --git a/wollig/wollig.pl b/wollig/wollig.pl new file mode 100755 index 0000000..ac03936 --- /dev/null +++ b/wollig/wollig.pl @@ -0,0 +1,18 @@ +#!/usr/bin/perl -w +use strict; +my @first = ( + "creatief ", "een stukje ", "holistisch ", "existentieel ", "lichamelijk ", "geestelijk ", + "spiritueel ", "religieus ", "dynamisch " +); +my @second = ( + "omvattend ", "vervullend ", "sociaal ", "vermenselijkend ", "wezenlijk ", "groepsmatig ", + "natuurlijk ", "binnenwerelds ", "innerlijk ", "kritisch " +); +my @third = ( + "aanreiken", "duiden", "omvatten", "invoelen", "verwerken", "anders-zijn", + "jezelf-zijn", "naar-de-ander-gaan", "verwerkelijken", "vermaatschappelijken" +); + +my $result = $first[ rand(@first) ] . $second[ rand(@second) ] . $third[ rand(@third) ]; + +print "$result\n"; diff --git a/zomer/command.cfg b/zomer/command.cfg new file mode 100644 index 0000000..27dccc3 --- /dev/null +++ b/zomer/command.cfg @@ -0,0 +1,2 @@ +level = 50 +cache = 0 diff --git a/zomer/help.txt b/zomer/help.txt new file mode 100644 index 0000000..d58a23e --- /dev/null +++ b/zomer/help.txt @@ -0,0 +1 @@ +zomer: geeft een willekeurige regel uit Zomer van Wow! \ No newline at end of file diff --git a/zomer/zomer.pl b/zomer/zomer.pl new file mode 100755 index 0000000..9aa4949 --- /dev/null +++ b/zomer/zomer.pl @@ -0,0 +1,10 @@ +#!/usr/bin/perl -w +use strict; + +open ZOMER, "< zomer.txt"; +my @lines = ; +close ZOMER; + + +print $lines[ int( rand(@lines) ) ]; + diff --git a/zomertijd/command.cfg b/zomertijd/command.cfg new file mode 100644 index 0000000..c9f18ed --- /dev/null +++ b/zomertijd/command.cfg @@ -0,0 +1,2 @@ +level = 100 +cache = 0 \ No newline at end of file diff --git a/zomertijd/zomertijd.pl b/zomertijd/zomertijd.pl new file mode 100755 index 0000000..014fe5c --- /dev/null +++ b/zomertijd/zomertijd.pl @@ -0,0 +1,5 @@ +#!/usr/bin/perl -w + +my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime( time - 3600 ); + +printf( "Eigenlijk is het pas %02d:%02d.\n", $hour, $min ); diff --git a/zon/command.cfg b/zon/command.cfg new file mode 100644 index 0000000..2ac770a --- /dev/null +++ b/zon/command.cfg @@ -0,0 +1,4 @@ +level = 0 +#cache expires at 22 minutes past the whole hour (xx:22) cache = { my $mark +#= 22; my ($sec, $min) = (localtime)[0..1]; if ($min < $mark) { 60*($mark - +#$min) - $sec } else { 60*(60-($min-$mark)) -$sec } } diff --git a/zon/help.txt b/zon/help.txt new file mode 100644 index 0000000..0dc316d --- /dev/null +++ b/zon/help.txt @@ -0,0 +1 @@ +Laat de tijden voor zonsopkomst en zonsondergang in Enschede zien. diff --git a/zon/xearth.markers b/zon/xearth.markers new file mode 100644 index 0000000..a1177cb --- /dev/null +++ b/zon/xearth.markers @@ -0,0 +1,297 @@ + + 61.17 -150.00 "Anchorage" # Alaska, USA + 38.00 23.73 "Athens" # Greece + 33.4 44.4 "Baghdad" # Iraq + 13.73 100.50 "Bangkok" # Thailand + 39.92 116.43 "Beijing" # China + 54.62 -5.93 "Belfast" # Northern Ireland + 52.53 13.42 "Berlin" # Germany + 32.3 -64.7 "Bermuda" # Bermuda + 42.33 -71.08 "Boston" # Massachusetts, USA + -15.8 -47.9 "Brasilia" # Brazil + -4.2 15.3 "Brazzaville" # Congo + -34.67 -58.50 "Buenos Aires" # Argentina + 31.05 31.25 "Cairo" # Egypt + 22.5 88.3 "Calcutta" # India + -33.93 18.47 "Cape Town" # South Africa + 33.6 -7.6 "Casablanca" # Morocco (Rabat?) + 41.83 -87.75 "Chicago" # Illinois, USA + 32.78 -96.80 "Dallas" # Texas, USA + 28.63 77.20 "New Delhi" # India + 39.75 -105.00 "Denver" # Colorado, USA + 24.23 55.28 "Dubai" # UAE (Abu Dhabi?) + 53.33 -6.25 "Dublin" # Ireland + -27.1 -109.4 "Easter Island" # Easter Island + -18.0 178.1 "Fiji" # Fiji + 13.5 144.8 "Guam" # Guam + 60.13 25.00 "Helsinki" # Finland + 22.2 114.1 "Hong Kong" # Hong Kong + 21.32 -157.83 "Honolulu" # Hawaii, USA + 52.2 104.3 "Irkutsk" # Irkutsk, Russia + 41.0 29.0 "Istanbul" # Turkey (Ankara?) + -6.13 106.75 "Jakarta" # Indonesia + 31.8 35.2 "Jerusalem" # Israel + 34.5 69.2 "Kabul" # Afghanistan + 27.7 85.3 "Kathmandu" # Nepal + 50.4 30.5 "Kiev" # Ukraine + 3.13 101.70 "Kuala Lumpur" # Malaysia + 6.45 3.47 "Lagos" # Nigeria + -12.10 -77.05 "Lima" # Peru + 51.50 -0.17 "London" # United Kingdom + 40.42 -3.72 "Madrid" # Spain + 14.6 121.0 "Manila" # The Phillipines + 21.5 39.8 "Mecca" # Saudi Arabia + 19.4 -99.1 "Mexico City" # Mexico + 25.8 -80.2 "Miami" # Florida, USA + 6.2 -10.8 "Monrovia" # Liberia + 45.5 -73.5 "Montreal" # Quebec, Canada + 55.75 37.70 "Moscow" # Russia + -1.28 36.83 "Nairobi" # Kenya + 59.93 10.75 "Oslo" # Norway + 48.87 2.33 "Paris" # France + -32.0 115.9 "Perth" # Australia + 45.5 -122.5 "Portland" # Oregon, USA + -0.2 -78.5 "Quito" # Ecuador + 64.15 -21.97 "Reykjavik" # Iceland + -22.88 -43.28 "Rio de Janeiro" # Brazil + 41.88 12.50 "Rome" # Italy + 11.0 106.7 "Ho Chi Minh City" # Vietnam (Hanoi?) + 37.75 -122.45 "San Francisco" # California, USA + 9.98 -84.07 "San Jose" # Costa Rica + 18.5 -66.1 "San Juan" # Puerto Rico + -33.5 -70.7 "Santiago" # Chile + 1.2 103.9 "Singapore" # Singapore + 42.67 23.30 "Sofia" # Bulgaria + 59.33 18.08 "Stockholm" # Sweden + -33.92 151.17 "Sydney" # Australia + -17.6 -149.5 "Tahiti" # Tahiti + 16.8 -3.0 "Timbuktu" # Mali (Bamako?) + 35.67 139.75 "Tokyo" # Japan + 43.70 -79.42 "Toronto" # Ontario, Canada + 32.9 13.2 "Tripoli" # Libya + 47.9 106.9 "Ulan Bator" # Mongolia + 49.22 -123.10 "Vancouver" # B.C., Canada + 48.22 16.37 "Vienna" # Austria + 38.9 -77.0 "Washington" # United States + -41.28 174.78 "Wellington" # New Zealand + 62.5 -114.3 "Yellowknife" # N.T., Canada + 90.00 0.00 "North Pole" # North Pole + -90.00 0.00 "South Pole" # South Pole + + 52.98 6.56 "Assen" # The Netherlands + 52.91 6.76 "Borger" # The Netherlands + 52.65 6.75 "Coevorden" # The Netherlands + 52.78 6.91 "Emmen" # The Netherlands + 52.91 6.53 "Hooghalen" # The Netherlands + 52.85 6.85 "Odoorn" # The Netherlands + 52.83 6.66 "Orvelte" # The Netherlands + 52.83 6.75 "Schoonoord" # The Netherlands + 52.36 5.20 "Almere" # The Netherlands + 52.45 5.66 "Biddinghuizen" # The Netherlands + 52.51 5.68 "Dronten" # The Netherlands + 52.71 5.76 "Emmeloord" # The Netherlands + 52.63 5.83 "Ens" # The Netherlands + 52.53 5.68 "Ketelhaven" # The Netherlands + 52.50 5.43 "Lelystad" # The Netherlands + 52.83 5.71 "Lemmer" # The Netherlands + 52.66 5.58 "Urk" # The Netherlands + 53.45 5.76 "Ameland" # The Netherlands + 53.06 5.51 "Bolsward" # The Netherlands + 53.33 6.00 "Dokkum" # The Netherlands + 53.05 5.45 "Exmorra" # The Netherlands + 53.18 5.55 "Franeker" # The Netherlands + 53.16 5.40 "Harlingen" # The Netherlands + 52.95 5.40 "Hindeloopen" # The Netherlands + 53.45 5.63 "Hollum" # The Netherlands + 53.28 6.15 "Kollum" # The Netherlands + 53.20 5.80 "Leeuwarden" # The Netherlands + 53.05 5.41 "Makkum" # The Netherlands + 53.21 5.73 "Marssum" # The Netherlands + 53.25 5.90 "Oenkerk" # The Netherlands + 53.30 5.06 "Oost-Vlieland" # The Netherlands + 53.46 6.16 "Schiermonnikoog" # The Netherlands + 52.88 5.65 "Sloten" # The Netherlands + 53.03 5.66 "Sneek" # The Netherlands + 53.28 5.66 "St. Annaparochie" # The Netherlands + 53.25 6.11 "Veenklooster" # The Netherlands + 53.11 5.46 "Witmarsum" # The Netherlands + 52.98 5.43 "Workum" # The Netherlands + 51.86 6.25 "'s-Heerenberg" # The Netherlands + 52.21 5.96 "Apeldoorn" # The Netherlands + 52.00 5.88 "Arnhem" # The Netherlands + 51.81 5.91 "Berg en Dal" # The Netherlands + 52.15 6.18 "Bronkhorst" # The Netherlands + 52.01 6.13 "Doesburg" # The Netherlands + 51.96 6.28 "Doetinchem" # The Netherlands + 52.41 5.81 "Doornspijk" # The Netherlands + 52.45 5.83 "Elburg" # The Netherlands + 51.78 5.93 "Groesbeek" # The Netherlands + 52.35 5.60 "Harderwijk" # The Netherlands + 52.48 6.06 "Hattem" # The Netherlands + 52.11 6.01 "Loenen" # The Netherlands + 51.83 5.86 "Nijmegen" # The Netherlands + 52.01 5.96 "Park Rosendael" # The Netherlands + 52.11 6.30 "Vorden" # The Netherlands + 51.81 5.25 "Zaltbommel" # The Netherlands + 52.13 6.20 "Zutphen" # The Netherlands + 53.30 6.86 "Appingedam" # The Netherlands + 53.00 7.16 "Bourtange" # The Netherlands + 53.31 6.93 "Delfzijl" # The Netherlands + 53.21 6.58 "Groningen" # The Netherlands + 53.16 6.60 "Hortus Haren" # The Netherlands + 53.16 6.40 "Leek" # The Netherlands + 53.20 7.00 "Midwolda" # The Netherlands + 52.61 6.71 "Slagharen" # The Netherlands + 53.00 6.91 "Stadskanaal" # The Netherlands + 53.40 6.68 "Uithuizen" # The Netherlands + 53.40 6.61 "Usquert" # The Netherlands + 53.38 6.56 "Warfum" # The Netherlands + 51.80 5.73 "Wijchen" # The Netherlands + 53.11 7.03 "Winschoten" # The Netherlands + 51.40 6.16 "Arcen" # The Netherlands + 50.95 5.98 "Brunssum" # The Netherlands + 50.83 5.75 "Cadier en Keer" # The Netherlands + 50.90 5.98 "Heerlen" # The Netherlands + 51.68 5.98 "Heijen" # The Netherlands + 50.91 5.91 "Hoensbroek" # The Netherlands + 50.86 6.06 "Kerkrade" # The Netherlands + 50.85 5.70 "Maastricht" # The Netherlands + 50.81 5.81 "Margraten" # The Netherlands + 50.76 6.00 "Raren" # The Netherlands + 51.20 6.00 "Roermond" # The Netherlands + 51.13 6.00 "St. Odilienberg" # The Netherlands + 51.35 6.13 "Tegelen" # The Netherlands + 51.16 5.85 "Thorn" # The Netherlands + 50.76 6.01 "Vaals" # The Netherlands + 50.86 5.83 "Valkenburg" # The Netherlands + 51.36 6.16 "Venlo" # The Netherlands + 50.78 6.00 "Viljen" # The Netherlands + 51.68 5.31 "'s-Hertogenbosch" # The Netherlands + 51.43 4.91 "Baarle-Nassau" # The Netherlands + 51.50 4.28 "Bergen op Zoom" # The Netherlands + 51.58 4.76 "Breda" # The Netherlands + 51.50 4.86 "Chaam" # The Netherlands + 51.43 5.50 "Eindhoven" # The Netherlands + 51.71 4.86 "Geertruidenberg" # The Netherlands + 51.58 4.78 "Ginneken" # The Netherlands + 51.48 5.66 "Helmond" # The Netherlands + 51.73 5.15 "Heusden" # The Netherlands + 51.65 5.03 "Kaatsheuvel" # The Netherlands + 51.46 5.55 "Nuenen" # The Netherlands + 51.50 5.30 "Oirschot" # The Netherlands + 51.58 5.20 "Oisterwijk" # The Netherlands + 51.63 4.85 "Oosterhout" # The Netherlands + 51.76 5.51 "Oss" # The Netherlands + 51.58 4.53 "Oudenbosch" # The Netherlands + 51.53 4.21 "Tholen" # The Netherlands + 51.56 5.08 "Tilburg" # The Netherlands + 51.70 5.06 "Waalwijk" # The Netherlands + 51.68 4.45 "Willemstad" # The Netherlands + 52.25 5.11 "'s-Gravenland" # The Netherlands + 52.26 4.75 "Aalsmeer" # The Netherlands + 52.63 4.73 "Alkmaar" # The Netherlands + 52.35 4.90 "Amsterdam" # The Netherlands + 52.31 4.58 "Bennebroek" # The Netherlands + 52.66 4.61 "Bergen aan Zee" # The Netherlands + 52.66 4.70 "Bergen" # The Netherlands + 52.40 4.61 "Bloemendaal" # The Netherlands + 52.43 5.00 "Broek in Waterland" # The Netherlands + 52.68 4.80 "Broek op Langendijk" # The Netherlands + 53.15 4.88 "De Cocksdorp" # The Netherlands + 53.10 4.76 "De Koog" # The Netherlands + 52.55 4.83 "De Rijp" # The Netherlands + 53.05 4.78 "Den Burg" # The Netherlands + 52.90 4.75 "Den Helder" # The Netherlands + 53.03 4.75 "Den Hoorn" # The Netherlands + 52.50 5.03 "Edam" # The Netherlands + 52.61 4.61 "Egmond aan Zee" # The Netherlands + 52.60 4.71 "Egmond aan den Hoef" # The Netherlands + 52.60 4.65 "Egmond-Binnen" # The Netherlands + 52.70 5.28 "Enkhuizen" # The Netherlands + 52.55 4.81 "Graft" # The Netherlands + 52.70 5.11 "Grootebroek" # The Netherlands + 52.38 4.63 "Haarlem" # The Netherlands + 52.36 4.75 "Halfweg" # The Netherlands + 52.35 4.61 "Heemstede" # The Netherlands + 52.23 5.16 "Hilversum" # The Netherlands + 52.63 5.06 "Hoorn" # The Netherlands + 52.25 5.23 "Laren" # The Netherlands + 52.45 5.10 "Marken" # The Netherlands + 52.78 5.10 "Medemblik" # The Netherlands + 52.46 5.03 "Monnickendam" # The Netherlands + 52.33 5.08 "Muiden" # The Netherlands + 52.30 5.16 "Naarden" # The Netherlands + 53.03 4.85 "Oudeschild" # The Netherlands + 52.50 4.93 "Purmerend" # The Netherlands + 52.78 4.78 "Schagen" # The Netherlands + 52.66 4.75 "Schermer" # The Netherlands + 52.41 4.66 "Spaarndam" # The Netherlands + 52.21 5.03 "Loenen" # The Netherlands + 52.30 4.56 "Vogelenzang" # The Netherlands + 52.50 5.06 "Volendam" # The Netherlands + 52.46 4.73 "Westzaan" # The Netherlands + 52.45 4.81 "Zaanstad" # The Netherlands + 52.36 4.51 "Zandvoort" # The Netherlands + 52.35 6.66 "Almelo" # The Netherlands + 52.60 6.46 "Dedemsvaart" # The Netherlands + 52.25 6.16 "Deventer" # The Netherlands + 52.21 6.55 "Diepenheim" # The Netherlands +# 52.21 6.91 "Enschede" # The Netherlands + 52.71 6.10 "Giethoorn" # The Netherlands + 52.23 6.58 "Goor" # The Netherlands + 52.60 6.08 "Hasselt" # The Netherlands + 52.25 6.75 "Hengelo" # The Netherlands + 52.26 6.41 "Holten" # The Netherlands + 52.55 5.91 "Kampen" # The Netherlands + 52.25 6.50 "Markelo" # The Netherlands + 52.31 6.91 "Oldenzaal" # The Netherlands + 52.38 6.26 "Raalte" # The Netherlands + 52.63 6.20 "Staphorst" # The Netherlands + 52.51 6.10 "Zwolle" # The Netherlands + 52.00 5.45 "Amerongen" # The Netherlands + 52.15 5.38 "Amersfoort" # The Netherlands + 52.21 5.26 "Baarn" # The Netherlands + 52.18 5.01 "Breukelen" # The Netherlands + 51.95 5.21 "Culemborg" # The Netherlands + 52.03 5.35 "Doorn" # The Netherlands + 52.13 5.05 "Maarssen" # The Netherlands + 52.03 4.90 "Oudewater" # The Netherlands + 51.95 5.56 "Rhenen" # The Netherlands + 52.11 5.28 "Soesterberg" # The Netherlands + 52.10 5.11 "Utrecht" # The Netherlands + 51.96 5.35 "Wijk bij Duurstede" # The Netherlands + 52.08 5.25 "Zeist" # The Netherlands + 51.50 3.66 "Arnemuiden" # The Netherlands + 51.73 3.91 "Brouwershaven" # The Netherlands + 51.70 3.73 "Burgh-Haamstede" # The Netherlands + 51.66 3.75 "Burghsluis" # The Netherlands + 51.50 3.90 "Goes" # The Netherlands + 51.28 4.05 "Hulst" # The Netherlands + 51.50 3.60 "Middelburg" # The Netherlands + 51.73 3.76 "Renesse" # The Netherlands + 51.55 3.66 "Veere" # The Netherlands + 51.43 3.58 "Vlissingen" # The Netherlands + 51.65 3.91 "Zierikzee" # The Netherlands + 52.13 4.66 "Alphen aan den Rijn" # The Netherlands + 52.08 4.75 "Bodegraven" # The Netherlands + 52.06 4.66 "Boskoop" # The Netherlands + 52.01 4.35 "Delft" # The Netherlands + 51.80 4.66 "Dordrecht" # The Netherlands + 51.83 5.00 "Gorinchem" # The Netherlands + 52.01 4.71 "Gouda" # The Netherlands + 51.81 4.13 "Hellevoetsluis" # The Netherlands + 52.20 4.40 "Katwijk aan Zee" # The Netherlands + 51.88 4.63 "Kinderdijk" # The Netherlands + 51.90 5.10 "Leerdam" # The Netherlands + 52.16 4.50 "Leiden" # The Netherlands + 52.20 4.45 "Rijnsburg" # The Netherlands + 51.91 4.48 "Rotterdam" # The Netherlands + 52.08 4.26 "Scheveningen" # The Netherlands + 51.91 4.40 "Schiedam" # The Netherlands + 51.95 4.85 "Schoonhoven" # The Netherlands + 51.80 4.01 "Stellendam" # The Netherlands + 52.08 4.26 "Den Haag" # The Netherlands + 52.06 4.36 "Voorburg" # The Netherlands + 52.15 4.38 "Wassenaar" # The Netherlands + 51.81 5.00 "Woudrichem" # The Netherlands + 52.13 4.50 "Zoeterwoude-Rijndijk" # The Netherlands diff --git a/zon/zon.pl b/zon/zon.pl new file mode 100755 index 0000000..f03ded5 --- /dev/null +++ b/zon/zon.pl @@ -0,0 +1,45 @@ +#!/usr/bin/perl -w + +use strict; +use Astro::Sunrise; + +# locations +my %locations = ( # [ lat, long ] + # City hall Enschede: f = 52 13' 13.5" N, l = 6 53' 50.8" E + 'Enschede' => [ 52.22041, 6.89744 ], +); + +open LOC, ') { + if ( /^\s*(-?\d+\.\d+)\s+(-?\d+\.\d+)\s+"([\w'. -]+)"/ ) { + my ($lat, $long, $loc) = ($1, $2, $3); + $locations{$loc} = [ $lat, $long ]; +# print "$loc : $lat $long\n"; + } +} + +close LOC; + +# default location +my $location = 'Enschede'; + +my $loc = shift; +if (defined $loc && $loc =~ /\S/) { + $loc =~ s/^\s+//; + $loc =~ s/\s+$//; + $location = $loc; +} + +$location = "\u\L$location"; +unless (defined $locations{$location}) { + print "Lokatie '$location' niet gevonden."; + exit 0; +} + +my ($lat, $long) = @{$locations{$location}}; + +my $op = sun_rise( $long, $lat ); +my $onder = sun_set( $long, $lat ); + +print "[$location] zon op $op; zon onder $onder\n"; diff --git a/zon/zon.pl.tsd b/zon/zon.pl.tsd new file mode 100755 index 0000000..75064fd --- /dev/null +++ b/zon/zon.pl.tsd @@ -0,0 +1,37 @@ +#!/usr/bin/perl -w + +use strict; +use Astro::Sunrise; + +# locations +my %locations = ( # [ lat, long ] + # City hall Enschede: f = 52 13' 13.5" N, l = 6 53' 50.8" E +# 'Enschede' => [ 52.27, 6.87417 ], + 'Enschede' => [ 52.22041, 6.89744 ], + + # Berlin, Germany 52 30 N 13 25 E + 'Berlin' => [ 52.50000, 13.41667 ], + ); + +# default location +my $location = 'Enschede'; + +my $loc = shift; +if (defined $loc && $loc =~ /\S/) { + $loc =~ s/^\s+//; + $loc =~ s/\s+$//; + $location = $loc; +} + +$location = "\u\L$location"; +unless (defined $locations{$location}) { + print "Lokatie '$location' niet gevonden."; + exit 0; +} + +my ($lat, $long) = @{$locations{$location}}; + +my $op = sun_rise( $long, $lat ); +my $onder = sun_set( $long, $lat ); + +print "[$location] zon op $op; zon onder $onder\n"; diff --git a/zwembad/command.cfg b/zwembad/command.cfg new file mode 100644 index 0000000..711930a --- /dev/null +++ b/zwembad/command.cfg @@ -0,0 +1 @@ +level = 0 diff --git a/zwembad/help.txt b/zwembad/help.txt new file mode 100644 index 0000000..40e432f --- /dev/null +++ b/zwembad/help.txt @@ -0,0 +1 @@ +Geeft de openingstijden van het UT zwembad diff --git a/zwembad/zwembad.pl b/zwembad/zwembad.pl new file mode 100755 index 0000000..d91f7aa --- /dev/null +++ b/zwembad/zwembad.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl -w +use strict; + +my %openingstijden = ( + "zondag" => "14:00 - 17:00", + "maandag" => "11:45 - 14:00", + "dinsdag" => "11:45 - 14:00 en 16:00 - 18:00", + "woensdag" => "11:45 - 14:00 en 16:00 - 18:00", + "donderdag" => "11:45 - 14:00 en 16:00 - 18:00", + "vrijdag" => "11:30 - 14:00 en 15:30 - 17:30", + "zaterdag" => "14:00 - 17:00" +); + +my $thisday = ( 'zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag' )[ (localtime)[6] ]; + +if ( @ARGV && defined( $openingstijden{ lc( $ARGV[0] ) } ) ) { + $thisday = lc( $ARGV[0] ); +} + +print "Op $thisday is het zwembad op de UT geopend om $openingstijden{$thisday}.\n";