/* =========================================================================== * $RCSfile: NounNameMaker.java,v $ * =========================================================================== * * RetroGuard -- an obfuscation package for Java classfiles. * * Copyright (c) 1998-2005 Mark Welsh (markw@retrologic.com) * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * The author may be contacted at markw@retrologic.com * */ package COM.rl.obf; import java.io.*; import java.util.*; import COM.rl.util.*; /** * Name generator that uses a random list of animal names to substitute as * names of Java class variables. Animal names were gathered from: * http://www.animalpicturesarchive.com/animal/EngNames/ * * @author Mike Melanson (mike at multimedia.cx) */ public class NounNameMaker extends NameMaker { // Constants ------------------------------------------------------------- private static final int randomSeed = 6; // Fields ---------------------------------------------------------------- private int skipped = 0; // Names skipped in the sequence private Vector namesToDate = new Vector(); private Hashtable argCount = new Hashtable(); private String[] noObfNames = null; // List of names not to be obfuscated private String[] keywordsToUse; private String[] keywordsToExclude; private String[] firstLetter; private String[] nextLetter; private String[] noKeywords = {}; Random generator = new Random(randomSeed); int theCount = 0; // Class Methods --------------------------------------------------------- /** Main method for testing. */ /* public static void main(String[] args) throws Exception { PrintWriter pw = new PrintWriter( new BufferedOutputStream( new FileOutputStream("NounNameMaker.tst"))); try { NameMaker nmk = new NounNameMaker(); for (int i = 0; i < 1000000; i++) { pw.println(nmk.nextName(null)); } } finally { pw.close(); } } */ // Instance Methods ------------------------------------------------------ /** Ctor. */ public NounNameMaker() { this(null); } /** Ctor - block names not to be obfuscated from the mapping target space. */ public NounNameMaker(String[] noObfNames) { this(noObfNames, true); } /** Ctor - block names not to be obfuscated from the mapping target space. */ public NounNameMaker(String[] noObfNames, boolean useKeywords) { this(noObfNames, true, false); } /** Ctor - block names not to be obfuscated from the mapping target space. */ public NounNameMaker(String[] noObfNames, boolean useKeywords, boolean lowerCaseOnly) { this.noObfNames = noObfNames == null ? new String[0] : noObfNames; } /** Return the next unique name for this namespace. */ protected String getNextName(String descriptor) throws Exception { return getName(theCount++); } // Extract the arg-list from a descriptor private String getArgList(String descriptor) throws Exception { int pos = descriptor.indexOf(')'); return descriptor.substring(1, pos); } // Generate i'th allowed, unique name private String getName(int index) throws Exception { // If we have previously computed this name, just return it String name = null; if (index < namesToDate.size()) { name = (String)namesToDate.elementAt(index); } else { // Generate a new valid name for the sequence for (;;) { name = getNewName(index + skipped); if (!Tools.isInArray(name, noObfNames) || //(index + skipped < keywordsToUse.length || !Tools.isInArray(name, keywordsToExclude)) { break; } skipped++; } namesToDate.addElement(name); } return name; } // Generate j'th name in sequence (can repeat keywords) private String getNewName(int index) throws Exception { String name = null; name = animalNames[generator.nextInt(animalNames.length)]; return name; } private String[] animalNames = { "aardvark", "aardwolf", "abalone", "abyssinianCat", "abyssinianGroundHornbill", "achillesTang", "acornBarnacle", "acornWeevil", "acornWoodpecker", "adamsStagHornedBeetle", "addax", "adeliePenguin", "admiralButterfly", "africanAugurBuzzard", "africanBushViper", "africanCivet", "africanClawedFrog", "africanElephant", "africanFishEagle", "africanGoldenCat", "africanGroundHornbill", "africanHarrierHawk", "africanHornbill", "africanJacana", "africanMoleSnake", "africanParadiseFlycatcher", "africanPiedKingfisher", "africanPorcupine", "africanRockPython", "africanWildCat", "africanWildDog", "agama", "agouti", "airedale", "aisanPiedStarling", "akita", "alabamaMapTurtle", "alaskaJingle", "albacoreTuna", "albatross", "albertosaurus", "albino", "aldabraTortoise", "allensBigEaredBat", "alligatorGar", "alligatorSnappingTurtle", "allosaurus", "alpaca", "alpineBlackSwallowtailButterfly", "alpineRoadGuideTigerBeetle", "altiplanoChinchillaMouse", "amazonDolphin", "amazonParrot", "amazonTreeBoa", "amberPenShell", "americanAlligator", "americanAvocet", "americanBadger", "americanBittern", "americanBlackVulture", "americanCicada", "americanCrayfish", "americanCrocodile", "americanCrow", "americanGoldfinch", "americanKestrel", "americanLobster", "americanMarten", "americanRatsnake", "americanRedSquirrel", "americanRiverOtter", "americanRobin", "americanToad", "americanWigeon", "amethystGemClam", "amethystSunbird", "amethystinePython", "ammonite", "amoeba", "amphibian", "amurMinnow", "amurRatsnake", "amurStarfish", "anaconda", "andeanCat", "andeanCockOfTheRock", "andeanCondor", "anemoneCrab", "anemoneShrimp", "angelWingMussel", "angelfish", "anglerfish", "angora", "angwantibo", "anhinga", "animated", "annasHummingbird", "anole", "anopheles", "antarcticFurSeal", "antarcticGiantPetrel", "anteater", "antelope", "antelopeGroundSquirrel", "antipodesGreenParakeet", "aoudad", "apatosaur", "aphid", "aplomadoFalcon", "aquaticLeech", "arabianOryx", "arabianWildCat", "aracari", "archaeocete", "archaeopteryx", "archerFish", "arcticFox", "arcticHare", "arcticWolf", "argali", "argentineHornedFrog", "argentineRuddyDuck", "argusFish", "arielToucan", "arizonaAlligatorLizard", "arkShell", "armadillo", "armedCrab", "armedNylonShrimp", "armyAnt", "arrowCrab", "arrowWorm", "arrowana", "asianConstableButterfly", "asianDamselfly", "asianElephant", "asianLion", "asianPorcupine", "asianSmallClawedOtter", "asianTrumpetfish", "asianWaterBuffalo", "asiaticGreaterFreshwaterClam", "asiaticLesserFreshwaterClam", "asiaticMouflon", "asiaticWildAss", "assassinBug", "astarte", "astrangiaCoral", "atlanticBlackGoby", "atlanticBlueTang", "atlanticRidleyTurtle", "atlanticSharpnosePuffer", "atlanticSpadefish", "atlasMoth", "attwatersPrairieChicken", "auk", "aurochs", "australianCurlew", "australianFreshwaterCrocodile", "australianFurSeal", "australianKestrel", "australianShelduck", "australianSilkyTerrier", "avocet", "axisDeer", "axolotl", "ayeAye", "aztecAnt", "azureWingedMagpie", "azureVase", "babacoot", "babirusa", "baboon", "bactrianCamel", "badger", "bahamaBoa", "bahamaIslandHutia", "bahamaPintail", "baikalTeal", "baillonsCrake", "balanophylla", "baldEagle", "baldIbis", "baliMynah", "baltimoreOriole", "bandTailedPigeon", "bandedButterflyfish", "bandedCoralShrimp", "bandedPitta", "bandedShrimp", "bandicoot", "bannerfish", "bantam", "banteng", "barJack", "barb", "barbaryMacaque", "barbaryPartridge", "barbet", "barkBug", "barkingTreefrog", "barnOwl", "barnSwallow", "barnacle", "barnacleGoose", "barracuda", "barredHamlet", "barredOwl", "barrelSponge", "barrowsGoldeneye", "barrowsGoldeneye", "basilisk", "basilosaurus", "basketSponge", "basketStar", "baskingShark", "bass", "basset", "batEaredFox", "bateleur", "bayScallop", "beachFlea", "beagle", "beanGoose", "bear", "beardedBarbet", "beardedDragon", "beardedSeal", "beaver", "beeEater", "bee", "beetle", "beltedKingfisher", "belugaWhale", "bengalCat", "bengalMonitor", "bengalTiger", "bennettsTreeKangaroo", "bennettsWallaby", "bentnoseMacoma", "bettaFish", "bewicksWren", "bharal", "bichonFriese", "bigBrownBat", "bigCat", "bighornSheep", "billbug", "binturong", "birdVoicedTreefrog", "bird", "bison", "blackAndYellowArgiope", "blackBackedGull", "blackBackedJackal", "blackBelliedWhistlingDuck", "blackBilledMagpie", "blackBrowedAlbatross", "blackBrowedReedWarbler", "blackCappedChickadee", "blackCappedConure", "blackCappedKingfisher", "blackChinnedHummingbird", "blackCrownedNightHeron", "blackFacedSpoonbill", "blackFootedAlbatross", "blackFootedFerret", "blackHeadedGrosbeak", "blackHeadedGull", "blackHeadedPython", "blackLeggedKatydid", "blackLeggedKittiwake", "blackMaskedLovebird", "blackNapedOriole", "blackNeckedGrebe", "blackShoulderedKite", "blackSpottedFrog", "blackStripedFieldMouse", "blackTailedGull", "blackTailedJackrabbit", "blackTailedRattlesnake", "blackThroatedLoon", "blackWingedStilt", "blackAbalone", "blackArk", "blackBear", "blackCaiman", "blackCat", "blackDrongo", "blackHorse", "blackHowlerMonkey", "blackJackrabbit", "blackKaty", "blackLemur", "blackLeopard", "blackLory", "blackNoddyTern", "blackPalmCockatoo", "blackParadiseFlycatcher", "blackPig", "blackPineSnake", "blackRacer", "blackRat", "blackRatsnake", "blackRhinoceros", "blackScoter", "blackSeaCucumber", "blackShinner", "blackSquirrel", "blackStork", "blackSwan", "blackTagla", "blackVulture", "blackWidow", "blackWoodpecker", "blackbird", "blackbuck", "blackburnianWarbler", "blackneckSnake", "blacktailReefShark", "blacktipShark", "blandfordsFox", "bleedingTooth", "blenny", "blesbok", "bloodPython", "bloodSeaStar", "bloodShrimp", "bloodWorm", "blueCrownedMotmot", "blueGrayGnatcatcher", "blueSpeckledPrawnGoby", "blueSpottedStingray", "blueStripedSnapper", "blueThroatedHummingbird", "blueAndGoldMacaw", "blueButterfly", "blueCrane", "blueCrownedPigeon", "blueFootedBooby", "blueGrayTanager", "blueGrosbeak", "blueHeron", "blueJay", "blueLeafBeetle", "blueMandarinFish", "blueMarlin", "blueParrotfish", "bluePenguin", "bluePoisonFrog", "blueReeffish", "blueRingedOctopus", "blueShark", "blueTit", "blueTongueSkink", "blueWaxbill", "blueWhale", "bluebird", "bluegill", "blueheadWrasse", "bluestripedGrunt", "bluethroat", "boa", "boar", "boatTailedGrackle", "bobcat", "bobolink", "bobwhiteQuail", "bogTurtle", "bohemianWaxwing", "bongo", "bontebok", "booby", "borealOwl", "borneoBloodPython", "borzoi", "bostonTerrier", "botfly", "bottleNosedDolphin", "bowerbird", "boxTurtle", "boxer", "boydsForestDragon", "brachiosaur", "braconidWasp", "brambling", "brant", "brazilianGladiatorTreefrog", "breeding", "britishRedSquirrel", "broadBilledHummingbird", "broadBilledRoller", "broadTailedHummingbird", "broadWingedHawk", "brolga", "bronzedCowbird", "brookTrout", "brownEaredBulbul", "brownHeadedCowbird", "brownHeadedParrot", "brownAnole", "brownBear", "brownCapuchin", "brownHairstreakButterfly", "brownHyena", "brownLemur", "brownLongEaredBat", "brownLory", "brownPelican", "brownRecluseSpider", "brownShrike", "brownTowhee", "brownTreeSnake", "brownWaterSnake", "brushTailedPhascogale", "brushTailedPossum", "buck", "buckeyeButterfly", "budgerigar", "buffBelliedHummingbird", "buffBreastedParadiseKingfisher", "buffalo", "bug", "bullSnake", "bulldog", "bullfinch", "bullfrog", "bullterrier", "bumblebee", "bumblebeeMoth", "bunting", "burmeseCat", "burmesePython", "burrowingOwl", "bushDog", "bushPig", "bushbuck", "butterfly", "butterflyfish", "buzzard", "cactusWren", "caddisfly", "caiman", "cairnTerrier", "californiaChipmunk", "californiaCommonKingsnake", "californiaCondor", "californiaMountainKingsnake", "californiaSeaLion", "californiaTowhee", "calliopeHummingbird", "camel", "canadaGoose", "canadaWarbler", "canaryIslandLizard", "cantil", "canvasbackDuck", "capeBarrenGoose", "capeBuffalo", "capeGannet", "capePetrel", "capercaillie", "capuchin", "capybara", "caracal", "caracara", "cardinal", "cardinalHoneyeater", "cardinalTetra", "caribbeanReefShark", "caribou", "carmineBeeEater", "carolinaChickadee", "carolinaMantis", "carolinaParakeet", "carpenterAnt", "carpenterBee", "carpetPython", "carpetShark", "carrionCrow", "cassinsFinch", "cassowary", "catEyedSnake", "caterpillar", "catfish", "cattleEgret", "cavy", "cecropiaMoth", "cedarWaxwing", "cedrosIslandDiamondRattlesnake", "centipede", "ceruleanWarbler", "chachalaca", "chacmaBaboon", "chameleon", "chamois", "chat", "cheetah", "cherryHeadedConure", "chestnutMandibledToucan", "chevrotain", "chick", "chickadee", "chihuahua", "chileanRat", "chimneySwift", "chimpanzee", "chinchilla", "chineseAlligator", "chineseCatfish", "chineseEightMapButterfly", "chineseGrosbeak", "chineseMantis", "chineseMerganser", "chineseMinnow", "chineseMysterySnail", "chineseParadiseFish", "chineseRedSidedCulter", "chineseRedSpottedButterfly", "chineseThreeKeeledPondTurtle", "chineseWaterDeer", "chineseYellowSwallowtailButterfly", "chinstrapPenguin", "chipmunk", "chiroptera", "chiton", "chowChow", "chuckwalla", "chukar", "chumSalmon", "cicada", "cichlid", "cinnabarMoth", "cinnamonTeal", "civet", "cleanerWrasse", "clearfinLionfish", "clearwingButterfly", "clickBeetle", "cliffSwallow", "cloudedLeopard", "cloudlessSulphurButterfly", "clownStinkBug", "clownTriggerfish", "clownfish", "coachwhip", "coastalPlainsMilkSnake", "coati", "cobra", "cockOfTheRock", "cockatiel", "cockatoo", "cockchafer", "cockroach", "coelacanth", "collaredAracari", "collaredIncaHummingbird", "collaredLizard", "collaredPeccary", "collie", "colubusMonkey", "commonAngwantibo", "commonBlackKite", "commonCabbageButterfly", "commonCarp", "commonChiffchaff", "commonCommaButterfly", "commonCormorant", "commonDolphin", "commonEland", "commonGliderButterfly", "commonGoldeneye", "commonGrackle", "commonGrassYellowButterfly", "commonGroundDove", "commonGroundSkink", "commonGull", "commonHeathFritillaryButterfly", "commonJay", "commonKingfisher", "commonKingsnake", "commonKoreanBitterling", "commonLionfish", "commonLoon", "commonMadagascarDayGecko", "commonMapTurtle", "commonMerganser", "commonMongoose", "commonMurre", "commonNighthawk", "commonPinktoeTarantula", "commonPipistrelle", "commonQuail", "commonShelduck", "commonSnappingTurtle", "commonSnipe", "commonSwallowtailButterfly", "commonTeal", "commonTern", "commonToad", "commonWasp", "commonWoollyMonkey", "conch", "condor", "coneShell", "coopersHawk", "coot", "copesGrayTreefrog", "copperButterfly", "copperheadSnake", "copperyHeadedEmeraldHummingbird", "coral", "coralSnake", "corgi", "cornBunting", "cornSnake", "corvidae", "corysShearwater", "coscorobaSwan", "costasHummingbird", "cottonTopTamarin", "cottonRat", "cottonmouth", "cottontailRabbit", "couchsSpadefootToad", "cougar", "cow", "cowbird", "cowfish", "cowrie", "coyote", "crabEatingFox", "crabEatingMacaque", "crab", "crabSpider", "crane", "craneFly", "crayfish", "crestedCelebesMacaque", "crestedGuineafowl", "crestedHawk", "crestedTreeDragon", "cricket", "crimsonRosella", "crinoid", "crocodile", "crocodileMonitor", "crossbill", "crow", "crowTit", "crownedCrane", "crownedLemur", "crownedPigeon", "crownedWoodnymphHummingbird", "crucianCarp", "cubanAmazonParrot", "cubanConure", "cubanCrocodile", "cubanHutia", "cuckoo", "curlew", "cuscus", "cuttlefish", "cuviersDwarfCaiman", "dachshund", "daddyLonglegs", "daisyCoral", "dallSheep", "dalmatian", "damaGazelle", "damselfly", "dappleGrayHorse", "darkEyedJunco", "darkChub", "darwinFrog", "darwinsLeafEaredMouse", "daurianMyna", "daurianRedstart", "dayGecko", "deepOceanFish", "deepSeaHatchetfish", "deepSeaShrimp", "deer", "deerMouse", "degu", "deinonychus", "demoiselleCrane", "desertCottontailRabbit", "desertFox", "desertKingsnake", "desertTortoise", "desertWhipsnake", "dhole", "diamondFish", "diamondbackRattlesnake", "diamondbackTerrapin", "diamondbackWatersnake", "diceSnake", "dikDik", "dilophosaurus", "dimetrodon", "dingo", "dinosaur", "dionesRatsnake", "diplodocus", "dog", "dollyVarden", "dolphin", "domesticCat", "domesticChicken", "domesticDuck", "domesticGoat", "domesticGoose", "donkey", "dorado", "dottedGizzardShad", "doubleBandedSandgrouse", "doubleToothedKite", "doucLangur", "douglasSquirrel", "downyWoodpecker", "dragonfly", "drumfish", "duck", "ducorpsCockatoo", "dugong", "duiker", "dungBeetle", "dungenessCrab", "duskyHognoseSnake", "duskyLory", "duskyPygmyRattlesnake", "dwarfCrocodile", "dwarfGourami", "dwarfMongoose", "dwarfsnake", "eagle", "eagleRay", "earthworm", "earwig", "eastAfricanCrownedCrane", "eastAsianWhiteClam", "easternBoxTurtle", "easternCottontailRabbit", "easternDiamondbackRattlesnake", "easternGoldenFrog", "easternGrassOwl", "easternGraySquirrel", "easternHognoseSnake", "easternKingsnake", "easternMilkSnake", "easternMudTurtle", "easternRedBat", "easternRibbonSnake", "easternSpadefootToad", "easternTigerSalamander", "easternTowhee", "easternWormSnake", "eaternBluebird", "echidna", "eel", "egret", "egyptianCobra", "egyptianGoose", "egyptianPlover", "egyptianVulture", "eider", "electricEel", "elephant", "elephantSeal", "elephantShrew", "elk", "emeralDamselfly", "emeraldTreeBoa", "emperorDartButterfly", "emperorDragonfly", "emperorGoose", "emperorMoth", "emperorNewt", "emperorPenguin", "emu", "ensatinaSalamander", "equadorPinktoeTarantula", "erckelsFrancolin", "ermine", "eurasianBadger", "eurasianBandWingedDragonfly", "eurasianBlackVulture", "eurasianBlackbird", "eurasianCuckoo", "eurasianCurlew", "eurasianEagleOwl", "eurasianHarvestMouse", "eurasianKestrel", "eurasianLynx", "eurasianRedDragonfly", "eurasianRedSquirrel", "eurasianRiverOtter", "eurasianSparrowhawk", "eurasianWhiteSpoonbill", "europeanBrownShrimp", "europeanEarwig", "europeanEel", "europeanGardenSpider", "europeanGoldfinch", "europeanHedgehog", "europeanLargeCraneFly", "europeanLynx", "europeanMayCockchafer", "europeanPolecat", "europeanRabbit", "europeanRedKite", "europeanRobin", "europeanRoller", "europeanStagBeetle", "europeanTreeFrog", "europeanWaterShrew", "europeanWhiteStork", "europeanWildCat", "eveningBat", "eveningGrosbeak", "eyelashViper", "fairyPitta", "falcon", "fallowDeer", "falseHeathFritillaryButterfly", "falseWaterCobra", "fangtooth", "fantail", "fantailFilefish", "farEasternArrowSquid", "farEasternBandWingedDragonfly", "farEasternBandWingedGrasshopper", "farEasternDevilGrasshopper", "farEasternGreenStinkBug", "farEasternMarbledWhiteButterfly", "farEasternMussel", "farEasternSeaCucumber", "farEasternTreeFrog", "farEasternVioletSeaUrchin", "fatTailedDwarfLemur", "fatTailedLemur", "fawn", "feathertailGlider", "fennecFox", "feralRockPigeon", "ferret", "ferruginousHawk", "fiddlerCrab", "fieldCricket", "fieldfare", "fieryThroatedHummingbird", "filefish", "finWhale", "finch", "fischersLovebird", "fish", "fisherWeasel", "fishingCat", "fishingSpider", "fiveBearedRockling", "fiveLinedSkink", "flamingo", "flamingosTongue", "flammulatedOwl", "flatworm", "flea", "flicker", "flight", "flycatcher", "flyingDino", "foothillYellowLeggedFrog", "forestPierrotButterfly", "formicidae", "formosanBlueMagpie", "forstersTern", "fossa", "fourBandedLongHornedBeetle", "fourHornedAntelope", "foureyeButterflyfish", "fox", "foxSnake", "foxSquirrel", "francolin", "freeTailedBat", "frenchAngelfish", "freshwaterCrayfish", "freshwaterMandarinFish", "freshwaterRay", "frigateBird", "frilledLizard", "frog", "frogfish", "froghopper", "fruitBat", "fruitDove", "fruitFly", "fulmar", "fulvousTreeDuck", "funnelWebSpider", "furSeal", "gaboonViper", "gadwall", "galah", "galapagosGiantTortoise", "galapagosPenguin", "galapagosSeaLion", "gallinule", "gangGangCockatoo", "gannet", "gannetsTest", "garterSnake", "gaur", "gavial", "gazelle", "gecko", "geladaBaboon", "gentooPenguin", "gerenuk", "germanShepherd", "ghostFacedBat", "ghostBat", "ghostPipefish", "giantAbalone", "giantAnteater", "giantArmadillo", "giantBrazillianHornedFrog", "giantEagleOwl", "giantEland", "giantMadagascarDayGecko", "giantPacificOctopus", "giantPanda", "gibbon", "giganotosaurus", "gilaMonster", "gilaWoodpecker", "giraffe", "glassFrog", "glassySweeper", "glaucousWingedGull", "glaucousGull", "gnatcatcher", "gnu", "goAwayBird", "goat", "goby", "gobyMinnow", "godmansViper", "goffinsCockatoo", "goldcarp", "goldenBreastedMynah", "goldenCheekedWarbler", "goldenCrownedFlyingFox", "goldenEdgedJewelBeetle", "goldenFrontedWoodpecker", "goldenMantledGroundSquirrel", "goldenEagle", "goldenFreshwaterMandarinFish", "goldenJackal", "goldenLionTamarin", "goldenMole", "goldenOrbSpider", "goldenPheasant", "goldenSnubNosedMonkey", "goldenToad", "goldfinch", "goldfish", "goldiesLorikeet", "goliathBeetle", "goliathHeron", "gomeranGiantLizard", "goodfellowsTreeKangaroo", "goose", "gooseBarnacle", "gopher", "gopherTortoise", "goral", "gorgonian", "gorilla", "goshawk", "gouldsMonitor", "gouldianFinch", "gracefulCatshark", "grackle", "grandCaymanRockIguana", "grantsGazelle", "grantsZebra", "grassSnake", "grassfinch", "grasshopper", "grayBackedMyna", "grayBandedKingsnake", "grayHeadedAlbatross", "grayHeadedKingfisher", "grayHeadedKite", "grayTailedMountainGemHummingbird", "grayFalcon", "grayFox", "grayGoAwayBird", "grayHawk", "grayHeron", "grayJay", "grayParrot", "grayPartridge", "grayReefShark", "graySeal", "graySquirrel", "grayStarling", "grayTreefrog", "grayWhale", "grayWolf", "grayling", "greatTailedGrackle", "greatBasinSpadefootToad", "greatBlueHeron", "greatCrestedGrebe", "greatDane", "greatGrayOwl", "greatHornedOwl", "greatKiskadee", "greatKnot", "greatPlainsToad", "greatReedWarbler", "greatSlug", "greatTit", "greatWhiteShark", "greaterBilby", "greaterBlueEaredGlossyStarling", "greaterDormouse", "greaterGlider", "greaterKudu", "greaterLongEaredBat", "greaterPiedKingfisher", "greaterPrairieChicken", "greaterScaup", "greaterSulfurCrestedCockatoo", "greaterTenrec", "grebe", "greenBackedHeron", "greenCheekedConure", "greenCrownedBrilliantHummingbird", "greenWingedMacaw", "greenWingedPytilia", "greenAnaconda", "greenAnole", "greenAracari", "greenBillbug", "greenFrog", "greenHermitHummingbird", "greenHeron", "greenIguana", "greenJay", "greenLizard", "greenLynxSpider", "greenParrot", "greenPygmyGoose", "greenSandpiper", "greenSeaTurtle", "greenToad", "greenTreeFrog", "greenTreePython", "greenTreeSkink", "greenVioletEaredHummingbird", "greenWoodhoopoe", "greenWoodpecker", "greenwingTeal", "grevysZebra", "greyhound", "griffonVulture", "grison", "grizzlyBear", "grosbeak", "grosbeakWeaver", "groundDove", "groundParrot", "grouper", "grouse", "guadalupeFurSeal", "guanaco", "guenon", "guineafowl", "gullBilledTern", "gull", "gulperEel", "gundi", "guppy", "gyrfalcon", "habrobraconHebetor", "hairstreakButterfly", "hairyNosedWombat", "hairyTailedMole", "hairyLongHornedToadBeetle", "hairyWoodpecker", "haitianBoa", "halibut", "hamadryasBaboon", "hammerheadShark", "hammerkop", "hamster", "hanumanLangur", "harborSeal", "hardCoral", "hare", "harlequinBug", "harlequinDuck", "harlequinPoisonFrog", "harlequinShrimp", "harpSeal", "harpyEagle", "harris hawk", "hartebeest", "harvestMouse", "hawaiianGoose", "hawaiianHawk", "hawfinch", "hawksbillTurtle", "hazelGrouse", "head", "hedgehog", "heermannsGull", "hermitCrab", "heron", "herringGull", "highHat", "highBrownFritillaryButterfly", "hillMynah", "himalayanCat", "himalayanTahr", "hippopotamus", "hoaryBat", "hoaryMarmot", "hoatzin", "hogDeer", "hognoseSnake", "hollowFacedBat", "honeybee", "honeycombFilefish", "honeyeater", "hoodedCrane", "hoodedCrow", "hoodedMerganser", "hoodedSeal", "hookBilledKite", "hoopoe", "hornbill", "hornedAdder", "hornedGrebe", "hornedLark", "hornedLizard", "hornedPuffin", "horse", "horseFly", "horseshoeCrab", "horseshoeWhipsnake", "hoseHornedViper", "houseFinch", "houseFly", "houseMouse", "houseSparrow", "houseWren", "houstonToad", "hoverfly", "howlerMonkey", "hummingbird", "humpbackWhale", "husky", "hutia", "hyacinthMacaw", "hydra", "hyena", "hyppolytidae", "hyrax", "iberianRockLizard", "ibex", "ibis", "iguana", "imagine", "impala", "imperialCleanerShrimp", "imperialEagle", "incaDove", "incaTern", "indianBandicoot", "indianCobra", "indianElk", "indianPangolin", "indianPython", "indianRedAdmiralButterfly", "indigoBunting", "indri", "insect", "inshoreLizardfish", "intermediateEgret", "ironHairstreakButterfly", "islandCanary", "isopod", "ivoryBilledWoodpecker", "jacana", "jackal", "jackassPenguin", "jackdaw", "jackrabbit", "jaguar", "jamaicanRuddyDuck", "jamaicanWoodpecker", "japaneseFlatAphid", "japaneseGiantFlyingSquirrel", "japaneseGrosbeak", "japaneseJohnDory", "japaneseMarten", "japaneseMonkey", "japanesePredaciousDivingBeetle", "japaneseRobin", "japaneseSerow", "japaneseWaterScorpion", "japaneseWaxwing", "japaneseWhiteEye", "javaGreenPeacock", "javanRhinoceros", "javelinSandBoa", "jay", "jellyfish", "jendayConure", "jerboa", "jewelBeetle", "jindogae", "juanFernandezFurSeal", "jumpingSpider", "jumpingViper", "jungleCat", "jungleCrow", "juniperShieldBug", "kangaroo", "katydid", "keaParrot", "keelBilledToucan", "keeshond", "kentishPlover", "kerabauWaterBuffalo", "kestrel", "killdeer", "killerWhale", "kingCheetah", "kingEider", "kingParrot", "kingPenguin", "kingRail", "kingSalmon", "kingVulture", "kingfisher", "kingsnake", "kissingGourami", "kitFox", "kite", "kitten", "kiwi", "klipspringer", "knysnaTuraco", "koala", "kodiakBear", "komodoDragon", "kookaburra", "koranAngelfish", "korea", "koreanAlpineGrasshopper", "koreanAuchaPerch", "koreanBandedBumblebee", "koreanBlackBear", "koreanBullhead", "koreanChipmunk", "koreanCommonBackswimmer", "koreanCow", "koreanDarkSleeper", "koreanDotyBarbel", "koreanDuskyCicada", "koreanFlatBitterling", "koreanFreshwaterCrayfish", "koreanFreshwaterSnail", "koreanGhostCrab", "koreanGrassCicada", "koreanGrayWolf", "koreanGreaterHorseshoeBat", "koreanHarvestmanCicada", "koreanHorseCicada", "koreanLadislavia", "koreanLandSlug", "koreanLandlockedMasuSalmon", "koreanMagpieViper", "koreanMuljara", "koreanNarrowMouthedFrog", "koreanOilyBitterling", "koreanOrangeWhiskeredBat", "koreanPaintedLadyButterfly", "koreanRedClickBeetle", "koreanRedFox", "koreanRelictLongHornedBeetle", "koreanRoseBitterling", "koreanRoundSnail", "koreanSlenderBitterling", "koreanSpineLoach", "koreanSplendidDace", "koreanSpottedSleeper", "koreanStagBeetle", "koreanTiger", "koreanWaterMantis", "koreanWaterToad", "koreanWoodMouse", "koreanYellowSailerButterfly", "koriBustard", "kouprey", "kronosaurus", "kudu", "kumgangMinnow", "kundzha", "labradorRetriever", "lacewing", "ladderBackedWoodpecker", "ladyAmherstPheasant", "ladybug", "lamb", "lammergeier", "langurMonkey", "lanner", "laplandLongspur", "lappetFacedVulture", "lapwing", "largeCopperButterfly", "largeEgret", "largePurpleFritillaryButterfly", "largeTreeShrew", "largemouthBass", "lark", "laughingGull", "laughingKookaburra", "lavaHeron", "laysanAlbatross", "lazuliBunting", "leafCutterAnt", "leafEaredMouse", "leafBeetle", "leafFish", "leafNosedBat", "leafhopper", "leafySeadragon", "leastWeasel", "leatherbackTurtle", "lemming", "lemonShark", "lemur", "leopard", "leopardFrog", "leopardGecko", "leopardLizard", "leopardSeal", "leopardShark", "lesserFlamingo", "lesserGoldfinch", "lesserJapaneseMole", "lesserKestrel", "lesserKudu", "lesserMouseLemur", "lesserParapolybiaPaperWasp", "lesserPrairieChicken", "lesserScaup", "lesserSheathbill", "lesserSootyOwl", "lesserSulfurCrestedCockatoo", "lesserTreeShrew", "lesserWhiteFrontedGoose", "lesserWhiteNosedGuenon", "letteredAracari", "liger", "lightMantledSootyAlbatross", "lijster", "lilacBreastedRoller", "lilacineAmazonParrot", "lionTailedMacaque", "lion", "lionfish", "littleBeeEater", "littleBlueHeron", "littleBrownBat", "littleCrowHairstreakButterfly", "littleEgret", "littleGrebe", "littleRingedPlover", "littleTern", "lizard", "lizardMinnow", "llama", "lobster", "loggerheadTurtle", "longBilledCurlew", "longEaredBat", "longEaredOwl", "longFootedPotoroo", "longHornedBeetle", "longLeggedOctopus", "longLeggedScarabBeetle", "longNeckedTortoise", "longNosedBandicoot", "longNosedBarbel", "longNosedEchidna", "longNosedGoblinBat", "longNosedPotoroo", "longSpinedPorcupinefish", "longTailedHairstreakButterfly", "longTailedJaeger", "longTailedRoseFinch", "longTailedTit", "longTailedWeasel", "longWingedKatydid", "longhornCow", "longnoseGar", "longspineSquirrelfish", "loon", "loris", "lory", "lovebird", "luciferHummingbird", "lumpsucker", "lunaMoth", "lynx", "lynxSpider", "macaque", "macaroniPenguin", "macaw", "madagascanSpeckledHognoseSnake", "madagascarGroundGecko", "madagascarLeafTailedGecko", "madeiraGoby", "madeiranWallLizard", "magellanGoose", "magellanicPenguin", "magentaThroatedWoodstarHummingbird", "malachiteKingfisher", "malachiteSunbird", "malagasyGiantHognoseSnake", "malayanTapir", "mallard", "mamba", "mammal", "mammoth", "manatee", "manchurianTrout", "mandarinDuck", "mandrill", "manedWolf", "mangroveMonitor", "manilaClam", "mannikin", "manta", "mantis", "manxCat", "mapTurtle", "marabouStork", "marbledCat", "marbledGrouper", "marbledSalamander", "marbledSpider", "margay", "marianaFruitDove", "marianasFruitBat", "marlin", "marmoset", "marmot", "marshHarrier", "marshWren", "marsupialMole", "marten", "martialEagle", "maskedBooby", "maskedPalmCivet", "mastiffBat", "masuSalmon", "mataMataTurtle", "matschiesTreeKangaroo", "maximillianTurtle", "mazarineBlueButterfly", "meadowBunting", "meadowLark", "meerkat", "merganser", "merlin", "merrensFalseViper", "mexicanGrayWolf", "mexicanLanceHeadedRattlesnake", "mexicanPython", "midwestWormSnake", "militaryMacaw", "milkSnake", "milkweedBeetle", "millipede", "mink", "mirrorCarp", "mississippiKite", "mississippiMapTurtle", "mite", "mockingbird", "mojaveRattlesnake", "mole", "moleSalamander", "moluccanLory", "moluccanYellowMonitor", "monarchButterfly", "mongoose", "mongooseLemur", "monitor", "monkey", "moorhen", "moorishGecko", "moose", "morayEel", "moreletsCrocodile", "mosquito", "moth", "motmot", "mouflonSheep", "mountainBluebird", "mountainNyala", "mourningDove", "mouse", "mouseLemur", "mouseWeasel", "mousebird", "mudDauber", "mudSnake", "mudskipper", "mule", "muleDeer", "mulgaParrot", "muntjak", "muskDeer", "muskOx", "mussel", "muteSwan", "nakedMoleRat", "napoleonFish", "narcissusFlycatcher", "narrowWingedMantis", "nassauGrouper", "nautilus", "nearEastViper", "nelsonsAntelopeGroundSquirrel", "neonGoby", "newCaledoniaBumpyGecko", "newGuineaTurtle", "newZealandFurSeal", "newZealandRobin", "newZealandScaup", "newt", "nicobarPigeon", "nightMonkey", "nileCrocodile", "nileLechweAntelope", "nileMonitor", "nilgaiAntelope", "nineBandedArmadillo", "northAmericanPorcupine", "northernDwarfTreeFrog", "northernElephantSeal", "northernFurSeal", "northernGannet", "northernGrasslandLongHornedBeetle", "northernHarrier", "northernPurpleGoldBeetle", "northernRingneckSnake", "northernSeaLion", "northernShrike", "northernSlimySalamander", "northernSnakehead", "northernSnappingTurtle", "northernWhiteFacedScopsOwl", "northwesternGarterSnake", "norwayRat", "nudibranch", "numbat", "nurseShark", "nutcracker", "nuthatch", "nutria", "nyala", "oceanicGecko", "ocelot", "octopus", "okapi", "oldEnglishSheepdog", "oldsquaw", "oldwife", "oliveRidleyTurtle", "olympicSalamander", "opossum", "orangeBelliedParrot", "orangeCheekedWaxbill", "orangeWingedAmazon", "orangutan", "oregonEnsatinaSalamander", "oribi", "orientalDragon", "orientalFireBelliedToad", "orientalTurtleDove", "orientalWhiteStork", "oriole", "oryx", "oscar", "osprey", "ostrich", "otter", "ovenbird", "oviraptor", "owl", "oxpecker", "oyster", "oysterCatcher", "pacManFrog", "pacaAgouti", "pacificGiantSalamander", "pacificLoon", "pacificSailfish", "pademelon", "paintedBunting", "paintedEnsatinaSalamander", "paintedFrogfish", "paintedLadyButterfly", "paintedTurtle", "paleBreastedThrush", "paleFootedShearwater", "paleChub", "paleThrush", "pallas rosyFinch", "pallasCat", "pallassSandgrouse", "palmCockatoo", "paludumWaterStrider", "pampasCat", "pampasDeer", "pangolin", "panther", "paperWasp", "parasiticJaeger", "parkersTurtle", "parrot", "parrotfish", "partridge", "parulaWarbler", "patasMonkey", "peachFacedLovebird", "peacock", "peacockButterfly", "pearlCichlid", "pearlKite", "peccary", "pedersonCleanerShrimp", "pegasus", "pekinese", "pelican", "penguin", "peregrineFalcon", "periwinkle", "perppermintShrimp", "persianCat", "phascogale", "pheasant", "philippineCrocodile", "piedBilledGrebe", "piedAvocet", "piedFlycatcher", "piedKingfisher", "pigNosedTurtle", "pig", "pigeon", "piglet", "pika", "pike", "pileatedWoodpecker", "pilotWhale", "pinTailedSandgrouse", "pinTailedWhydah", "pineBarrensTreefrog", "pineGrosbeak", "pineMarten", "pineNeedleGallMidge", "pineWoodsTreefrog", "pinkCockatoo", "pintail", "pipefish", "piranha", "pitBullTerrier", "pitta", "planaria", "plantainSquirrel", "plateBilledMountainToucan", "platypus", "plesiosaur", "plover", "plovercrestHummingbird", "plumbeousKite", "pochard", "pocketGopher", "poisonFrog", "poisonSpider", "polarBear", "pomeranian", "pony", "poodle", "poongsanDog", "poplarAdmiralButterfly", "porcupine", "porkfish", "portugueseManOfWar", "potatoGrouper", "potoroo", "powderBlueTang", "prairieChicken", "prairieDog", "prairieFalcon", "prairieKingsnake", "prairieRingneckSnake", "prawn", "prion", "proboscisMonkey", "prometheaMoth", "pronghorn", "prothonotaryWarbler", "provenceBurnetMoth", "przewalskisWildHorse", "ptarmigan", "puanSpineLoach", "pudu", "puertoRicanAmazon", "puertoRicanCrestedAnole", "puffAdder", "puffin", "pug", "puppy", "purpleCappedLory", "purpleShotCopperButterfly", "purpleThroatedMountainGemHummingbird", "purpleFinch", "purpleGallinule", "purpleHairstreakButterfly", "purpleMartin", "purpleNudibranch", "pygmyGoose", "pygmyHippopotamus", "pygmyOwl", "pygmyRattlesnake", "python", "quagga", "quakerParrot", "queenAngelfish", "queenAnt", "queenButterfly", "queenConch", "queenTriggerfish", "quetzal", "quillbackRockfish", "quokka", "quoll", "rabbit", "raccoon", "raccoonDog", "racketTailedRoller", "rafinesquesBigEaredBat", "rail", "rainbowBeeEater", "rainbowBoa", "rainbowLorikeet", "rainbowTrout", "ratel", "ratsnake", "rattleSnake", "raven", "razorbill", "redBackedSalamander", "redBackedSpider", "redBackedVole", "redBandedLongHornedBeetle", "redBandedPrawnGoby", "redBelliedBlackSnake", "redBelliedLemur", "redBelliedWoodpecker", "redBilledPintail", "redBreastedMerganser", "redBreastedSapsucker", "redCheekedMyna", "redCockadedWoodpecker", "redCrestedPochard", "redCrownedCrane", "redEaredTurtle", "redEyedBulbul", "redEyedTreeFrog", "redFootedBooby", "redFrontedParakeet", "redHeadedPoisonFrog", "redHeadedRatsnake", "redHeadedWoodpecker", "redLinedLongHornedBeetle", "redLoredAmazonParrot", "redNeckedGrebe", "redNeckedPademelon", "redNeckedStint", "redRumpedSwallow", "redShoulderedHawk", "redSidedGarterSnake", "redSpottedApolloButterfly", "redTailedBlackCockatoo", "redTailedBoa", "redTailedCatfish", "redTailedHawk", "redTailedTropicbird", "redThroatedCaracara", "redThroatedLoon", "redAdmiralButterfly", "redCoral", "redForestRat", "redFox", "redGoshawk", "redHindGrouper", "redHowlerMonkey", "redKneeTarantula", "redMilkweedBeetle", "redPanda", "redPygmyRattlesnake", "redRuffedLemur", "redSquirrel", "redThoraxLeafBug", "redWolf", "reddishEgret", "redfrontLongWingedPlanthopper", "redheadDuck", "redshank", "redstart", "redtailSurfperch", "reedbuck", "reeffish", "reptile", "reticulatedGiraffe", "reticulatedPython", "retriever", "rex", "rhino", "rhinocerosHornbill", "rhinocerosIguana", "rhodesianRidgeback", "ribbonSnake", "ridleyTurtle", "rightWhale", "ringBilledGull", "ringNeckedDove", "ringNeckedDuck", "ringNeckedPheasant", "ringTailedLemur", "ringedKingfisher", "ringedPlover", "ringedSalamander", "ringedSeal", "ringedTangFish", "ringneckSnake", "ringtailCat", "riverCooter", "riverOtter", "riverTurtle", "roadrunner", "roadsideHawk", "roanAntelope", "robberFly", "robin", "rockBeautyAngelfish", "rockDove", "rockHopperPenguin", "rockHyrax", "rockIguana", "rockPtarmigan", "rockfish", "rockyMountainGoat", "roeDeer", "roller", "romper", "rook", "rooster", "roseBreastedGoose", "roseBreastedGrosbeak", "roseateSpoonbill", "rosella", "rosyBilledPochard", "rosyBoa", "rottweiler", "roughLeggedHawk", "roughGreenSnake", "roughskinSculpin", "roulRoulPartridge", "royalGramma", "rubyThroatedHummingbird", "ruddyCrake", "ruddyGroundDove", "ruddyKingfisher", "ruddyShelduck", "ruddyTurnstone", "ruffedGrouse", "ruffedLemur", "rufousBeakedSnake", "rufousFrontedFantail", "rufousHummingbird", "ruppellsVulture", "russellsLionfish", "russetSparrow", "russianFlyingSquirrel", "russianRatsnake", "rustySpottedCat", "saberToothedTiger", "sableAntelope", "sableMarten", "sacredIbis", "saffronToucanet", "saiga", "sailfish", "saintBernard", "salamander", "sallyLightfootCrab", "salmonCrestedCockatoo", "salmon", "saltwaterCrocodile", "sambar", "samoyed", "sandCat", "sandDollar", "sandgrouse", "sandhillCrane", "sapsari", "sapsucker", "satinBowerbird", "saundersGull", "savannahMonitor", "sawWhetOwl", "scallop", "scarceHeathButterfly", "scarletCleanerShrimp", "scarletIbis", "scarletKingsnake", "scarletMacaw", "scarletTanager", "schipperke", "schniedersDwarfCaiman", "scimitarHornedOryx", "scintillantHummingbird", "scipionyxSamniticus", "scooter", "scopsOwl", "scorpion", "scottishWildCat", "scrawledFilefish", "screechOwl", "scrubJay", "seaAnemone", "seaBream", "seaCucumber", "seaFan", "seaHorse", "seaLion", "seaOtter", "seaPen", "seaScorpion", "seaSnake", "seaTurtle", "seaUrchin", "seaWhip", "seal", "sebastopolGoose", "semicircleAngelfish", "seminoleBat", "senegalDove", "sergeantMajor", "serval", "sevenSpottedLadybug", "shark", "sharpShinnedHawk", "shawsCowfish", "shearwater", "sheep", "shell", "shepherd", "shetlandSheepdog", "shieldBug", "shoebillStork", "shortEaredOwl", "shortNosedEchidna", "shortTailedAlbatross", "shortTailedHawk", "shortTailedShrew", "shortHornedGrasshopper", "shortrakerRockfish", "shoveler", "shrew", "shrimp", "shyAlbatross", "siamang", "siameseCat", "siberianChipmunk", "siberianJay", "siberianRubythroat", "siberianTiger", "siberianWeasel", "siberianWhiteCrane", "sidewinder", "sifaka", "sikaDeer", "silkworm", "silverHairedBat", "silverPheasant", "silverSalmon", "silvertipShark", "sinosauropteryx", "siskin", "sitatunga", "sixspotGoby", "skink", "skunk", "skylark", "slatyBackedGull", "slenderBilledKite", "slenderBilledShearwater", "slenderSnoutedCrocodile", "slenderSalamander", "sloth", "slothBear", "slowLoris", "slug", "smallKingDragonfly", "smallmouthGrunt", "smew", "smoothBilledAni", "smoothFrogfish", "smoothTrunkfish", "snail", "snailKite", "snake", "snapper", "snappingTurtle", "snowBunting", "snowGoose", "snowLeopard", "snowPetrel", "snowshoeHare", "snowyEgret", "snowyOwl", "snowySheathbill", "softshellTurtle", "sonoraMountainKingsnake", "sonoranGopherSnake", "sootyCopperButterfly", "sootyTern", "southAfricanFurSeal", "southAmericanFurSeal", "southAmericanTapir", "southernBaldIbis", "southernGreenStinkBug", "southernLeopardFrog", "southernRedBackedSalamander", "southernRingneckSnake", "southernSeaLion", "sow", "spadefootToad", "spangledDrongo", "spaniel", "spanishHogfish", "spanishLynx", "sparrow", "sparrowhawk", "speckledKingsnake", "speckledMousebird", "spectacledBear", "spectacledCaiman", "spermWhale", "sphinxMoth", "spider", "spiderMonkey", "spinyTailedMonitor", "spinyLobster", "spinySoftshell", "spirontocarisShrimp", "spittingCobra", "spixsMacaw", "sponge", "spoonbill", "spotBilledToucanet", "spotFinPorcupinefish", "spotbill", "spotfinLionfish", "spottedBat", "spottedCleanerShrimp", "spottedCuscus", "spottedDolphin", "spottedEagle", "spottedFlycatcher", "spottedHyena", "spottedOwl", "spottedSalamander", "spottedSkunk", "spottedTowhee", "spottedTrunkfish", "spottedTurtle", "springbok", "springhare", "spruceGrouse", "spurThighTortoise", "squaccoHeron", "squid", "squirrel", "squirrelMonkey", "squirrelTreefrog", "stVincentAmazonParrot", "stagBeetle", "staghornCoral", "stalkEyedFly", "starNosedMole", "starfish", "starling", "steelBarbel", "steelyVentedHummingbird", "steenbok", "stegosaurus", "stellerJay", "stellersSeaEagle", "stickInsect", "stickleback", "stilt", "stinkBug", "stinkpot", "stint", "stoneMarten", "stonefly", "stork", "stormPetrel", "strawNeckedIbis", "strawRaincoatMoth", "streamertail", "stripedBass", "stripedHyena", "stripedMudTurtle", "stripedParrotfish", "stripedShinner", "stripedSkunk", "sugarGlider", "sumatranRhinoceros", "sumatranTiger", "summerTanager", "sunBear", "sunConure", "sunbird", "superbLyrebird", "superbStarling", "surfScoter", "surfbird", "surinameCrownHeron", "swainsonsHawk", "swallowTailedBeeEater", "swallowTailedKite", "swallow", "swallowtailButterfly", "swampWallaby", "swan", "swanGoose", "sweeper", "swinhoesYellowRail", "sydneyFunnelWebSpider", "tadpole", "taipan", "takahe", "tamandua", "tamarin", "tanager", "tangFish", "tapir", "tarantula", "tarsier", "tasmanianDevil", "tasmanianWolf", "tasselEaredSquirrel", "tawnyFrogmouth", "tawnyOwl", "taylorsCantil", "tayra", "teal", "temmincksCourser", "temmincksGoldenCat", "tenrec", "tern", "terrapin", "terrier", "texasAntelopeGroundSquirrel", "texasCoralSnake", "texasFreshwaterCrayfish", "texasTortoise", "thickLeggedFlowerBeetle", "thirteenLinedGroundSquirrel", "thomsonGazelle", "thornyDevil", "threadWingedLacewing", "threadfinButterflyfish", "threeBandedArmadillo", "threeSpinedStickleback", "threeToedSloth", "thrush", "tick", "tiger", "tigerBeetle", "tigerOscar", "tigerRatsnake", "tigerSalamander", "tigerShark", "tigerineHondurianMilkSnake", "timberRattlesnake", "timorMonitor", "timorPython", "toad", "toadbug", "tocoToucan", "tody", "tomatoFrog", "topmouthGudgeon", "tortoise", "toucan", "toucanet", "towhee", "tragopanPheasant", "trapDoorSpider", "treeCreeper", "treeDuck", "treeFrog", "treeKangaroo", "treeShrew", "treeSparrow", "treeSquirrel", "triceratops", "tricolorFlycatcher", "tricolorPoisonDartFrog", "tricoloredHeron", "triggerfish", "trilobite", "tripodFish", "tropicalFish", "tropicalRattlesnake", "trout", "trumpeterSwan", "trumpetfish", "tuatara", "tubeSponge", "tucsonBandedGecko", "tuftedDuck", "tuftedPuffin", "tuftedTitmouse", "turaco", "turkey", "turkeyVulture", "turkishViper", "turquoiseBrowedMotmot", "turtle", "twoHeadedPython", "tylosaurus", "tyrantFlycatcher", "uakari", "ultramarineLorikeet", "unicorn", "uralOwl", "utahraptor", "vagatorRobberFly", "vampireBat", "vancouverIslandMarmot", "velvetScoter", "venezuelanGreenbottleBlueTarantula", "vermilionRockfish", "vervetMonkey", "vicuna", "viper", "vireo", "viscacha", "vole", "wallaby", "walrus", "wanderingAlbatross", "warbler", "warblingVireo", "warthog", "wasp", "waterSnake", "waterVole", "waterbuck", "waterdragon", "waterthrush", "watusiCattle", "waxwing", "weasel", "weaver", "wedgeTailedEagle", "weedySeadragon", "wenteltrap", "westAfricanCrownedCrane", "westernBandedGecko", "westernBluebird", "westernBoxTurtle", "westernDiamondbackRattlesnake", "westernGraySquirrel", "westernGrebe", "westernGull", "westernHognoseSnake", "westernRattlesnake", "westernSpadefootToad", "westernSwampTortoise", "westernTanager", "whale", "whaleShark", "whimbrel", "whipPoorWill", "whippet", "whipsnake", "whiptailLizard", "whistlingSwan", "whiteBackedWoodpecker", "whiteBelliedBustard", "whiteBelliedSeaEagle", "whiteBreastedNuthatch", "whiteBreastedWoodSwallow", "whiteCheekedTuraco", "whiteCrownedSparrow", "whiteEaredHummingbird", "whiteFacedPiedWagtail", "whiteFacedWhistlingDuck", "whiteFootedMouse", "whiteFrontedAmazonParrot", "whiteFrontedGoose", "whiteHeadedPlover", "whiteHeadedVulture", "whiteNapedCrane", "whiteNosedGuenon", "whiteNosedLoach", "whiteSpottedSlimySalamander", "whiteTailedAntelopeGroundSquirrel", "whiteTailedEagle", "whiteTailedHawk", "whiteTailedKite", "whiteTailedPtarmigan", "whiteThroatedBeeEater", "whiteThroatedCapuchin", "whiteThroatedSparrow", "whiteWingedCrossbill", "whiteWingedGuan", "whiteButterfly", "whiteEye", "whiteGoat", "whiteHorse", "whiteLion", "whiteRhinoceros", "whiteTailDeer", "whiteTiger", "whiteTipReefShark", "whooperSwan", "wigeon", "wildCat", "wildDuck", "wildTurkey", "williamsonsSapsucker", "willowPtarmigan", "willowWarbler", "wisent", "wolf", "wolfEel", "wolfSpider", "wolverine", "wombat", "woodFrog", "woodIbis", "woodStork", "woodThrush", "woodTurtle", "woodchuck", "woodduck", "woodpecker", "wormSnake", "wrasse", "xanthusHummingbird", "yacareCaiman", "yak", "yellowBackedDuiker", "yellowBackedLory", "yellowBandedLongHornedBeetle", "yellowBelliedGlider", "yellowBelliedMarmot", "yellowBelliedSapsucker", "yellowBelliedTurtle", "yellowBelliedWaxbill", "yellowBelliedWeasel", "yellowBilledCacique", "yellowBilledCuckoo", "yellowBilledLoon", "yellowBreastedChat", "yellowCrownedAmazonParrot", "yellowEyedPenguin", "yellowFacedMynah", "yellowFootedMarsupialMouse", "yellowHandedTiti", "yellowHeadedBlackbird", "yellowLeggedGull", "yellowNapedAmazonParrot", "yellowSpottedDartButterfly", "yellowSpottedLongHornedBeetle", "yellowThroatedBunting", "yellowThroatedMarten", "yellowThroatedWarbler", "yellowAmataMoth", "yellowAnaconda", "yellowArmadillo", "yellowEyedViper", "yellowGoldenMole", "yellowJacket", "yellowLongnoseButterflyfish", "yellowTang", "yellowWagtail", "yellowheadWrasse", "yellowtailDamselfish", "yellowtailSnapper", "yokohamaBraconidWasp", "zaireDuiker", "zebra", "zebraButterfly", "zebraDuiker", "zebraFinch", "zebraLongwing", "zebraShark", "zoneTailedKite", "zorilla", }; }