diff --git a/dist/status-chat-name.js b/dist/status-chat-name.js index e5beb6f..c589743 100644 --- a/dist/status-chat-name.js +++ b/dist/status-chat-name.js @@ -1,7 +1,7 @@ /** * Name: js-status-chat-name - * Version: 0.1.1 + * Version: 0.1.2 * Author: Jakub Sokołowski * Source: https://github.com/status-im/js-status-chat-name * License: MIT diff --git a/dist/status-chat-name.min.js b/dist/status-chat-name.min.js index dae0758..b973731 100644 --- a/dist/status-chat-name.min.js +++ b/dist/status-chat-name.min.js @@ -1,2 +1,2 @@ -/* Meta: js-status-chat-name 0.1.1 */ +/* Meta: js-status-chat-name 0.1.2 */ var StatusIm=function(){"use strict";const e=["Aardvark","Aardwolf","Abalone","Abyssiniancat","Abyssiniangroundhornbill","Acaciarat","Achillestang","Acornbarnacle","Acornweevil","Acornwoodpecker","Acouchi","Adamsstaghornedbeetle","Addax","Adder","Adeliepenguin","Admiralbutterfly","Adouri","Aegeancat","Affenpinscher","Hound","Augurbuzzard","Bushviper","Civet","Clawedfrog","Elephant","Fisheagle","Goldencat","Groundhornbill","Harrierhawk","Hornbill","Jacana","Molesnake","Paradiseflycatcher","Piedkingfisher","Porcupine","Rockpython","Wildcat","Wilddog","Agama","Agouti","Aidi","Airedale","Airedaleterrier","Akitainu","Mapturtle","Jingle","Husky","Kleekai","Malamute","Albacoretuna","Albatross","Albertosaurus","Albino","Aldabratortoise","Allensbigearedbat","Alleycat","Alligator","Alligatorgar","Alligatorsnappingturtle","Allosaurus","Alpaca","Alpinegoat","Alpineroadguidetigerbeetle","Altiplanochinchillamouse","Amazondolphin","Amazonparrot","Amazontreeboa","Amberpenshell","Ambushbug","Alligator","Avocet","Badger","Bittern","Vulture","Bobtail","Bulldog","Cicada","Crayfish","Creamdraft","Crocodile","Crow","Curl","Goldfinch","Indianhorse","Kestrel","Lobster","Marten","Painthorse","Quarterhorse","Ratsnake","Redsquirrel","Riverotter","Robin","Saddlebred","Shorthair","Toad","Warmblood","Wigeon","Wirehair","Amethystgemclam","Amethystinepython","Amethystsunbird","Ammonite","Amoeba","Amphibian","Amphiuma","Amurminnow","Amurratsnake","Amurstarfish","Anaconda","Anchovy","Andalusianhorse","Andeancat","Andeancondor","Anemone","Anemonecrab","Anemoneshrimp","Angelfish","Angelwingmussel","Anglerfish","Angora","Angwantibo","Anhinga","Ankole","Ankolewatusi","Annashummingbird","Annelid","Annelida","Anole","Anophelesmosquito","Ant","Antarcticfurseal","Antarcticgiantpetrel","Antbear","Anteater","Antelope","Antelopegroundsquirrel","Antipodesgreenparakeet","Antlion","Anura","Aoudad","Apatosaur","Ape","Aphid","Apisdorsatalaboriosa","Aplomadofalcon","Appaloosa","Aquaticleech","Arabianhorse","Arabianoryx","Arabianwildcat","Aracari","Arachnid","Arawana","Archaeocete","Archaeopteryx","Archerfish","Arcticduck","Arcticfox","Arctichare","Arcticseal","Arcticwolf","Argali","Argentinehornedfrog","Argentineruddyduck","Argusfish","Arieltoucan","Arizonaalligatorlizard","Arkshell","Armadillo","Armedcrab","Armednylonshrimp","Armyant","Armyworm","Arrowana","Arrowcrab","Arrowworm","Arthropods","Aruanas","Constablebutterfly","Damselfly","Elephant","Lion","Piedstarling","Porcupine","Smallclawedotter","Trumpetfish","Waterbuffalo","Greaterfreshwaterclam","Lesserfreshwaterclam","Mouflon","Asp","Assassinbug","Astarte","Astrangiacoral","Atlanticblackgoby","Atlanticbluetang","Atlanticridleyturtle","Atlanticsharpnosepuffer","Atlanticspadefish","Atlasmoth","Attwatersprairiechicken","Auk","Auklet","Aurochs","Australiancattledog","Australiancurlew","Australianfreshwatercrocodile","Australianfurseal","Australiankelpie","Australiankestrel","Australianshelduck","Australiansilkyterrier","Austrianpinscher","Avians","Avocet","Axisdeer","Axolotl","Ayeaye","Aztecant","Azurevase","Azurevasesponge","Azurewingedmagpie","Babirusa","Baboon","Backswimmer","Bactrian","Badger","Bagworm","Baiji","Baldeagle","Baleenwhale","Balloonfish","Ballpython","Bandicoot","Bangeltiger","Bantamrooster","Banteng","Barasinga","Barasingha","Barb","Barbet","Barebirdbat","Barnacle","Barnowl","Barnswallow","Barracuda","Basenji","Basil","Basilisk","Bass","Bassethound","Bat","Bats","Beagle","Bear","Beardedcollie","Beardeddragon","Beauceron","Beaver","Bedbug","Bedlingtonterrier","Bee","Beetle","Bellfrog","Bellsnake","Belugawhale","Bengaltiger","Bergerpicard","Bernesemountaindog","Betafish","Bettong","Bichonfrise","Bighorn","Bighornedsheep","Bighornsheep","Bigmouthbass","Bilby","Binturong","Bird","Birdofparadise","Bison","Bittern","Blackbear","Blackbird","Blackbuck","Blackfish","Blackfly","Blackfootedferret","Blacklab","Blacklemur","Blackmamba","Blacknorwegianelkhound","Blackpanther","Blackrhino","Blackrussianterrier","Blackwidowspider","Blesbok","Blobfish","Blowfish","Blueandgoldmackaw","Bluebird","Bluebottle","Bluebottlejellyfish","Bluefintuna","Bluefish","Bluegill","Bluejay","Blueshark","Bluet","Bluetickcoonhound","Bluetonguelizard","Bluewhale","Boa","Boaconstrictor","Boar","Bobcat","Bobolink","Bobwhite","Boilweevil","Bongo","Bonobo","Booby","Bordercollie","Borderterrier","Borer","Borzoi","Boto","Boubou","Boutu","Bovine","Brahmanbull","Brahmancow","Brant","Bream","Brocketdeer","Bronco","Brontosaurus","Brownbear","Brownbutterfly","Bubblefish","Buck","Buckeyebutterfly","Budgie","Bufeo","Buffalo","Bufflehead","Bug","Bull","Bullfrog","Bullmastiff","Bumblebee","Bunny","Bunting","Burro","Bushbaby","Bushsqueaker","Bustard","Butterfly","Buzzard","Caecilian","Caiman","Caimanlizard","Calf","Camel","Canadagoose","Canary","Canine","Canvasback","Capeghostfrog","Capybara","Caracal","Cardinal","Caribou","Carp","Carpenterant","Cassowary","Cat","Catbird","Caterpillar","Catfish","Cats","Cattle","Caudata","Cavy","Centipede","Cero","Chafer","Chameleon","Chamois","Chanticleer","Cheetah","Chevrotain","Chick","Chickadee","Chicken","Chihuahua","Chimneyswift","Chimpanzee","Chinchilla","Chinesecrocodilelizard","Chipmunk","Chital","Chrysalis","Chrysomelid","Chuckwalla","Chupacabra","Cicada","Cirriped","Civet","Clam","Cleanerwrasse","Clingfish","Clownanemonefish","Clumber","Coati","Cob","Cobra","Cockerspaniel","Cod","Coelacanth","Collardlizard","Collie","Colt","Comet","Commabutterfly","Commongonolek","Conch","Condor","Coney","Conure","Cony","Coot","Cooter","Copepod","Copperbutterfly","Copperhead","Coqui","Coral","Cormorant","Cornsnake","Corydorascatfish","Cottonmouth","Cottontail","Cow","Cowbird","Cowrie","Coyote","Coypu","Crab","Crane","Cranefly","Crayfish","Creature","Cricket","Crocodile","Crocodileskink","Crossbill","Crow","Crownofthornsstarfish","Crustacean","Cub","Cuckoo","Cur","Curassow","Curlew","Cuscus","Cusimanse","Cuttlefish","Cutworm","Cygnet","Dachshund","Dalmatian","Damselfly","Danishswedishfarmdog","Darklingbeetle","Dartfrog","Darwinsfox","Dassie","Dassierat","Davidstiger","Deer","Deermouse","Degu","Degus","Deinonychus","Desertpupfish","Devilfish","Deviltasmanian","Diamondbackrattlesnake","Dikdik","Dikkops","Dingo","Dinosaur","Diplodocus","Dipper","Discus","Dobermanpinscher","Doctorfish","Dodo","Dodobird","Doe","Dog","Dogfish","Dolphin","Donkey","Dorado","Dore","Dorking","Dormouse","Dotterel","Dove","Dowitcher","Drafthorse","Dragon","Dragonfly","Drake","Drever","Dromaeosaur","Dromedary","Drongo","Duck","Duckbillcat","Duckbillplatypus","Duckling","Dugong","Duiker","Dunlin","Dunnart","Dutchshepherddog","Dutchsmoushond","Eagle","Earthworm","Earwig","Easternglasslizard","Easternnewt","Echidna","Eel","Eelelephant","Eeve","Eft","Egg","Egret","Eider","Eidolonhelvum","Ekaltadeta","Eland","Electriceel","Elephant","Elephantbeetle","Elephantseal","Elk","Elkhound","Elver","Emeraldtreeskink","Emperorpenguin","Emperorshrimp","Emu","Englishpointer","Englishsetter","Equestrian","Equine","Erin","Ermine","Erne","Eskimodog","Esok","Estuarinecrocodile","Ethiopianwolf","Europeanfiresalamander","Europeanpolecat","Ewe","Eyas","Eyelashpitviper","Eyra","Fairybluebird","Fairyfly","Falcon","Fallowdeer","Fantail","Fanworms","Fattaileddunnart","Fawn","Feline","Fennecfox","Ferret","Fiddlercrab","Fieldmouse","Fieldspaniel","Finch","Finnishspitz","Finwhale","Fireant","Firebelliedtoad","Firecrest","Firefly","Fish","Fishingcat","Flamingo","Flatcoatretriever","Flatfish","Flea","Flee","Flicker","Flickertailsquirrel","Flies","Flounder","Fluke","Fly","Flycatcher","Flyingfish","Flyingfox","Flyinglemur","Flyingsquirrel","Foal","Fossa","Fowl","Fox","Foxhound","Foxterrier","Frenchbulldog","Freshwatereel","Frigatebird","Frilledlizard","Frillneckedlizard","Fritillarybutterfly","Frog","Frogmouth","Fruitbat","Fruitfly","Fugu","Fulmar","Funnelweaverspider","Furseal","Gadwall","Galago","Galah","Galapagosalbatross","Galapagosdove","Galapagoshawk","Galapagosmockingbird","Galapagospenguin","Galapagossealion","Galapagostortoise","Gallinule","Gallowaycow","Gander","Gangesdolphin","Gannet","Gar","Gardensnake","Garpike","Gartersnake","Gaur","Gavial","Gazelle","Gecko","Geese","Gelada","Gelding","Gemsbok","Gemsbuck","Genet","Gentoopenguin","Gerbil","Gerenuk","Germanpinscher","Germanshepherd","Germanshorthairedpointer","Germanspaniel","Germanspitz","Germanwirehairedpointer","Gharial","Ghostshrimp","Giantschnauzer","Gibbon","Gilamonster","Giraffe","Glassfrog","Globefish","Glowworm","Gnat","Gnatcatcher","Gnu","Goa","Goat","Godwit","Goitered","Goldeneye","Goldenmantledgroundsquirrel","Goldenretriever","Goldfinch","Goldfish","Gonolek","Goose","Goosefish","Gopher","Goral","Gordonsetter","Gorilla","Goshawk","Gosling","Gossamerwingedbutterfly","Gourami","Grackle","Grasshopper","Grassspider","Grayfox","Grayling","Grayreefshark","Graysquirrel","Graywolf","Greatargus","Greatdane","Greathornedowl","Greatwhiteshark","Grebe","Greendarnerdragonfly","Greyhounddog","Grison","Grizzlybear","Grosbeak","Groundbeetle","Groundhog","Grouper","Grouse","Grub","Grunion","Guanaco","Guernseycow","Guillemot","Guineafowl","Guineapig","Gull","Guppy","Gyrfalcon","Hackee","Haddock","Hadrosaurus","Hagfish","Hairstreak","Hairstreakbutterfly","Hake","Halcyon","Halibut","Halicore","Hamadryad","Hamadryas","Hammerheadbird","Hammerheadshark","Hammerkop","Hamster","Hanumanmonkey","Hapuka","Hapuku","Harborporpoise","Harborseal","Hare","Harlequinbug","Harpseal","Harpyeagle","Harrier","Harrierhawk","Hart","Hartebeest","Harvestmen","Harvestmouse","Hatchetfish","Hawaiianmonkseal","Hawk","Hectorsdolphin","Hedgehog","Heifer","Hellbender","Hen","Herald","Herculesbeetle","Hermitcrab","Heron","Herring","Hind","Hippopotamus","Hoatzin","Hochstettersfrog","Hog","Hogget","Hoiho","Hoki","Homalocephale","Honeybadger","Honeybee","Honeycreeper","Honeyeater","Hookersealion","Hoopoe","Hornbill","Hornedtoad","Hornedviper","Hornet","Hornshark","Horse","Horsechestnutleafminer","Horsefly","Horsemouse","Horseshoebat","Horseshoecrab","Hound","Housefly","Hoverfly","Howlermonkey","Huemul","Huia","Human","Hummingbird","Humpbackwhale","Husky","Hydatidtapeworm","Hydra","Hyena","Hylaeosaurus","Hypacrosaurus","Hypsilophodon","Hyracotherium","Hyrax","Iaerismetalmark","Ibadanmalimbe","Iberianbarbel","Iberianchiffchaff","Iberianemeraldlizard","Iberianlynx","Iberianmidwifetoad","Iberianmole","Iberiannase","Ibex","Ibis","Ibisbill","Ibizanhound","Iceblueredtopzebra","Icefish","Icelandgull","Icelandichorse","Icelandicsheepdog","Ichidna","Ichneumonfly","Ichthyosaurs","Ichthyostega","Icterinewarbler","Iggypops","Iguana","Iguanodon","Illadopsis","Ilsamochadegu","Imago","Impala","Imperatorangel","Imperialeagle","Incatern","Inchworm","Indianabat","Indiancow","Indianelephant","Indianglassfish","Indianhare","Indianjackal","Indianpalmsquirrel","Indianpangolin","Indianrhinoceros","Indianringneckparakeet","Indianrockpython","Indianskimmer","Indianspinyloach","Indigobunting","Indigowingedparrot","Indochinahogdeer","Indochinesetiger","Indri","Indusriverdolphin","Inexpectatumpleco","Inganue","Insect","Intermediateegret","Invisiblerail","Iraniangroundjay","Iridescentshark","Iriomotecat","Irishdraughthorse","Irishredandwhitesetter","Irishsetter","Irishterrier","Irishwaterspaniel","Irishwolfhound","Irrawaddydolphin","Irukandjijellyfish","Isabellineshrike","Isabellinewheatear","Islandcanary","Islandwhistler","Isopod","Italianbrownbear","Italiangreyhound","Ivorybackedwoodswallow","Ivorybilledwoodpecker","Ivorygull","Izuthrush","Jabiru","Jackal","Jackrabbit","Jaeger","Jaguar","Jaguarundi","Janenschia","Japanesebeetle","Javalina","Jay","Jellyfish","Jenny","Jerboa","Joey","Johndory","Juliabutterfly","Jumpingbean","Junco","Junebug","Kagu","Kakapo","Kakarikis","Kangaroo","Karakul","Katydid","Kawala","Kentrosaurus","Kestrel","Kid","Killdeer","Killerwhale","Killifish","Kingbird","Kingfisher","Kinglet","Kingsnake","Kinkajou","Kiskadee","Kissingbug","Kite","Kitfox","Kitten","Kittiwake","Kitty","Kiwi","Koala","Koalabear","Kob","Kodiakbear","Koi","Komododragon","Koodoo","Kookaburra","Kouprey","Krill","Kronosaurus","Kudu","Kusimanse","Labradorretriever","Lacewing","Ladybird","Ladybug","Lamb","Lamprey","Langur","Lark","Larva","Laughingthrush","Lcont","Leafbird","Leafcutterant","Leafhopper","Leafwing","Leech","Lemming","Lemur","Leonberger","Leopard","Leopardseal","Leveret","Lhasaapso","Liger","Lightningbug","Limpet","Limpkin","Ling","Lion","Lionfish","Littlenightmonkeys","Lizard","Llama","Lobo","Lobster","Locust","Loggerheadturtle","Longhorn","Longhornbeetle","Longspur","Loon","Lorikeet","Loris","Louse","Lovebird","Lowchen","Lunamoth","Lungfish","Lynx","Macaque","Macaw","Macropod","Magpie","Maiasaura","Majungatholus","Malamute","Mallard","Maltesedog","Mamba","Mamenchisaurus","Mammal","Mammoth","Manatee","Mandrill","Mangabey","Manta","Mantaray","Mantid","Mantis","Mantisray","Manxcat","Mara","Marabou","Marbledmurrelet","Mare","Marlin","Marmoset","Marmot","Marten","Martin","Massasauga","Massospondylus","Mastiff","Mastodon","Mayfly","Meadowhawk","Meadowlark","Mealworm","Meerkat","Megalosaurus","Megaraptor","Merganser","Merlin","Metalmarkbutterfly","Metamorphosis","Microvenator","Midge","Milksnake","Milkweedbug","Millipede","Minibeast","Mink","Minnow","Mite","Moa","Mockingbird","Mole","Mollies","Mollusk","Molly","Monarch","Mongoose","Monkey","Monkfish","Monoclonius","Montanoceratops","Moorhen","Moose","Moray","Morayeel","Morpho","Mosasaur","Mosquito","Moth","Motmot","Mouflon","Mountaincat","Mountainlion","Mouse","Mousebird","Mudpuppy","Mule","Mullet","Muntjac","Murrelet","Muskox","Muskrat","Mussaurus","Mussel","Mustang","Mutt","Myna","Mynah","Myotis","Nabarlek","Nag","Naga","Nagapies","Nandine","Nandoo","Nandu","Narwhal","Narwhale","Natterjacktoad","Nauplius","Nautilus","Needlefish","Needletail","Nematode","Nene","Neonblueguppy","Neonbluehermitcrab","Neondwarfgourami","Neonrainbowfish","Neonredguppy","Neontetra","Nerka","Nettlefish","Newfoundlanddog","Newt","Newtnutria","Nightcrawler","Nighthawk","Nightheron","Nightingale","Nightjar","Nilgai","Armadillo","Noctilio","Noctule","Noddy","Noolbenger","Northerncardinals","Northernelephantseal","Northernflyingsquirrel","Northernfurseal","Northernpike","Northernseahorse","Northernspottedowl","Norwaylobster","Norwayrat","Nubiangoat","Nudibranch","Numbat","Nurseshark","Nutcracker","Nuthatch","Nutria","Nyala","Ocelot","Octopus","Okapi","Olingo","Olm","Opossum","Orangutan","Orca","Oregonsilverspotbutterfly","Oriole","Oropendola","Oropendula","Oryx","Osprey","Ostracod","Ostrich","Otter","Ovenbird","Owl","Owlbutterfly","Ox","Oxen","Oxpecker","Oyster","Ozarkbigearedbat","Paca","Pachyderm","Pacificparrotlet","Paddlefish","Paintedladybutterfly","Panda","Pangolin","Panther","Paperwasp","Papillon","Parakeet","Parrot","Partridge","Peacock","Peafowl","Peccary","Pekingese","Pelican","Pelicinuspetrel","Penguin","Perch","Peregrinefalcon","Pewee","Phalarope","Pharaohhound","Pheasant","Phoebe","Phoenix","Pigeon","Piglet","Pika","Pike","Pikeperch","Pilchard","Pinemarten","Pinkriverdolphin","Pinniped","Pintail","Pipistrelle","Pipit","Piranha","Pitbull","Pittabird","Plainsqueaker","Plankton","Planthopper","Platypus","Plover","Polarbear","Polecat","Polyp","Polyturator","Pomeranian","Pondskater","Pony","Pooch","Poodle","Porcupine","Porpoise","Portuguesemanofwar","Possum","Prairiedog","Prawn","Prayingmantid","Prayingmantis","Primate","Pronghorn","Pseudodynerusquadrisectus","Ptarmigan","Pterodactyls","Pterosaurs","Puffer","Pufferfish","Puffin","Pug","Pullet","Puma","Pupa","Pupfish","Puppy","Purplemarten","Pygmy","Python","Quadrisectus","Quagga","Quahog","Quail","Queenalexandrasbirdwing","Queenalexandrasbirdwingbutterfly","Queenant","Queenbee","Queenconch","Queenslandgrouper","Queenslandheeler","Queensnake","Quelea","Quetzal","Quetzalcoatlus","Quillback","Quinquespinosus","Quokka","Quoll","Rabbit","Rabidsquirrel","Raccoon","Racer","Racerunner","Ragfish","Rail","Rainbowfish","Rainbowlorikeet","Rainbowtrout","Ram","Raptors","Rasbora","Rat","Ratfish","Rattail","Rattlesnake","Raven","Ray","Redhead","Redheadedwoodpecker","Redpoll","Redstart","Redtailedhawk","Reindeer","Reptile","Reynard","Rhea","Rhesusmonkey","Rhino","Rhinoceros","Rhinocerosbeetle","Rhodesianridgeback","Ringtailedlemur","Ringworm","Riograndeescuerzo","Roach","Roadrunner","Roan","Robberfly","Robin","Rockrat","Rodent","Roebuck","Roller","Rook","Rooster","Rottweiler","Sable","Sableantelope","Sablefish","Saiga","Sakimonkey","Salamander","Salmon","Saltwatercrocodile","Sambar","Samoyeddog","Sandbarshark","Sanddollar","Sanderling","Sandpiper","Sapsucker","Sardine","Sawfish","Scallop","Scarab","Scarletibis","Scaup","Schapendoes","Schipperke","Schnauzer","Scorpion","Scoter","Screamer","Seabird","Seagull","Seahog","Seahorse","Seal","Sealion","Seamonkey","Seaslug","Seaurchin","Senegalpython","Seriema","Serpent","Serval","Shark","Shearwater","Sheep","Sheldrake","Shelduck","Shibainu","Shihtzu","Shorebird","Shoveler","Shrew","Shrike","Shrimp","Siamang","Siamesecat","Siberiantiger","Sidewinder","Sifaka","Silkworm","Silverfish","Silverfox","Silversidefish","Siskin","Skimmer","Skipper","Skua","Skylark","Sloth","Slothbear","Slug","Smelts","Smew","Snail","Snake","Snipe","Snoutbutterfly","Snowdog","Snowgeese","Snowleopard","Snowmonkey","Snowyowl","Sockeyesalmon","Solenodon","Solitaire","Songbird","Sora","Southernhairnosedwombat","Sow","Spadefoot","Sparrow","Sphinx","Spider","Spidermonkey","Spiketail","Spittlebug","Sponge","Spoonbill","Spotteddolphin","Spreadwing","Springbok","Springpeeper","Springtail","Squab","Squamata","Squeaker","Squid","Squirrel","Stag","Stagbeetle","Stallion","Starfish","Starling","Steed","Steer","Stegosaurus","Stickinsect","Stickleback","Stilt","Stingray","Stinkbug","Stinkpot","Stoat","Stonefly","Stork","Stud","Sturgeon","Sugarglider","Sulphurbutterfly","Sunbear","Sunbittern","Sunfish","Swallow","Swallowtail","Swallowtailbutterfly","Swan","Swellfish","Swift","Swordfish","Tadpole","Tahr","Takin","Tamarin","Tanager","Tapaculo","Tapeworm","Tapir","Tarantula","Tarpan","Tarsier","Taruca","Tasmaniandevil","Tasmaniantiger","Tattler","Tayra","Teal","Tegus","Teledu","Tench","Tenrec","Termite","Tern","Terrapin","Terrier","Thoroughbred","Thrasher","Thrip","Thrush","Thunderbird","Thylacine","Tick","Tiger","Tigerbeetle","Tigermoth","Tigershark","Tilefish","Tinamou","Titi","Titmouse","Toad","Toadfish","Tomtit","Topi","Tortoise","Toucan","Towhee","Tragopan","Treecreeper","Trex","Triceratops","Trogon","Trout","Trumpeterbird","Trumpeterswan","Tsetsefly","Tuatara","Tuna","Turaco","Turkey","Turnstone","Turtle","Turtledove","Uakari","Ugandakob","Uintagroundsquirrel","Ulyssesbutterfly","Umbrellabird","Umbrette","Unau","Ungulate","Unicorn","Upupa","Urchin","Urial","Uromastyxmaliensis","Uromastyxspinipes","Urson","Urubu","Urus","Urutu","Urva","Utahprairiedog","Vampirebat","Vaquita","Veery","Velociraptor","Velvetcrab","Velvetworm","Venomoussnake","Verdin","Vervet","Viceroybutterfly","Vicuna","Viper","Viperfish","Vipersquid","Vireo","Virginiaopossum","Vixen","Vole","Volvox","Vulpesvelox","Vulpesvulpes","Vulture","Walkingstick","Wallaby","Wallaroo","Walleye","Walrus","Warbler","Warthog","Wasp","Waterboatman","Waterbuck","Waterbuffalo","Waterbug","Waterdogs","Waterdragons","Watermoccasin","Waterstrider","Waterthrush","Wattlebird","Watussi","Waxwing","Weasel","Weaverbird","Weevil","Westafricanantelope","Whale","Whapuku","Whelp","Whimbrel","Whippet","Whippoorwill","Whitebeakeddolphin","Whiteeye","Whitepelican","Whiterhino","Whitetaileddeer","Whitetippedreefshark","Whooper","Whoopingcrane","Widgeon","Widowspider","Wildcat","Wildebeast","Wildebeest","Willet","Wireworm","Wisent","Wobbegongshark","Wolf","Wolfspider","Wolverine","Wombat","Woodborer","Woodchuck","Woodnymphbutterfly","Woodpecker","Woodstorks","Woollybearcaterpillar","Worm","Wrasse","Wreckfish","Wren","Wrenchbird","Wryneck","Wuerhosaurus","Wyvern","Xanclomys","Xanthareel","Xantus","Xantusmurrelet","Xeme","Xenarthra","Xenoposeidon","Xenops","Xenopterygii","Xenopus","Xenotarsosaurus","Xenurusunicinctus","Xerus","Xiaosaurus","Xinjiangovenator","Xiphias","Xiphiasgladius","Xiphosuran","Xoloitzcuintli","Xoni","Xrayfish","Xraytetra","Xuanhanosaurus","Xuanhuaceratops","Xuanhuasaurus","Yaffle","Yak","Yapok","Yardant","Yearling","Yellowbelliedmarmot","Yellowbellylizard","Yellowhammer","Yellowjacket","Yellowlegs","Yellowthroat","Yellowwhitebutterfly","Yeti","Ynambu","Yorkshireterrier","Yosemitetoad","Yucker","Zander","Zanzibardaygecko","Zebra","Zebradove","Zebrafinch","Zebrafish","Zebralongwingbutterfly","Zebraswallowtailbutterfly","Zebratailedlizard","Zebu","Zenaida","Zeren","Zethusspinipes","Zethuswasp","Zigzagsalamander","Zonetailedpigeon","Zooplankton","Zopilote","Zorilla"],a=["Able","Absolute","Academic","Acceptable","Acclaimed","Accomplished","Accurate","Aching","Acidic","Acrobatic","Adorable","Adventurous","Babyish","Back","Baggy","Bare","Basic","Beautiful","Belated","Beloved","Bitter","Calculating","Calm","Candid","Canine","Capital","Carefree","Careful","Careless","Caring","Cautious","Cavernous","Celebrated","Charming","Damp","Dangerous","Dapper","Daring","Dark","Darling","Dazzling","Deadly","Deafening","Dear","Dearest","Each","Eager","Early","Earnest","Easy","Easygoing","Ecstatic","Edible","Educated","Elderly","Fabulous","Failing","Faint","Fair","Faithful","Familiar","Famous","Fancy","Fantastic","Far","Faraway","Farflung","Faroff","Gargantuan","Gaseous","General","Generous","Gentle","Genuine","Giant","Giddy","Gigantic","Hairy","Half","Handmade","Handsome","Handy","Happy","Happygolucky","Hard","Icky","Icy","Ideal","Idealistic","Identical","Idle","Idolized","Ill","Jaded","Jagged","Jampacked","Kaleidoscopic","Keen","Lanky","Large","Last","Lasting","Lavish","Lawful","Madeup","Magnificent","Majestic","Major","Mammoth","Marvelous","Married","Naive","Narrow","Nasty","Natural","Oblong","Obvious","Occasional","Oily","Palatable","Pale","Paltry","Parallel","Parched","Partial","Passionate","Past","Pastel","Peaceful","Peppery","Perfect","Perfumed","Quaint","Qualified","Radiant","Ragged","Rapid","Rare","Rash","Raw","Recent","Reckless","Rectangular","Safe","Salty","Same","Sandy","Sane","Sarcastic","Sardonic","Satisfied","Scaly","Scarce","Scary","Scented","Scholarly","Scientific","Scornful","Scratchy","Scrawny","Second","Secondary","Secret","Selfassured","Selfreliant","Sentimental","Single","Talkative","Tall","Tame","Tan","Tangible","Tart","Tasty","Tattered","Taut","Tedious","Teeming","Ultimate","Unaware","Uncommon","Unconscious","Understated","Unequaled","Vacant","Vague","Vain","Valid","Wan","Warlike","Warm","Warmhearted","Warped","Wary","Wasteful","Watchful","Waterlogged","Watery","Wavy","Weak","Weird","Yawning","Yearly","Zany","Active","Actual","Adept","Admirable","Admired","Adolescent","Adorable","Adored","Advanced","Affectionate","Afraid","Aged","Aggravating","Beneficial","Best","Better","Bewitched","Big","Bighearted","Biodegradable","Bitesized","Cheerful","Cheery","Chief","Chilly","Chubby","Circular","Classic","Clean","Clear","Clearcut","Clever","Close","Closed","Decent","Decimal","Decisive","Deep","Defenseless","Defensive","Defiant","Deficient","Definite","Definitive","Delayed","Delectable","Delicious","Elaborate","Elastic","Elated","Electric","Elegant","Elementary","Elliptical","Fast","Fatal","Favorable","Favorite","Fearless","Feisty","Feline","Few","Fickle","Gifted","Giving","Glamorous","Glaring","Glass","Gleaming","Gleeful","Glistening","Glittering","Gross","Hardtofind","Harmful","Harmless","Harmonious","Harsh","Hasty","Haunting","Illustrious","Imaginary","Imaginative","Immaculate","Immaterial","Immediate","Immense","Impassioned","Jaunty","Jealous","Jittery","Key","Kind","Leading","Leafy","Lean","Left","Legal","Legitimate","Light","Massive","Mature","Meager","Mealy","Mean","Measly","Meaty","Medical","Mediocre","Nautical","Near","Neat","Necessary","Needy","Odd","Oddball","Offbeat","Official","Old","Periodic","Perky","Personal","Pertinent","Pesky","Pessimistic","Petty","Physical","Piercing","Pink","Pitiful","Plain","Quarrelsome","Quarterly","Ready","Real","Realistic","Reasonable","Red","Reflecting","Regal","Regular","Separate","Serene","Serious","Serpentine","Several","Severe","Shabby","Shadowy","Shady","Shallow","Sharp","Shimmering","Shiny","Shocked","Shocking","Shoddy","Short","Shortterm","Showy","Shrill","Shy","Silent","Silky","Tempting","Tender","Tense","Tepid","Terrific","Testy","Thankful","That","These","Tremendous","Uneven","Unfinished","Unfolded","Uniform","Unique","Valuable","Vapid","Variable","Vast","Velvety","Wealthy","Weary","Webbed","Wee","Weekly","Weepy","Weighty","Welcome","Welldocumented","Yellow","Zealous","Aggressive","Agile","Agitated","Agonizing","Agreeable","Ajar","Alarmed","Alarming","Alert","Alienated","Alive","All","Altruistic","Bland","Blank","Blaring","Bleak","Blind","Blissful","Blond","Blue","Blushing","Cloudy","Clueless","Clumsy","Cluttered","Coarse","Cold","Colorful","Colorless","Colossal","Comfortable","Common","Compassionate","Competent","Complete","Delightful","Demanding","Dense","Dental","Dependable","Dependent","Descriptive","Deserted","Detailed","Determined","Devoted","Different","Embellished","Eminent","Emotional","Empty","Enchanted","Enchanting","Energetic","Enlightened","Enormous","Fine","Finished","Firm","First","Firsthand","Fitting","Fixed","Flaky","Flamboyant","Flashy","Flat","Flawless","Flickering","Gloomy","Glorious","Glossy","Glum","Golden","Good","Goodnatured","Gorgeous","Graceful","Healthy","Heartfelt","Hearty","Heavenly","Heavy","Hefty","Helpful","Humongous","Impartial","Impeccable","Imperfect","Imperturbable","Important","Impossible","Impractical","Impressionable","Impressive","Improbable","Joint","Jolly","Jovial","Juvenile","Kindhearted","Kindly","Lighthearted","Likable","Likely","Limited","Limp","Limping","Linear","Lined","Liquid","Medium","Meek","Mellow","Melodic","Memorable","Menacing","Merry","Messy","Metallic","Mild","Negative","Neglected","Negligible","Neighboring","Nervous","New","Oldfashioned","Only","Open","Optimal","Optimistic","Opulent","Plaintive","Plastic","Playful","Pleasant","Pleased","Pleasing","Plump","Plush","Pointed","Pointless","Poised","Polished","Polite","Political","Pungent","Queasy","Querulous","Reliable","Relieved","Remarkable","Remorseful","Remote","Repentant","Required","Respectful","Responsible","Silly","Silver","Similar","Simple","Simplistic","Sizzling","Skeletal","Skinny","Sleepy","Slight","Slim","Slimy","Slippery","Slow","Slushy","Small","Smart","Smoggy","Smooth","Smug","Snappy","Snarling","Sneaky","Sniveling","Snoopy","Thick","Thin","Third","Thirsty","This","Thorny","Thorough","Those","Thoughtful","Threadbare","United","Unkempt","Unknown","Unlined","Unnatural","Unrealistic","Venerated","Vengeful","Verifiable","Vibrant","Vicious","Wellgroomed","Wellinformed","Welllit","Wellmade","Welloff","Welltodo","Wellworn","Wet","Which","Whimsical","Whirlwind","Whispered","Worse","Writhing","Yellowish","Zesty","Amazing","Ambitious","Ample","Amused","Amusing","Anchored","Ancient","Angelic","Angry","Anguished","Animated","Annual","Another","Antique","Bogus","Boiling","Bold","Bony","Boring","Bossy","Both","Bouncy","Bountiful","Bowed","Complex","Complicated","Composed","Concerned","Concrete","Confused","Conscious","Considerate","Constant","Content","Conventional","Cooked","Cool","Cooperative","Difficult","Digital","Diligent","Dim","Dimpled","Dimwitted","Direct","Discrete","Entire","Envious","Equal","Equatorial","Essential","Esteemed","Ethical","Euphoric","Flimsy","Flippant","Flowery","Fluffy","Fluid","Flustered","Focused","Fond","Foolhardy","Foolish","Forceful","Forked","Formal","Forsaken","Gracious","Grand","Grandiose","Granular","Grateful","Grave","Gray","Great","Greedy","Green","Hidden","High","Highlevel","Hilarious","Hoarse","Hollow","Homely","Inborn","Incomparable","Incompatible","Incomplete","Inconsequential","Incredible","Indelible","Indolent","Inexperienced","Infamous","Infantile","Joyful","Joyous","Jubilant","Klutzy","Knobby","Little","Live","Lively","Livid","Lone","Long","Milky","Mindless","Miniature","Minor","Minty","Misguided","Misty","Mixed","Next","Nice","Nifty","Nimble","Nippy","Orange","Orderly","Ordinary","Organic","Ornate","Ornery","Poor","Popular","Portly","Posh","Positive","Possible","Potable","Powerful","Powerless","Practical","Precious","Present","Prestigious","Questionable","Quick","Revolving","Rewarding","Rich","Right","Rigid","Ringed","Ripe","Sociable","Soft","Soggy","Solid","Somber","Some","Sophisticated","Sore","Sorrowful","Soulful","Soupy","Sour","Spanish","Sparkling","Sparse","Specific","Spectacular","Speedy","Spherical","Spicy","Spiffy","Spirited","Spiteful","Splendid","Spotless","Spotted","Spry","Thrifty","Thunderous","Tidy","Tight","Timely","Tinted","Tiny","Tired","Torn","Total","Unripe","Unruly","Unselfish","Unsightly","Unsteady","Unsung","Untidy","Untimely","Untried","Victorious","Vigilant","Vigorous","Villainous","Violet","Whole","Whopping","Wicked","Wide","Wideeyed","Wiggly","Wild","Willing","Wilted","Winding","Windy","Young","Zigzag","Anxious","Any","Apprehensive","Appropriate","Apt","Arctic","Arid","Aromatic","Artistic","Assured","Astonishing","Athletic","Brave","Breakable","Brief","Bright","Brilliant","Brisk","Broken","Bronze","Brown","Bruised","Coordinated","Corny","Corrupt","Costly","Courageous","Courteous","Crafty","Crazy","Creamy","Creative","Creepy","Crisp","Dirty","Disguised","Distant","Distant","Distinct","Distorted","Dizzy","Dopey","Downright","Dreary","Even","Evergreen","Everlasting","Every","Evil","Exalted","Excellent","Excitable","Exemplary","Exhausted","Forthright","Fortunate","Fragrant","Frail","Frank","Frayed","Free","French","Frequent","Fresh","Friendly","Frightened","Frightening","Gregarious","Grim","Grimy","Gripping","Grizzled","Grouchy","Grounded","Honest","Honorable","Honored","Hopeful","Hospitable","Hot","Huge","Infatuated","Inferior","Infinite","Informal","Innocent","Insecure","Insignificant","Insistent","Instructive","Insubstantial","Judicious","Juicy","Jumbo","Knotty","Knowing","Knowledgeable","Longterm","Loose","Lopsided","Lost","Loud","Lovable","Lovely","Loving","Modern","Modest","Moist","Monthly","Monumental","Moral","Mortified","Motionless","Nocturnal","Noisy","Nonstop","Normal","Notable","Noted","Original","Other","Our","Outgoing","Outlandish","Outlying","Precious","Pretty","Previous","Pricey","Prickly","Primary","Prime","Pristine","Private","Prize","Probable","Productive","Profitable","Quickwitted","Quiet","Quintessential","Roasted","Robust","Rosy","Rotating","Rotten","Rough","Round","Rowdy","Square","Squeaky","Squiggly","Stable","Staid","Stained","Stale","Standard","Starchy","Stark","Starry","Steel","Steep","Sticky","Stiff","Stimulating","Stingy","Stormy","Strange","Strict","Strident","Striking","Striped","Strong","Studious","Stunning","Tough","Tragic","Trained","Treasured","Tremendous","Triangular","Tricky","Trifling","Trim","Untrue","Unused","Unusual","Unwelcome","Unwieldy","Unwilling","Unwitting","Unwritten","Upbeat","Virtual","Virtuous","Visible","Winged","Wiry","Wise","Witty","Wobbly","Woeful","Wonderful","Wooden","Woozy","Wordy","Worldly","Worn","Youthful","Attached","Attentive","Attractive","Austere","Authentic","Authorized","Automatic","Avaricious","Average","Aware","Awesome","Awful","Awkward","Bubbly","Bulky","Bumpy","Buoyant","Burdensome","Burly","Bustling","Busy","Buttery","Buzzing","Critical","Crooked","Crowded","Crushing","Cuddly","Cultivated","Cultured","Cumbersome","Curly","Curvy","Cute","Cylindrical","Doting","Double","Downright","Drab","Drafty","Dramatic","Dry","Dual","Dutiful","Excited","Exciting","Exotic","Expensive","Experienced","Expert","Extralarge","Extraneous","Extrasmall","Extroverted","Frilly","Frivolous","Frizzy","Front","Frosty","Frozen","Frugal","Fruitful","Full","Fumbling","Functional","Funny","Fussy","Fuzzy","Growing","Growling","Grown","Grubby","Grumpy","Guilty","Gullible","Gummy","Humble","Humming","Hungry","Husky","Intelligent","Intent","Intentional","Interesting","Internal","International","Intrepid","Ironclad","Irresponsible","Itchy","Jumpy","Junior","Known","Kooky","Low","Loyal","Lucky","Lumbering","Luminous","Lumpy","Lustrous","Luxurious","Mountainous","Muddy","Muffled","Mundane","Murky","Mushy","Musty","Mysterious","Noteworthy","Novel","Noxious","Numb","Nutritious","Nutty","Outrageous","Outstanding","Oval","Overcooked","Overdue","Overjoyed","Profuse","Proper","Proud","Prudent","Punctual","Puny","Pure","Purple","Pushy","Puzzled","Puzzling","Quirky","Quixotic","Quizzical","Royal","Rubbery","Ruddy","Rundown","Runny","Rural","Rusty","Stupendous","Sturdy","Stylish","Subdued","Substantial","Subtle","Suburban","Sudden","Sugary","Sunny","Super","Superb","Superficial","Superior","Supportive","Surefooted","Surprised","Suspicious","Svelte","Sweaty","Sweet","Sweltering","Swift","Sympathetic","Trivial","Troubled","Trusting","Trustworthy","Trusty","Truthful","Tubby","Turbulent","Twin","Upright","Upset","Urban","Usable","Used","Useful","Useless","Utilized","Utter","Vital","Vivacious","Vivid","Voluminous","Worst","Worthwhile","Worthy","Wrathful","Wry","Yummy","True","Aliceblue","Aqua","Aquamarine","Azure","Beige","Bisque","Blanchedalmond","Blue","Blueviolet","Brown","Burlywood","Cadetblue","Chartreuse","Chocolate","Coral","Cornflowerblue","Cornsilk","Crimson","Cyan","Darkblue","Darkcyan","Darkgoldenrod","Darkgray","Darkgreen","Darkgrey","Darkkhaki","Darkmagenta","Darkolivegreen","Darkorange","Darkorchid","Darkred","Darksalmon","Darkseagreen","Darkslateblue","Darkslategray","Darkslategrey","Darkturquoise","Darkviolet","Deeppink","Deepskyblue","Dimgray","Dimgrey","Dodgerblue","Firebrick","Floralwhite","Forestgreen","Fractal","Fuchsia","Gainsboro","Ghostwhite","Gold","Goldenrod","Gray","Green","Greenyellow","Honeydew","Hotpink","Indianred","Indigo","Ivory","Khaki","Lavender","Lavenderblush","Lawngreen","Lemonchiffon","Lightblue","Lightcoral","Lightcyan","Lightgoldenrod","Lightgoldenrodyellow","Lightgray","Lightgreen","Lightgrey","Lightpink","Lightsalmon","Lightseagreen","Lightskyblue","Lightslateblue","Lightslategray","Lightsteelblue","Lightyellow","Lime","Limegreen","Linen","Magenta","Maroon","Mediumaquamarine","Mediumblue","Mediumforestgreen","Mediumgoldenrod","Mediumorchid","Mediumpurple","Mediumseagreen","Mediumslateblue","Mediumspringgreen","Mediumturquoise","Mediumvioletred","Midnightblue","Mintcream","Mistyrose","Moccasin","Navajowhite","Navy","Navyblue","Oldlace","Olive","Olivedrab","Opaque","Orange","Orangered","Orchid","Palegoldenrod","Palegreen","Paleturquoise","Palevioletred","Papayawhip","Peachpuff","Peru","Pink","Plum","Powderblue","Purple","Red","Rosybrown","Royalblue","Saddlebrown","Salmon","Sandybrown","Seagreen","Seashell","Sienna","Silver","Skyblue","Slateblue","Slategray","Slategrey","Snow","Springgreen","Steelblue","Tan","Teal","Thistle","Tomato","Transparent","Turquoise","Violet","Violetred","Wheat","Whitesmoke","Yellow","Yellowgreen"],r=BigInt(0),i=BigInt(1),n=BigInt("0xFFFFFFFFFFFFFFFF");class o{constructor(e,a){this.poly=e,this.data=a}next(){let e=r;for(let a=r;a>a)&n)}e=e&i&n;let a=this.data<{if("string"!=typeof e)throw new TypeError("Only type string argument is accepted.");if(132!=e.length)throw new Error("Wrong key length, expected 132 characters.");if(!e.startsWith("0x04"))throw new Error("Expected a 0x04 prefix for uncompressed public key.")})(r);let i=function(e){if(128!=e.length)throw new Error("Should consists of 2x64 characters.");return BigInt("0x"+e.substring(48,64),16)}(r.replace(/^0x04/,"")),n=BigInt(184),l=new o(n,i),t=l.next()%BigInt(a.length),s=l.next()%BigInt(a.length),u=l.next()%BigInt(e.length);return[a[t],a[s],e[u]].join(" ")}}}(); diff --git a/dist/status-chat-name.node.js b/dist/status-chat-name.node.js new file mode 100644 index 0000000..aa18043 --- /dev/null +++ b/dist/status-chat-name.node.js @@ -0,0 +1,3224 @@ + +/** + * Name: js-status-chat-name + * Version: 0.1.2 + * Author: Jakub Sokołowski + * Source: https://github.com/status-im/js-status-chat-name + * License: MIT + **/ + +'use strict'; + +const animals = [ + "Aardvark", + "Aardwolf", + "Abalone", + "Abyssiniancat", + "Abyssiniangroundhornbill", + "Acaciarat", + "Achillestang", + "Acornbarnacle", + "Acornweevil", + "Acornwoodpecker", + "Acouchi", + "Adamsstaghornedbeetle", + "Addax", + "Adder", + "Adeliepenguin", + "Admiralbutterfly", + "Adouri", + "Aegeancat", + "Affenpinscher", + "Hound", + "Augurbuzzard", + "Bushviper", + "Civet", + "Clawedfrog", + "Elephant", + "Fisheagle", + "Goldencat", + "Groundhornbill", + "Harrierhawk", + "Hornbill", + "Jacana", + "Molesnake", + "Paradiseflycatcher", + "Piedkingfisher", + "Porcupine", + "Rockpython", + "Wildcat", + "Wilddog", + "Agama", + "Agouti", + "Aidi", + "Airedale", + "Airedaleterrier", + "Akitainu", + "Mapturtle", + "Jingle", + "Husky", + "Kleekai", + "Malamute", + "Albacoretuna", + "Albatross", + "Albertosaurus", + "Albino", + "Aldabratortoise", + "Allensbigearedbat", + "Alleycat", + "Alligator", + "Alligatorgar", + "Alligatorsnappingturtle", + "Allosaurus", + "Alpaca", + "Alpinegoat", + "Alpineroadguidetigerbeetle", + "Altiplanochinchillamouse", + "Amazondolphin", + "Amazonparrot", + "Amazontreeboa", + "Amberpenshell", + "Ambushbug", + "Alligator", + "Avocet", + "Badger", + "Bittern", + "Vulture", + "Bobtail", + "Bulldog", + "Cicada", + "Crayfish", + "Creamdraft", + "Crocodile", + "Crow", + "Curl", + "Goldfinch", + "Indianhorse", + "Kestrel", + "Lobster", + "Marten", + "Painthorse", + "Quarterhorse", + "Ratsnake", + "Redsquirrel", + "Riverotter", + "Robin", + "Saddlebred", + "Shorthair", + "Toad", + "Warmblood", + "Wigeon", + "Wirehair", + "Amethystgemclam", + "Amethystinepython", + "Amethystsunbird", + "Ammonite", + "Amoeba", + "Amphibian", + "Amphiuma", + "Amurminnow", + "Amurratsnake", + "Amurstarfish", + "Anaconda", + "Anchovy", + "Andalusianhorse", + "Andeancat", + "Andeancondor", + "Anemone", + "Anemonecrab", + "Anemoneshrimp", + "Angelfish", + "Angelwingmussel", + "Anglerfish", + "Angora", + "Angwantibo", + "Anhinga", + "Ankole", + "Ankolewatusi", + "Annashummingbird", + "Annelid", + "Annelida", + "Anole", + "Anophelesmosquito", + "Ant", + "Antarcticfurseal", + "Antarcticgiantpetrel", + "Antbear", + "Anteater", + "Antelope", + "Antelopegroundsquirrel", + "Antipodesgreenparakeet", + "Antlion", + "Anura", + "Aoudad", + "Apatosaur", + "Ape", + "Aphid", + "Apisdorsatalaboriosa", + "Aplomadofalcon", + "Appaloosa", + "Aquaticleech", + "Arabianhorse", + "Arabianoryx", + "Arabianwildcat", + "Aracari", + "Arachnid", + "Arawana", + "Archaeocete", + "Archaeopteryx", + "Archerfish", + "Arcticduck", + "Arcticfox", + "Arctichare", + "Arcticseal", + "Arcticwolf", + "Argali", + "Argentinehornedfrog", + "Argentineruddyduck", + "Argusfish", + "Arieltoucan", + "Arizonaalligatorlizard", + "Arkshell", + "Armadillo", + "Armedcrab", + "Armednylonshrimp", + "Armyant", + "Armyworm", + "Arrowana", + "Arrowcrab", + "Arrowworm", + "Arthropods", + "Aruanas", + "Constablebutterfly", + "Damselfly", + "Elephant", + "Lion", + "Piedstarling", + "Porcupine", + "Smallclawedotter", + "Trumpetfish", + "Waterbuffalo", + "Greaterfreshwaterclam", + "Lesserfreshwaterclam", + "Mouflon", + "Asp", + "Assassinbug", + "Astarte", + "Astrangiacoral", + "Atlanticblackgoby", + "Atlanticbluetang", + "Atlanticridleyturtle", + "Atlanticsharpnosepuffer", + "Atlanticspadefish", + "Atlasmoth", + "Attwatersprairiechicken", + "Auk", + "Auklet", + "Aurochs", + "Australiancattledog", + "Australiancurlew", + "Australianfreshwatercrocodile", + "Australianfurseal", + "Australiankelpie", + "Australiankestrel", + "Australianshelduck", + "Australiansilkyterrier", + "Austrianpinscher", + "Avians", + "Avocet", + "Axisdeer", + "Axolotl", + "Ayeaye", + "Aztecant", + "Azurevase", + "Azurevasesponge", + "Azurewingedmagpie", + "Babirusa", + "Baboon", + "Backswimmer", + "Bactrian", + "Badger", + "Bagworm", + "Baiji", + "Baldeagle", + "Baleenwhale", + "Balloonfish", + "Ballpython", + "Bandicoot", + "Bangeltiger", + "Bantamrooster", + "Banteng", + "Barasinga", + "Barasingha", + "Barb", + "Barbet", + "Barebirdbat", + "Barnacle", + "Barnowl", + "Barnswallow", + "Barracuda", + "Basenji", + "Basil", + "Basilisk", + "Bass", + "Bassethound", + "Bat", + "Bats", + "Beagle", + "Bear", + "Beardedcollie", + "Beardeddragon", + "Beauceron", + "Beaver", + "Bedbug", + "Bedlingtonterrier", + "Bee", + "Beetle", + "Bellfrog", + "Bellsnake", + "Belugawhale", + "Bengaltiger", + "Bergerpicard", + "Bernesemountaindog", + "Betafish", + "Bettong", + "Bichonfrise", + "Bighorn", + "Bighornedsheep", + "Bighornsheep", + "Bigmouthbass", + "Bilby", + "Binturong", + "Bird", + "Birdofparadise", + "Bison", + "Bittern", + "Blackbear", + "Blackbird", + "Blackbuck", + "Blackfish", + "Blackfly", + "Blackfootedferret", + "Blacklab", + "Blacklemur", + "Blackmamba", + "Blacknorwegianelkhound", + "Blackpanther", + "Blackrhino", + "Blackrussianterrier", + "Blackwidowspider", + "Blesbok", + "Blobfish", + "Blowfish", + "Blueandgoldmackaw", + "Bluebird", + "Bluebottle", + "Bluebottlejellyfish", + "Bluefintuna", + "Bluefish", + "Bluegill", + "Bluejay", + "Blueshark", + "Bluet", + "Bluetickcoonhound", + "Bluetonguelizard", + "Bluewhale", + "Boa", + "Boaconstrictor", + "Boar", + "Bobcat", + "Bobolink", + "Bobwhite", + "Boilweevil", + "Bongo", + "Bonobo", + "Booby", + "Bordercollie", + "Borderterrier", + "Borer", + "Borzoi", + "Boto", + "Boubou", + "Boutu", + "Bovine", + "Brahmanbull", + "Brahmancow", + "Brant", + "Bream", + "Brocketdeer", + "Bronco", + "Brontosaurus", + "Brownbear", + "Brownbutterfly", + "Bubblefish", + "Buck", + "Buckeyebutterfly", + "Budgie", + "Bufeo", + "Buffalo", + "Bufflehead", + "Bug", + "Bull", + "Bullfrog", + "Bullmastiff", + "Bumblebee", + "Bunny", + "Bunting", + "Burro", + "Bushbaby", + "Bushsqueaker", + "Bustard", + "Butterfly", + "Buzzard", + "Caecilian", + "Caiman", + "Caimanlizard", + "Calf", + "Camel", + "Canadagoose", + "Canary", + "Canine", + "Canvasback", + "Capeghostfrog", + "Capybara", + "Caracal", + "Cardinal", + "Caribou", + "Carp", + "Carpenterant", + "Cassowary", + "Cat", + "Catbird", + "Caterpillar", + "Catfish", + "Cats", + "Cattle", + "Caudata", + "Cavy", + "Centipede", + "Cero", + "Chafer", + "Chameleon", + "Chamois", + "Chanticleer", + "Cheetah", + "Chevrotain", + "Chick", + "Chickadee", + "Chicken", + "Chihuahua", + "Chimneyswift", + "Chimpanzee", + "Chinchilla", + "Chinesecrocodilelizard", + "Chipmunk", + "Chital", + "Chrysalis", + "Chrysomelid", + "Chuckwalla", + "Chupacabra", + "Cicada", + "Cirriped", + "Civet", + "Clam", + "Cleanerwrasse", + "Clingfish", + "Clownanemonefish", + "Clumber", + "Coati", + "Cob", + "Cobra", + "Cockerspaniel", + "Cod", + "Coelacanth", + "Collardlizard", + "Collie", + "Colt", + "Comet", + "Commabutterfly", + "Commongonolek", + "Conch", + "Condor", + "Coney", + "Conure", + "Cony", + "Coot", + "Cooter", + "Copepod", + "Copperbutterfly", + "Copperhead", + "Coqui", + "Coral", + "Cormorant", + "Cornsnake", + "Corydorascatfish", + "Cottonmouth", + "Cottontail", + "Cow", + "Cowbird", + "Cowrie", + "Coyote", + "Coypu", + "Crab", + "Crane", + "Cranefly", + "Crayfish", + "Creature", + "Cricket", + "Crocodile", + "Crocodileskink", + "Crossbill", + "Crow", + "Crownofthornsstarfish", + "Crustacean", + "Cub", + "Cuckoo", + "Cur", + "Curassow", + "Curlew", + "Cuscus", + "Cusimanse", + "Cuttlefish", + "Cutworm", + "Cygnet", + "Dachshund", + "Dalmatian", + "Damselfly", + "Danishswedishfarmdog", + "Darklingbeetle", + "Dartfrog", + "Darwinsfox", + "Dassie", + "Dassierat", + "Davidstiger", + "Deer", + "Deermouse", + "Degu", + "Degus", + "Deinonychus", + "Desertpupfish", + "Devilfish", + "Deviltasmanian", + "Diamondbackrattlesnake", + "Dikdik", + "Dikkops", + "Dingo", + "Dinosaur", + "Diplodocus", + "Dipper", + "Discus", + "Dobermanpinscher", + "Doctorfish", + "Dodo", + "Dodobird", + "Doe", + "Dog", + "Dogfish", + "Dolphin", + "Donkey", + "Dorado", + "Dore", + "Dorking", + "Dormouse", + "Dotterel", + "Dove", + "Dowitcher", + "Drafthorse", + "Dragon", + "Dragonfly", + "Drake", + "Drever", + "Dromaeosaur", + "Dromedary", + "Drongo", + "Duck", + "Duckbillcat", + "Duckbillplatypus", + "Duckling", + "Dugong", + "Duiker", + "Dunlin", + "Dunnart", + "Dutchshepherddog", + "Dutchsmoushond", + "Eagle", + "Earthworm", + "Earwig", + "Easternglasslizard", + "Easternnewt", + "Echidna", + "Eel", + "Eelelephant", + "Eeve", + "Eft", + "Egg", + "Egret", + "Eider", + "Eidolonhelvum", + "Ekaltadeta", + "Eland", + "Electriceel", + "Elephant", + "Elephantbeetle", + "Elephantseal", + "Elk", + "Elkhound", + "Elver", + "Emeraldtreeskink", + "Emperorpenguin", + "Emperorshrimp", + "Emu", + "Englishpointer", + "Englishsetter", + "Equestrian", + "Equine", + "Erin", + "Ermine", + "Erne", + "Eskimodog", + "Esok", + "Estuarinecrocodile", + "Ethiopianwolf", + "Europeanfiresalamander", + "Europeanpolecat", + "Ewe", + "Eyas", + "Eyelashpitviper", + "Eyra", + "Fairybluebird", + "Fairyfly", + "Falcon", + "Fallowdeer", + "Fantail", + "Fanworms", + "Fattaileddunnart", + "Fawn", + "Feline", + "Fennecfox", + "Ferret", + "Fiddlercrab", + "Fieldmouse", + "Fieldspaniel", + "Finch", + "Finnishspitz", + "Finwhale", + "Fireant", + "Firebelliedtoad", + "Firecrest", + "Firefly", + "Fish", + "Fishingcat", + "Flamingo", + "Flatcoatretriever", + "Flatfish", + "Flea", + "Flee", + "Flicker", + "Flickertailsquirrel", + "Flies", + "Flounder", + "Fluke", + "Fly", + "Flycatcher", + "Flyingfish", + "Flyingfox", + "Flyinglemur", + "Flyingsquirrel", + "Foal", + "Fossa", + "Fowl", + "Fox", + "Foxhound", + "Foxterrier", + "Frenchbulldog", + "Freshwatereel", + "Frigatebird", + "Frilledlizard", + "Frillneckedlizard", + "Fritillarybutterfly", + "Frog", + "Frogmouth", + "Fruitbat", + "Fruitfly", + "Fugu", + "Fulmar", + "Funnelweaverspider", + "Furseal", + "Gadwall", + "Galago", + "Galah", + "Galapagosalbatross", + "Galapagosdove", + "Galapagoshawk", + "Galapagosmockingbird", + "Galapagospenguin", + "Galapagossealion", + "Galapagostortoise", + "Gallinule", + "Gallowaycow", + "Gander", + "Gangesdolphin", + "Gannet", + "Gar", + "Gardensnake", + "Garpike", + "Gartersnake", + "Gaur", + "Gavial", + "Gazelle", + "Gecko", + "Geese", + "Gelada", + "Gelding", + "Gemsbok", + "Gemsbuck", + "Genet", + "Gentoopenguin", + "Gerbil", + "Gerenuk", + "Germanpinscher", + "Germanshepherd", + "Germanshorthairedpointer", + "Germanspaniel", + "Germanspitz", + "Germanwirehairedpointer", + "Gharial", + "Ghostshrimp", + "Giantschnauzer", + "Gibbon", + "Gilamonster", + "Giraffe", + "Glassfrog", + "Globefish", + "Glowworm", + "Gnat", + "Gnatcatcher", + "Gnu", + "Goa", + "Goat", + "Godwit", + "Goitered", + "Goldeneye", + "Goldenmantledgroundsquirrel", + "Goldenretriever", + "Goldfinch", + "Goldfish", + "Gonolek", + "Goose", + "Goosefish", + "Gopher", + "Goral", + "Gordonsetter", + "Gorilla", + "Goshawk", + "Gosling", + "Gossamerwingedbutterfly", + "Gourami", + "Grackle", + "Grasshopper", + "Grassspider", + "Grayfox", + "Grayling", + "Grayreefshark", + "Graysquirrel", + "Graywolf", + "Greatargus", + "Greatdane", + "Greathornedowl", + "Greatwhiteshark", + "Grebe", + "Greendarnerdragonfly", + "Greyhounddog", + "Grison", + "Grizzlybear", + "Grosbeak", + "Groundbeetle", + "Groundhog", + "Grouper", + "Grouse", + "Grub", + "Grunion", + "Guanaco", + "Guernseycow", + "Guillemot", + "Guineafowl", + "Guineapig", + "Gull", + "Guppy", + "Gyrfalcon", + "Hackee", + "Haddock", + "Hadrosaurus", + "Hagfish", + "Hairstreak", + "Hairstreakbutterfly", + "Hake", + "Halcyon", + "Halibut", + "Halicore", + "Hamadryad", + "Hamadryas", + "Hammerheadbird", + "Hammerheadshark", + "Hammerkop", + "Hamster", + "Hanumanmonkey", + "Hapuka", + "Hapuku", + "Harborporpoise", + "Harborseal", + "Hare", + "Harlequinbug", + "Harpseal", + "Harpyeagle", + "Harrier", + "Harrierhawk", + "Hart", + "Hartebeest", + "Harvestmen", + "Harvestmouse", + "Hatchetfish", + "Hawaiianmonkseal", + "Hawk", + "Hectorsdolphin", + "Hedgehog", + "Heifer", + "Hellbender", + "Hen", + "Herald", + "Herculesbeetle", + "Hermitcrab", + "Heron", + "Herring", + "Hind", + "Hippopotamus", + "Hoatzin", + "Hochstettersfrog", + "Hog", + "Hogget", + "Hoiho", + "Hoki", + "Homalocephale", + "Honeybadger", + "Honeybee", + "Honeycreeper", + "Honeyeater", + "Hookersealion", + "Hoopoe", + "Hornbill", + "Hornedtoad", + "Hornedviper", + "Hornet", + "Hornshark", + "Horse", + "Horsechestnutleafminer", + "Horsefly", + "Horsemouse", + "Horseshoebat", + "Horseshoecrab", + "Hound", + "Housefly", + "Hoverfly", + "Howlermonkey", + "Huemul", + "Huia", + "Human", + "Hummingbird", + "Humpbackwhale", + "Husky", + "Hydatidtapeworm", + "Hydra", + "Hyena", + "Hylaeosaurus", + "Hypacrosaurus", + "Hypsilophodon", + "Hyracotherium", + "Hyrax", + "Iaerismetalmark", + "Ibadanmalimbe", + "Iberianbarbel", + "Iberianchiffchaff", + "Iberianemeraldlizard", + "Iberianlynx", + "Iberianmidwifetoad", + "Iberianmole", + "Iberiannase", + "Ibex", + "Ibis", + "Ibisbill", + "Ibizanhound", + "Iceblueredtopzebra", + "Icefish", + "Icelandgull", + "Icelandichorse", + "Icelandicsheepdog", + "Ichidna", + "Ichneumonfly", + "Ichthyosaurs", + "Ichthyostega", + "Icterinewarbler", + "Iggypops", + "Iguana", + "Iguanodon", + "Illadopsis", + "Ilsamochadegu", + "Imago", + "Impala", + "Imperatorangel", + "Imperialeagle", + "Incatern", + "Inchworm", + "Indianabat", + "Indiancow", + "Indianelephant", + "Indianglassfish", + "Indianhare", + "Indianjackal", + "Indianpalmsquirrel", + "Indianpangolin", + "Indianrhinoceros", + "Indianringneckparakeet", + "Indianrockpython", + "Indianskimmer", + "Indianspinyloach", + "Indigobunting", + "Indigowingedparrot", + "Indochinahogdeer", + "Indochinesetiger", + "Indri", + "Indusriverdolphin", + "Inexpectatumpleco", + "Inganue", + "Insect", + "Intermediateegret", + "Invisiblerail", + "Iraniangroundjay", + "Iridescentshark", + "Iriomotecat", + "Irishdraughthorse", + "Irishredandwhitesetter", + "Irishsetter", + "Irishterrier", + "Irishwaterspaniel", + "Irishwolfhound", + "Irrawaddydolphin", + "Irukandjijellyfish", + "Isabellineshrike", + "Isabellinewheatear", + "Islandcanary", + "Islandwhistler", + "Isopod", + "Italianbrownbear", + "Italiangreyhound", + "Ivorybackedwoodswallow", + "Ivorybilledwoodpecker", + "Ivorygull", + "Izuthrush", + "Jabiru", + "Jackal", + "Jackrabbit", + "Jaeger", + "Jaguar", + "Jaguarundi", + "Janenschia", + "Japanesebeetle", + "Javalina", + "Jay", + "Jellyfish", + "Jenny", + "Jerboa", + "Joey", + "Johndory", + "Juliabutterfly", + "Jumpingbean", + "Junco", + "Junebug", + "Kagu", + "Kakapo", + "Kakarikis", + "Kangaroo", + "Karakul", + "Katydid", + "Kawala", + "Kentrosaurus", + "Kestrel", + "Kid", + "Killdeer", + "Killerwhale", + "Killifish", + "Kingbird", + "Kingfisher", + "Kinglet", + "Kingsnake", + "Kinkajou", + "Kiskadee", + "Kissingbug", + "Kite", + "Kitfox", + "Kitten", + "Kittiwake", + "Kitty", + "Kiwi", + "Koala", + "Koalabear", + "Kob", + "Kodiakbear", + "Koi", + "Komododragon", + "Koodoo", + "Kookaburra", + "Kouprey", + "Krill", + "Kronosaurus", + "Kudu", + "Kusimanse", + "Labradorretriever", + "Lacewing", + "Ladybird", + "Ladybug", + "Lamb", + "Lamprey", + "Langur", + "Lark", + "Larva", + "Laughingthrush", + "Lcont", + "Leafbird", + "Leafcutterant", + "Leafhopper", + "Leafwing", + "Leech", + "Lemming", + "Lemur", + "Leonberger", + "Leopard", + "Leopardseal", + "Leveret", + "Lhasaapso", + "Liger", + "Lightningbug", + "Limpet", + "Limpkin", + "Ling", + "Lion", + "Lionfish", + "Littlenightmonkeys", + "Lizard", + "Llama", + "Lobo", + "Lobster", + "Locust", + "Loggerheadturtle", + "Longhorn", + "Longhornbeetle", + "Longspur", + "Loon", + "Lorikeet", + "Loris", + "Louse", + "Lovebird", + "Lowchen", + "Lunamoth", + "Lungfish", + "Lynx", + "Macaque", + "Macaw", + "Macropod", + "Magpie", + "Maiasaura", + "Majungatholus", + "Malamute", + "Mallard", + "Maltesedog", + "Mamba", + "Mamenchisaurus", + "Mammal", + "Mammoth", + "Manatee", + "Mandrill", + "Mangabey", + "Manta", + "Mantaray", + "Mantid", + "Mantis", + "Mantisray", + "Manxcat", + "Mara", + "Marabou", + "Marbledmurrelet", + "Mare", + "Marlin", + "Marmoset", + "Marmot", + "Marten", + "Martin", + "Massasauga", + "Massospondylus", + "Mastiff", + "Mastodon", + "Mayfly", + "Meadowhawk", + "Meadowlark", + "Mealworm", + "Meerkat", + "Megalosaurus", + "Megaraptor", + "Merganser", + "Merlin", + "Metalmarkbutterfly", + "Metamorphosis", + "Microvenator", + "Midge", + "Milksnake", + "Milkweedbug", + "Millipede", + "Minibeast", + "Mink", + "Minnow", + "Mite", + "Moa", + "Mockingbird", + "Mole", + "Mollies", + "Mollusk", + "Molly", + "Monarch", + "Mongoose", + "Monkey", + "Monkfish", + "Monoclonius", + "Montanoceratops", + "Moorhen", + "Moose", + "Moray", + "Morayeel", + "Morpho", + "Mosasaur", + "Mosquito", + "Moth", + "Motmot", + "Mouflon", + "Mountaincat", + "Mountainlion", + "Mouse", + "Mousebird", + "Mudpuppy", + "Mule", + "Mullet", + "Muntjac", + "Murrelet", + "Muskox", + "Muskrat", + "Mussaurus", + "Mussel", + "Mustang", + "Mutt", + "Myna", + "Mynah", + "Myotis", + "Nabarlek", + "Nag", + "Naga", + "Nagapies", + "Nandine", + "Nandoo", + "Nandu", + "Narwhal", + "Narwhale", + "Natterjacktoad", + "Nauplius", + "Nautilus", + "Needlefish", + "Needletail", + "Nematode", + "Nene", + "Neonblueguppy", + "Neonbluehermitcrab", + "Neondwarfgourami", + "Neonrainbowfish", + "Neonredguppy", + "Neontetra", + "Nerka", + "Nettlefish", + "Newfoundlanddog", + "Newt", + "Newtnutria", + "Nightcrawler", + "Nighthawk", + "Nightheron", + "Nightingale", + "Nightjar", + "Nilgai", + "Armadillo", + "Noctilio", + "Noctule", + "Noddy", + "Noolbenger", + "Northerncardinals", + "Northernelephantseal", + "Northernflyingsquirrel", + "Northernfurseal", + "Northernpike", + "Northernseahorse", + "Northernspottedowl", + "Norwaylobster", + "Norwayrat", + "Nubiangoat", + "Nudibranch", + "Numbat", + "Nurseshark", + "Nutcracker", + "Nuthatch", + "Nutria", + "Nyala", + "Ocelot", + "Octopus", + "Okapi", + "Olingo", + "Olm", + "Opossum", + "Orangutan", + "Orca", + "Oregonsilverspotbutterfly", + "Oriole", + "Oropendola", + "Oropendula", + "Oryx", + "Osprey", + "Ostracod", + "Ostrich", + "Otter", + "Ovenbird", + "Owl", + "Owlbutterfly", + "Ox", + "Oxen", + "Oxpecker", + "Oyster", + "Ozarkbigearedbat", + "Paca", + "Pachyderm", + "Pacificparrotlet", + "Paddlefish", + "Paintedladybutterfly", + "Panda", + "Pangolin", + "Panther", + "Paperwasp", + "Papillon", + "Parakeet", + "Parrot", + "Partridge", + "Peacock", + "Peafowl", + "Peccary", + "Pekingese", + "Pelican", + "Pelicinuspetrel", + "Penguin", + "Perch", + "Peregrinefalcon", + "Pewee", + "Phalarope", + "Pharaohhound", + "Pheasant", + "Phoebe", + "Phoenix", + "Pigeon", + "Piglet", + "Pika", + "Pike", + "Pikeperch", + "Pilchard", + "Pinemarten", + "Pinkriverdolphin", + "Pinniped", + "Pintail", + "Pipistrelle", + "Pipit", + "Piranha", + "Pitbull", + "Pittabird", + "Plainsqueaker", + "Plankton", + "Planthopper", + "Platypus", + "Plover", + "Polarbear", + "Polecat", + "Polyp", + "Polyturator", + "Pomeranian", + "Pondskater", + "Pony", + "Pooch", + "Poodle", + "Porcupine", + "Porpoise", + "Portuguesemanofwar", + "Possum", + "Prairiedog", + "Prawn", + "Prayingmantid", + "Prayingmantis", + "Primate", + "Pronghorn", + "Pseudodynerusquadrisectus", + "Ptarmigan", + "Pterodactyls", + "Pterosaurs", + "Puffer", + "Pufferfish", + "Puffin", + "Pug", + "Pullet", + "Puma", + "Pupa", + "Pupfish", + "Puppy", + "Purplemarten", + "Pygmy", + "Python", + "Quadrisectus", + "Quagga", + "Quahog", + "Quail", + "Queenalexandrasbirdwing", + "Queenalexandrasbirdwingbutterfly", + "Queenant", + "Queenbee", + "Queenconch", + "Queenslandgrouper", + "Queenslandheeler", + "Queensnake", + "Quelea", + "Quetzal", + "Quetzalcoatlus", + "Quillback", + "Quinquespinosus", + "Quokka", + "Quoll", + "Rabbit", + "Rabidsquirrel", + "Raccoon", + "Racer", + "Racerunner", + "Ragfish", + "Rail", + "Rainbowfish", + "Rainbowlorikeet", + "Rainbowtrout", + "Ram", + "Raptors", + "Rasbora", + "Rat", + "Ratfish", + "Rattail", + "Rattlesnake", + "Raven", + "Ray", + "Redhead", + "Redheadedwoodpecker", + "Redpoll", + "Redstart", + "Redtailedhawk", + "Reindeer", + "Reptile", + "Reynard", + "Rhea", + "Rhesusmonkey", + "Rhino", + "Rhinoceros", + "Rhinocerosbeetle", + "Rhodesianridgeback", + "Ringtailedlemur", + "Ringworm", + "Riograndeescuerzo", + "Roach", + "Roadrunner", + "Roan", + "Robberfly", + "Robin", + "Rockrat", + "Rodent", + "Roebuck", + "Roller", + "Rook", + "Rooster", + "Rottweiler", + "Sable", + "Sableantelope", + "Sablefish", + "Saiga", + "Sakimonkey", + "Salamander", + "Salmon", + "Saltwatercrocodile", + "Sambar", + "Samoyeddog", + "Sandbarshark", + "Sanddollar", + "Sanderling", + "Sandpiper", + "Sapsucker", + "Sardine", + "Sawfish", + "Scallop", + "Scarab", + "Scarletibis", + "Scaup", + "Schapendoes", + "Schipperke", + "Schnauzer", + "Scorpion", + "Scoter", + "Screamer", + "Seabird", + "Seagull", + "Seahog", + "Seahorse", + "Seal", + "Sealion", + "Seamonkey", + "Seaslug", + "Seaurchin", + "Senegalpython", + "Seriema", + "Serpent", + "Serval", + "Shark", + "Shearwater", + "Sheep", + "Sheldrake", + "Shelduck", + "Shibainu", + "Shihtzu", + "Shorebird", + "Shoveler", + "Shrew", + "Shrike", + "Shrimp", + "Siamang", + "Siamesecat", + "Siberiantiger", + "Sidewinder", + "Sifaka", + "Silkworm", + "Silverfish", + "Silverfox", + "Silversidefish", + "Siskin", + "Skimmer", + "Skipper", + "Skua", + "Skylark", + "Sloth", + "Slothbear", + "Slug", + "Smelts", + "Smew", + "Snail", + "Snake", + "Snipe", + "Snoutbutterfly", + "Snowdog", + "Snowgeese", + "Snowleopard", + "Snowmonkey", + "Snowyowl", + "Sockeyesalmon", + "Solenodon", + "Solitaire", + "Songbird", + "Sora", + "Southernhairnosedwombat", + "Sow", + "Spadefoot", + "Sparrow", + "Sphinx", + "Spider", + "Spidermonkey", + "Spiketail", + "Spittlebug", + "Sponge", + "Spoonbill", + "Spotteddolphin", + "Spreadwing", + "Springbok", + "Springpeeper", + "Springtail", + "Squab", + "Squamata", + "Squeaker", + "Squid", + "Squirrel", + "Stag", + "Stagbeetle", + "Stallion", + "Starfish", + "Starling", + "Steed", + "Steer", + "Stegosaurus", + "Stickinsect", + "Stickleback", + "Stilt", + "Stingray", + "Stinkbug", + "Stinkpot", + "Stoat", + "Stonefly", + "Stork", + "Stud", + "Sturgeon", + "Sugarglider", + "Sulphurbutterfly", + "Sunbear", + "Sunbittern", + "Sunfish", + "Swallow", + "Swallowtail", + "Swallowtailbutterfly", + "Swan", + "Swellfish", + "Swift", + "Swordfish", + "Tadpole", + "Tahr", + "Takin", + "Tamarin", + "Tanager", + "Tapaculo", + "Tapeworm", + "Tapir", + "Tarantula", + "Tarpan", + "Tarsier", + "Taruca", + "Tasmaniandevil", + "Tasmaniantiger", + "Tattler", + "Tayra", + "Teal", + "Tegus", + "Teledu", + "Tench", + "Tenrec", + "Termite", + "Tern", + "Terrapin", + "Terrier", + "Thoroughbred", + "Thrasher", + "Thrip", + "Thrush", + "Thunderbird", + "Thylacine", + "Tick", + "Tiger", + "Tigerbeetle", + "Tigermoth", + "Tigershark", + "Tilefish", + "Tinamou", + "Titi", + "Titmouse", + "Toad", + "Toadfish", + "Tomtit", + "Topi", + "Tortoise", + "Toucan", + "Towhee", + "Tragopan", + "Treecreeper", + "Trex", + "Triceratops", + "Trogon", + "Trout", + "Trumpeterbird", + "Trumpeterswan", + "Tsetsefly", + "Tuatara", + "Tuna", + "Turaco", + "Turkey", + "Turnstone", + "Turtle", + "Turtledove", + "Uakari", + "Ugandakob", + "Uintagroundsquirrel", + "Ulyssesbutterfly", + "Umbrellabird", + "Umbrette", + "Unau", + "Ungulate", + "Unicorn", + "Upupa", + "Urchin", + "Urial", + "Uromastyxmaliensis", + "Uromastyxspinipes", + "Urson", + "Urubu", + "Urus", + "Urutu", + "Urva", + "Utahprairiedog", + "Vampirebat", + "Vaquita", + "Veery", + "Velociraptor", + "Velvetcrab", + "Velvetworm", + "Venomoussnake", + "Verdin", + "Vervet", + "Viceroybutterfly", + "Vicuna", + "Viper", + "Viperfish", + "Vipersquid", + "Vireo", + "Virginiaopossum", + "Vixen", + "Vole", + "Volvox", + "Vulpesvelox", + "Vulpesvulpes", + "Vulture", + "Walkingstick", + "Wallaby", + "Wallaroo", + "Walleye", + "Walrus", + "Warbler", + "Warthog", + "Wasp", + "Waterboatman", + "Waterbuck", + "Waterbuffalo", + "Waterbug", + "Waterdogs", + "Waterdragons", + "Watermoccasin", + "Waterstrider", + "Waterthrush", + "Wattlebird", + "Watussi", + "Waxwing", + "Weasel", + "Weaverbird", + "Weevil", + "Westafricanantelope", + "Whale", + "Whapuku", + "Whelp", + "Whimbrel", + "Whippet", + "Whippoorwill", + "Whitebeakeddolphin", + "Whiteeye", + "Whitepelican", + "Whiterhino", + "Whitetaileddeer", + "Whitetippedreefshark", + "Whooper", + "Whoopingcrane", + "Widgeon", + "Widowspider", + "Wildcat", + "Wildebeast", + "Wildebeest", + "Willet", + "Wireworm", + "Wisent", + "Wobbegongshark", + "Wolf", + "Wolfspider", + "Wolverine", + "Wombat", + "Woodborer", + "Woodchuck", + "Woodnymphbutterfly", + "Woodpecker", + "Woodstorks", + "Woollybearcaterpillar", + "Worm", + "Wrasse", + "Wreckfish", + "Wren", + "Wrenchbird", + "Wryneck", + "Wuerhosaurus", + "Wyvern", + "Xanclomys", + "Xanthareel", + "Xantus", + "Xantusmurrelet", + "Xeme", + "Xenarthra", + "Xenoposeidon", + "Xenops", + "Xenopterygii", + "Xenopus", + "Xenotarsosaurus", + "Xenurusunicinctus", + "Xerus", + "Xiaosaurus", + "Xinjiangovenator", + "Xiphias", + "Xiphiasgladius", + "Xiphosuran", + "Xoloitzcuintli", + "Xoni", + "Xrayfish", + "Xraytetra", + "Xuanhanosaurus", + "Xuanhuaceratops", + "Xuanhuasaurus", + "Yaffle", + "Yak", + "Yapok", + "Yardant", + "Yearling", + "Yellowbelliedmarmot", + "Yellowbellylizard", + "Yellowhammer", + "Yellowjacket", + "Yellowlegs", + "Yellowthroat", + "Yellowwhitebutterfly", + "Yeti", + "Ynambu", + "Yorkshireterrier", + "Yosemitetoad", + "Yucker", + "Zander", + "Zanzibardaygecko", + "Zebra", + "Zebradove", + "Zebrafinch", + "Zebrafish", + "Zebralongwingbutterfly", + "Zebraswallowtailbutterfly", + "Zebratailedlizard", + "Zebu", + "Zenaida", + "Zeren", + "Zethusspinipes", + "Zethuswasp", + "Zigzagsalamander", + "Zonetailedpigeon", + "Zooplankton", + "Zopilote", + "Zorilla", +]; + +const adjectives = [ + "Able", + "Absolute", + "Academic", + "Acceptable", + "Acclaimed", + "Accomplished", + "Accurate", + "Aching", + "Acidic", + "Acrobatic", + "Adorable", + "Adventurous", + "Babyish", + "Back", + "Baggy", + "Bare", + "Basic", + "Beautiful", + "Belated", + "Beloved", + "Bitter", + "Calculating", + "Calm", + "Candid", + "Canine", + "Capital", + "Carefree", + "Careful", + "Careless", + "Caring", + "Cautious", + "Cavernous", + "Celebrated", + "Charming", + "Damp", + "Dangerous", + "Dapper", + "Daring", + "Dark", + "Darling", + "Dazzling", + "Deadly", + "Deafening", + "Dear", + "Dearest", + "Each", + "Eager", + "Early", + "Earnest", + "Easy", + "Easygoing", + "Ecstatic", + "Edible", + "Educated", + "Elderly", + "Fabulous", + "Failing", + "Faint", + "Fair", + "Faithful", + "Familiar", + "Famous", + "Fancy", + "Fantastic", + "Far", + "Faraway", + "Farflung", + "Faroff", + "Gargantuan", + "Gaseous", + "General", + "Generous", + "Gentle", + "Genuine", + "Giant", + "Giddy", + "Gigantic", + "Hairy", + "Half", + "Handmade", + "Handsome", + "Handy", + "Happy", + "Happygolucky", + "Hard", + "Icky", + "Icy", + "Ideal", + "Idealistic", + "Identical", + "Idle", + "Idolized", + "Ill", + "Jaded", + "Jagged", + "Jampacked", + "Kaleidoscopic", + "Keen", + "Lanky", + "Large", + "Last", + "Lasting", + "Lavish", + "Lawful", + "Madeup", + "Magnificent", + "Majestic", + "Major", + "Mammoth", + "Marvelous", + "Married", + "Naive", + "Narrow", + "Nasty", + "Natural", + "Oblong", + "Obvious", + "Occasional", + "Oily", + "Palatable", + "Pale", + "Paltry", + "Parallel", + "Parched", + "Partial", + "Passionate", + "Past", + "Pastel", + "Peaceful", + "Peppery", + "Perfect", + "Perfumed", + "Quaint", + "Qualified", + "Radiant", + "Ragged", + "Rapid", + "Rare", + "Rash", + "Raw", + "Recent", + "Reckless", + "Rectangular", + "Safe", + "Salty", + "Same", + "Sandy", + "Sane", + "Sarcastic", + "Sardonic", + "Satisfied", + "Scaly", + "Scarce", + "Scary", + "Scented", + "Scholarly", + "Scientific", + "Scornful", + "Scratchy", + "Scrawny", + "Second", + "Secondary", + "Secret", + "Selfassured", + "Selfreliant", + "Sentimental", + "Single", + "Talkative", + "Tall", + "Tame", + "Tan", + "Tangible", + "Tart", + "Tasty", + "Tattered", + "Taut", + "Tedious", + "Teeming", + "Ultimate", + "Unaware", + "Uncommon", + "Unconscious", + "Understated", + "Unequaled", + "Vacant", + "Vague", + "Vain", + "Valid", + "Wan", + "Warlike", + "Warm", + "Warmhearted", + "Warped", + "Wary", + "Wasteful", + "Watchful", + "Waterlogged", + "Watery", + "Wavy", + "Weak", + "Weird", + "Yawning", + "Yearly", + "Zany", + "Active", + "Actual", + "Adept", + "Admirable", + "Admired", + "Adolescent", + "Adorable", + "Adored", + "Advanced", + "Affectionate", + "Afraid", + "Aged", + "Aggravating", + "Beneficial", + "Best", + "Better", + "Bewitched", + "Big", + "Bighearted", + "Biodegradable", + "Bitesized", + "Cheerful", + "Cheery", + "Chief", + "Chilly", + "Chubby", + "Circular", + "Classic", + "Clean", + "Clear", + "Clearcut", + "Clever", + "Close", + "Closed", + "Decent", + "Decimal", + "Decisive", + "Deep", + "Defenseless", + "Defensive", + "Defiant", + "Deficient", + "Definite", + "Definitive", + "Delayed", + "Delectable", + "Delicious", + "Elaborate", + "Elastic", + "Elated", + "Electric", + "Elegant", + "Elementary", + "Elliptical", + "Fast", + "Fatal", + "Favorable", + "Favorite", + "Fearless", + "Feisty", + "Feline", + "Few", + "Fickle", + "Gifted", + "Giving", + "Glamorous", + "Glaring", + "Glass", + "Gleaming", + "Gleeful", + "Glistening", + "Glittering", + "Gross", + "Hardtofind", + "Harmful", + "Harmless", + "Harmonious", + "Harsh", + "Hasty", + "Haunting", + "Illustrious", + "Imaginary", + "Imaginative", + "Immaculate", + "Immaterial", + "Immediate", + "Immense", + "Impassioned", + "Jaunty", + "Jealous", + "Jittery", + "Key", + "Kind", + "Leading", + "Leafy", + "Lean", + "Left", + "Legal", + "Legitimate", + "Light", + "Massive", + "Mature", + "Meager", + "Mealy", + "Mean", + "Measly", + "Meaty", + "Medical", + "Mediocre", + "Nautical", + "Near", + "Neat", + "Necessary", + "Needy", + "Odd", + "Oddball", + "Offbeat", + "Official", + "Old", + "Periodic", + "Perky", + "Personal", + "Pertinent", + "Pesky", + "Pessimistic", + "Petty", + "Physical", + "Piercing", + "Pink", + "Pitiful", + "Plain", + "Quarrelsome", + "Quarterly", + "Ready", + "Real", + "Realistic", + "Reasonable", + "Red", + "Reflecting", + "Regal", + "Regular", + "Separate", + "Serene", + "Serious", + "Serpentine", + "Several", + "Severe", + "Shabby", + "Shadowy", + "Shady", + "Shallow", + "Sharp", + "Shimmering", + "Shiny", + "Shocked", + "Shocking", + "Shoddy", + "Short", + "Shortterm", + "Showy", + "Shrill", + "Shy", + "Silent", + "Silky", + "Tempting", + "Tender", + "Tense", + "Tepid", + "Terrific", + "Testy", + "Thankful", + "That", + "These", + "Tremendous", + "Uneven", + "Unfinished", + "Unfolded", + "Uniform", + "Unique", + "Valuable", + "Vapid", + "Variable", + "Vast", + "Velvety", + "Wealthy", + "Weary", + "Webbed", + "Wee", + "Weekly", + "Weepy", + "Weighty", + "Welcome", + "Welldocumented", + "Yellow", + "Zealous", + "Aggressive", + "Agile", + "Agitated", + "Agonizing", + "Agreeable", + "Ajar", + "Alarmed", + "Alarming", + "Alert", + "Alienated", + "Alive", + "All", + "Altruistic", + "Bland", + "Blank", + "Blaring", + "Bleak", + "Blind", + "Blissful", + "Blond", + "Blue", + "Blushing", + "Cloudy", + "Clueless", + "Clumsy", + "Cluttered", + "Coarse", + "Cold", + "Colorful", + "Colorless", + "Colossal", + "Comfortable", + "Common", + "Compassionate", + "Competent", + "Complete", + "Delightful", + "Demanding", + "Dense", + "Dental", + "Dependable", + "Dependent", + "Descriptive", + "Deserted", + "Detailed", + "Determined", + "Devoted", + "Different", + "Embellished", + "Eminent", + "Emotional", + "Empty", + "Enchanted", + "Enchanting", + "Energetic", + "Enlightened", + "Enormous", + "Fine", + "Finished", + "Firm", + "First", + "Firsthand", + "Fitting", + "Fixed", + "Flaky", + "Flamboyant", + "Flashy", + "Flat", + "Flawless", + "Flickering", + "Gloomy", + "Glorious", + "Glossy", + "Glum", + "Golden", + "Good", + "Goodnatured", + "Gorgeous", + "Graceful", + "Healthy", + "Heartfelt", + "Hearty", + "Heavenly", + "Heavy", + "Hefty", + "Helpful", + "Humongous", + "Impartial", + "Impeccable", + "Imperfect", + "Imperturbable", + "Important", + "Impossible", + "Impractical", + "Impressionable", + "Impressive", + "Improbable", + "Joint", + "Jolly", + "Jovial", + "Juvenile", + "Kindhearted", + "Kindly", + "Lighthearted", + "Likable", + "Likely", + "Limited", + "Limp", + "Limping", + "Linear", + "Lined", + "Liquid", + "Medium", + "Meek", + "Mellow", + "Melodic", + "Memorable", + "Menacing", + "Merry", + "Messy", + "Metallic", + "Mild", + "Negative", + "Neglected", + "Negligible", + "Neighboring", + "Nervous", + "New", + "Oldfashioned", + "Only", + "Open", + "Optimal", + "Optimistic", + "Opulent", + "Plaintive", + "Plastic", + "Playful", + "Pleasant", + "Pleased", + "Pleasing", + "Plump", + "Plush", + "Pointed", + "Pointless", + "Poised", + "Polished", + "Polite", + "Political", + "Pungent", + "Queasy", + "Querulous", + "Reliable", + "Relieved", + "Remarkable", + "Remorseful", + "Remote", + "Repentant", + "Required", + "Respectful", + "Responsible", + "Silly", + "Silver", + "Similar", + "Simple", + "Simplistic", + "Sizzling", + "Skeletal", + "Skinny", + "Sleepy", + "Slight", + "Slim", + "Slimy", + "Slippery", + "Slow", + "Slushy", + "Small", + "Smart", + "Smoggy", + "Smooth", + "Smug", + "Snappy", + "Snarling", + "Sneaky", + "Sniveling", + "Snoopy", + "Thick", + "Thin", + "Third", + "Thirsty", + "This", + "Thorny", + "Thorough", + "Those", + "Thoughtful", + "Threadbare", + "United", + "Unkempt", + "Unknown", + "Unlined", + "Unnatural", + "Unrealistic", + "Venerated", + "Vengeful", + "Verifiable", + "Vibrant", + "Vicious", + "Wellgroomed", + "Wellinformed", + "Welllit", + "Wellmade", + "Welloff", + "Welltodo", + "Wellworn", + "Wet", + "Which", + "Whimsical", + "Whirlwind", + "Whispered", + "Worse", + "Writhing", + "Yellowish", + "Zesty", + "Amazing", + "Ambitious", + "Ample", + "Amused", + "Amusing", + "Anchored", + "Ancient", + "Angelic", + "Angry", + "Anguished", + "Animated", + "Annual", + "Another", + "Antique", + "Bogus", + "Boiling", + "Bold", + "Bony", + "Boring", + "Bossy", + "Both", + "Bouncy", + "Bountiful", + "Bowed", + "Complex", + "Complicated", + "Composed", + "Concerned", + "Concrete", + "Confused", + "Conscious", + "Considerate", + "Constant", + "Content", + "Conventional", + "Cooked", + "Cool", + "Cooperative", + "Difficult", + "Digital", + "Diligent", + "Dim", + "Dimpled", + "Dimwitted", + "Direct", + "Discrete", + "Entire", + "Envious", + "Equal", + "Equatorial", + "Essential", + "Esteemed", + "Ethical", + "Euphoric", + "Flimsy", + "Flippant", + "Flowery", + "Fluffy", + "Fluid", + "Flustered", + "Focused", + "Fond", + "Foolhardy", + "Foolish", + "Forceful", + "Forked", + "Formal", + "Forsaken", + "Gracious", + "Grand", + "Grandiose", + "Granular", + "Grateful", + "Grave", + "Gray", + "Great", + "Greedy", + "Green", + "Hidden", + "High", + "Highlevel", + "Hilarious", + "Hoarse", + "Hollow", + "Homely", + "Inborn", + "Incomparable", + "Incompatible", + "Incomplete", + "Inconsequential", + "Incredible", + "Indelible", + "Indolent", + "Inexperienced", + "Infamous", + "Infantile", + "Joyful", + "Joyous", + "Jubilant", + "Klutzy", + "Knobby", + "Little", + "Live", + "Lively", + "Livid", + "Lone", + "Long", + "Milky", + "Mindless", + "Miniature", + "Minor", + "Minty", + "Misguided", + "Misty", + "Mixed", + "Next", + "Nice", + "Nifty", + "Nimble", + "Nippy", + "Orange", + "Orderly", + "Ordinary", + "Organic", + "Ornate", + "Ornery", + "Poor", + "Popular", + "Portly", + "Posh", + "Positive", + "Possible", + "Potable", + "Powerful", + "Powerless", + "Practical", + "Precious", + "Present", + "Prestigious", + "Questionable", + "Quick", + "Revolving", + "Rewarding", + "Rich", + "Right", + "Rigid", + "Ringed", + "Ripe", + "Sociable", + "Soft", + "Soggy", + "Solid", + "Somber", + "Some", + "Sophisticated", + "Sore", + "Sorrowful", + "Soulful", + "Soupy", + "Sour", + "Spanish", + "Sparkling", + "Sparse", + "Specific", + "Spectacular", + "Speedy", + "Spherical", + "Spicy", + "Spiffy", + "Spirited", + "Spiteful", + "Splendid", + "Spotless", + "Spotted", + "Spry", + "Thrifty", + "Thunderous", + "Tidy", + "Tight", + "Timely", + "Tinted", + "Tiny", + "Tired", + "Torn", + "Total", + "Unripe", + "Unruly", + "Unselfish", + "Unsightly", + "Unsteady", + "Unsung", + "Untidy", + "Untimely", + "Untried", + "Victorious", + "Vigilant", + "Vigorous", + "Villainous", + "Violet", + "Whole", + "Whopping", + "Wicked", + "Wide", + "Wideeyed", + "Wiggly", + "Wild", + "Willing", + "Wilted", + "Winding", + "Windy", + "Young", + "Zigzag", + "Anxious", + "Any", + "Apprehensive", + "Appropriate", + "Apt", + "Arctic", + "Arid", + "Aromatic", + "Artistic", + "Assured", + "Astonishing", + "Athletic", + "Brave", + "Breakable", + "Brief", + "Bright", + "Brilliant", + "Brisk", + "Broken", + "Bronze", + "Brown", + "Bruised", + "Coordinated", + "Corny", + "Corrupt", + "Costly", + "Courageous", + "Courteous", + "Crafty", + "Crazy", + "Creamy", + "Creative", + "Creepy", + "Crisp", + "Dirty", + "Disguised", + "Distant", + "Distant", + "Distinct", + "Distorted", + "Dizzy", + "Dopey", + "Downright", + "Dreary", + "Even", + "Evergreen", + "Everlasting", + "Every", + "Evil", + "Exalted", + "Excellent", + "Excitable", + "Exemplary", + "Exhausted", + "Forthright", + "Fortunate", + "Fragrant", + "Frail", + "Frank", + "Frayed", + "Free", + "French", + "Frequent", + "Fresh", + "Friendly", + "Frightened", + "Frightening", + "Gregarious", + "Grim", + "Grimy", + "Gripping", + "Grizzled", + "Grouchy", + "Grounded", + "Honest", + "Honorable", + "Honored", + "Hopeful", + "Hospitable", + "Hot", + "Huge", + "Infatuated", + "Inferior", + "Infinite", + "Informal", + "Innocent", + "Insecure", + "Insignificant", + "Insistent", + "Instructive", + "Insubstantial", + "Judicious", + "Juicy", + "Jumbo", + "Knotty", + "Knowing", + "Knowledgeable", + "Longterm", + "Loose", + "Lopsided", + "Lost", + "Loud", + "Lovable", + "Lovely", + "Loving", + "Modern", + "Modest", + "Moist", + "Monthly", + "Monumental", + "Moral", + "Mortified", + "Motionless", + "Nocturnal", + "Noisy", + "Nonstop", + "Normal", + "Notable", + "Noted", + "Original", + "Other", + "Our", + "Outgoing", + "Outlandish", + "Outlying", + "Precious", + "Pretty", + "Previous", + "Pricey", + "Prickly", + "Primary", + "Prime", + "Pristine", + "Private", + "Prize", + "Probable", + "Productive", + "Profitable", + "Quickwitted", + "Quiet", + "Quintessential", + "Roasted", + "Robust", + "Rosy", + "Rotating", + "Rotten", + "Rough", + "Round", + "Rowdy", + "Square", + "Squeaky", + "Squiggly", + "Stable", + "Staid", + "Stained", + "Stale", + "Standard", + "Starchy", + "Stark", + "Starry", + "Steel", + "Steep", + "Sticky", + "Stiff", + "Stimulating", + "Stingy", + "Stormy", + "Strange", + "Strict", + "Strident", + "Striking", + "Striped", + "Strong", + "Studious", + "Stunning", + "Tough", + "Tragic", + "Trained", + "Treasured", + "Tremendous", + "Triangular", + "Tricky", + "Trifling", + "Trim", + "Untrue", + "Unused", + "Unusual", + "Unwelcome", + "Unwieldy", + "Unwilling", + "Unwitting", + "Unwritten", + "Upbeat", + "Virtual", + "Virtuous", + "Visible", + "Winged", + "Wiry", + "Wise", + "Witty", + "Wobbly", + "Woeful", + "Wonderful", + "Wooden", + "Woozy", + "Wordy", + "Worldly", + "Worn", + "Youthful", + "Attached", + "Attentive", + "Attractive", + "Austere", + "Authentic", + "Authorized", + "Automatic", + "Avaricious", + "Average", + "Aware", + "Awesome", + "Awful", + "Awkward", + "Bubbly", + "Bulky", + "Bumpy", + "Buoyant", + "Burdensome", + "Burly", + "Bustling", + "Busy", + "Buttery", + "Buzzing", + "Critical", + "Crooked", + "Crowded", + "Crushing", + "Cuddly", + "Cultivated", + "Cultured", + "Cumbersome", + "Curly", + "Curvy", + "Cute", + "Cylindrical", + "Doting", + "Double", + "Downright", + "Drab", + "Drafty", + "Dramatic", + "Dry", + "Dual", + "Dutiful", + "Excited", + "Exciting", + "Exotic", + "Expensive", + "Experienced", + "Expert", + "Extralarge", + "Extraneous", + "Extrasmall", + "Extroverted", + "Frilly", + "Frivolous", + "Frizzy", + "Front", + "Frosty", + "Frozen", + "Frugal", + "Fruitful", + "Full", + "Fumbling", + "Functional", + "Funny", + "Fussy", + "Fuzzy", + "Growing", + "Growling", + "Grown", + "Grubby", + "Grumpy", + "Guilty", + "Gullible", + "Gummy", + "Humble", + "Humming", + "Hungry", + "Husky", + "Intelligent", + "Intent", + "Intentional", + "Interesting", + "Internal", + "International", + "Intrepid", + "Ironclad", + "Irresponsible", + "Itchy", + "Jumpy", + "Junior", + "Known", + "Kooky", + "Low", + "Loyal", + "Lucky", + "Lumbering", + "Luminous", + "Lumpy", + "Lustrous", + "Luxurious", + "Mountainous", + "Muddy", + "Muffled", + "Mundane", + "Murky", + "Mushy", + "Musty", + "Mysterious", + "Noteworthy", + "Novel", + "Noxious", + "Numb", + "Nutritious", + "Nutty", + "Outrageous", + "Outstanding", + "Oval", + "Overcooked", + "Overdue", + "Overjoyed", + "Profuse", + "Proper", + "Proud", + "Prudent", + "Punctual", + "Puny", + "Pure", + "Purple", + "Pushy", + "Puzzled", + "Puzzling", + "Quirky", + "Quixotic", + "Quizzical", + "Royal", + "Rubbery", + "Ruddy", + "Rundown", + "Runny", + "Rural", + "Rusty", + "Stupendous", + "Sturdy", + "Stylish", + "Subdued", + "Substantial", + "Subtle", + "Suburban", + "Sudden", + "Sugary", + "Sunny", + "Super", + "Superb", + "Superficial", + "Superior", + "Supportive", + "Surefooted", + "Surprised", + "Suspicious", + "Svelte", + "Sweaty", + "Sweet", + "Sweltering", + "Swift", + "Sympathetic", + "Trivial", + "Troubled", + "Trusting", + "Trustworthy", + "Trusty", + "Truthful", + "Tubby", + "Turbulent", + "Twin", + "Upright", + "Upset", + "Urban", + "Usable", + "Used", + "Useful", + "Useless", + "Utilized", + "Utter", + "Vital", + "Vivacious", + "Vivid", + "Voluminous", + "Worst", + "Worthwhile", + "Worthy", + "Wrathful", + "Wry", + "Yummy", + "True", + "Aliceblue", + "Aqua", + "Aquamarine", + "Azure", + "Beige", + "Bisque", + "Blanchedalmond", + "Blue", + "Blueviolet", + "Brown", + "Burlywood", + "Cadetblue", + "Chartreuse", + "Chocolate", + "Coral", + "Cornflowerblue", + "Cornsilk", + "Crimson", + "Cyan", + "Darkblue", + "Darkcyan", + "Darkgoldenrod", + "Darkgray", + "Darkgreen", + "Darkgrey", + "Darkkhaki", + "Darkmagenta", + "Darkolivegreen", + "Darkorange", + "Darkorchid", + "Darkred", + "Darksalmon", + "Darkseagreen", + "Darkslateblue", + "Darkslategray", + "Darkslategrey", + "Darkturquoise", + "Darkviolet", + "Deeppink", + "Deepskyblue", + "Dimgray", + "Dimgrey", + "Dodgerblue", + "Firebrick", + "Floralwhite", + "Forestgreen", + "Fractal", + "Fuchsia", + "Gainsboro", + "Ghostwhite", + "Gold", + "Goldenrod", + "Gray", + "Green", + "Greenyellow", + "Honeydew", + "Hotpink", + "Indianred", + "Indigo", + "Ivory", + "Khaki", + "Lavender", + "Lavenderblush", + "Lawngreen", + "Lemonchiffon", + "Lightblue", + "Lightcoral", + "Lightcyan", + "Lightgoldenrod", + "Lightgoldenrodyellow", + "Lightgray", + "Lightgreen", + "Lightgrey", + "Lightpink", + "Lightsalmon", + "Lightseagreen", + "Lightskyblue", + "Lightslateblue", + "Lightslategray", + "Lightsteelblue", + "Lightyellow", + "Lime", + "Limegreen", + "Linen", + "Magenta", + "Maroon", + "Mediumaquamarine", + "Mediumblue", + "Mediumforestgreen", + "Mediumgoldenrod", + "Mediumorchid", + "Mediumpurple", + "Mediumseagreen", + "Mediumslateblue", + "Mediumspringgreen", + "Mediumturquoise", + "Mediumvioletred", + "Midnightblue", + "Mintcream", + "Mistyrose", + "Moccasin", + "Navajowhite", + "Navy", + "Navyblue", + "Oldlace", + "Olive", + "Olivedrab", + "Opaque", + "Orange", + "Orangered", + "Orchid", + "Palegoldenrod", + "Palegreen", + "Paleturquoise", + "Palevioletred", + "Papayawhip", + "Peachpuff", + "Peru", + "Pink", + "Plum", + "Powderblue", + "Purple", + "Red", + "Rosybrown", + "Royalblue", + "Saddlebrown", + "Salmon", + "Sandybrown", + "Seagreen", + "Seashell", + "Sienna", + "Silver", + "Skyblue", + "Slateblue", + "Slategray", + "Slategrey", + "Snow", + "Springgreen", + "Steelblue", + "Tan", + "Teal", + "Thistle", + "Tomato", + "Transparent", + "Turquoise", + "Violet", + "Violetred", + "Wheat", + "Whitesmoke", + "Yellow", + "Yellowgreen", +]; + +/** + * All operations need to be done using BigInt values. + **/ +const ZERO = BigInt(0); +const ONE = BigInt(1); +/** + * In GoLang we use uint64 for both `bit` and `data`. This is capped to 64bits. + * When shifting left, this value might "overflow", meaning that + * any bit in position greater than 64 will be set to `0` (in Go it just does not exist). + * In the JavaScript implementation we use BigInt, which are not capped, + * therefore shifting left actually preserves those bytes, and results in a different calculation. + * To avoid this we always binary `AND` any value with the mask `0xffffffffffffffff` + * which only preserves the 64 least significant bits. + **/ +const UINT64 = BigInt("0xFFFFFFFFFFFFFFFF"); + +/** + * Linear-Feedback Shift Register algorithm + * For details: https://en.wikipedia.org/wiki/Linear-feedback_shift_register + * + * This implementation is based on the GoLang one in status-go: + * https://github.com/status-im/status-go/tree/develop/protocol/identity/alias + **/ +class LSFR { + constructor(poly, seed) { + this.poly = poly; + this.data = seed; + } + + next() { + let bit = ZERO; + + for (let i = ZERO; i < BigInt(64); i++) { + let c = (this.poly & (ONE << i)) & UINT64; + if (c != ZERO) { + bit = (bit ^ (this.data >> i)) & UINT64; + } + } + bit = (bit & ONE) & UINT64; + + let w = (this.data << ONE) & UINT64; + + this.data = w | bit; + + return this.data + } +} + +function dropHexPrefixAndControlByt(str) { + /** + * 04 is the prefix of an uncompressed public key. + * For more details see: + * https://github.com/bitcoin-core/secp256k1/blob/0d9540b1/include/secp256k1.h#L180 + **/ + return str.replace(/^0x04/, '') +} + +function extractXFromPubKey(str) { + if (str.length != 128) { + throw new Error('Should consists of 2x64 characters.') + } + /** + * We need to parse the 8 least significant bytes of X. + * This means we need to take the last 16 characters + * from the first 64 character hexadecimal. + **/ + return BigInt('0x'+str.substring(48, 64), 16) +} + +const validatePublicKey = (pubKeyStr) => { + /* We accept only strings for now. */ + if (typeof pubKeyStr != 'string') { + throw new TypeError('Only type string argument is accepted.') + } + /* Public key must be 130 characters long. */ + if (pubKeyStr.length != 132) { + throw new Error('Wrong key length, expected 132 characters.') + } + /* Chat keys are represented as a hexadecimal with a control byte */ + if (!pubKeyStr.startsWith('0x04')) { + throw new Error('Expected a 0x04 prefix for uncompressed public key.') + } +}; + +function chatKeyToChatName(pubKeyStr) { + /* Verify the passed string is a Status chat key. */ + validatePublicKey(pubKeyStr); + /* The actual data is after the control byte. */ + let pubKey = dropHexPrefixAndControlByt(pubKeyStr); + /* Public key consists of two values, X and Y. */ + let pubKeyX = extractXFromPubKey(pubKey); + + let seed = pubKeyX; + let poly = BigInt(184); + + /* Linear-Feedback Shift Register */ + let gen = new LSFR(poly, seed); + + /* Pick words based on modulo of generated number */ + let adjec1 = gen.next() % BigInt(adjectives.length); + let adjec2 = gen.next() % BigInt(adjectives.length); + let animal = gen.next() % BigInt(animals.length); + + return [ + adjectives[adjec1], + adjectives[adjec2], + animals[animal], + ].join(' ') +} + +/* Main object */ +const StatusIm = { chatKeyToChatName }; + +module.exports = StatusIm; diff --git a/package.json b/package.json index 9b0cb03..b4e285f 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "js-status-chat-name", - "version": "0.1.1", + "version": "0.1.2", "description": "JS Library for generating Status chat names from keys.", - "main": "index.js", + "main": "dist/status-chat-name.node.js", "repository": "https://github.com/status-im/js-status-chat-name", "author": "Jakub Sokołowski ", "license": "MIT", diff --git a/rollup.config.js b/rollup.config.js index c9defe1..fe8b535 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -16,20 +16,24 @@ const banner = ` export default { input: 'src/main.js', output: [ - { + { /* NodeJS */ + name: name, + banner: banner, + file: 'dist/status-chat-name.node.js', + format: 'cjs', + }, + { /* Browser */ name: name, banner: banner, file: 'dist/status-chat-name.js', format: 'iife', }, - { + { /* Browser Minified */ name: name, banner: `/* Meta: ${pkg.name} ${pkg.version} */`, file: 'dist/status-chat-name.min.js', format: 'iife', - plugins: [ - terser({output: {comments: /Meta:/}}) - ] + plugins: [ terser({output: {comments: /Meta:/}}) ] } ], }