User:Polbot/source/Bio.pl
- Use like:
- perl bio3.pl Malvales "flowering plant" rosid-stub p
- TODO: detect wikiproject automatically
- TODO: plants use binomial as article name
use strict;
use Perlwikipedia;
use URI::Escape;
use LWP::UserAgent;
use Encode;
my $soonest_next_op = time;
my $wait_time = 10;
my $family = shift;
my $biotype = shift;
my $stubtype = shift;
my $wikiproject = shift;
print "Running Polbot's bio function, family = $family, biotype = $biotype, stubtype = $stubtype, wikiproject = $wikiproject\n";
my %xhabitat = (
'1.1' => 'boreal forests',
'1.2' => 'subarctic forests',
'1.3' => 'subantarctic forests',
'1.4' => 'temperate forests',
'1.5' => 'subtropical or tropical dry forests',
'1.6' => 'subtropical or tropical moist lowland forests',
'1.7' => 'subtropical or tropical mangrove forests',
'1.8' => 'subtropical or tropical swamps',
'1.9' => 'subtropical or tropical moist montanes',
'2.1' => 'dry savanna',
'2.2' => 'moist savanna',
'3.1' => 'subarctic shrubland',
'3.2' => 'subantarctic shrubland',
'3.3' => 'boreal shrubland',
'3.4' => 'temperate shrubland',
'3.5' => 'subtropical or tropical dry shrubland',
'3.6' => 'subtropical or tropical moist shrubland',
'3.7' => 'subtropical or tropical high-altitude shrubland',
'3.8' => 'Mediterranean-type shrubby vegetation',
'4.1' => 'tundra',
'4.2' => 'subarctic grassland',
'4.3' => 'subantarctic grassland',
'4.4' => 'temperate grassland',
'4.5' => 'subtropical or tropical dry lowland grassland',
'4.6' => 'subtropical or tropical seasonally wet or flooded lowland grassland',
'4.7' => 'subtropical or tropical high-altitude grassland',
'5.1' => 'rivers',
'5.2' => 'intermittent rivers',
'5.3' => 'shrub-dominated wetlands',
'5.4' => 'swamps',
'5.5' => 'freshwater lakes',
'5.6' => 'intermittent freshwater lakes',
'5.7' => 'freshwater marshes',
'5.8' => 'intermittent freshwater marshes',
'5.9' => 'freshwater springs',
'5.10' => 'tundra wetlands',
'5.11' => 'Alpine wetlands',
'5.12' => 'geothermal wetlands',
'5.13' => 'inland deltas',
'5.14' => 'saline lakes',
'5.15' => 'intermittent saline lakes',
'5.16' => 'saline marshes',
'5.17' => 'intermittent saline marshes',
'5.18' => 'inland karsts',
'6' => 'rocky areas',
'7.1' => 'caves',
'7.2' => 'subterranean habitats (other than caves)',
'8.1' => 'hot deserts',
'8.2' => 'temperate desert',
'8.3' => 'cold desert',
'9.1' => 'open seas',
'9.2' => 'shallow seas',
'9.3' => 'subtidal aquatic beds',
'9.4' => 'coral reefs',
'10.1' => 'rocky shores',
'10.2' => 'sandy shores',
'10.3' => 'estuarine waters',
'10.4' => 'intertidal flats',
'10.5' => 'intertidal marshes',
'10.6' => 'coastal saline lagoons',
'10.7' => 'coastal freshwater lagoons',
'10.8' => 'karsts',
'11.1' => 'arable land',
'11.2' => 'pastureland',
'11.3' => 'plantations ',
'11.4' => 'rural gardens',
'11.5' => 'urban areas',
'11.6' => 'heavily degraded former forest',
'12.1' => 'water storage areas',
'12.2' => 'ponds',
'12.3' => 'aquaculture ponds',
'12.4' => 'salt exploitation sites',
'12.5' => 'open excavations',
'12.6' => 'wastewater treatment areas',
'12.7' => 'irrigated land',
'12.8' => 'seasonally flooded agricultural land',
'12.9' => 'canals and ditches',
'12.10' => 'man-made karsts',
'13' => 'introduced vegetation'
);
my %xfamily = (
'Compositae' => 'Asteraceae',
'Cruciferae' => 'Brassicaceae',
'Gramineae' => 'Poaceae',
'Guttiferae' => 'Clusiaceae',
'Labiatae' => 'Lamiaceae',
'Leguminosae' => 'Fabaceae',
'Palmae' => 'Arecaceae',
'Umbelliferae' => 'Apiaceae',
);
my %xzoologist = (
'Abe' => "Abe",
'Able' => "Able",
'Abbott' => "Abbott",
'Acerbi' => "Acerbi",
'Acero' => "Acero",
'A. Adams' => "A. Adams",
'Agassiz' => "Agassiz",
'A. Agassiz' => "A. Agassiz",
'Aguilera' => "Aguilera",
'D. R. de Aguilera' => "D. R. de Aguilera",
'Ahl' => "Ahl",
'E. Ahl' => "E. Ahl",
'Ahlstrom' => "Ahlstrom",
'Ahnelt' => "Ahnelt",
'Aizawa' => "Aizawa",
'Akama' => "Akama",
'Akihito' => "Akihito",
'Albert' => "Albert",
'Albertis' => "Albertis",
'Alcock' => "Alcock",
'Alexander' => "Alexander",
'Alencar' => "Alencar",
'Alfaro' => "Alfaro",
'Alifanov' => "Alifanov",
'Allain' => "Allain",
'Allen' => "Allen",
'G.M. Allen' => "G.M. Allen",
'G.R. Allen' => "G.R. Allen",
'Allioni' => "Allioni",
'Almeida-Toledo' => "Almeida-Toledo",
'Amadon' => "Amadon",
'Ambrosio' => "Ambrosio",
'Ameghino' => "Ameghino",
'K. Andersen' => "K. Andersen",
'Anderson' => "Anderson",
'André' => "André",
'Andriashev' => "Andriashev",
'Andriyashev' => "Andriyashev",
'Angas' => "Angas",
'Annandale' => "Annandale",
'Antunes' => "Antunes",
'Apesteguía' => "Apesteguía",
'Appellöf' => "Appellöf",
'Archbold' => "Archbold",
'Arcucci' => "Arcucci",
'Arrow' => "Arrow",
'Asano' => "Asano",
'Atkinson' => "Atkinson",
'Aubé' => "Aubé",
'Audebert' => "Audebert",
'Audubon' => "Audubon",
'Ausserer' => "Ausserer",
'Ayling' => "Ayling",
'Ayres' => "Ayres",
'Azuma' => "Azuma",
'Bachman' => "Bachman",
'Bailey' => "Bailey",
'R. G. Bailey' => "R. G. Bailey",
'R. M. Bailey' => "R. M. Bailey",
'Baillon' => "Baillon",
'Baird' => "Baird",
'Baker' => "Baker",
'Bakker' => "Bakker",
'Balanov' => "Balanov",
'C. C. Baldwin' => "C. C. Baldwin",
'W. J. Baldwin' => "W. J. Baldwin",
'Z. H. Baldwin' => "Z. H. Baldwin",
'Ball' => "Ball",
'Balon' => "Balon",
'Balouet' => "Balouet",
'Balss' => "Balss",
'Balushkin' => "Balushkin",
'Bandyopadhyay' => "Bandyopadhyay",
'Bangs' => "Bangs",
'Bannerman' => "Bannerman",
'Bannikov' => "Bannikov",
'Bansok' => "Bansok",
'Barbour' => "Barbour",
'F.K. Barker' => "F.K. Barker",
'M.J. Barker' => "M.J. Barker",
'Barrett' => "Barrett",
'Barrows' => "Barrows",
'Barsbold' => "Barsbold",
'Bartenef' => "Bartenef",
'Bartlett' => "Bartlett",
'A. D. Bartlett' => "A. D. Bartlett",
'Barton' => "Barton",
'Baskin' => "Baskin",
'Batchelder' => "Batchelder",
'Bate' => "Bate",
'Bates' => "Bates",
'Bateson' => "Bateson",
'Bean' => "Bean",
'Beavan' => "Beavan",
'Bechstein' => "Bechstein",
'Beddome' => "Beddome",
'Bedriaga' => "Bedriaga",
'Behr' => "Behr",
'Bell' => "Bell",
'Bemmel' => "Bemmel",
'Bendire' => "Bendire",
'Benitez' => "Benitez",
'Bennett' => "Bennett",
'Bennett' => "Bennett",
'Benson' => "Benson",
'Benson' => "Benson",
'Bent' => "Bent",
'Benton' => "Benton",
'Beresford' => "Beresford",
'Berg' => "Berg",
'Berkenhout' => "Berkenhout",
'Berla' => "Berla",
'Berland' => "Berland",
'Berlepsch' => "Berlepsch",
'Berlioz' => "Berlioz",
'Berry' => "Berry",
'Berthold ' => "Berthold ",
'Bertkau' => "Bertkau",
'Bianco' => "Bianco",
'Bibron' => "Bibron",
'Bigot' => "Bigot",
'Bilek' => "Bilek",
'Billberg' => "Billberg",
'Billings' => "Billings",
'Bingham' => "Bingham",
'Biswas' => "Biswas",
'Blache' => "Blache",
'Black' => "Black",
'Blackwall' => "Blackwall",
'Blainville' => "Blainville",
'Blanchard' => "Blanchard",
'Blanford' => "Blanford",
'Blasius' => "Blasius",
'W. Blasius' => "W. Blasius",
'Bleeker' => "Bleeker",
'Bloch' => "Bloch",
'Blumenbach' => "Blumenbach",
'Blyth' => "Blyth",
'Bocage' => "Bocage",
'Bocourt' => "Bocourt",
'Boddaert' => "Boddaert",
'Boettger' => "Boettger",
'Boetticher' => "Boetticher",
'Bogert' => "Bogert",
'Boheman' => "Boheman",
'F. Boie' => "F. Boie",
'H. Boie' => "H. Boie",
'Boisduval' => "Boisduval",
'Bolle' => "Bolle",
'Bolotsky' => "Bolotsky",
'Bonaparte' => "Bonaparte",
'Bonaparte' => "Bonaparte",
'Bond' => "Bond",
'Bonelli' => "Bonelli",
'Bonhote' => "Bonhote",
'Bonnaterre' => "Bonnaterre",
'Borkhausen' => "Borkhausen",
'Borodin' => "Borodin",
'Borsuk-Bialynicka' => "Borsuk-Bialynicka",
'Bosc' => "Bosc",
'Boucard' => "Boucard",
'Boulenger' => "Boulenger",
'Bourcier' => "Bourcier",
'Bouvier' => "Bouvier",
'Bowdich' => "Bowdich",
'Bowerbank' => "Bowerbank",
'Brandt' => "Brandt",
'Brauer' => "Brauer",
'A. E. Brehm' => "A. E. Brehm",
'C. L. Brehm' => "C. L. Brehm",
'Bremer' => "Bremer",
'Bremi-Wolf' => "Bremi-Wolf",
'Brett-Surman' => "Brett-Surman",
'Brevoort' => "Brevoort",
'Brewster' => "Brewster",
'Briggs' => "Briggs",
'Brischke' => "Brischke",
'Brisson' => "Brisson",
'Brittinger' => "Brittinger",
'Brodkorb' => "Brodkorb",
'Brongniart' => "Brongniart",
'C. Brongniart' => "C. Brongniart",
'Bronn' => "Bronn",
'Brooke' => "Brooke",
'Brookes' => "Brookes",
'W. S. Brooks' => "W. S. Brooks",
'Broom' => "Broom",
'Brown' => "Brown",
'Bruch' => "Bruch",
'Bruguière' => "Bruguière",
'Brullé' => "Brullé",
'Brünnich' => "Brünnich",
'Brusatte' => "Brusatte",
'H. Bryant' => "H. Bryant",
'W. E. Bryant' => "W. E. Bryant",
'Bücherl' => "Bücherl",
'Buckland' => "Buckland",
'Buffetaut' => "Buffetaut",
'Buller' => "Buller",
'Bunzel' => "Bunzel",
'Burchell' => "Burchell",
'Burge' => "Burge",
'Burmeister' => "Burmeister",
'Burnett' => "Burnett",
'Burns' => "Burns",
'Butler' => "Butler",
'Buttikofer' => "Buttikofer",
'Buturlin' => "Buturlin",
'Cabanis' => "Cabanis",
'Cabrera' => "Cabrera",
'Caldwell' => "Caldwell",
'Calman' => "Calman",
'Calvert' => "Calvert",
'Calvo' => "Calvo",
'Cambiaso' => "Cambiaso",
'Camerano' => "Camerano",
'Camp' => "Camp",
'Campos' => "Campos",
'Canestrini' => "Canestrini",
'Cantor' => "Cantor",
'Carlson' => "Carlson",
'Carpenter' => "Carpenter",
'Carvalho' => "Carvalho",
'Cassin' => "Cassin",
'Castelnau' => "Castelnau",
'Cervigón' => "Cervigón",
'Chabanaud' => "Chabanaud",
'Chamberlin' => "Chamberlin",
'Chapin' => "Chapin",
'Chapman' => "Chapman",
'Charig' => "Charig",
'Charpentier' => "Charpentier",
'Chasen' => "Chasen",
'Chatterjee' => "Chatterjee",
'Cherrie' => "Cherrie",
'Chiaie' => "Chiaie",
'Chiappe' => "Chiappe",
'Children' => "Children",
'Christ' => "Christ",
'Chun' => "Chun",
'Chure' => "Chure",
'E. Clark' => "E. Clark",
'H. L. Clark' => "H. L. Clark",
'J. M. Clark' => "J. M. Clark",
'Clements' => "Clements",
'Clemmer' => "Clemmer",
'Clerck' => "Clerck",
'Cloward' => "Cloward",
'Colbert' => "Colbert",
'Colston' => "Colston",
'Compagno' => "Compagno",
'Conci' => "Conci",
'Conde' => "Conde",
'Conover' => "Conover",
'Conrad' => "Conrad",
'Coombs' => "Coombs",
'Cooper' => "Cooper",
'Cooper' => "Cooper",
'Cope' => "Cope",
'Coquerel' => "Coquerel",
'Coria' => "Coria",
'Cornalia' => "Cornalia",
'Cory' => "Cory",
'Costa' => "Costa",
'O.G. Costa' => "O.G. Costa",
'W.J.E.M. Costa' => "W.J.E.M. Costa",
'Coues' => "Coues",
'Cramer' => "Cramer",
'F. Cramer' => "F. Cramer",
'Crampton' => "Crampton",
'Cretzschmar' => "Cretzschmar",
'Crewe' => "Crewe",
'Crotch' => "Crotch",
'Crowson' => "Crowson",
'Currie' => "Currie",
'Curry Rogers' => "Curry Rogers",
'Curtis' => "Curtis",
'Cuvier' => "Cuvier",
'F. Cuvier' => "F. Cuvier",
'Czerkas' => "Czerkas",
'da Costa' => "da Costa",
'da Silva' => "da Silva",
'Dahl' => "Dahl",
'Dahlbom' => "Dahlbom",
'Dale' => "Dale",
'Dall' => "Dall",
'Dalla Torre' => "Dalla Torre",
'Dana' => "Dana",
'Daudin' => "Daudin",
'David' => "David",
'de Azevedo' => "de Azevedo",
'de Beaufort' => "de Beaufort",
'de Blainville' => "de Blainville",
'de Castelnau' => "de Castelnau",
'de Filippi' => "de Filippi",
'de Geer' => "de Geer",
'de Hann' => "de Hann",
'de Kay' => "de Kay",
'de Man' => "de Man",
'de Naurois' => "de Naurois",
'de Nicéville' => "de Nicéville",
'Bory de Saint-Vincent' => "Bory de Saint-Vincent",
'de Valai' => "de Valai",
'de Vis' => "de Vis",
'de Winton' => "de Winton",
'Delacour' => "Delacour",
'Denis' => "Denis",
'Depéret' => "Depéret",
'Deppe' => "Deppe",
'Des Murs' => "Des Murs",
'Desfontaines' => "Desfontaines",
'Desmarest' => "Desmarest",
'Diard' => "Diard",
'Dieffenbach' => "Dieffenbach",
'Dingus' => "Dingus",
'Distant' => "Distant",
'Djakonov' => "Djakonov",
'Dobson' => "Dobson",
'Döderlein' => "Döderlein",
'Dodson' => "Dodson",
'Dollman' => "Dollman",
'Dollo' => "Dollo",
'Donis.' => "Donis.",
'Donisthorpe' => "Donisthorpe",
'Donovan' => "Donovan",
"d'Orbigny" => "d'Orbigny",
'Dong' => "Dong",
'Doria' => "Doria",
'Doubleday' => "Doubleday",
'Drury' => "Drury",
'du Bus de Gisignies' => "du Bus de Gisignies",
'du Chaillu' => "du Chaillu",
'C. F. Dubois' => "C. F. Dubois",
'Dufour' => "Dufour",
'Duftschmid' => "Duftschmid",
'Duméril' => "Duméril",
'Dumont' => "Dumont",
'Duncker' => "Duncker",
'Duponchel' => "Duponchel",
'Duvernoy' => "Duvernoy",
'Dwight' => "Dwight",
'Earle' => "Earle",
'Eaton' => "Eaton",
'Edwards' => "Edwards",
'Ehrenberg' => "Ehrenberg",
'Eichwald' => "Eichwald",
'Eigenmann' => "Eigenmann",
'R.S. Eigenmann' => "R.S. Eigenmann",
'R. Smith' => "R. Smith",
'Ellerman' => "Ellerman",
'Elliot' => "Elliot",
'Emery' => "Emery",
'A.R. Emery' => "A.R. Emery",
'Enslin' => "Enslin",
'Erichson' => "Erichson",
'Erxleben' => "Erxleben",
'Eschmeyer' => "Eschmeyer",
'Eschscholtz' => "Eschscholtz",
'Esper' => "Esper",
'Evermann' => "Evermann",
'Eversmann' => "Eversmann",
'Evseenko' => "Evseenko",
'Eyton' => "Eyton",
'Fabricius' => "Fabricius",
'Fairmaire' => "Fairmaire",
'Falla' => "Falla",
'Fallén' => "Fallén",
'Feinberg' => "Feinberg",
'C. Felder' => "C. Felder",
'R. Felder' => "R. Felder",
'Fernandes-Matioli' => "Fernandes-Matioli",
'Ferrari-Perez ' => "Ferrari-Perez ",
'Ferraris' => "Ferraris",
'Férussac' => "Férussac",
'Filhol' => "Filhol",
'Finsch' => "Finsch",
'Fioroni' => "Fioroni",
'G. Fischer' => "G. Fischer",
'Fischer de Waldheim' => "Fischer de Waldheim",
'Fischer von Waldheim' => "Fischer von Waldheim",
'J. Fischer' => "J. Fischer",
'J. G. Fischer' => "J. G. Fischer",
'Fitzinger' => "Fitzinger",
'J. H. Fleming' => "J. H. Fleming",
'Fleming' => "Fleming",
'Fonscolombe' => "Fonscolombe",
'Forbes' => "Forbes",
'Forel' => "Forel",
'Forsius' => "Forsius",
'Forsskål' => "Forsskål",
'Forsyth Major' => "Forsyth Major",
'Forster' => "Forster",
'Forster' => "Forster",
'C. A. Forster' => "C. A. Forster",
'G. Forster' => "G. Forster",
'Förster' => "Förster",
'Fourmanoir' => "Fourmanoir",
'Fowler' => "Fowler",
'Fox' => "Fox",
'Fraas' => "Fraas",
'Franganillo-Balboa' => "Franganillo-Balboa",
'Franklin' => "Franklin",
'Fraser' => "Fraser",
'F. C. Fraser' => "F. C. Fraser",
'Frivaldszky' => "Frivaldszky",
'Frohawk' => "Frohawk",
'Fruhstorfer' => "Fruhstorfer",
'Fürbringer' => "Fürbringer",
'Fuessly' => "Fuessly",
'Füsslins' => "Füsslins",
'Gadow' => "Gadow",
'Gahan' => "Gahan",
'Gaimard' => "Gaimard",
'F. Galton' => "F. Galton",
'Galton' => "Galton",
'P. M. Galton' => "P. M. Galton",
'Gambel' => "Gambel",
'Gao' => "Gao",
'Garman' => "Garman",
'Garnot' => "Garnot",
'Gaston' => "Gaston",
'Gasparini' => "Gasparini",
'Gauthier' => "Gauthier",
'Gegenbaur' => "Gegenbaur",
'Gené' => "Gené",
'É. Geoffroy Saint-Hilaire' => "É. Geoffroy Saint-Hilaire",
'I. Geoffroy Saint-Hilaire' => "I. Geoffroy Saint-Hilaire",
'Georgi' => "Georgi",
'Germar' => "Germar",
'Gerstäcker' => "Gerstäcker",
'Gertsch' => "Gertsch",
'Gervais' => "Gervais",
'Géry' => "Géry",
'Geyer' => "Geyer",
'Giglioli' => "Giglioli",
'Gilbert' => "Gilbert",
'Gilchrist' => "Gilchrist",
'Gill' => "Gill",
'Gillette' => "Gillette",
'Gilmore' => "Gilmore",
'Girard' => "Girard",
'Giraud' => "Giraud",
'Gloger' => "Gloger",
'Gmelin' => "Gmelin",
'Godart' => "Godart",
'Godefroit' => "Godefroit",
'Godman' => "Godman",
'Goeze' => "Goeze",
'Göhlich' => "Göhlich",
'Goldfuss' => "Goldfuss",
'Goode' => "Goode",
'Gosse' => "Gosse",
'A. A. Gould' => "A. A. Gould",
'Gould' => "Gould",
'Grandidier' => "Grandidier",
'Granger' => "Granger",
'Grant' => "Grant",
'Grant' => "Grant",
'Gravenhorst' => "Gravenhorst",
'G. R. Gray' => "G. R. Gray",
'J. E. Gray' => "J. E. Gray",
'Gregory' => "Gregory",
'Griffith' => "Griffith",
'Grinnell' => "Grinnell",
'Griscom' => "Griscom",
'Grobben' => "Grobben",
'A. Grote' => "A. Grote",
'Grote' => "Grote",
'H. Grote' => "H. Grote",
'Grumm-Grzhimailo' => "Grumm-Grzhimailo",
'Guenee' => "Guenee",
'Guenée' => "Guenée",
'Guerin' => "Guerin",
'Guérin-Méneville' => "Guérin-Méneville",
'Güldenstädt' => "Güldenstädt",
'Gunnerus' => "Gunnerus",
'Gunter' => "Gunter",
'Günther' => "Günther",
'Gurney' => "Gurney",
'J. H. Gurney Jr' => "J. H. Gurney Jr",
'Gyllenhal' => "Gyllenhal",
'Hablizl' => "Hablizl",
'Hadiaty' => "Hadiaty",
'Hadie' => "Hadie",
'Haeckel' => "Haeckel",
'Hagen' => "Hagen",
'Hahn' => "Hahn",
'Haldeman' => "Haldeman",
'Haliday' => "Haliday",
'Hallowell' => "Hallowell",
'Hamilton' => "Hamilton",
'Hamilton-Buchanan' => "Hamilton-Buchanan",
'Hammer' => "Hammer",
'Hampson' => "Hampson",
'Handlirsch' => "Handlirsch",
'Hansemann' => "Hansemann",
'Hansen' => "Hansen",
'Harcourt' => "Harcourt",
'Hardwicke' => "Hardwicke",
'Harlan' => "Harlan",
'Harper' => "Harper",
'Harris' => "Harris",
'Hartert' => "Hartert",
'Hartig' => "Hartig",
'Hartlaub' => "Hartlaub",
'Hatcher' => "Hatcher",
'Hatschek' => "Hatschek",
'Haubold' => "Haubold",
'Haworth' => "Haworth",
'Hay' => "Hay",
'Head' => "Head",
'Heaney' => "Heaney",
'Heckel' => "Heckel",
'Heemstra' => "Heemstra",
'Hellén' => "Hellén",
'Hellmayr' => "Hellmayr",
'Hemprich' => "Hemprich",
'Henle' => "Henle",
'Henshaw' => "Henshaw",
'Hentz' => "Hentz",
'Herbst' => "Herbst",
'Herdman' => "Herdman",
'Hering' => "Hering",
'Hermann' => "Hermann",
'Herre' => "Herre",
'Herrich-Schäffer' => "Herrich-Schäffer",
'Hertlein' => "Hertlein",
'Heude' => "Heude",
'Heuglin' => "Heuglin",
'Hewitson' => "Hewitson",
'Heymons' => "Heymons",
'Hildebrand' => "Hildebrand",
'Hilgendorf' => "Hilgendorf",
'Hilsenberg' => "Hilsenberg",
'Hinton' => "Hinton",
'Hirohito' => "Hirohito",
'Hiyama' => "Hiyama",
'Hodgson' => "Hodgson",
'Hoese' => "Hoese",
'Hoffmannsegg' => "Hoffmannsegg",
'Hoffstetter' => "Hoffstetter",
'Holbrook' => "Holbrook",
'Holland' => "Holland",
'Holmberg' => "Holmberg",
'Holthuis' => "Holthuis",
'Hombron' => "Hombron",
'Horner' => "Horner",
'Horsfield' => "Horsfield",
'Hose' => "Hose",
'Houttuyn' => "Houttuyn",
'Howard' => "Howard",
'A. H. Howell' => "A. H. Howell",
'Hoyle' => "Hoyle",
'Hu' => "Hu",
'Hübner' => "Hübner",
'Hubbs' => "Hubbs",
'Huene' => "Huene",
'von Huene' => "von Huene",
'Hulke' => "Hulke",
'Hume' => "Hume",
'Humphrey' => "Humphrey",
'Hunt' => "Hunt",
'Hutt' => "Hutt",
'Huxley' => "Huxley",
'Hwang' => "Hwang",
'Ida' => "Ida",
'Iredale' => "Iredale",
'Illiger' => "Illiger",
'Ivantsoff' => "Ivantsoff",
'Ivie' => "Ivie",
'Iwai' => "Iwai",
'Jacquin' => "Jacquin",
'Jacquinot' => "Jacquinot",
'Jain' => "Jain",
'Jakowlew' => "Jakowlew",
'Jameson' => "Jameson",
'Janensch' => "Janensch",
'Janson' => "Janson",
'Jardine' => "Jardine",
'Jebb' => "Jebb",
'Jenkins' => "Jenkins",
'A. P. Jenkins' => "A. P. Jenkins",
'Jensen' => "Jensen",
'Jerdon' => "Jerdon",
'Q. Ji' => "Q. Ji",
'S. Ji' => "S. Ji",
'Jiménez de la Espada ' => "Jiménez de la Espada ",
'Jocqué' => "Jocqué",
'G. D. Johnson' => "G. D. Johnson",
'Jordan' => "Jordan",
'K. Jordan' => "K. Jordan",
'Jouanin' => "Jouanin",
'Karsch' => "Karsch",
'Katayama' => "Katayama",
'Kaup' => "Kaup",
'Keferstein' => "Keferstein",
'Kelaart' => "Kelaart",
'Kellner' => "Kellner",
'Kennedy' => "Kennedy",
'Kennicott' => "Kennicott",
'Kerr' => "Kerr",
'Kessler' => "Kessler",
'Keulemans' => "Keulemans",
'Keyserling' => "Keyserling",
'Kielan-Jaworowska' => "Kielan-Jaworowska",
'King' => "King",
'Kinnear' => "Kinnear",
'Kirby' => "Kirby",
'W. F. Kirby' => "W. F. Kirby",
'Kirkaldy' => "Kirkaldy",
'Kirkland' => "Kirkland",
'Kittlitz' => "Kittlitz",
'O. Kleinschmidt' => "O. Kleinschmidt",
'Kloss' => "Kloss",
'Klotzsch' => "Klotzsch",
'Klug' => "Klug",
'Kner' => "Kner",
'Knoch' => "Knoch",
'Kobayashi' => "Kobayashi",
'C. L. Koch' => "C. L. Koch",
'L. Koch' => "L. Koch",
'Koelz' => "Koelz",
'Kolbe' => "Kolbe",
'Kollar' => "Kollar",
'Konings' => "Konings",
'Konow' => "Konow",
'Kotlyar' => "Kotlyar",
'Kotthaus' => "Kotthaus",
'Kraglievich' => "Kraglievich",
'Kraatz' => "Kraatz",
'Krauss' => "Krauss",
'Krabbe' => "Krabbe",
'Krefft' => "Krefft",
'Kriechbaumer' => "Kriechbaumer",
'Krohn' => "Krohn",
'Ksepka' => "Ksepka",
'Kuhl' => "Kuhl",
'Kuiter' => "Kuiter",
'Kulczynski' => "Kulczynski",
'Kuroda' => "Kuroda",
'Kurzanov' => "Kurzanov",
'Labillardière' => "Labillardière",
'Lacépède' => "Lacépède",
'Lacordaire' => "Lacordaire",
'Lafresnaye' => "Lafresnaye",
'Laicharting' => "Laicharting",
'Lamarck' => "Lamarck",
'Lamanna' => "Lamanna",
'Lambe' => "Lambe",
'Lambrecht' => "Lambrecht",
'Lameere' => "Lameere",
'Landbeck' => "Landbeck",
'Langer' => "Langer",
'Langston' => "Langston",
'Laporte' => "Laporte",
'Lapparent' => "Lapparent",
'de Lapparent' => "de Lapparent",
'Larson' => "Larson",
'Latham' => "Latham",
'Latreille' => "Latreille",
'Laurenti' => "Laurenti",
'Laurillard' => "Laurillard",
'Lavocat' => "Lavocat",
'Lawrence' => "Lawrence",
'Laxmann' => "Laxmann",
'Layard' => "Layard",
'LeConte' => "LeConte",
'Leach' => "Leach",
'Leach' => "Leach",
'Lee' => "Lee",
'Leech' => "Leech",
'Lehtinen' => "Lehtinen",
'Leidy' => "Leidy",
'Leisler' => "Leisler",
'Le Leouff' => "Le Leouff",
'Lembeye' => "Lembeye",
'Lepeletier' => "Lepeletier",
'Lesson' => "Lesson",
'Le Souef' => "Le Souef",
'Lesueur' => "Lesueur",
'Leuckart' => "Leuckart",
'Leussler' => "Leussler",
'C.K. Li' => "C.K. Li",
'D.Q. Li' => "D.Q. Li",
'Lichtenstein' => "Lichtenstein",
'Lilljeborg' => "Lilljeborg",
'Link' => "Link",
'Linnaeus' => "Linnaeus",
'Linsley' => "Linsley",
'Lintner' => "Lintner",
'Loche' => "Loche",
'Lönnberg' => "Lönnberg",
'Lowe' => "Lowe",
'Lowe' => "Lowe",
'Lü' => "Lü",
'Lubbock' => "Lubbock",
'Lucas' => "Lucas",
'F.A. Lucas' => "F.A. Lucas",
'S.G. Lucas' => "S.G. Lucas",
'Lull' => "Lull",
'Lund' => "Lund",
'Lütken' => "Lütken",
'Lydekker' => "Lydekker",
'Lyon' => "Lyon",
'Mabile' => "Mabile",
'Mackovicky' => "Mackovicky",
'Makela' => "Makela",
'Malaise' => "Malaise",
'Maleev' => "Maleev",
'Mannerheim' => "Mannerheim",
'Mantell' => "Mantell",
'Marcus' => "Marcus",
'Marinescu' => "Marinescu",
'Marples' => "Marples",
'Marsh' => "Marsh",
'Martill' => "Martill",
'Martin' => "Martin",
'C. Martin' => "C. Martin",
'Martinez' => "Martinez",
'Maryanska' => "Maryanska",
'Massy' => "Massy",
'Mateus' => "Mateus",
'Mathews' => "Mathews",
'Matley' => "Matley",
'Matschie' => "Matschie",
'Matsubara' => "Matsubara",
'Matsumura' => "Matsumura",
'Matsuura' => "Matsuura",
'Mayr' => "Mayr",
'McCulloch' => "McCulloch",
'McLachlan' => "McLachlan",
'Meade-Waldo' => "Meade-Waldo",
'Mearns' => "Mearns",
'Meek' => "Meek",
'Meguro' => "Meguro",
'Méhely' => "Méhely",
'Meigen' => "Meigen",
'Mello-Leitão' => "Mello-Leitão",
'Menezes' => "Menezes",
'Ménétries' => "Ménétries",
'Merrem' => "Merrem",
'Merriam' => "Merriam",
'Metschnikoff' => "Metschnikoff",
'Meyen' => "Meyen",
'Meyer' => "Meyer",
'Meyer' => "Meyer",
'von Meyer' => "von Meyer",
'A. B. Meyer' => "A. B. Meyer",
'Meyer de Schauensee' => "Meyer de Schauensee",
'Meyrick' => "Meyrick",
'Michener' => "Michener",
'Midd.' => "Midd.",
'Midgley' => "Midgley",
'Miles' => "Miles",
'Miller' => "Miller",
'A. H. Miller' => "A. H. Miller",
'J. F. Miller' => "J. F. Miller",
'L. H. Miller' => "L. H. Miller",
'R. R. Miller' => "R. R. Miller",
'Millet' => "Millet",
'Milne-Edwards' => "Milne-Edwards",
'A. Milne-Edwards' => "A. Milne-Edwards",
'Milner' => "Milner",
'Miranda-Ribeiro' => "Miranda-Ribeiro",
'P. Miranda-Ribeiro' => "P. Miranda-Ribeiro",
'Mitchell' => "Mitchell",
'Mitchill' => "Mitchill",
'Mitra' => "Mitra",
'Mizuno' => "Mizuno",
'Mochizuki' => "Mochizuki",
'Mocsáry' => "Mocsáry",
'Mohr' => "Mohr",
'Molina' => "Molina",
'Molnar' => "Molnar",
'Mondolfi' => "Mondolfi",
'Montagu' => "Montagu",
'Moore' => "Moore",
'J.C. Moore' => "J.C. Moore",
'Mori' => "Mori",
'Moreno' => "Moreno",
'Morrow' => "Morrow",
'Mortensen' => "Mortensen",
'Motschulsky' => "Motschulsky",
'Mourer-Chauviré' => "Mourer-Chauviré",
'Moyer' => "Moyer",
'Muche' => "Muche",
'Müller' => "Müller",
'O. F. Müller' => "O. F. Müller",
'S. Müller' => "S. Müller",
'Mulsant' => "Mulsant",
'Munday' => "Munday",
'Murphy' => "Murphy",
'Murray' => "Murray",
'Muttkowski' => "Muttkowski",
'Nabokov' => "Nabokov",
'Naef' => "Naef",
'Nagao' => "Nagao",
'Naish' => "Naish",
'J. F. Naumann' => "J. F. Naumann",
'Natterer' => "Natterer",
'Navás' => "Navás",
'Nehring' => "Nehring",
'Nelson' => "Nelson",
'Nessov' => "Nessov",
'Neumoegen' => "Neumoegen",
'Newman' => "Newman",
'A. Newton' => "A. Newton",
'E. Newton' => "E. Newton",
'Nichols' => "Nichols",
'Nichols' => "Nichols",
'Nielsen' => "Nielsen",
'Nikolskii' => "Nikolskii",
'Nilsson' => "Nilsson",
'Nitsche' => "Nitsche",
'Noble' => "Noble",
'Nopcsa' => "Nopcsa",
'Norell' => "Norell",
'Norman' => "Norman",
'D. Norman' => "D. Norman",
'North' => "North",
'Novas' => "Novas",
'Nowinski' => "Nowinski",
'Nuttall' => "Nuttall",
'Nylander' => "Nylander",
'Oberholser' => "Oberholser",
'Oberthür' => "Oberthür",
'Ochiai' => "Ochiai",
'Ogilby' => "Ogilby",
'J.D. Ogilby' => "J.D. Ogilby",
'Ogilvie-Grant' => "Ogilvie-Grant",
'Ognev' => "Ognev",
'Oguma' => "Oguma",
'Okamoto' => "Okamoto",
'Oken' => "Oken",
'Okumura' => "Okumura",
'Olfers' => "Olfers",
'Oliver' => "Oliver",
'Olivi' => "Olivi",
'Olivier' => "Olivier",
'Olson' => "Olson",
'Oppel' => "Oppel",
'Ord' => "Ord",
'Osbeck' => "Osbeck",
'Osborn' => "Osborn",
'Osgood' => "Osgood",
'Osi' => "Osi",
'Osmólska' => "Osmólska",
'Ostrom' => "Ostrom",
'Oudemans' => "Oudemans",
'Oustalet' => "Oustalet",
'Owen' => "Owen",
'Packard' => "Packard",
'Pallas' => "Pallas",
'Palmer' => "Palmer",
'Panzer' => "Panzer",
'Parenti' => "Parenti",
'Parks' => "Parks",
'Patzner' => "Patzner",
'Paul' => "Paul",
'Peale' => "Peale",
'Pearson' => "Pearson",
'Pelzeln' => "Pelzeln",
'Pennant' => "Pennant",
'M. L. Penrith' => "M. L. Penrith",
'Perez-Moreno' => "Perez-Moreno",
'Perle' => "Perle",
'Péron' => "Péron",
'Perty' => "Perty",
'Peters' => "Peters",
'D.S. Peters' => "D.S. Peters",
'J.L. Peters' => "J.L. Peters",
'Petrunkevitch' => "Petrunkevitch",
'Philippi' => "Philippi",
'Pickard-Cambridge' => "Pickard-Cambridge",
'Pilsbry' => "Pilsbry",
'Platnick' => "Platnick",
'Pocock' => "Pocock",
'Poda' => "Poda",
'Poey' => "Poey",
'Poeppig' => "Poeppig",
'Pol' => "Pol",
'Pomel' => "Pomel",
'Pompeckj' => "Pompeckj",
'Pontoppidan' => "Pontoppidan",
'Pope' => "Pope",
'Potts' => "Potts",
'Pouyaud' => "Pouyaud",
'Powell' => "Powell",
'Pruvot-Fol' => "Pruvot-Fol",
'Przewalski' => "Przewalski",
'Pucheran' => "Pucheran",
'Purcell' => "Purcell",
'Quatrefages' => "Quatrefages",
'Quoy' => "Quoy",
'Raath' => "Raath",
'Rachmatika' => "Rachmatika",
'Rackett' => "Rackett",
'Radcliffe' => "Radcliffe",
'Radde' => "Radde",
'Rafinesque' => "Rafinesque",
'Raffles' => "Raffles",
'Rajasuriya' => "Rajasuriya",
'Rambur' => "Rambur",
'Ramos' => "Ramos",
'E. P. Ramsay' => "E. P. Ramsay",
'Rand' => "Rand",
'Randall' => "Randall",
'Rathbun' => "Rathbun",
'Rathke' => "Rathke",
'Ratzeburg' => "Ratzeburg",
'Rauhut' => "Rauhut",
'Razoumowsky' => "Razoumowsky",
'Reakirt' => "Reakirt",
'Regan' => "Regan",
'Regel' => "Regel",
'Régimbart' => "Régimbart",
'Reichenbach' => "Reichenbach",
'Reichenow' => "Reichenow",
'Reig' => "Reig",
'Reinhardt' => "Reinhardt",
'Reinhart' => "Reinhart",
'Renyaan' => "Renyaan",
'Retzius' => "Retzius",
'Riabinin' => "Riabinin",
'Rich' => "Rich",
'Richardson' => "Richardson",
'Richmond' => "Richmond",
'Ridgway' => "Ridgway",
'Riggs' => "Riggs",
'Riley' => "Riley",
'Ripley' => "Ripley",
'Ris' => "Ris",
'Risso' => "Risso",
'Rivero' => "Rivero",
'Roberts' => "Roberts",
'Robertson' => "Robertson",
'Robinson' => "Robinson",
'Robison' => "Robison",
'Robson' => "Robson",
'Röding ' => "Röding ",
'Roewer' => "Roewer",
'Rogenhofer' => "Rogenhofer",
'Rohwer' => "Rohwer",
'Roniewicz' => "Roniewicz",
'Ross' => "Ross",
'Rossi' => "Rossi",
'Rossignol' => "Rossignol",
'Rossman' => "Rossman",
'Rothschild' => "Rothschild",
'Roxas' => "Roxas",
'Rozhdestvensky' => "Rozhdestvensky",
'Rudolphi' => "Rudolphi",
'Rüppell' => "Rüppell",
'Russell' => "Russell",
'Ryder' => "Ryder",
'Sakamoto' => "Sakamoto",
'Salgado' => "Salgado",
'Salter' => "Salter",
'Salvadori' => "Salvadori",
'Salvin' => "Salvin",
'Samouelle' => "Samouelle",
'Sampson' => "Sampson",
'Sanborn' => "Sanborn",
'Santschi' => "Santschi",
'G. O. Sars' => "G. O. Sars",
'M. Sars' => "M. Sars",
'Satunin' => "Satunin",
'Saunders' => "Saunders",
'Saussure' => "Saussure",
'Savi' => "Savi",
'Savigny' => "Savigny",
'Saville-Kent' => "Saville-Kent",
'Savornin' => "Savornin",
'Say' => "Say",
'Schaum' => "Schaum",
'Schinz' => "Schinz",
'Schiapelli' => "Schiapelli",
'Schiffermüller' => "Schiffermüller",
'Schiödte' => "Schiödte",
'Schlaikjer' => "Schlaikjer",
'Schlegel' => "Schlegel",
'Schmidt' => "Schmidt",
'Schnabl' => "Schnabl",
'Schneider' => "Schneider",
'Schoepf(f)' => "Schoepf(f)",
'Schönherr' => "Schönherr",
'Schomburgk' => "Schomburgk",
'Schrank' => "Schrank",
'Schreber' => "Schreber",
'Schren(c)k' => "Schren(c)k",
'Schultz' => "Schultz",
'P. L. Sclater' => "P. L. Sclater",
'W. L. Sclater' => "W. L. Sclater",
'Scopoli' => "Scopoli",
'Scudder' => "Scudder",
'Seebohm' => "Seebohm",
'Seeley' => "Seeley",
'Selby' => "Selby",
'Sélys' => "Sélys",
'Semenov-Tian-Shanskii' => "Semenov-Tian-Shanskii",
'Sereno' => "Sereno",
'Serville' => "Serville",
'Sevastianov' => "Sevastianov",
'Severtzov' => "Severtzov",
'Sharpe' => "Sharpe",
'Shaw' => "Shaw",
'Shelley' => "Shelley",
'Shen' => "Shen",
'Shuckard' => "Shuckard",
'Sick' => "Sick",
'Sideleva' => "Sideleva",
'Siebold' => "Siebold",
'Silvestri' => "Silvestri",
'Simon' => "Simon",
'Simpson' => "Simpson",
'Slipinski' => "Slipinski",
'Smith' => "Smith",
'Hamilton Smith' => "Hamilton Smith",
'E. Smith' => "E. Smith",
'F. Smith' => "F. Smith",
'J.E. Smith' => "J.E. Smith",
'J.L.B. Smith' => "J.L.B. Smith",
'M.A. Smith' => "M.A. Smith",
'S.I. Smith' => "S.I. Smith",
'W.L. Smith' => "W.L. Smith",
'Snellen von Vollenhoven' => "Snellen von Vollenhoven",
'Snodgrass' => "Snodgrass",
'Soeroto' => "Soeroto",
'Sollas' => "Sollas",
'Spallanzani' => "Spallanzani",
'Sparrman' => "Sparrman",
'Spencer' => "Spencer",
'Spinola' => "Spinola",
'Spix' => "Spix",
'Stahnke' => "Stahnke",
'Stainton' => "Stainton",
'Starks' => "Starks",
'Statius Muller' => "Statius Muller",
'Staudinger' => "Staudinger",
'Stebbing' => "Stebbing",
'Steenstrup' => "Steenstrup",
'Steere' => "Steere",
'Stein' => "Stein",
'Steindachner' => "Steindachner",
'Stejneger' => "Stejneger",
'Stephens' => "Stephens",
'Sternberg' => "Sternberg",
'Sternberg' => "Sternberg",
'D. J. Stewart' => "D. J. Stewart",
'Stolzmann' => "Stolzmann",
'Stoll' => "Stoll",
'Storr' => "Storr",
'Stovall' => "Stovall",
'Strand' => "Strand",
'Strauch' => "Strauch",
'Streets' => "Streets",
'Stresemann' => "Stresemann",
'Strickland' => "Strickland",
'Stritt' => "Stritt",
'Ström' => "Ström",
'Stromer' => "Stromer",
'Struhsaker' => "Struhsaker",
'Su' => "Su",
'Such' => "Such",
'Suckley' => "Suckley",
'Sues' => "Sues",
'Sullivan' => "Sullivan",
'Sulzer' => "Sulzer",
'Sundevall' => "Sundevall",
'Swainson' => "Swainson",
'Swann' => "Swann",
'Swinhoe' => "Swinhoe",
'Sykes' => "Sykes",
'Taczanowski' => "Taczanowski",
'Talbot' => "Talbot",
'Taliev' => "Taliev",
'Tang' => "Tang",
'Taquet' => "Taquet",
'Taschenberg' => "Taschenberg",
'Tate' => "Tate",
'W. M. Tattersall' => "W. M. Tattersall",
'Taylor' => "Taylor",
'L. R. Taylor' => "L. R. Taylor",
'Temminck' => "Temminck",
'Templeton' => "Templeton",
'Thayer' => "Thayer",
'Theischinger' => "Theischinger",
'Thiele' => "Thiele",
'Thomas' => "Thomas",
'Thomson' => "Thomson",
'Thorell' => "Thorell",
'Thunberg' => "Thunberg",
'Tjakrawidjaja' => "Tjakrawidjaja",
'Ticehurst' => "Ticehurst",
'Tidwell' => "Tidwell",
'Timberlake' => "Timberlake",
'Tischbein' => "Tischbein",
'Toledo-Piza' => "Toledo-Piza",
'Tomes' => "Tomes",
'Townsend' => "Townsend",
'C. H. Townsend' => "C. H. Townsend",
'Traill' => "Traill",
'Trewavas' => "Trewavas",
'Tristram' => "Tristram",
'Troschel' => "Troschel",
'Trouessart' => "Trouessart",
'True' => "True",
'Trybom' => "Trybom",
'Tschudi' => "Tschudi",
'Tsogtbaatar' => "Tsogtbaatar",
'Tumanova' => "Tumanova",
'Turton' => "Turton",
'Tutt' => "Tutt",
'Tytler' => "Tytler",
'Uhler' => "Uhler",
'Vaillant' => "Vaillant",
'Valenciennes' => "Valenciennes",
'Van Denburgh' => "Van Denburgh",
'Vander Linden' => "Vander Linden",
'Varricchio' => "Varricchio",
'E. Verreaux' => "E. Verreaux",
'J. Verreaux' => "J. Verreaux",
'Verrill' => "Verrill",
'Vickaryous' => "Vickaryous",
'Vickers-Rich' => "Vickers-Rich",
'P. Rich' => "P. Rich",
'Vieillot' => "Vieillot",
'Vieweg' => "Vieweg",
'Vigors' => "Vigors",
'Villers' => "Villers",
'Vladykov' => "Vladykov",
'Wagler' => "Wagler",
'Wagner' => "Wagner",
'Wahlberg' => "Wahlberg",
'Walbaum' => "Walbaum",
'Walch' => "Walch",
'Walckenaer' => "Walckenaer",
'Walker' => "Walker",
'A. Walker' => "A. Walker",
'F. Walker' => "F. Walker",
'Wall' => "Wall",
'Wallace' => "Wallace",
'Wallengren' => "Wallengren",
'Walsh' => "Walsh",
'Waltl' => "Waltl",
'X.L. Wang' => "X.L. Wang",
'Y.Q. Wang' => "Y.Q. Wang",
'Watabe' => "Watabe",
'Waterhouse' => "Waterhouse",
'Weber' => "Weber",
'Wegrzynowicz' => "Wegrzynowicz",
'Weigold' => "Weigold",
'Weishampel' => "Weishampel",
'Welles' => "Welles",
'Westwood' => "Westwood",
'Wetmore' => "Wetmore",
'Weyenbergh' => "Weyenbergh",
'Wiedemann' => "Wiedemann",
'Wied-Neuwied' => "Wied-Neuwied",
'Wiegmann' => "Wiegmann",
'Williams' => "Williams",
'Williamson' => "Williamson",
'Wilson' => "Wilson",
'Wilson' => "Wilson",
'Wiman' => "Wiman",
'Wingate' => "Wingate",
'Winge' => "Winge",
'Wirjoatmodjo' => "Wirjoatmodjo",
'Wolfe' => "Wolfe",
'Wood-Mason' => "Wood-Mason",
'Woodhouse' => "Woodhouse",
'Woodward' => "Woodward",
'Wroughton' => "Wroughton",
'Xantus' => "Xantus",
'Xu' => "Xu",
'Yamaguchi' => "Yamaguchi",
'Yamaguti' => "Yamaguti",
'Yamanoue' => "Yamanoue",
'Yang' => "Yang",
'Young' => "Young",
'Yarrell' => "Yarrell",
'Yoseda' => "Yoseda",
'You' => "You",
'Young' => "Young",
'Zaddach' => "Zaddach",
'Zanno' => "Zanno",
'Zeledon' => "Zeledon",
'Zeller' => "Zeller",
'Zetterstedt' => "Zetterstedt",
'Zhao' => "Zhao",
'S. Zhou' => "S. Zhou",
'Zimmer' => "Zimmer",
'Zimmermann' => "Zimmermann",
'Zincken' => "Zincken",
'Zirngiebl' => "Zirngiebl",
'Zittel' => "Zittel"
);
my %xbotanist = (
'Aarons.' => "Aarons.",
'Abbayes' => "Abbayes",
'Acuña' => "Acuña",
'Ach.' => "Ach.",
'Adams' => "Adams",
'P.B.Adams' => "P.B.Adams",
'Adans.' => "Adans.",
'Aellen' => "Aellen",
'Afzel.' => "Afzel.",
'C.Agardh' => "C.Agardh",
'J.Agardh' => "J.Agardh",
'H.E.Ahles' => "H.E.Ahles",
'W.T.Aiton' => "W.T.Aiton",
'Aiton' => "Aiton",
'Akhani' => "Akhani",
'Al-Shehbaz' => "Al-Shehbaz",
'Alb.' => "Alb.",
'Alexander' => "Alexander",
'E.B.Alexeev' => "E.B.Alexeev",
'F.Allam.' => "F.Allam.",
'Allemão' => "Allemão",
'M.Allemão' => "M.Allemão",
'All.' => "All.",
'Allred' => "Allred",
'Alpino' => "Alpino",
'Ames' => "Ames",
'Andersson' => "Andersson",
'Anders.' => "Anders.",
'E.G.Andrews' => "E.G.Andrews",
'Andrews' => "Andrews",
'Andrz.' => "Andrz.",
'Andronov' => "Andronov",
'Arcang.' => "Arcang.",
'Ard.' => "Ard.",
'Arn.' => "Arn.",
'Arora' => "Arora",
'Arráb.' => "Arráb.",
'Arruda' => "Arruda",
'Arthur' => "Arthur",
'Asch.' => "Asch.",
'Ashe' => "Ashe",
'G.F.Atk.' => "G.F.Atk.",
'Aubl.' => "Aubl.",
'Austin' => "Austin",
'Avé-Lall.' => "Avé-Lall.",
'C.Bab.' => "C.Bab.",
'Backeb.' => "Backeb.",
'Baill.' => "Baill.",
'F.M.Bailey' => "F.M.Bailey",
'L.H.Bailey' => "L.H.Bailey",
'Baill.' => "Baill.",
'Baillon' => "Baillon",
'Baker' => "Baker",
'M.S.Baker' => "M.S.Baker",
'Baldwin' => "Baldwin",
'Balf.f.' => "Balf.f.",
'Balf.' => "Balf.",
'C.R.Ball' => "C.R.Ball",
'P.W.Ball' => "P.W.Ball",
'P.R.O.Bally' => "P.R.O.Bally",
'Bals.-Criv.' => "Bals.-Criv.",
'Banks' => "Banks",
'Barb.Rodr.' => "Barb.Rodr.",
'Bard.-Vauc.' => "Bard.-Vauc.",
'Barneby' => "Barneby",
'Barnhart' => "Barnhart",
'Barr' => "Barr",
'Barratt' => "Barratt",
'G.M.Barroso' => "G.M.Barroso",
'Barroso' => "Barroso",
'Bartal.' => "Bartal.",
'Bartlett' => "Bartlett",
'Bartl.' => "Bartl.",
'Barton' => "Barton",
'W.P.C.Barton' => "W.P.C.Barton",
'Bartram' => "Bartram",
'W.Bartram' => "W.Bartram",
'Bates' => "Bates",
'Batsch' => "Batsch",
'Batt.' => "Batt.",
'C.Bauhin' => "C.Bauhin",
'J.Bauhin' => "J.Bauhin",
'Baumg.' => "Baumg.",
'R.J.Bayer' => "R.J.Bayer",
'Beadle' => "Beadle",
'Bean' => "Bean",
'P.Beauv.' => "P.Beauv.",
'Bebb' => "Bebb",
'Becc.' => "Becc.",
'Beck' => "Beck",
'Becker' => "Becker",
'Bedd.' => "Bedd.",
'Beetle' => "Beetle",
'Bég.' => "Bég.",
'Beitel' => "Beitel",
'Bellardi' => "Bellardi",
'Beloserky' => "Beloserky",
'Benjamin' => "Benjamin",
'Benn.' => "Benn.",
'Benth.' => "Benth.",
'Bentley' => "Bentley",
'Berg' => "Berg",
'C.C.Berg' => "C.C.Berg",
'O.Berg' => "O.Berg",
'Berger' => "Berger",
'A.Berger' => "A.Berger",
'Bergey' => "Bergey",
'P.J.Bergius' => "P.J.Bergius",
'Berk.' => "Berk.",
'Berkhout' => "Berkhout",
'R.Bernal' => "R.Bernal",
'Bernh.' => "Bernh.",
'E.W.Berry' => "E.W.Berry",
'P.E.Berry' => "P.E.Berry",
'Berthel.' => "Berthel.",
'Bertol.' => "Bertol.",
'Besser' => "Besser",
'Bessey' => "Bessey",
'Bews' => "Bews",
'Beyr.' => "Beyr.",
'Bickn.' => "Bickn.",
'M.Bieb.' => "M.Bieb.",
'Biehler' => "Biehler",
'Bigelow' => "Bigelow",
'Biv.' => "Biv.",
'J.M.Black' => "J.M.Black",
'S.T.Blake' => "S.T.Blake",
'S.F.Blake' => "S.F.Blake",
'Blake' => "Blake",
'Blanch.' => "Blanch.",
'Blanco' => "Blanco",
'Blasdell' => "Blasdell",
'Blomq.' => "Blomq.",
'Bluff' => "Bluff",
'Blume' => "Blume",
'Böcher' => "Böcher",
'H.Bock' => "H.Bock",
'Boeck' => "Boeck",
'Boehm.' => "Boehm.",
'Boiss.' => "Boiss.",
'Boiteau' => "Boiteau",
'B.Boivin' => "B.Boivin",
'Bolle' => "Bolle",
'Bong' => "Bong",
'Bonpl.' => "Bonpl.",
'Boott' => "Boott",
'Borbás' => "Borbás",
'Boreau' => "Boreau",
'Borhidi' => "Borhidi",
'Boriss.' => "Boriss.",
'Borkh.' => "Borkh.",
'Bornm.' => "Bornm.",
'Börner' => "Börner",
'Borrer' => "Borrer",
'Borss.-Waalk.' => "Borss.-Waalk.",
'Bory' => "Bory",
'Bosc' => "Bosc",
'Boucher' => "Boucher",
'Brack.' => "Brack.",
'Brainerd' => "Brainerd",
'Brandão' => "Brandão",
'Brandegee' => "Brandegee",
'Brandenburg' => "Brandenburg",
'Brandis' => "Brandis",
'Branner' => "Branner",
'A.Braun' => "A.Braun",
'A.Braun' => "A.Braun",
'E.L.Braun' => "E.L.Braun",
'Brenan' => "Brenan",
'Brenckle' => "Brenckle",
'W.H.Brewer' => "W.H.Brewer",
'Bright' => "Bright",
'Britten' => "Britten",
'Britt.' => "Britt.",
'Britton' => "Britton",
'Bromhead' => "Bromhead",
'Brongn.' => "Brongn.",
'Al.Brongn.' => "Al.Brongn.",
'Brooker' => "Brooker",
'Brooks' => "Brooks",
'Brooks' => "Brooks",
'Broome' => "Broome",
'Brot.' => "Brot.",
'Brouillet' => "Brouillet",
'Broun' => "Broun",
'Brouss' => "Brouss",
'N.E.Br.' => "N.E.Br.",
'R.Br.' => "R.Br.",
'P.Browne' => "P.Browne",
'Bruijn' => "Bruijn",
'Brummitt' => "Brummitt",
'Brunet' => "Brunet",
'Bruyns' => "Bruyns",
'Buch.-Ham.' => "Buch.-Ham.",
'Buchenau' => "Buchenau",
'W.R.Buck' => "W.R.Buck",
'Buckland' => "Buckland",
'Buckley' => "Buckley",
'Buddle' => "Buddle",
'Bunge' => "Bunge",
'Burbank' => "Burbank",
'Burb.' => "Burb.",
'N.T.Burb.' => "N.T.Burb.",
'Burdet' => "Burdet",
'Bureau' => "Bureau",
'Burgess' => "Burgess",
'Burm.' => "Burm.",
'Burm.f.' => "Burm.f.",
'Burret' => "Burret",
'Burrill' => "Burrill",
'Bush' => "Bush",
'Butler' => "Butler",
'Buxb' => "Buxb",
'Cabrera' => "Cabrera",
'Calder' => "Calder",
'Caley' => "Caley",
'Cambage' => "Cambage",
'Cambess.' => "Cambess.",
'Camp' => "Camp",
'Cambp.' => "Cambp.",
'A.Camus' => "A.Camus",
'Canby' => "Canby",
'F.Y.Cao' => "F.Y.Cao",
'Capuron' => "Capuron",
'J.Carey' => "J.Carey",
'Caro' => "Caro",
'Carrière' => "Carrière",
'Carruth.' => "Carruth.",
'S.Carter' => "S.Carter",
'Carver' => "Carver",
'Casp.' => "Casp.",
'Cass.' => "Cass.",
'Cav.' => "Cav.",
'Cavara' => "Cavara",
'Celak.' => "Celak.",
'Cerv.' => "Cerv.",
'Ces.' => "Ces.",
'Cesalpino' => "Cesalpino",
'Cham.' => "Cham.",
'S.L.Chang' => "S.L.Chang",
'Chapm.' => "Chapm.",
'Chase' => "Chase",
'M.W.Chase' => "M.W.Chase",
'Châtel.' => "Châtel.",
'Chaub.' => "Chaub.",
'W.C.Cheng' => "W.C.Cheng",
'A.Chev.' => "A.Chev.",
'Chiov.' => "Chiov.",
'Chodat' => "Chodat",
'Choisy' => "Choisy",
'C.Chr.' => "C.Chr.",
'T.A.Chr.' => "T.A.Chr.",
'G.L.Church' => "G.L.Church",
'Clairv.' => "Clairv.",
'A.R.Clapham' => "A.R.Clapham",
'Clark' => "Clark",
'C.A.Clark' => "C.A.Clark",
'C.B.Clarke' => "C.B.Clarke",
'Claus' => "Claus",
'R.T.Clausen' => "R.T.Clausen",
'Clus.' => "Clus.",
'Clute' => "Clute",
'Cogn.' => "Cogn.",
'Colebr.' => "Colebr.",
'Colla' => "Colla",
'Collad.' => "Collad.",
'Collinson' => "Collinson",
'Comm.' => "Comm.",
'Conrad' => "Conrad",
'Conran' => "Conran",
'Constance' => "Constance",
'O.F.Cook' => "O.F.Cook",
'Cooke' => "Cooke",
'Cookson' => "Cookson",
'Cooperr.' => "Cooperr.",
'Corner' => "Corner",
'Correll' => "Correll",
'Cory' => "Cory",
'Coss.' => "Coss.",
'J.M.Coult.' => "J.M.Coult.",
'Coult.' => "Coult.",
'Coville' => "Coville",
'Cranfill' => "Cranfill",
'Crantz' => "Crantz",
'Crép.' => "Crép.",
'Crins' => "Crins",
'Croizat' => "Croizat",
'Cronquist' => "Cronquist",
'A.Cunn.' => "A.Cunn.",
'M.A.Curtis' => "M.A.Curtis",
'W.Curtis' => "W.Curtis",
'W.M.Curtis' => "W.M.Curtis",
'Czern.' => "Czern.",
'Dahl' => "Dahl",
'Dahlst.' => "Dahlst.",
'G.Dahlgren' => "G.Dahlgren",
'R.Dahlgren' => "R.Dahlgren",
'Dandy' => "Dandy",
'Darl.' => "Darl.",
'Daubs' => "Daubs",
'Daveau' => "Daveau",
'Davenp.' => "Davenp.",
'David' => "David",
'A.DC.' => "A.DC.",
'C.DC.' => "C.DC.",
'DC.' => "DC.",
'Decne.' => "Decne.",
'De Bary' => "De Bary",
'De Puydt' => "De Puydt",
'De Vis' => "De Vis",
'De Vriese' => "De Vriese",
'de Wet' => "de Wet",
'De Wild.' => "De Wild.",
'Decne.' => "Decne.",
'O.Deg.' => "O.Deg.",
'Delahoussaye' => "Delahoussaye",
'Delavay' => "Delavay",
'Deless.' => "Deless.",
'Denis' => "Denis",
'Desf.' => "Desf.",
'N.H.F.Desp.' => "N.H.F.Desp.",
'Desr.' => "Desr.",
'Desv.' => "Desv.",
'Dewey' => "Dewey",
'Dewey' => "Dewey",
'Diels' => "Diels",
'A.Dietr.' => "A.Dietr.",
'D.Dietr.' => "D.Dietr.",
'Dill.' => "Dill.",
'C.S.Ding' => "C.S.Ding",
'Dode' => "Dode",
'Dodoens' => "Dodoens",
'Döll' => "Döll",
'Doweld' => "Doweld",
'D.Don' => "D.Don",
'G.Don' => "G.Don",
'Donn' => "Donn",
'Donn.Sm.' => "Donn.Sm.",
'Douglas' => "Douglas",
'Dowell' => "Dowell",
'Drake' => "Drake",
'Druce' => "Druce",
'Drude' => "Drude",
'J.Drumm.' => "J.Drumm.",
'Dryand.' => "Dryand.",
'Du Roi' => "Du Roi",
'Duby' => "Duby",
'Duchesne' => "Duchesne",
'Ducke' => "Ducke",
'Dufr.' => "Dufr.",
'Duggar' => "Duggar",
'Dulac' => "Dulac",
'Dum.Cours.' => "Dum.Cours.",
'Dumort.' => "Dumort.",
'Dunal' => "Dunal",
'Dunn' => "Dunn",
'Durand' => "Durand",
'T.Durand' => "T.Durand",
'Durazz.' => "Durazz.",
'Durieu' => "Durieu",
'Dyal' => "Dyal",
'Eames' => "Eames",
'A.J.Eames' => "A.J.Eames",
'Earle' => "Earle",
'Eaton' => "Eaton",
'A.A.Eaton' => "A.A.Eaton",
'D.C.Eaton' => "D.C.Eaton",
'H.H.Eaton' => "H.H.Eaton",
'Eckl.' => "Eckl.",
'Eddy' => "Eddy",
'Eggl.' => "Eggl.",
'Ehrenb.' => "Ehrenb.",
'Ehrend.' => "Ehrend.",
'Ehrh.' => "Ehrh.",
'Eichler' => "Eichler",
'Eichw.' => "Eichw.",
'Eig' => "Eig",
'Elliott' => "Elliott",
'Emory' => "Emory",
'Endl.' => "Endl.",
'P.K.Endress' => "P.K.Endress",
'Engel' => "Engel",
'Engelm.' => "Engelm.",
'Engl.' => "Engl.",
'Epling' => "Epling",
'Erdman' => "Erdman",
'Eschsch.' => "Eschsch.",
'Ettingsh.' => "Ettingsh.",
'Ewart' => "Ewart",
'Falc.' => "Falc.",
'D.Fairchild' => "D.Fairchild",
'Fang' => "Fang",
'Farrer' => "Farrer",
'Farw.' => "Farw.",
'Fassett' => "Fassett",
'M.F.Fay' => "M.F.Fay",
'Fee' => "Fee",
'Fenzl' => "Fenzl",
'Fern.' => "Fern.",
'Ferry' => "Ferry",
'Fieber' => "Fieber",
'Fiori' => "Fiori",
'Fisch.' => "Fisch.",
'Flüggé' => "Flüggé",
'Focke' => "Focke",
'Forbes' => "Forbes",
'Forssk.' => "Forssk.",
'G.Forst.' => "G.Forst.",
'J.R.Forst.' => "J.R.Forst.",
'T.F.Forst.' => "T.F.Forst.",
'Fortune' => "Fortune",
'Fosberg' => "Fosberg",
'Foug.' => "Foug.",
'Fourc.' => "Fourc.",
'E.Fourn.' => "E.Fourn.",
'Fr.' => "Fr.",
'R.E.Fr.' => "R.E.Fr.",
'Franch.' => "Franch.",
'Freckmann' => "Freckmann",
'Fresen' => "Fresen",
'Friedl' => "Friedl",
'Fritsch' => "Fritsch",
'Friv.' => "Friv.",
'Frém.' => "Frém.",
'Froel.' => "Froel.",
'L.K.Fu' => "L.K.Fu",
'H.P.Fuchs' => "H.P.Fuchs",
'L.Fuchs' => "L.Fuchs",
'Gaertn.' => "Gaertn.",
'P.Gaertn.' => "P.Gaertn.",
'Gagnep.' => "Gagnep.",
'Gale' => "Gale",
'Galushko' => "Galushko",
'Gamble' => "Gamble",
'Garcke' => "Garcke",
'Gandhi' => "Gandhi",
'Gardner' => "Gardner",
'C.A.Gardner' => "C.A.Gardner",
'Gatt.' => "Gatt.",
'Gaudich.' => "Gaudich.",
'J.Gay' => "J.Gay",
'Genev.' => "Genev.",
'Gentry' => "Gentry",
'J.L.Gentry' => "J.L.Gentry",
'J.Gerard' => "J.Gerard",
'Gesner' => "Gesner",
'Gesnerus' => "Gesnerus",
'Geyer' => "Geyer",
'Ghini' => "Ghini",
'Gibbs' => "Gibbs",
'Gilg' => "Gilg",
'Gilib.' => "Gilib.",
'Gillies' => "Gillies",
'Gillis' => "Gillis",
'Gilly' => "Gilly",
'Gleason' => "Gleason",
'Gloxin' => "Gloxin",
'C.C.Gmel.' => "C.C.Gmel.",
'J.F.Gmel.' => "J.F.Gmel.",
'J.G.Gmel.' => "J.G.Gmel.",
'S.G.Gmel.' => "S.G.Gmel.",
'R.K.Godfrey' => "R.K.Godfrey",
'Godr.' => "Godr.",
'Goldberg' => "Goldberg",
'Goldie' => "Goldie",
'J.C.Gomes' => "J.C.Gomes",
'M.Gómez' => "M.Gómez",
'Gooden.' => "Gooden.",
'Goodyer' => "Goodyer",
'Göpp.' => "Göpp.",
'Gordon' => "Gordon",
'Gould' => "Gould",
'Graebn.' => "Graebn.",
'Graham' => "Graham",
'Grande' => "Grande",
'Gray' => "Gray",
'A.Gray' => "A.Gray",
'Greene' => "Greene",
'Greenm.' => "Greenm.",
'Greenway' => "Greenway",
'Gren.' => "Gren.",
'Greuter' => "Greuter",
'Griff.' => "Griff.",
'Grimm' => "Grimm",
'Gris' => "Gris",
'Griscom' => "Griscom",
'Griseb.' => "Griseb.",
'Grolle' => "Grolle",
'Grossh.' => "Grossh.",
'Grudz.' => "Grudz.",
'Guillaumin' => "Guillaumin",
'Guill.' => "Guill.",
'Gunnerus' => "Gunnerus",
'Guss.' => "Guss.",
'Hack.' => "Hack.",
'G.E.Haglund' => "G.E.Haglund",
'Halácsy' => "Halácsy",
'Ham.' => "Ham.",
'A.Ham' => "A.Ham",
'Hance' => "Hance",
'Hand.-Mazz.' => "Hand.-Mazz.",
'Hara' => "Hara",
'H.Hara' => "H.Hara",
'Harb.' => "Harb.",
'Hardin' => "Hardin",
'Harms' => "Harms",
'Harkn.' => "Harkn.",
'R.M.Harper' => "R.M.Harper",
'Hartm.' => "Hartm.",
'Hartw.' => "Hartw.",
'Harv.' => "Harv.",
'Harvill' => "Harvill",
'Hassk.' => "Hassk.",
'A.Hässl.' => "A.Hässl.",
'Haufler' => "Haufler",
'Hauke' => "Hauke",
'Hauser' => "Hauser",
'Hausskn.' => "Hausskn.",
'Haw.' => "Haw.",
'Hayata' => "Hayata",
'Hayek' => "Hayek",
'Hayne' => "Hayne",
'R.R.Haynes' => "R.R.Haynes",
'Hedrick' => "Hedrick",
'Hedw.' => "Hedw.",
'Hegelm.' => "Hegelm.",
'Heim' => "Heim",
'F.Heim' => "F.Heim",
'Heist.' => "Heist.",
'Heldr.' => "Heldr.",
'A.Heller' => "A.Heller",
'Hellq.' => "Hellq.",
'Hemsl.' => "Hemsl.",
'Henrard' => "Henrard",
'Henry' => "Henry",
'Hensl.' => "Hensl.",
'Hepper' => "Hepper",
'Herb.' => "Herb.",
'F.J.Herm.' => "F.J.Herm.",
'R.A.W.Herrm.' => "R.A.W.Herrm.",
'Heybroek' => "Heybroek",
'Heynh.' => "Heynh.",
'Heywood' => "Heywood",
'A.J.Hill' => "A.J.Hill",
'A.W.Hill' => "A.W.Hill",
'Hirn' => "Hirn",
'Hitchc' => "Hitchc",
'C.L.Hitchc.' => "C.L.Hitchc.",
'E.Hitchc.' => "E.Hitchc.",
'Hnatiuk' => "Hnatiuk",
'Hochst.' => "Hochst.",
'Hoehne' => "Hoehne",
'Hoffm.' => "Hoffm.",
'K.Hoffm.' => "K.Hoffm.",
'Hoffmanns.' => "Hoffmanns.",
'Hogg' => "Hogg",
'Hohen.' => "Hohen.",
'Hollick' => "Hollick",
'A.H.Holmgren' => "A.H.Holmgren",
'B.F.Holmgren' => "B.F.Holmgren",
'Holmgren' => "Holmgren",
'N.H.Holmgren' => "N.H.Holmgren",
'P.K.Holmgren' => "P.K.Holmgren",
'Holub' => "Holub",
'Hook.' => "Hook.",
'Hook.f.' => "Hook.f.",
'W.Hook.' => "W.Hook.",
'M.Hopkins' => "M.Hopkins",
'Hopper' => "Hopper",
'Hornem.' => "Hornem.",
'Host' => "Host",
'House' => "House",
'Houtt.' => "Houtt.",
'Howe' => "Howe",
'Howell' => "Howell",
'A.W.Howitt' => "A.W.Howitt",
'K.Q.Huang' => "K.Q.Huang",
'P.H.Huang' => "P.H.Huang",
'C.E.Hubb.' => "C.E.Hubb.",
'F.T.Hubb.' => "F.T.Hubb.",
'Hultén' => "Hultén",
'Huds.' => "Huds.",
'Humb.' => "Humb.",
'Hurus.' => "Hurus.",
'Husn.' => "Husn.",
'Imbach' => "Imbach",
'Irwin' => "Irwin",
'H.S.Irwin' => "H.S.Irwin",
'Ives' => "Ives",
'B.D.Jacks.' => "B.D.Jacks.",
'R.C.Jacks' => "R.C.Jacks",
'P.S.Wyse Jacks.' => "P.S.Wyse Jacks.",
'Jacq.' => "Jacq.",
'Jacques' => "Jacques",
'Janch.' => "Janch.",
'Janse' => "Janse",
'Jefferies' => "Jefferies",
'Jeps.' => "Jeps.",
'Jess.' => "Jess.",
'I.M.Johnst.' => "I.M.Johnst.",
'M.C.Johnston' => "M.C.Johnston",
'A.G.Jones' => "A.G.Jones",
'M.E.Jones' => "M.E.Jones",
'S.D.Jones' => "S.D.Jones",
'Jongkind' => "Jongkind",
'Jord.' => "Jord.",
'A.Juss.' => "A.Juss.",
'Ant.Juss.' => "Ant.Juss.",
'Juss.' => "Juss.",
'B.Juss.' => "B.Juss.",
'Kalm' => "Kalm",
'H.Karst' => "H.Karst",
'P.Karst' => "P.Karst",
'Kartesz' => "Kartesz",
'Kato' => "Kato",
'Kearney' => "Kearney",
'Keck' => "Keck",
'Keener' => "Keener",
'Keller' => "Keller",
'Ker.' => "Ker.",
'Ker Gawl.' => "Ker Gawl.",
'Kerguélen' => "Kerguélen",
'Killip' => "Killip",
'King' => "King",
'R.M.King' => "R.M.King",
'Kingdon-Ward' => "Kingdon-Ward",
'Kirk' => "Kirk",
'Kit.' => "Kit.",
'Kjellman' => "Kjellman",
'Klotzsch' => "Klotzsch",
'F.M.Knuth' => "F.M.Knuth",
'Koch' => "Koch",
'G.Koch' => "G.Koch",
'K.Koch' => "K.Koch",
'Koehne' => "Koehne",
'Koeler' => "Koeler",
'Koenig' => "Koenig",
'Koidz.' => "Koidz.",
'Kom.' => "Kom.",
'Korth.' => "Korth.",
'Kosterm.' => "Kosterm.",
'Kotschy' => "Kotschy",
'Krajina' => "Krajina",
'Kral' => "Kral",
'Krause' => "Krause",
'K.Krause' => "K.Krause",
'Krock.' => "Krock.",
'Krombh.' => "Krombh.",
'Kubitzki' => "Kubitzki",
'Kudô' => "Kudô",
'Kuhlm.' => "Kuhlm.",
'Kuhn' => "Kuhn",
'Kuk.' => "Kuk.",
'P.Kumm.' => "P.Kumm.",
'Kunth' => "Kunth",
'Kuntze' => "Kuntze",
'Kunze' => "Kunze",
'Kurz' => "Kurz",
'L.' => "L.",
'L.f.' => "L.f.",
"L'Her." => "L'Her.",
'Labill.' => "Labill.",
'Laest.' => "Laest.",
'Lag.' => "Lag.",
'Lakela' => "Lakela",
'Lam.' => "Lam.",
'Lamb.' => "Lamb.",
'Landolt' => "Landolt",
'L.R.Landrum' => "L.R.Landrum",
'Lange' => "Lange",
'J.E.Lange' => "J.E.Lange",
'K.Larsen' => "K.Larsen",
'Latourr.' => "Latourr.",
'Lavrent.' => "Lavrent.",
'Lawson' => "Lawson",
'Laxm.' => "Laxm.",
'Leandri' => "Leandri",
'Leavenw.' => "Leavenw.",
'Leconte' => "Leconte",
'Ledeb.' => "Ledeb.",
'Lehm.' => "Lehm.",
'Lej.' => "Lej.",
'Lellinger' => "Lellinger",
'Lelong' => "Lelong",
'Lem.' => "Lem.",
'Le Maout' => "Le Maout",
'Lemoine' => "Lemoine",
'León' => "León",
'J.-F.Leroy' => "J.-F.Leroy",
'Les' => "Les",
'Lesch.' => "Lesch.",
'Less.' => "Less.",
'T.Lestib.' => "T.Lestib.",
'H.Lév.' => "H.Lév.",
'F.H.Lewis' => "F.H.Lewis",
'Lewis' => "Lewis",
'Leyss.' => "Leyss.",
'Li' => "Li",
'Liais' => "Liais",
'Liebl.' => "Liebl.",
'Liebm.' => "Liebm.",
'Lightf.' => "Lightf.",
'Lindau' => "Lindau",
'Lindl.' => "Lindl.",
'Lindm.' => "Lindm.",
'Link' => "Link",
'Litv.' => "Litv.",
'F.E.Lloyd' => "F.E.Lloyd",
'Lodd.' => "Lodd.",
'Lodd.' => "Lodd.",
'Loefl.' => "Loefl.",
'Loes.' => "Loes.",
'Loisel.' => "Loisel.",
'Lönnrot' => "Lönnrot",
'Lotsy' => "Lotsy",
'Lott' => "Lott",
'Loudon' => "Loudon",
'Lounsb.' => "Lounsb.",
'Lour.' => "Lour.",
'A.Löve' => "A.Löve",
'D.Löve' => "D.Löve",
'H.Low' => "H.Low",
'Luer' => "Luer",
'Lundell' => "Lundell",
'Lunell' => "Lunell",
'Lye' => "Lye",
'Lyons' => "Lyons",
'Ma' => "Ma",
'Maas' => "Maas",
'J.F.Macbr.' => "J.F.Macbr.",
'J.M.MacDougal' => "J.M.MacDougal",
'Macf.' => "Macf.",
'J.MacGill.' => "J.MacGill.",
'Mack.' => "Mack.",
'MacMill' => "MacMill",
'Macoun' => "Macoun",
'Magnol' => "Magnol",
'Magnus' => "Magnus",
'Maiden' => "Maiden",
'Makino' => "Makino",
'Malme' => "Malme",
'Marchal' => "Marchal",
'Marcks' => "Marcks",
'Marloth' => "Marloth",
'Marshall' => "Marshall",
'Mart.' => "Mart.",
'M.Martens' => "M.Martens",
'Martius' => "Martius",
'J.Martyn' => "J.Martyn",
'Masam.' => "Masam.",
'Masson' => "Masson",
'Mast.' => "Mast.",
'Mathias' => "Mathias",
'Mathieu' => "Mathieu",
'Matsum.' => "Matsum.",
'Matt.' => "Matt.",
'Mattfl.' => "Mattfl.",
'Mattox' => "Mattox",
'Maxim.' => "Maxim.",
'Maxon' => "Maxon",
'E.M.McClint.' => "E.M.McClint.",
'McCoy' => "McCoy",
'T.N.McCoy' => "T.N.McCoy",
'McGill.' => "McGill.",
'McGregor' => "McGregor",
'McKinney' => "McKinney",
'McVaugh' => "McVaugh",
'Medik.' => "Medik.",
'Meerb.' => "Meerb.",
'Meikle' => "Meikle",
'Meisn.' => "Meisn.",
'Melville' => "Melville",
'Melvin' => "Melvin",
'Mendel' => "Mendel",
'Menezes' => "Menezes",
'Menzies' => "Menzies",
'Mérat.' => "Mérat.",
'Mereschk.' => "Mereschk.",
'Merr.' => "Merr.",
'Mert.' => "Mert.",
'Mett.' => "Mett.",
'C.A.Mey.' => "C.A.Mey.",
'E.Mey.' => "E.Mey.",
'Meyen' => "Meyen",
'Mez' => "Mez",
'Micheli' => "Micheli",
'Miers' => "Miers",
'Michx.' => "Michx.",
'F.Michx.' => "F.Michx.",
'Milde' => "Milde",
'A.G.Mill.' => "A.G.Mill.",
'Mill.' => "Mill.",
'G.S.Mill.' => "G.S.Mill.",
'Millais' => "Millais",
'Millsp.' => "Millsp.",
'Milne-Redh.' => "Milne-Redh.",
'Miq.' => "Miq.",
'Mirb.' => "Mirb.",
'Mitch.' => "Mitch.",
'Moc.' => "Moc.",
'Moench' => "Moench",
'Moestrup' => "Moestrup",
'Mohl' => "Mohl",
'Mohlenbr.' => "Mohlenbr.",
'C.Mohr' => "C.Mohr",
'Möhring' => "Möhring",
'Moldenke' => "Moldenke",
'Molina' => "Molina",
'Monnard' => "Monnard",
'Moore' => "Moore",
'G.Moore' => "G.Moore",
'H.E.Moore' => "H.E.Moore",
'S.Moore' => "S.Moore",
'T.Moore' => "T.Moore",
'Moq.' => "Moq.",
'R.C.Moran' => "R.C.Moran",
'Moretti' => "Moretti",
'Moris' => "Moris",
'Morison' => "Morison",
'Morong' => "Morong",
'F.J.A.Morris' => "F.J.A.Morris",
'C.V.Morton' => "C.V.Morton",
'F.Muell.' => "F.Muell.",
'Muhl.' => "Muhl.",
'O.F.Müll.' => "O.F.Müll.",
'P.J.Müll.' => "P.J.Müll.",
'Müll.Arg.' => "Müll.Arg.",
'Münchh.' => "Münchh.",
'Munz' => "Munz",
'Murb.' => "Murb.",
'Murray' => "Murray",
'Mutis' => "Mutis",
'Naczi' => "Naczi",
'Nakai' => "Nakai",
'Nash' => "Nash",
'Naudin' => "Naudin",
'Neck.' => "Neck.",
'Née' => "Née",
'Nees' => "Nees",
'C.Nelson' => "C.Nelson",
'E.C.Nelson' => "E.C.Nelson",
'J.B.Nelson' => "J.B.Nelson",
'G.L. Nesom' => "G.L. Nesom",
'Nevski' => "Nevski",
'Newman' => "Newman",
'T.Q.Nguyen' => "T.Q.Nguyen",
'Nichols' => "Nichols",
'S.Q.Nie' => "S.Q.Nie",
'Nied.' => "Nied.",
'Nieuwl.' => "Nieuwl.",
'Nob.Tanaka' => "Nob.Tanaka",
'Nodder' => "Nodder",
'Noronha' => "Noronha",
'Nordm.' => "Nordm.",
'Norton' => "Norton",
'Nutt.' => "Nutt.",
'Nägeli' => "Nägeli",
'Nyár.' => "Nyár.",
'Oakes' => "Oakes",
'Oeder' => "Oeder",
'Oerst.' => "Oerst.",
'Ohwi' => "Ohwi",
'Oliv.' => "Oliv.",
'Olney' => "Olney",
'Opiz' => "Opiz",
'Ortega' => "Ortega",
'Otth' => "Otth",
'Otto' => "Otto",
'Oudejans' => "Oudejans",
'Paine' => "Paine",
'Pall.' => "Pall.",
'Palla' => "Palla",
'Palmer' => "Palmer",
'W.Palmer' => "W.Palmer",
'Panero' => "Panero",
'Panz.' => "Panz.",
'Papan.' => "Papan.",
'C.R.Parks' => "C.R.Parks",
'Parl.' => "Parl.",
'Parry' => "Parry",
'Pascher' => "Pascher",
'Paterson' => "Paterson",
'R.M.Patrick' => "R.M.Patrick",
'Patrin' => "Patrin",
'Pav.' => "Pav.",
'Pax' => "Pax",
'Paxton' => "Paxton",
'G.Pearson' => "G.Pearson",
'Peattie' => "Peattie",
'Peck' => "Peck",
'Pedersen' => "Pedersen",
'Pedley' => "Pedley",
'Pennell' => "Pennell",
'Perleb' => "Perleb",
'E.P.Perrier' => "E.P.Perrier",
'H.Perrier' => "H.Perrier",
'Perrine' => "Perrine",
'L.M.Perry' => "L.M.Perry",
'Pers.' => "Pers.",
'Peter' => "Peter",
'Petr.' => "Petr.",
'Peyr.' => "Peyr.",
'Pfeff.' => "Pfeff.",
'Phil.' => "Phil.",
'Philcox' => "Philcox",
'L.R.Phillippe' => "L.R.Phillippe",
'Pickett' => "Pickett",
'Pilg.' => "Pilg.",
'Piper' => "Piper",
'Planch.' => "Planch.",
'Plum.' => "Plum.",
'Podp.' => "Podp.",
'Poepp.' => "Poepp.",
'Poggenb.' => "Poggenb.",
'Pohl' => "Pohl",
'Poir.' => "Poir.",
'Poit.' => "Poit.",
'Polatschek' => "Polatschek",
'Pollard' => "Pollard",
'Pollich' => "Pollich",
'Pollock' => "Pollock",
'Porter' => "Porter",
'Prantl' => "Prantl",
'C.Presl' => "C.Presl",
'J.Presl' => "J.Presl",
'Pringsh.' => "Pringsh.",
'Profice' => "Profice",
'Prokh.' => "Prokh.",
'Prosk.' => "Prosk.",
'K.M.Pryer' => "K.M.Pryer",
'L.D.Pryor' => "L.D.Pryor",
'Purdom' => "Purdom",
'Pursh' => "Pursh",
'Putz.' => "Putz.",
'Rach' => "Rach",
'Radcl.-Sm.' => "Radcl.-Sm.",
'Raddi' => "Raddi",
'Raderm.' => "Raderm.",
'Radford' => "Radford",
'Radlk.' => "Radlk.",
'Raeusch.' => "Raeusch.",
'Raf.' => "Raf.",
'Rafn' => "Rafn",
'Raim.' => "Raim.",
'Raoul' => "Raoul",
'Rattan' => "Rattan",
'Rauh' => "Rauh",
'Raunk.' => "Raunk.",
'Rauschert' => "Rauschert",
'Rauwolff' => "Rauwolff",
'Raven' => "Raven",
'P.H.Raven' => "P.H.Raven",
'T.E.Raven' => "T.E.Raven",
'Ravenna' => "Ravenna",
'Ray' => "Ray",
'J.D.Ray' => "J.D.Ray",
'Raymond' => "Raymond",
'Razaf.' => "Razaf.",
'Rchb.' => "Rchb.",
'Rchb.f.' => "Rchb.f.",
'Rech.' => "Rech.",
'Rech.f.' => "Rech.f.",
'C.F.Reed' => "C.F.Reed",
'Regel' => "Regel",
'Rehder' => "Rehder",
'Reichard' => "Reichard",
'Reinw.' => "Reinw.",
'Reissek' => "Reissek",
'Rendle' => "Rendle",
'Req.' => "Req.",
'Rettig' => "Rettig",
'Retz.' => "Retz.",
'Reut.' => "Reut.",
'Reveal' => "Reveal",
'A.Rich.' => "A.Rich.",
'Rich.' => "Rich.",
'Richardson' => "Richardson",
'Riddell' => "Riddell",
'Ridl.' => "Ridl.",
'F.Ritter' => "F.Ritter",
'Rivière' => "Rivière",
'C.Rivière' => "C.Rivière",
'Rizzini' => "Rizzini",
'B.L.Rob.' => "B.L.Rob.",
'C.B.Rob.' => "C.B.Rob.",
'H.Rob.' => "H.Rob.",
'J.W.Robbins' => "J.W.Robbins",
'Robbr.' => "Robbr.",
'N.Robson' => "N.Robson",
'A.Robyns' => "A.Robyns",
'Robyns' => "Robyns",
'Rock' => "Rock",
'H.Rock' => "H.Rock",
'Rodr.' => "Rodr.",
'Barb.Rodr.' => "Barb.Rodr.",
'Roem.' => "Roem.",
'M.Roem.' => "M.Roem.",
'Rogow.' => "Rogow.",
'Röhl.' => "Röhl.",
'Rohrb.' => "Rohrb.",
'Rollins' => "Rollins",
'Romans' => "Romans",
'Rose' => "Rose",
'Rost.' => "Rost.",
'Rottb.' => "Rottb.",
'Roth' => "Roth",
'Rothm.' => "Rothm.",
'Roxb.' => "Roxb.",
'Royle' => "Royle",
'Rudall' => "Rudall",
'Ruiz' => "Ruiz",
'Rumph.' => "Rumph.",
'Rupr.' => "Rupr.",
'Rusby' => "Rusby",
'Rydb.' => "Rydb.",
'Sabine' => "Sabine",
'Sacc.' => "Sacc.",
'Sachs' => "Sachs",
'Santin' => "Santin",
'A.St.-Hil.' => "A.St.-Hil.",
'E.Salisb.' => "E.Salisb.",
'Salisb.' => "Salisb.",
'E.A.Sánchez' => "E.A.Sánchez",
'Sandwith' => "Sandwith",
'Sarg.' => "Sarg.",
'Sartwell' => "Sartwell",
'J.D.Sauer' => "J.D.Sauer",
'W.Saunders' => "W.Saunders",
'Sauss.' => "Sauss.",
'Savi' => "Savi",
'Savigny' => "Savigny",
'Scharf' => "Scharf",
'Schauer' => "Schauer",
'Scheele' => "Scheele",
'Schenk' => "Schenk",
'Scherb.' => "Scherb.",
'Schindl.' => "Schindl.",
'Schinz' => "Schinz",
'Schleid.' => "Schleid.",
'Schltdl.' => "Schltdl.",
'Schltr.' => "Schltr.",
'Schmalh.' => "Schmalh.",
'F.Schmidt' => "F.Schmidt",
'W.L.E.Schmidt' => "W.L.E.Schmidt",
'C.K.Schneid.' => "C.K.Schneid.",
'Schoepf' => "Schoepf",
'U.Scholz' => "U.Scholz",
'Schönl.' => "Schönl.",
'Schott' => "Schott",
'Schottky' => "Schottky",
'Schrad.' => "Schrad.",
'Schrank' => "Schrank",
'Schreb.' => "Schreb.",
'B.G.Schub.' => "B.G.Schub.",
'Schult.' => "Schult.",
'Schult.f.' => "Schult.f.",
'Sch.Bip.' => "Sch.Bip.",
'F.W.Schultz' => "F.W.Schultz",
'O.E.Schulz' => "O.E.Schulz",
'Schumach.' => "Schumach.",
'K.Schum.' => "K.Schum.",
'Schur' => "Schur",
'Schust.' => "Schust.",
'Schwartz' => "Schwartz",
'Schweik.' => "Schweik.",
'Schweinf.' => "Schweinf.",
'Schwein.' => "Schwein.",
'Scop.' => "Scop.",
'D.H.Scott' => "D.H.Scott",
'R.R.Scott' => "R.R.Scott",
'Scribn.' => "Scribn.",
'Secr.' => "Secr.",
'Seem.' => "Seem.",
'P.Selby' => "P.Selby",
'Selander' => "Selander",
'Semple' => "Semple",
'Sendtn.' => "Sendtn.",
'Seneb.' => "Seneb.",
'Ser.' => "Ser.",
'Sessé' => "Sessé",
'Seub' => "Seub",
'Shafer' => "Shafer",
'Sharsm.' => "Sharsm.",
'H.Sharsm.' => "H.Sharsm.",
'Shaver' => "Shaver",
'G.Shaw' => "G.Shaw",
'Shear' => "Shear",
'E.Sheld.' => "E.Sheld.",
'Shinners' => "Shinners",
'Shipunov' => "Shipunov",
'Shiras.' => "Shiras.",
'Short' => "Short",
'Shuttlew.' => "Shuttlew.",
'Sibth.' => "Sibth.",
'Siebold' => "Siebold",
'Sim' => "Sim",
'Simon-Louis' => "Simon-Louis",
'Sims' => "Sims",
'Sing.' => "Sing.",
'J.C.Siqueira' => "J.C.Siqueira",
'Skeels' => "Skeels",
'A.K.Skvortsov' => "A.K.Skvortsov",
'Slavin' => "Slavin",
'Sleumer' => "Sleumer",
'Sm.' => "Sm.",
'A.C.Sm.' => "A.C.Sm.",
'A.L.Sm. ' => "A.L.Sm. ",
'C.A.Sm.' => "C.A.Sm.",
'C.P.Sm.' => "C.P.Sm.",
'H.G.Sm.' => "H.G.Sm.",
'J.G.Sm.' => "J.G.Sm.",
'J.J.Sm.' => "J.J.Sm.",
'L.B.Sm.' => "L.B.Sm.",
'Small' => "Small",
'Smyth' => "Smyth",
'L.C.R.Smyth' => "L.C.R.Smyth",
'N.Snow' => "N.Snow",
'Sobol.' => "Sobol.",
'Soderstr.' => "Soderstr.",
'Soegeng' => "Soegeng",
'Soják' => "Soják",
'Sol.' => "Sol.",
'Sole' => "Sole",
'Soler.' => "Soler.",
'Sond.' => "Sond.",
'Sonn.' => "Sonn.",
'A.Soriano' => "A.Soriano",
'Spach' => "Spach",
'Spellenb.' => "Spellenb.",
'Sprague' => "Sprague",
'Spreng.' => "Spreng.",
'Spring' => "Spring",
'Spruce' => "Spruce",
'J.St.Hil.' => "J.St.Hil.",
'H.St.John' => "H.St.John",
'Stace' => "Stace",
'A.Stahl' => "A.Stahl",
'Standl.' => "Standl.",
'Stapf' => "Stapf",
'Staudt' => "Staudt",
'Stearn' => "Stearn",
'Stebbins' => "Stebbins",
'E.S.Steele' => "E.S.Steele",
'Steenis' => "Steenis",
'Stein' => "Stein",
'Steller' => "Steller",
'Sternb.' => "Sternb.",
'Sterns' => "Sterns",
'Steud.' => "Steud.",
'Steward' => "Steward",
'Steyerm.' => "Steyerm.",
'Stocks' => "Stocks",
'Stokes' => "Stokes",
'W.Stone' => "W.Stone",
'Strasb.' => "Strasb.",
'Stritch' => "Stritch",
'M.T.Strong' => "M.T.Strong",
'Stuchlik' => "Stuchlik",
'Stuntz' => "Stuntz",
'Sturm' => "Sturm",
'Sudw.' => "Sudw.",
'Suksd.' => "Suksd.",
'Sull.' => "Sull.",
'Suter' => "Suter",
'D.A.Sutton' => "D.A.Sutton",
'Svenson' => "Svenson",
'Svent.' => "Svent.",
'Suess.' => "Suess.",
'Sw.' => "Sw.",
'Sweet' => "Sweet",
'Swezey' => "Swezey",
'Swingle' => "Swingle",
'Syme' => "Syme",
'Symons' => "Symons",
'Takht.' => "Takht.",
'Tansley' => "Tansley",
'Taub.' => "Taub.",
'Tausch' => "Tausch",
'Taylor' => "Taylor",
'Ten.' => "Ten.",
'Thell.' => "Thell.",
'Thìeret' => "Thìeret",
'Thonn.' => "Thonn.",
'Thorne' => "Thorne",
'Thouars' => "Thouars",
'Thuill.' => "Thuill.",
'Thunb.' => "Thunb.",
'Tidestr.' => "Tidestr.",
'Tiegh.' => "Tiegh.",
'Tiling' => "Tiling",
'Tod.' => "Tod.",
'Todzia' => "Todzia",
'Tolm.' => "Tolm.",
'Torr.' => "Torr.",
'Tourn.' => "Tourn.",
'R.Tracey' => "R.Tracey",
'Trad.' => "Trad.",
'Tratt.' => "Tratt.",
'Trautv.' => "Trautv.",
'Trel.' => "Trel.",
'Trimen' => "Trimen",
'Trin.' => "Trin.",
'Triana' => "Triana",
'Tswett' => "Tswett",
'Tuck.' => "Tuck.",
'G.C.Tucker' => "G.C.Tucker",
'C.Tul.' => "C.Tul.",
'Turcz.' => "Turcz.",
'Turner' => "Turner",
'B.L.Turner' => "B.L.Turner",
'Turpin' => "Turpin",
'Tzelev' => "Tzelev",
'Ule' => "Ule",
'Ulmer' => "Ulmer",
'Underw.' => "Underw.",
'Urb.' => "Urb.",
'Ursch' => "Ursch",
'Vahl' => "Vahl",
'Vail' => "Vail",
'Vaill.' => "Vaill.",
'Valeton' => "Valeton",
'Van Houtte' => "Van Houtte",
'Vand.' => "Vand.",
'Vaniot' => "Vaniot",
'Vasey' => "Vasey",
'Vavilov' => "Vavilov",
'Veill.' => "Veill.",
'Velloso' => "Velloso",
'Vell.' => "Vell.",
'Vent.' => "Vent.",
'Verdc.' => "Verdc.",
'Vickery' => "Vickery",
'Vict.' => "Vict.",
'Vignolo' => "Vignolo",
'Vill.' => "Vill.",
'Vilm.' => "Vilm.",
'Vitman' => "Vitman",
'Vittad.' => "Vittad.",
'Viv.' => "Viv.",
'Vogel' => "Vogel",
'Volkart' => "Volkart",
'W.H.Wagner' => "W.H.Wagner",
'Wahlenb.' => "Wahlenb.",
'Wall.' => "Wall.",
'Walp.' => "Walp.",
'Walter' => "Walter",
'C.Wang' => "C.Wang",
'Wangen.' => "Wangen.",
'Ward' => "Ward",
'Warder' => "Warder",
'Warb.' => "Warb.",
'Warm.' => "Warm.",
'S.Watson' => "S.Watson",
'Watt' => "Watt",
'Wawra' => "Wawra",
'Weath.' => "Weath.",
'Webb' => "Webb",
'J.M.Webber' => "J.M.Webber",
'Weber' => "Weber",
'G.L.Webster' => "G.L.Webster",
'Wedd.' => "Wedd.",
'Wedem.' => "Wedem.",
'Wege' => "Wege",
'Weigel' => "Weigel",
'Weihe' => "Weihe",
'Weinm.' => "Weinm.",
'Wells' => "Wells",
'Wender.' => "Wender.",
'Welw.' => "Welw.",
'H.Wendl.' => "H.Wendl.",
'H.L.Wendl.' => "H.L.Wendl.",
'J.C.Wendl.' => "J.C.Wendl.",
'Werderm.' => "Werderm.",
'Weston' => "Weston",
'Wettst.' => "Wettst.",
'L.C.Wheeler' => "L.C.Wheeler",
'Wherry' => "Wherry",
'Wibel' => "Wibel",
'Widder' => "Widder",
'Wiegand' => "Wiegand",
'Wiersama' => "Wiersama",
'F.H.Wigg.' => "F.H.Wigg.",
'Wight' => "Wight",
'W.Wight' => "W.Wight",
'Willd.' => "Willd.",
'Wille' => "Wille",
'Willk.' => "Willk.",
'Windham' => "Windham",
'Wipff' => "Wipff",
'With.' => "With.",
'Wittig' => "Wittig",
'W.Wolf' => "W.Wolf",
'S.L.Wolff' => "S.L.Wolff",
'Wood' => "Wood",
'A.W.Wood' => "A.W.Wood",
'Woods' => "Woods",
'Woodson' => "Woodson",
'Woodv.' => "Woodv.",
'C.L.Woodw.' => "C.L.Woodw.",
'Woolls' => "Woolls",
'Woronow' => "Woronow",
'Woyn.' => "Woyn.",
'C.Wright' => "C.Wright",
'Wullschl.' => "Wullschl.",
'Wydler' => "Wydler",
'Yakovlev' => "Yakovlev",
'H.O.Yates' => "H.O.Yates",
'Yunck.' => "Yunck.",
'Zabel' => "Zabel",
'Zanted.' => "Zanted.",
'Zeyh.' => "Zeyh.",
'L.H.Zhuo' => "L.H.Zhuo",
'Zinn' => "Zinn",
'Ziz' => "Ziz",
'Zizka' => "Zizka",
'Zoll.' => "Zoll.",
'Zucc.' => "Zucc."
);
print "\nLogging in to Wikipedia.\n" ;
my $pw=Perlwikipedia->new();
$pw->{mech}->agent('Bot/WP/EN/Quadell/polbot');
my $login_status=$pw->login('bot name','bot password');
die "I can't log in." unless ($login_status eq 0);
print "\nLogging in to Commons.\n" ;
my $pwc=Perlwikipedia->new();
$pwc->{mech}->agent('Bot/WP/EN/Quadell/polbot');
$pwc->set_wiki('commons.wikimedia.org','w');
my $login_status=$pwc->login('bot name','bot password');
die "I can't log in." unless ($login_status eq 0);
print "\nLooking up '$family' in IUCN\n";
my @matches = ();
my $url = "http://www.iucnredlist.org/search/search.php?freetext=$family&modifier=phrase&criteria=taxonomy&taxa_species=1&redlistCategory%5B%5D=all&redlistAssessyear%5B%5D=all&country%5B%5D=all&aquatic%5B%5D=all®ions%5B%5D=all&habitats%5B%5D=all&threats%5B%5D=all&Submit.x=66&Submit.y=9";
my $ua = LWP::UserAgent->new;
$ua->agent("Mozilla/6.0");
my $offset = 0;
while (1) {
my $res = $ua->post($url, ['offset' => $offset]);
die "Could not connect\n" unless ($res->is_success);
my $html = $res->content;
my @local_matches = ($html =~ m//g);
if (@local_matches == 0) { last; }
push @matches, @local_matches;
$offset += 50;
}
my $total_matches = scalar (@matches);
print "$total_matches matches found.\n";
my $this_match = 0;
foreach my $match (@matches) {
$this_match++;
if ($this_match < 0) { next; }
print "\n($this_match/$total_matches): ";
$url = "http://www.iucnredlist.org/search/details.php/$match/all";
my $res = $ua->get($url);
die "Could not connect\n" unless ($res->is_success);
my $html = decode("iso-8859-1", $res->content);
my $kingdom = '';
my $phylum = '';
my $class = '';
my $order = '';
my $family = '';
my $genus = '';
my $species = '';
my $binomial = '';
my $authority = '';
my $status = '';
my $distribution = '';
my $citation = '';
my $synonyms = '';
my $boxcolor = '';
my $isfish = 0;
my $iswas = "is";
my @common_name = ();
my @habitats = ();
my @synonym_list = ();
my $habitat_loss = 0;
my $wiki_new;
$html =~ m/(\w)(\w+) (.+)<\/I><\/FONT>/si;
$genus = "$1$2";
$species = "$1. $3";
$binomial = "$1$2 $3";
print "$binomial\n";
if ($html =~ m/
\s*\s*(.*?)\s*<\/FONT>\s*<\/TD>/s) { $kingdom = "\u\L$1";
if ($kingdom =~ m/\[\[A/) {
$boxcolor = "pink";
} else {
$boxcolor = "lightgreen";
}
}
if ($html =~ m/
\s*\s*(.*?)\s*<\/FONT>\s*<\/TD>/s) { $phylum = "\u\L$1";
}
if ($html =~ m/
\s*\s*(.*?)\s*<\/FONT>\s*<\/TD>/s) { $class = "\u\L$1";
$isfish = 1 if ($class =~ m/Chondrichthyes|Actinopterygii|Sarcopterygii/);
}
if ($html =~ m/
\s*\s*(.*?)\s*<\/FONT>\s*<\/TD>/s) { $order = "\u\L$1";
$isfish = 1 if ($class eq "Petromyzontiformes");
}
if ($html =~ m/
\s*\s*(.*?)\s*<\/FONT>\s*<\/TD>/s) { $family = "\u\L$1";
if ($xfamily{$family}) {
$family = $xfamily{$family};
}
}
if ($html =~ m/
\s*\s*(.*?)\s*<\/FONT>\s*<\/TD>/s) { my $common_name_raw = $1;
my @cnr = ();
$common_name_raw =~ s/((\w|-)+)/\u\L$1/g;
#$common_name_raw =~ s/ \(.\)//g;
$common_name_raw =~ s/'S /'s /g;
if ($common_name_raw =~ m/
/i) {@cnr = split(/
/i, $common_name_raw);} else {
$cnr[0] = $common_name_raw;
}
foreach my $cn (@cnr) {
if ($cn =~ m/(.*) \(e\)/i) {
push @common_name, $1;
}
}
}
if ($isfish) {
foreach my $cn (@common_name) {
$cn = lc $cn;
}
}
if ($html =~ m/
\s*\s*(.*?)\s*<\/FONT>\s*<\/TD>/s) { $authority = $1;
$authority =~ m/([^ \(,]+)/;
my $substr = $1;
if ($kingdom =~ m/^\[\[A/) {
# Animals. Look for zoologists
if ($xzoologist{$substr}) {
$authority =~ s/$substr/$xzoologist{$substr}/;
}
} else {
# Plants. Look for botanists
if ($xbotanist{$substr}) {
$authority =~ s/$substr/$xbotanist{$substr}/;
}
}
}
if ($html =~ m/
\s*\s*(.*?)\s/s) { $status = $1;
if ($status =~ m/^EX$|^EW$/i) {
$iswas = "was";
}
}
if ($html =~ m/
\s*\s* \s*(.*?)\s*<\/div>\s*<\/FONT>\s*<\/TD>/s) {$synonyms = $1;
@synonym_list = ($synonyms =~ m/(.*?)<\/i>/gi);
}
if ($html =~ m/
\s*\s*(.*?)\s*<\/FONT>\s*<\/TD>/s) { $distribution = $1;
$distribution =~ s/ \[(RE|RE\?|int|int\?|vag|vag\?|RE-int|int-RE)\]//g;
my @countries = split(/
/, $distribution);@countries = sort {($a =~ /\?$/) <=> ($b =~ /\?$/)} @countries;
$distribution = list_array_with_conjunction("", "", "and", @countries);
$distribution =~ s/\[\[([^\]]*) \([^)]*\)\]\]/\[\[$1\]\]/g;
$distribution =~ s/\[\[([^\]]*)\?\]\]/possibly \[\[$1\]\]/g;
$distribution =~ s/\[\[Congo\]\]/\[\[Republic of the Congo\]\]/g;
$distribution =~ s/\[\[Congo, The Democratic Republic of the\]\]/\[\[Democratic Republic of the Congo\]\]/g;
$distribution =~ s/\[\[Lao People\'s Democratic Republic\]\]/\[\[Laos\]\]/g;
$distribution =~ s/\[\[Tanzania, United Republic of\]\]/\[\[Tanzania\]\]/g;
$distribution =~ s/\[\[C.te d\'Ivoire\]\]/\[\[Ivory Coast]]/g;
$distribution =~ s/\[\[Korea, Democratic People\'s Republic of\]\]/\[\[North Korea\]\]/g;
$distribution =~ s/\[\[Korea, Republic of\]\]/\[\[South Korea\]\]/g;
$distribution =~ s/\[\[Micronesia, Federated States of\]\]/\[\[Micronesia\]\]/g;
$distribution =~ s/\[\[Taiwan, Province of China\]\]/\[\[Taiwan\]\]/g;
$distribution =~ s/\[\[Virgin Islands, British\]\]/the \[\[British Virgin Islands\]\]/g;
$distribution =~ s/\[\[Virgin Islands, U.S.\]\]/the \[\[U.S. Virgin Islands\]\]/g;
$distribution =~ s/\[\[Viet Nam\]\]/\[\[Vietnam\]\]/g;
$distribution =~ s/\[\[Syrian Arab Republic\]\]/\[\[Syria\]\]/g;
$distribution =~ s/\[\[Brunei Darussalam\]\]/\[\[Brunei\]\]/g;
$distribution =~ s/\[\[Macedonia, the former Yugoslav Republic of\]\]/\[\[FYROM\]\]/g;
$distribution =~ s/\[\[Libyan Arab Jamahiriya\]\]/\[\[Libya\]\]/g;
$distribution =~ s/\[\[Russian Federation\]\]/\[\[Russia\]\]/g;
$distribution =~ s/\[\[(Philippines|United States|Netherlands|United Kingdom|Dominican Republic|Cook Islands)\]\]/the \[\[$1\]\]/g;
}
if ($html =~ m/Habitat Loss/) {
$habitat_loss = 1;
}
if ($html =~ m/
\s*(.*?)<\/TABLE>/s) { my $habitats_raw = $1;
while ($habitats_raw =~ m/
\s*\s*(.*?)\s*<\/FONT>/sg) { push @habitats, $xhabitat{$1};
}
}
if ($html =~ m/
Citation:<\/TH>\s* (.*?)<\/TD>/) { $citation = $1;
$citation =~ s//\[$url /;
$citation =~ s/<\/I>/\]/g;
$citation =~ s//\[http:\/\/www\.iucnredlist\.org /;
$citation =~ s/In: IUCN 2006\.//;
$citation =~ s/<\/?B>//g;
$citation =~ s/<
>.//; }
# Check if article is needed
my $action_needed = '';
my $wiki_existing = $pw->get_text($binomial);
if ($wiki_existing =~ /\S/) {
$action_needed = '';
} else {
if (@common_name) {
my $cn_wiki = $pw->get_text($common_name[0]);
if ($cn_wiki !~ m/\S/) {
$action_needed = "Write CN, rd BN";
} else {
if ($cn_wiki =~ m/{{\s*Taxobox.*\|\s*binomial\s*=\s*\'?\'?(\w+ \w+)/is) {
if ($binomial eq $1) {
$action_needed = "rd BN";
} else {
$action_needed = "Write BN";
}
}
}
} else {
$action_needed = "Write BN";
}
}
# Create output
my $commons_out = 0;
if ($action_needed =~ m/^Write/) {
$wiki_new = "\n";
$wiki_new .= "{{Taxobox\n| color = $boxcolor\n| name = ";
if (@common_name) {
$wiki_new .= "\u$common_name[0]";
} else {
$wiki_new .= $binomial;
}
$wiki_new .= "\n| image = \n| status = $status\n";
$wiki_new .= "| regnum = $kingdom\n| phylum = $phylum\n| classis = $class\n| ordo = $order\n| familia = $family\n";
$wiki_new .= "| genus = $genus\n| species = $species\n| binomial = $binomial\n";
$wiki_new .= "| binomial_authority = $authority\n| synonyms = $synonyms}}\n";
if (@common_name) {
$wiki_new .= "The " . list_array_with_conjunction("", "", "or", @common_name) . " ($binomial) ";
} else {
$wiki_new .= "$binomial ";
}
$wiki_new .= "$iswas a species of $biotype in the $family family.\n";
if ($distribution) {
if ($distribution =~ m/.*\[\[.*\[\[/) {
$wiki_new .= "It $iswas found in $distribution.\n";
} else {
$wiki_new .= "It $iswas endemic to $distribution.\n";
if ($iswas eq "is") {
my $country = $distribution;
$country =~ s/\[|\]//g;
if ($wikiproject eq "p") {
$wiki_new .= "Category:Flora of $country\n";
} else {
$wiki_new .= "Category:Fauna of $country\n";
}
}
}
}
if (scalar (@habitats) > 0) {
if ($habitats[0] =~ m/\S/) {
if (scalar (@habitats) == 1) {
$wiki_new .= "Its natural habitat $iswas " . @habitats[0] . ".\n";
} else {
$wiki_new .= "Its natural habitats ";
if ($iswas eq "is") {
$wiki_new .= "are ";
} else {
$wiki_new .= "were ";
}
$wiki_new .= list_array_with_conjunction("", "", "and", @habitats) . ".\n";
}
}
}
if ($habitat_loss) {
if ($iswas eq "is") {
$wiki_new .= "It is threatened by habitat loss.\n";
} else {
$wiki_new .= "It became extinct due to habitat loss.\n";
}
}
# Check for Commons media
my $commons_wiki = $pwc->get_text($binomial);
if ($commons_wiki =~ m/\S/) {
$wiki_new .= "{{Commons|$binomial}}\n";
$commons_out = 1;
}
$wiki_new .= "==Source==\n* $citation\n\n{{$stubtype}}\nCategory:$genus\n";
while ($wiki_new =~ s/(\[\[forest\]\].*)\[\[forest\]\]/$1forest/s) {};
while ($wiki_new =~ s/(\[\[savanna\]\].*)\[\[savanna\]\]/$1savanna/s) {};
while ($wiki_new =~ s/(\[\[shrubland\]\].*)\[\[shrubland\]\]/$1shrubland/s) {};
while ($wiki_new =~ s/(\[\[grassland\]\].*)\[\[grassland\]\]/$1grassland/s) {};
while ($wiki_new =~ s/(\[\[river\]\].*)\[\[river\]\]/$1river/s) {};
while ($wiki_new =~ s/(\[\[swamp\]\].*)\[\[swamp\]\]/$1swamp/s) {};
while ($wiki_new =~ s/(\[\[pond\]\].*)\[\[pond\]\]/$1pond/s) {};
while ($wiki_new =~ s/(\[\[desert\]\].*)\[\[desert\]\]/$1desert/s) {};
while ($wiki_new =~ s/(\[\[wetland\]\].*)\[\[wetland\]\]/$1wetland/s) {};
while ($wiki_new =~ s/(\[\[lake\]\].*)\[\[lake\]\]/$1lake/s) {};
while ($wiki_new =~ s/(\[\[marsh\]\].*)\[\[marsh\]\]/$1march/s) {};
while ($wiki_new =~ s/(\[\[sea\]\].*)\[\[sea\]\]/$1sea/s) {};
}
# Write it out.
if ($action_needed) {
my $template = "";
if ($wikiproject eq "p") {
$template = "{{WikiProject Plants|class=Stub|needs-photo=yes}}";
} elsif ($wikiproject eq "m") {
$template = "{{MaTalk|class=Stub|needs-photo=yes}}";
} elsif ($wikiproject eq "f") {
$template = "{{Fishproject|class=Stub|needs-photo=yes}}";
} elsif ($wikiproject eq "a") {
$template = "{{AARTalk|class=Stub|needs-photo=yes}}";
} elsif ($wikiproject eq "g") {
$template = "{{WikiProject Gastropods|class=Stub|needs-photo=yes}}";
} elsif ($wikiproject eq "b") {
$template = "{{BirdTalk|class=Stub|needs-photo=yes}}";
}
my $cn = shift @common_name;
if ($action_needed eq "rd BN") {
wiki_write ($binomial, "#Redirect $cn", "Redirecting to $cn");
} elsif ($action_needed eq "Write CN, rd BN") {
if ($commons_out) {
wiki_write ($cn, $wiki_new, "Autogenerating article based on $url, links to Commons");
} else {
wiki_write ($cn, $wiki_new, "Autogenerating article based on $url");
}
if ($template) {
wiki_write ("Talk:$cn", "$template\n", "$template");
}
wiki_write ($binomial, "#Redirect $cn", "Redirecting to $cn");
log_species ($cn);
} elsif ($action_needed eq "Write BN") {
if ($commons_out) {
wiki_write ($binomial, $wiki_new, "Autogenerating article based on $url, links to Commons");
} else {
wiki_write ($binomial, $wiki_new, "Autogenerating article based on $url");
}
if ($template) {
wiki_write ("Talk:$binomial", "$template\n", "$template");
}
log_species ($binomial);
}
# Make rd for each additional common name
while (scalar(@common_name)) {
my $cn2 = shift @common_name;
my $cn_wiki = $pw->get_text($cn2);
if ($cn_wiki !~ m/\S/) {
wiki_write ($cn2, "#Redirect $cn", "Redirecting to $cn");
}
}
# Make rd for each additional synonym
while (scalar(@synonym_list)) {
my $syn = shift @synonym_list;
my $syn_wiki = $pw->get_text($syn);
if ($syn_wiki !~ m/\S/) {
if ($cn) {
wiki_write ($syn, "#Redirect $cn", "Redirecting to $cn");
} else {
wiki_write ($syn, "#Redirect $binomial", "Redirecting to $binomial");
}
}
}
# Check genus article
my $genus_wiki = $pw->get_text($genus);
if ($genus_wiki =~ m/\S/) {
# exists
my $link_here = '';
if ($cn) {
$link_here = "* $cn ($binomial)\n";
} else {
$link_here = "* $binomial\n";
}
if ($genus_wiki =~ s/()/$link_here$1/) {
wiki_write ($genus, $genus_wiki, "Adding '$binomial' to the genus");
}
} else {
# Create it
$wiki_new = "\n";
$wiki_new .= "{{Taxobox\n| color = $boxcolor\n| name = $genus\n| image = \n";
$wiki_new .= "| regnum = $kingdom\n| phylum = $phylum\n| classis = $class\n| ordo = $order\n| familia = $family\n";
$wiki_new .= "| genus = $genus\n}}\n";
$wiki_new .= "$genus is a genus of $biotype in the $family family. \n";
$wiki_new .= "It contains the following species:\n";
if ($cn) {
$wiki_new .= "* $cn ($binomial)\n";
} else {
$wiki_new .= "* $binomial\n";
}
$wiki_new .= "\n{{$stubtype}}\n";
$wiki_new .= "Category:$family\n";
wiki_write ($genus, $wiki_new, "Creating new genus with $binomial in it.");
if ($template) {
wiki_write ("Talk:$genus", "$template\n", "$template");
}
log_genus ($genus);
}
# Check genus category
$genus_wiki = $pw->get_text("Category:$genus");
if ($genus_wiki !~ m/\S/) {
# Create
$wiki_new = "\n{{catmore}}\n";
$wiki_new .= "Category:$family\n";
wiki_write ("Category:$genus", $wiki_new, "Creating new genus category");
}
# Done with this species
} else {
print "Article exists, no action needed.\n";
}
}
print "-----------\n DONE! \n--------------\n\n";
sub list_array_with_conjunction {
my $prefix = shift;
my $suffix = shift;
my $conj = shift;
my $out = "";
my @list;
foreach my $entry (@_) {
if ($entry =~ m/\S/) {
push @list, $entry;
}
}
foreach my $entry (@list) {
$entry = "$prefix$entry$suffix";
}
my $last = pop @list;
unless (@list) {
$out = $last;
} elsif (@list == 1) {
$out = @list[0] . " $conj $last"; # no comma
} else {
$out = join(', ', @list) . ", $conj $last";
}
return $out;
}
sub wiki_write {
my $article_name = shift;
my $wiki_out = shift;
my $edit_summary = shift;
$|=1;
print " Waiting " . ($soonest_next_op - time) . " secs... ";
$|=1;
while (time < $soonest_next_op) {};
$soonest_next_op = time + $wait_time;
print "Writing $article_name\n";
- print "$wiki_out\n\n\n";
$pw->edit($article_name, $wiki_out, $edit_summary);
}
sub log_species {
my $species_name = shift;
open(outfile, ">>species_created.txt");
print outfile "$species_name\n";
close(outfile);
}
sub log_genus {
my $genus_name = shift;
open(outfile, ">>genera_created.txt");
print outfile "$genus_name\n";
close(outfile);
}