(** This list comes from lintian sources. *)
let badwords =
(* {{{ *)
  [ "abandonned"
  ; "abandonning"
  ; "abbrevation"
  ; "abbrevations"
  ; "abigious"
  ; "abilties"
  ; "abilty"
  ; "abitrate"
  ; "abolute"
  ; "abov"
  ; "absense"
  ; "absolut"
  ; "absoulte"
  ; "acccept"
  ; "acccepted"
  ; "acccepting"
  ; "acccepts"
  ; "acccess"
  ; "acceleratoin"
  ; "accelleration"
  ; "accesing"
  ; "accesnt"
  ; "accessable"
  ; "accesss"
  ; "accidentaly"
  ; "accidently"
  ; "accidentually"
  ; "accoding"
  ; "accodingly"
  ; "accomodate"
  ; "accomodates"
  ; "accompagnied"
  ; "accompagnies"
  ; "accompagny"
  ; "accompagnying"
  ; "accordint"
  ; "accoring"
  ; "accout"
  ; "accquire"
  ; "accquired"
  ; "accquires"
  ; "accquiring"
  ; "accross"
  ; "acessable"
  ; "acess"
  ; "achitecture"
  ; "achitectures"
  ; "achor"
  ; "achored"
  ; "achoring"
  ; "achors"
  ; "acient"
  ; "acknowldegement"
  ; "ackowledge"
  ; "ackowledged"
  ; "acording"
  ; "acordingly"
  ; "acqure"
  ; "acqured"
  ; "acqures"
  ; "acquring"
  ; "actaul"
  ; "actaully"
  ; "activete"
  ; "acually"
  ; "acumulating"
  ; "acutally"
  ; "adapated"
  ; "adapater"
  ; "adapaters"
  ; "addd"
  ; "addded"
  ; "addding"
  ; "addds"
  ; "addess"
  ; "addessed"
  ; "addesses"
  ; "addessing"
  ; "addional"
  ; "additionaly"
  ; "additonal"
  ; "additonally"
  ; "addres"
  ; "addresed"
  ; "addreses"
  ; "addresing"
  ; "addresss"
  ; "addresssed"
  ; "addressses"
  ; "addresssing"
  ; "aditional"
  ; "aditionally"
  ; "aditionaly"
  ; "adress"
  ; "adressed"
  ; "adresses"
  ; "adressing"
  ; "advertisment"
  ; "advertisments"
  ; "adviced"
  ; "afecting"
  ; "afer"
  ; "aforementionned"
  ; "aformentioned"
  ; "afterall"
  ; "agains"
  ; "agaist"
  ; "agressive"
  ; "agressively"
  ; "agrument"
  ; "agruments"
  ; "albumns"
  ; "alegorical"
  ; "algorith"
  ; "algorithmical"
  ; "algoritm"
  ; "algoritms"
  ; "algorrithm"
  ; "algorritm"
  ; "alignemnt"
  ; "alignemnts"
  ; "allign"
  ; "alligned"
  ; "alligning"
  ; "alligns"
  ; "allpication"
  ; "allthough"
  ; "alltogether"
  ; "allways"
  ; "alocate"
  ; "alocated"
  ; "alocates"
  ; "alocating"
  ; "alogirhtms"
  ; "alogrithm"
  ; "alogrithms"
  ; "alot"
  ; "alow"
  ; "alows"
  ; "alpabet"
  ; "alpabetical"
  ; "alpabetic"
  ; "alpabets"
  ; "alreay"
  ; "altough"
  ; "ambigious"
  ; "ambigous"
  ; "ammend"
  ; "ammended"
  ; "ammending"
  ; "ammends"
  ; "ammount"
  ; "amoung"
  ; "amout"
  ; "analagous"
  ; "analysator"
  ; "ang"
  ; "anniversery"
  ; "annoucement"
  ; "anomolies"
  ; "anomoly"
  ; "anway"
  ; "anyting"
  ; "aplication"
  ; "appearence"
  ; "appeneded"
  ; "appliction"
  ; "applictions"
  ; "appplication"
  ; "appplications"
  ; "appropiate"
  ; "appropriatly"
  ; "approproate"
  ; "appropropriate"
  ; "approriate"
  ; "approriately"
  ; "approximatly"
  ; "aproximation"
  ; "aproximations"
  ; "aqcuire"
  ; "aqcuired"
  ; "aqcuires"
  ; "aqcuiring"
  ; "aquaint"
  ; "aquainted"
  ; "aquainting"
  ; "aquaints"
  ; "aquire"
  ; "aquired"
  ; "aquisition"
  ; "arbitary"
  ; "arbitray"
  ; "archiecture"
  ; "archiectures"
  ; "architechture"
  ; "architechtures"
  ; "archvie"
  ; "archvies"
  ; "aready"
  ; "arent"
  ; "arguement"
  ; "arguements"
  ; "arithmatic"
  ; "aritmetic"
  ; "arne't"
  ; "aroung"
  ; "arraival"
  ; "arround"
  ; "artifical"
  ; "artifically"
  ; "artillary"
  ; "arugment"
  ; "arugments"
  ; "assertation"
  ; "assgin"
  ; "assgined"
  ; "assgining"
  ; "assginment"
  ; "assginments"
  ; "assgins"
  ; "assigment"
  ; "assigments"
  ; "assignement"
  ; "assignements"
  ; "assignemnt"
  ; "assignemnts"
  ; "assistent"
  ; "assocate"
  ; "assocated"
  ; "assocates"
  ; "assocating"
  ; "assocation"
  ; "associcate"
  ; "associcated"
  ; "associcates"
  ; "associcating"
  ; "assotiated"
  ; "asthetic"
  ; "asuming"
  ; "asycronous"
  ; "asynchonous"
  ; "asynchonously"
  ; "atomatically"
  ; "atomicly"
  ; "attachement"
  ; "attemps"
  ; "attemt"
  ; "attemted"
  ; "attemting"
  ; "attemtp"
  ; "attemtped"
  ; "attemtping"
  ; "attemtps"
  ; "attemts"
  ; "attibute"
  ; "attibutes"
  ; "attirbute"
  ; "attirbutes"
  ; "attruibutes"
  ; "atttribute"
  ; "atttributes"
  ; "autenticate"
  ; "autenticated"
  ; "autenticates"
  ; "autenticating"
  ; "autentication"
  ; "authenticaiton"
  ; "authentification"
  ; "authorative"
  ; "authoritive"
  ; "automaticall"
  ; "automaticaly"
  ; "automaticly"
  ; "automatize"
  ; "automatized"
  ; "automatizes"
  ; "autonymous"
  ; "auxilary"
  ; "auxillary"
  ; "auxilliary"
  ; "avaiable"
  ; "availabe"
  ; "availabled"
  ; "availablity"
  ; "availale"
  ; "availavility"
  ; "availble"
  ; "availiable"
  ; "avalable"
  ; "avaliable"
  ; "aviable"
  ; "avilable"
  ; "backgroud"
  ; "backslashs"
  ; "bahavior"
  ; "bakup"
  ; "bakups"
  ; "baloon"
  ; "baloons"
  ; "bandwith"
  ; "basicly"
  ; "batery"
  ; "beacause"
  ; "beacuse"
  ; "beause"
  ; "becasue"
  ; "becomming"
  ; "becuase"
  ; "beeing"
  ; "befor"
  ; "begining"
  ; "behavoir"
  ; "behavoirs"
  ; "bellow"
  ; "benifit"
  ; "betweeen"
  ; "betwen"
  ; "bianries"
  ; "bizzare"
  ; "blindy"
  ; "boundry"
  ; "brige"
  ; "briges"
  ; "brighness"
  ; "brokeness"
  ; "brower"
  ; "browers"
  ; "bufffer"
  ; "bufffers"
  ; "bulding"
  ; "bulid"
  ; "buliding"
  ; "bulids"
  ; "bulit"
  ; "bulletted"
  ; "calcualte"
  ; "calcualted"
  ; "calcualtes"
  ; "calcualting"
  ; "calender"
  ; "calulate"
  ; "calulated"
  ; "calulates"
  ; "calulating"
  ; "cancelation"
  ; "capabilies"
  ; "capabilites"
  ; "capatibilities"
  ; "captial"
  ; "carefuly"
  ; "cariage"
  ; "casue"
  ; "casued"
  ; "casues"
  ; "catagories"
  ; "catagory"
  ; "catched"
  ; "ceate"
  ; "ceated"
  ; "ceates"
  ; "ceating"
  ; "cehck"
  ; "cehcked"
  ; "cehcking"
  ; "cehcks"
  ; "certficate"
  ; "certficates"
  ; "certian"
  ; "certicate"
  ; "certicates"
  ; "certifcate"
  ; "certifcates"
  ; "challange"
  ; "challanges"
  ; "changable"
  ; "channle"
  ; "channles"
  ; "channnel"
  ; "channnels"
  ; "charachter"
  ; "charachters"
  ; "characted"
  ; "characteds"
  ; "charactor"
  ; "charactors"
  ; "charater"
  ; "charaters"
  ; "charcter"
  ; "chcek"
  ; "chceked"
  ; "chceking"
  ; "chceks"
  ; "checksuming"
  ; "childern"
  ; "childs"
  ; "chnage"
  ; "chnages"
  ; "choise"
  ; "choosen"
  ; "chracter"
  ; "chracters"
  ; "classs"
  ; "classses"
  ; "clearified"
  ; "clearifies"
  ; "clearify"
  ; "clearifying"
  ; "cleint"
  ; "cleints"
  ; "coefficent"
  ; "coefficents"
  ; "cofigure"
  ; "cofigured"
  ; "cofigures"
  ; "cofiguring"
  ; "collapsable"
  ; "collegue"
  ; "collegues"
  ; "colorfull"
  ; "comand"
  ; "coment"
  ; "comented"
  ; "comenting"
  ; "coments"
  ; "comit"
  ; "commad"
  ; "commads"
  ; "commerical"
  ; "comming"
  ; "comminucation"
  ; "commited"
  ; "commiter"
  ; "commiters"
  ; "commiting"
  ; "committ"
  ; "commmand"
  ; "commmands"
  ; "commment"
  ; "commmented"
  ; "commmenting"
  ; "commments"
  ; "commoditiy"
  ; "communcation"
  ; "compability"
  ; "comparision"
  ; "comparisions"
  ; "comparsion"
  ; "comparsions"
  ; "compatability"
  ; "compatabilty"
  ; "compatable"
  ; "compatbility"
  ; "compatiability"
  ; "compatibiliy"
  ; "compatibilty"
  ; "compatiblity"
  ; "competion"
  ; "competions"
  ; "compilant"
  ; "compleatly"
  ; "completly"
  ; "completness"
  ; "complient"
  ; "complier"
  ; "compliers"
  ; "complile"
  ; "compliled"
  ; "compliles"
  ; "compliling"
  ; "compling"
  ; "compontent"
  ; "compontents"
  ; "compres"
  ; "compresed"
  ; "compreses"
  ; "compresing"
  ; "compresion"
  ; "comptible"
  ; "comression"
  ; "comunication"
  ; "conatin"
  ; "conatined"
  ; "conatining"
  ; "conatins"
  ; "conbination"
  ; "conbinations"
  ; "concatentate"
  ; "concatentated"
  ; "concatentates"
  ; "concatentating"
  ; "concatentation"
  ; "concatentations"
  ; "concatination"
  ; "concatinations"
  ; "concensus"
  ; "conditionaly"
  ; "conditionnaly"
  ; "conection"
  ; "conections"
  ; "conent"
  ; "conents"
  ; "configuation"
  ; "configuations"
  ; "configuratoin"
  ; "conjuction"
  ; "conneciton"
  ; "connecitons"
  ; "connectinos"
  ; "connnect"
  ; "connnected"
  ; "connnecting"
  ; "connnection"
  ; "connnections"
  ; "connnects"
  ; "consistancy"
  ; "consistant"
  ; "consonent"
  ; "consonents"
  ; "constuctor"
  ; "constuctors"
  ; "containes"
  ; "containg"
  ; "containts"
  ; "contaisn"
  ; "contan"
  ; "contaned"
  ; "contaning"
  ; "contans"
  ; "contein"
  ; "conteined"
  ; "conteining"
  ; "conteins"
  ; "contence"
  ; "continous"
  ; "continously"
  ; "continueing"
  ; "contraints"
  ; "contries"
  ; "controled"
  ; "controler"
  ; "controlers"
  ; "controll"
  ; "controlls"
  ; "contruct"
  ; "contructed"
  ; "contructing"
  ; "contructor"
  ; "contructors"
  ; "contructs"
  ; "contry"
  ; "converstion"
  ; "converstions"
  ; "convertion"
  ; "convertions"
  ; "convertor"
  ; "convet"
  ; "conveted"
  ; "conveting"
  ; "convets"
  ; "convinient"
  ; "copyrigth"
  ; "copyrigthed"
  ; "copyrigths"
  ; "corected"
  ; "corespond"
  ; "coresponded"
  ; "corespondence"
  ; "coresponding"
  ; "coresponds"
  ; "correctnes"
  ; "correponding"
  ; "correponds"
  ; "correspoding"
  ; "correspondance"
  ; "correspondes"
  ; "corresponing"
  ; "corresponsing"
  ; "corretly"
  ; "coutner"
  ; "coutners"
  ; "coverted"
  ; "crtical"
  ; "cryptocraphic"
  ; "cummulative"
  ; "curently"
  ; "cymk"
  ; "dafault"
  ; "deafault"
  ; "deafult"
  ; "deamon"
  ; "debain"
  ; "debians"
  ; "debuging"
  ; "decalared"
  ; "decalare"
  ; "decalares"
  ; "decalaring"
  ; "decendant"
  ; "decendent"
  ; "declation"
  ; "declations"
  ; "decompres"
  ; "decompresed"
  ; "decompreses"
  ; "decompresing"
  ; "decribed"
  ; "decribe"
  ; "decribes"
  ; "decribing"
  ; "decription"
  ; "decriptions"
  ; "decriptor"
  ; "decriptors"
  ; "decsriptor"
  ; "decsriptors"
  ; "defalt"
  ; "defautl"
  ; "defered"
  ; "definate"
  ; "definately"
  ; "definining"
  ; "definitly"
  ; "defintion"
  ; "defintions"
  ; "defualt"
  ; "deivce"
  ; "deivces"
  ; "delared"
  ; "delare"
  ; "delares"
  ; "delaring"
  ; "delemiter"
  ; "delimeter"
  ; "delimeters"
  ; "demoninator"
  ; "demoninators"
  ; "demostrated"
  ; "demostrate"
  ; "demostrates"
  ; "demostrating"
  ; "depdencies"
  ; "depdency"
  ; "depencies"
  ; "depency"
  ; "dependancies"
  ; "dependancy"
  ; "dependant"
  ; "dependecies"
  ; "dependecy"
  ; "depenencies"
  ; "depenency"
  ; "depreacted"
  ; "depreacte"
  ; "deprectated"
  ; "deprectate"
  ; "deprectates"
  ; "deprectating"
  ; "deprected"
  ; "derefenced"
  ; "desactivate"
  ; "descibed"
  ; "descibe"
  ; "descibes"
  ; "descibing"
  ; "desciptor"
  ; "desciptors"
  ; "descriptior"
  ; "descriptiors"
  ; "descripton"
  ; "descriptons"
  ; "descrition"
  ; "descritpion"
  ; "descritpions"
  ; "desctiptor"
  ; "desctiptors"
  ; "desireable"
  ; "desriptor"
  ; "desriptors"
  ; "detabase"
  ; "detatch"
  ; "detatched"
  ; "detatches"
  ; "detatching"
  ; "detemined"
  ; "detemine"
  ; "detemines"
  ; "detemining"
  ; "determing"
  ; "determinstically"
  ; "determinstic"
  ; "detroy"
  ; "detroyed"
  ; "detroying"
  ; "detroys"
  ; "develoment"
  ; "develoments"
  ; "developement"
  ; "developped"
  ; "developpement"
  ; "developper"
  ; "developpment"
  ; "deveolpment"
  ; "devided"
  ; "diabled"
  ; "diable"
  ; "diables"
  ; "diabling"
  ; "dictionnary"
  ; "didnt"
  ; "didnt'"
  ; "diferent"
  ; "differents"
  ; "differnet"
  ; "diffrent"
  ; "difinition"
  ; "difinitions"
  ; "digitial"
  ; "diplay"
  ; "directores"
  ; "directorys"
  ; "directries"
  ; "directry"
  ; "directy"
  ; "disapear"
  ; "disapeared"
  ; "disapearing"
  ; "disapears"
  ; "discernable"
  ; "disconnet"
  ; "disconneted"
  ; "disconneting"
  ; "disconnets"
  ; "discontinous"
  ; "discusion"
  ; "dispath"
  ; "dispathed"
  ; "dispathes"
  ; "dispathing"
  ; "dispertion"
  ; "dissapear"
  ; "dissapeared"
  ; "dissapearing"
  ; "dissapears"
  ; "distibuted"
  ; "distibute"
  ; "distibutes"
  ; "distibuting"
  ; "distibution"
  ; "distibutions"
  ; "distiction"
  ; "distingush"
  ; "distingushed"
  ; "distingushes"
  ; "distingushing"
  ; "distribtion"
  ; "distribtions"
  ; "divison"
  ; "divisons"
  ; "docuentation"
  ; "documantation"
  ; "documenation"
  ; "documentaion"
  ; "documention"
  ; "documetation"
  ; "doens't"
  ; "doesen't"
  ; "doesnt"
  ; "doesnt'"
  ; "doesnt't"
  ; "does't"
  ; "doman"
  ; "domans"
  ; "dont"
  ; "dont'"
  ; "dont't"
  ; "donwload"
  ; "donwloaded"
  ; "donwloading"
  ; "donwloads"
  ; "dosen't"
  ; "downlad"
  ; "downlads"
  ; "droppped"
  ; "dumplicated"
  ; "dumplicate"
  ; "dumplicates"
  ; "dumplicating"
  ; "dupliate"
  ; "dupliates"
  ; "easilly"
  ; "ecspecially"
  ; "edditable"
  ; "editting"
  ; "effectly"
  ; "efficency"
  ; "efficent"
  ; "efficently"
  ; "egde"
  ; "egdes"
  ; "eletronic"
  ; "eligable"
  ; "elliminated"
  ; "elliminate"
  ; "elliminates"
  ; "elliminating"
  ; "elment"
  ; "elments"
  ; "elminated"
  ; "elminate"
  ; "elminates"
  ; "elminating"
  ; "embeddeding"
  ; "embeded"
  ; "emptry"
  ; "emtpy"
  ; "enchanced"
  ; "enconding"
  ; "encondings"
  ; "encorporating"
  ; "encosed"
  ; "encose"
  ; "encoses"
  ; "encosing"
  ; "encrytion"
  ; "endianes"
  ; "endianess"
  ; "endiannes"
  ; "enhaced"
  ; "enhancment"
  ; "enhancments"
  ; "enitities"
  ; "enitity"
  ; "enlightnment"
  ; "enocded"
  ; "enrties"
  ; "enrty"
  ; "enterily"
  ; "entites"
  ; "envionment"
  ; "envireonment"
  ; "enviroiment"
  ; "enviromental"
  ; "enviromentally"
  ; "enviroment"
  ; "enviroments"
  ; "environement"
  ; "environent"
  ; "eqivalent"
  ; "equiped"
  ; "equivelant"
  ; "equivilant"
  ; "equvalent"
  ; "eroneous"
  ; "eror"
  ; "erorr"
  ; "erorrs"
  ; "erors"
  ; "erroneus"
  ; "erroneusly"
  ; "erronous"
  ; "erronously"
  ; "errorneous"
  ; "errorneously"
  ; "errror"
  ; "errrors"
  ; "esential"
  ; "esentially"
  ; "estbalishment"
  ; "etsablishment"
  ; "etsbalishment"
  ; "evalutated"
  ; "evalutate"
  ; "evalutates"
  ; "evalutating"
  ; "evaluted"
  ; "evalute"
  ; "evalutes"
  ; "evaluting"
  ; "eventhough"
  ; "everbody"
  ; "everone"
  ; "everthing"
  ; "everwhere"
  ; "everyhing"
  ; "everythings"
  ; "evironment"
  ; "evironments"
  ; "excact"
  ; "excactly"
  ; "excecutable"
  ; "exceded"
  ; "excellant"
  ; "excercised"
  ; "excercise"
  ; "excercises"
  ; "excercising"
  ; "excpected"
  ; "excpect"
  ; "excpecting"
  ; "excpects"
  ; "excutable"
  ; "excutables"
  ; "excuted"
  ; "excute"
  ; "excutes"
  ; "excuting"
  ; "exeception"
  ; "execeptions"
  ; "exectuable"
  ; "exectuables"
  ; "executeable"
  ; "executeables"
  ; "exension"
  ; "exensions"
  ; "exept"
  ; "exeption"
  ; "exeptions"
  ; "exising"
  ; "exisiting"
  ; "existance"
  ; "existant"
  ; "exlcude"
  ; "exlcusive"
  ; "exlicit"
  ; "exlicitly"
  ; "exmaple"
  ; "expecially"
  ; "expectes"
  ; "explaination"
  ; "explainations"
  ; "explantion"
  ; "explantions"
  ; "explicitely"
  ; "explicitily"
  ; "explicity"
  ; "explict"
  ; "explictly"
  ; "explit"
  ; "explitly"
  ; "expresion"
  ; "expresions"
  ; "expresssion"
  ; "expresssions"
  ; "exprimental"
  ; "extensability"
  ; "extenstion"
  ; "extenstions"
  ; "extented"
  ; "extention"
  ; "extesion"
  ; "extesions"
  ; "extracter"
  ; "extraenous"
  ; "faciliated"
  ; "faciliate"
  ; "faciliates"
  ; "faciliating"
  ; "faild"
  ; "failue"
  ; "failuer"
  ; "failues"
  ; "falg"
  ; "falgs"
  ; "faliure"
  ; "faliures"
  ; "familar"
  ; "fatser"
  ; "feasable"
  ; "feauture"
  ; "feautures"
  ; "fetaure"
  ; "fetaures"
  ; "ficticious"
  ; "filesytem"
  ; "filesytems"
  ; "fileystem"
  ; "fileystems"
  ; "findout"
  ; "finsihed"
  ; "finsihes"
  ; "finsih"
  ; "finsihing"
  ; "fitler"
  ; "fitlers"
  ; "flie"
  ; "floting"
  ; "flusing"
  ; "foget"
  ; "fogot"
  ; "fogotten"
  ; "folloing"
  ; "follwing"
  ; "follwoing"
  ; "folowing"
  ; "forbiden"
  ; "foreing"
  ; "forground"
  ; "formated"
  ; "formating"
  ; "forseeable"
  ; "forse"
  ; "fortan"
  ; "forunate"
  ; "forunately"
  ; "forwaded"
  ; "forwad"
  ; "forwading"
  ; "forwads"
  ; "forwardig"
  ; "fowarded"
  ; "foward"
  ; "fowarding"
  ; "fowards"
  ; "framwork"
  ; "freqencies"
  ; "freqency"
  ; "frontent"
  ; "frontents"
  ; "fucntion"
  ; "fucntions"
  ; "fuction"
  ; "fuctions"
  ; "fullfill"
  ; "funcion"
  ; "funcions"
  ; "funciton"
  ; "funcitons"
  ; "functionallity"
  ; "functionaly"
  ; "functionnality"
  ; "functiosn"
  ; "functonality"
  ; "funtion"
  ; "funtions"
  ; "futher"
  ; "futhermore"
  ; "gauranteed"
  ; "gaurantee"
  ; "gauranteeing"
  ; "gaurantees"
  ; "generater"
  ; "generaters"
  ; "genereated"
  ; "genereate"
  ; "genereates"
  ; "genereating"
  ; "generiously"
  ; "genrated"
  ; "genrate"
  ; "genrates"
  ; "genrating"
  ; "genreated"
  ; "genreate"
  ; "genreates"
  ; "genreating"
  ; "genric"
  ; "geomtry"
  ; "geting"
  ; "glpyh"
  ; "glpyhs"
  ; "goverment"
  ; "grabing"
  ; "grahical"
  ; "grahpical"
  ; "gramatically"
  ; "grammer"
  ; "grammers"
  ; "grapic"
  ; "guage"
  ; "guarenteed"
  ; "guarentee"
  ; "guarenteeing"
  ; "guarentees"
  ; "guassian"
  ; "halfs"
  ; "hander"
  ; "handfull"
  ; "hanshake"
  ; "hanshakes"
  ; "hapening"
  ; "happend"
  ; "happenned"
  ; "harcoded"
  ; "harcode"
  ; "harcodes"
  ; "harcoding"
  ; "harware"
  ; "havent"
  ; "heigth"
  ; "heirarchical"
  ; "heirarchically"
  ; "heirarchies"
  ; "heirarchy"
  ; "helpfull"
  ; "hexidecimal"
  ; "hiearchies"
  ; "hiearchy"
  ; "hierachical"
  ; "hierachies"
  ; "hierachy"
  ; "hierarchie"
  ; "higer"
  ; "highlighing"
  ; "highlightning"
  ; "higlighted"
  ; "higlight"
  ; "higlighting"
  ; "higlights"
  ; "hilighted"
  ; "hilight"
  ; "hilighting"
  ; "hilights"
  ; "horzontal"
  ; "horzontally"
  ; "howerver"
  ; "howver"
  ; "hypenated"
  ; "hypenate"
  ; "hypenates"
  ; "hypenating"
  ; "hypenation"
  ; "hypen"
  ; "hypens"
  ; "identifer"
  ; "identifers"
  ; "idicated"
  ; "idicate"
  ; "idicates"
  ; "idicating"
  ; "igored"
  ; "igore"
  ; "igores"
  ; "igoring"
  ; "imediate"
  ; "imediately"
  ; "immeadiately"
  ; "immedate"
  ; "immedately"
  ; "immediatelly"
  ; "immediatly"
  ; "immidiate"
  ; "immmediate"
  ; "immmediately"
  ; "impementation"
  ; "impementations"
  ; "implemantation"
  ; "implemementation"
  ; "implemementations"
  ; "implememented"
  ; "implemement"
  ; "implemementing"
  ; "implemements"
  ; "implemenation"
  ; "implemenations"
  ; "implementaion"
  ; "implementaions"
  ; "implementated"
  ; "implemention"
  ; "implemetation"
  ; "implemeted"
  ; "implemet"
  ; "implemeting"
  ; "implemets"
  ; "implemntation"
  ; "implemntations"
  ; "implicitely"
  ; "implicity"
  ; "implmentation"
  ; "implmented"
  ; "implment"
  ; "implmenting"
  ; "implments"
  ; "improvment"
  ; "improvments"
  ; "inadvertant"
  ; "inadvertantly"
  ; "inclued"
  ; "inclue"
  ; "inclues"
  ; "incluing"
  ; "incomming"
  ; "incompatabilities"
  ; "incompatability"
  ; "incompatable"
  ; "incompatbility"
  ; "incompatiability"
  ; "incomptible"
  ; "inconsistant"
  ; "incoporated"
  ; "incoporate"
  ; "incoporates"
  ; "incoporating"
  ; "increas"
  ; "incuded"
  ; "incude"
  ; "incudes"
  ; "incuding"
  ; "incure"
  ; "indeces"
  ; "indempotent"
  ; "indendation"
  ; "indended"
  ; "indentical"
  ; "indentified"
  ; "indentifies"
  ; "indentify"
  ; "indentifying"
  ; "independant"
  ; "independed"
  ; "indepenent"
  ; "indepenently"
  ; "indiated"
  ; "indiate"
  ; "indiates"
  ; "indiating"
  ; "indiciated"
  ; "indiciate"
  ; "indiciates"
  ; "indiciating"
  ; "indipendent"
  ; "indipendently"
  ; "indivudual"
  ; "indivudually"
  ; "inefficency"
  ; "inferrence"
  ; "infomation"
  ; "informatiom"
  ; "informations"
  ; "infromation"
  ; "ingored"
  ; "ingore"
  ; "ingores"
  ; "ingoring"
  ; "inheritence"
  ; "inital"
  ; "initalisation"
  ; "initalised"
  ; "initalise"
  ; "initalises"
  ; "initalising"
  ; "initalization"
  ; "initalized"
  ; "initalize"
  ; "initalizes"
  ; "initalizing"
  ; "initators"
  ; "initializiation"
  ; "initialsed"
  ; "initialse"
  ; "initialses"
  ; "initialzed"
  ; "initialze"
  ; "initialzes"
  ; "initiliased"
  ; "initiliase"
  ; "initiliases"
  ; "initiliasing"
  ; "initiliazed"
  ; "initiliaze"
  ; "initiliazes"
  ; "initiliazing"
  ; "initilized"
  ; "initilize"
  ; "initilizes"
  ; "initilizing"
  ; "inlcuded"
  ; "inlcude"
  ; "inlcudes"
  ; "inlcuding"
  ; "inofficial"
  ; "inproper"
  ; "inproperly"
  ; "insensistive"
  ; "insensistively"
  ; "instanciated"
  ; "instanciate"
  ; "instanciates"
  ; "instanciating"
  ; "instanciation"
  ; "instanciations"
  ; "intance"
  ; "intances"
  ; "intead"
  ; "inteface"
  ; "integreated"
  ; "integrety"
  ; "integrey"
  ; "intendet"
  ; "intentially"
  ; "intepreted"
  ; "intepreter"
  ; "intepreters"
  ; "intepreting"
  ; "intepret"
  ; "inteprets"
  ; "interace"
  ; "interaces"
  ; "interator"
  ; "interators"
  ; "interchangable"
  ; "interchangably"
  ; "interesected"
  ; "interesecting"
  ; "interesect"
  ; "interesection"
  ; "interesections"
  ; "interesects"
  ; "interferred"
  ; "interferring"
  ; "interger"
  ; "intergers"
  ; "intermittant"
  ; "internel"
  ; "internels"
  ; "interpeted"
  ; "interpeter"
  ; "interpeters"
  ; "interpeting"
  ; "interpet"
  ; "interpets"
  ; "interpretes"
  ; "interruped"
  ; "interupted"
  ; "interupting"
  ; "interupt"
  ; "interupts"
  ; "intial"
  ; "intialisation"
  ; "intialised"
  ; "intialise"
  ; "intialises"
  ; "intialising"
  ; "intialization"
  ; "intialized"
  ; "intialize"
  ; "intializes"
  ; "intializing"
  ; "intially"
  ; "intregral"
  ; "intrrupted"
  ; "intrrupting"
  ; "intrrupt"
  ; "intrrupts"
  ; "intruction"
  ; "intructions"
  ; "intrumented"
  ; "intrumenting"
  ; "intrument"
  ; "intruments"
  ; "intuative"
  ; "invaid"
  ; "invalud"
  ; "invarient"
  ; "invididual"
  ; "invokation"
  ; "invokations"
  ; "irrelevent"
  ; "isnt"
  ; "istead"
  ; "itialized"
  ; "itialize"
  ; "itializes"
  ; "itializing"
  ; "itslef"
  ; "jave"
  ; "keywork"
  ; "langage"
  ; "langauage"
  ; "langauge"
  ; "langauges"
  ; "langugage"
  ; "languge"
  ; "languges"
  ; "laoded"
  ; "laoding"
  ; "laod"
  ; "laods"
  ; "lauched"
  ; "laucher"
  ; "lauches"
  ; "lauching"
  ; "lauch"
  ; "leightweight"
  ; "lengh"
  ; "lenghs"
  ; "lenght"
  ; "lenghts"
  ; "lenghty"
  ; "lengthes"
  ; "lenth"
  ; "lesstiff"
  ; "libaries"
  ; "libary"
  ; "librairies"
  ; "libraris"
  ; "licenceing"
  ; "licese"
  ; "ligth"
  ; "likelyhood"
  ; "limted"
  ; "lintain"
  ; "loggging"
  ; "loggin"
  ; "logile"
  ; "longers"
  ; "loosly"
  ; "machinary"
  ; "maintainance"
  ; "maintainence"
  ; "maintaing"
  ; "maintance"
  ; "maintan"
  ; "makeing"
  ; "malplaced"
  ; "malplace"
  ; "mamory"
  ; "managable"
  ; "managment"
  ; "manoeuvering"
  ; "mantained"
  ; "mantainer"
  ; "mantaining"
  ; "mantain"
  ; "mantains"
  ; "manully"
  ; "matchin"
  ; "matcing"
  ; "mathimatical"
  ; "mathimatic"
  ; "mathimatics"
  ; "maxium"
  ; "mecanism"
  ; "mecanisms"
  ; "mechamism"
  ; "mechamisms"
  ; "mentiond"
  ; "mentionned"
  ; "ment"
  ; "mesage"
  ; "mesages"
  ; "messags"
  ; "messge"
  ; "messges"
  ; "messsage"
  ; "messsages"
  ; "microprocesspr"
  ; "milisecond"
  ; "miliseconds"
  ; "millenium"
  ; "milliseonds"
  ; "mimicing"
  ; "mimick"
  ; "mimicks"
  ; "mininum"
  ; "miniscule"
  ; "minumum"
  ; "miscelleneous"
  ; "misformed"
  ; "mismached"
  ; "mismaches"
  ; "mismaching"
  ; "mismach"
  ; "mispelled"
  ; "mispelt"
  ; "missconfiguration"
  ; "missconfigured"
  ; "missconfigure"
  ; "missconfigures"
  ; "missconfiguring"
  ; "missmatched"
  ; "missmatches"
  ; "missmatching"
  ; "missmatch"
  ; "mmnemonic"
  ; "modfied"
  ; "modfies"
  ; "modfying"
  ; "modfy"
  ; "modifed"
  ; "modifing"
  ; "modulues"
  ; "monochorome"
  ; "monochromo"
  ; "monocrome"
  ; "morever"
  ; "mroe"
  ; "mulitple"
  ; "mulitplied"
  ; "multidimensionnal"
  ; "multipled"
  ; "multple"
  ; "multplied"
  ; "multplies"
  ; "multplying"
  ; "multply"
  ; "mumber"
  ; "mumbers"
  ; "musn't"
  ; "mutiple"
  ; "mutliple"
  ; "nam"
  ; "nams"
  ; "navagating"
  ; "nead"
  ; "neccecary"
  ; "neccesarily"
  ; "neccesary"
  ; "neccessarily"
  ; "neccessary"
  ; "necesarily"
  ; "necesarrily"
  ; "necesarry"
  ; "necesary"
  ; "necessar"
  ; "nedded"
  ; "neeeded"
  ; "neeeding"
  ; "neeed"
  ; "neeeds"
  ; "negotation"
  ; "nescessary"
  ; "nesesarily"
  ; "nessesary"
  ; "nessessary"
  ; "nonexistant"
  ; "nontheless"
  ; "noone"
  ; "normaly"
  ; "noticable"
  ; "noticably"
  ; "notications"
  ; "notifcation"
  ; "notifcations"
  ; "notifed"
  ; "nubmer"
  ; "nubmers"
  ; "numberal"
  ; "numberals"
  ; "numebr"
  ; "numebrs"
  ; "numner"
  ; "numners"
  ; "observered"
  ; "obsure"
  ; "o'caml"
  ; "occassionally"
  ; "occationally"
  ; "occurance"
  ; "occurances"
  ; "occured"
  ; "occurence"
  ; "occurences"
  ; "occuring"
  ; "occurrance"
  ; "occurrances"
  ; "ocurrence"
  ; "ocurrences"
  ; "offical"
  ; "officialy"
  ; "ofthe"
  ; "omitt"
  ; "ommiting"
  ; "ommitted"
  ; "onself"
  ; "opague"
  ; "openened"
  ; "openned"
  ; "openning"
  ; "opertaion"
  ; "opertaions"
  ; "opion"
  ; "opions"
  ; "optinally"
  ; "optinal"
  ; "optionaly"
  ; "optionnal"
  ; "optmization"
  ; "optmizations"
  ; "orderd"
  ; "orginally"
  ; "orginal"
  ; "orgin"
  ; "orientatied"
  ; "orientied"
  ; "origionally"
  ; "origional"
  ; "orignal"
  ; "otehr"
  ; "otherwhise"
  ; "othwerwise"
  ; "ouptut"
  ; "ouput"
  ; "ouputs"
  ; "ouputted"
  ; "ouputting"
  ; "outputing"
  ; "outut"
  ; "overaall"
  ; "overidden"
  ; "overide"
  ; "overides"
  ; "overiding"
  ; "overlaped"
  ; "overlaping"
  ; "overridded"
  ; "overrided"
  ; "overriden"
  ; "overrridden"
  ; "overrriden"
  ; "overrride"
  ; "overrriding"
  ; "overun"
  ; "overwite"
  ; "overwites"
  ; "overwitten"
  ; "ovverridden"
  ; "ovverride"
  ; "ovverrides"
  ; "ovverriding"
  ; "owership"
  ; "pacakge"
  ; "pachage"
  ; "pach"
  ; "packacge"
  ; "packege"
  ; "packge"
  ; "packges"
  ; "pakage"
  ; "palete"
  ; "pallete"
  ; "pallette"
  ; "paniced"
  ; "panicing"
  ; "paralellism"
  ; "paralell"
  ; "paralel"
  ; "parallell"
  ; "parallization"
  ; "parallized"
  ; "parallize"
  ; "parallizes"
  ; "parallizing"
  ; "paramameters"
  ; "paramater"
  ; "parametes"
  ; "parametised"
  ; "paramter"
  ; "paramters"
  ; "parantheses"
  ; "paranthesis"
  ; "paremeter"
  ; "paremeters"
  ; "parenthesed"
  ; "particularily"
  ; "partioning"
  ; "pased"
  ; "pathes"
  ; "pecularities"
  ; "pecularity"
  ; "peformance"
  ; "peice"
  ; "peices"
  ; "penalities"
  ; "penality"
  ; "pendantic"
  ; "peprocessor"
  ; "perfomed"
  ; "perfoming"
  ; "perfom"
  ; "perfoms"
  ; "perfromance"
  ; "perfromed"
  ; "perfroming"
  ; "perfrom"
  ; "perfroms"
  ; "peristent"
  ; "permanantly"
  ; "permanant"
  ; "permision"
  ; "permisions"
  ; "permissons"
  ; "permuation"
  ; "permuations"
  ; "peroid"
  ; "peroids"
  ; "persistance"
  ; "persistant"
  ; "personnal"
  ; "perviously"
  ; "pervious"
  ; "pitty"
  ; "plase"
  ; "platfrom"
  ; "platfroms"
  ; "plattform"
  ; "pleaes"
  ; "ploting"
  ; "poinnter"
  ; "poiter"
  ; "poiters"
  ; "poluted"
  ; "polute"
  ; "polutes"
  ; "poluting"
  ; "polution"
  ; "portugese"
  ; "posible"
  ; "positionned"
  ; "positon"
  ; "positons"
  ; "positve"
  ; "positves"
  ; "possesion"
  ; "possibe"
  ; "possibilites"
  ; "possibilties"
  ; "possibilty"
  ; "possiblities"
  ; "possiblity"
  ; "postgressql"
  ; "postion"
  ; "postions"
  ; "postive"
  ; "postives"
  ; "powerfull"
  ; "prcesses"
  ; "prcess"
  ; "preceeded"
  ; "preceeding"
  ; "preceed"
  ; "preceeds"
  ; "precendence"
  ; "precison"
  ; "precission"
  ; "prefered"
  ; "preferrable"
  ; "preferrably"
  ; "prefferable"
  ; "prefferably"
  ; "prepaired"
  ; "prepartion"
  ; "prepartions"
  ; "prerequsite"
  ; "prerequsites"
  ; "prevously"
  ; "priciple"
  ; "priciples"
  ; "primative"
  ; "princliple"
  ; "priorty"
  ; "priveleged"
  ; "privilaged"
  ; "privilage"
  ; "privilages"
  ; "priviledge"
  ; "priviledges"
  ; "privilige"
  ; "priviliges"
  ; "probaly"
  ; "problably"
  ; "procceed"
  ; "proccesors"
  ; "proccesses"
  ; "proccess"
  ; "proceded"
  ; "procede"
  ; "procedes"
  ; "proceding"
  ; "proceeeded"
  ; "proceeeding"
  ; "proceeed"
  ; "proceeeds"
  ; "procesed"
  ; "proceses"
  ; "proces"
  ; "processessing"
  ; "processess"
  ; "processpr"
  ; "processsed"
  ; "processses"
  ; "processsing"
  ; "processs"
  ; "proctected"
  ; "proctecting"
  ; "proctect"
  ; "proctects"
  ; "procude"
  ; "progams"
  ; "progess"
  ; "programers"
  ; "programm"
  ; "programms"
  ; "promiscous"
  ; "promps"
  ; "pronnounced"
  ; "prononciation"
  ; "pronouce"
  ; "pronunce"
  ; "propery"
  ; "propigate"
  ; "propigation"
  ; "propogated"
  ; "propogate"
  ; "propogates"
  ; "propogating"
  ; "prosess"
  ; "protable"
  ; "protcol"
  ; "protecion"
  ; "protocoll"
  ; "psuedo"
  ; "psychadelic"
  ; "qouted"
  ; "qoute"
  ; "qoutes"
  ; "qouting"
  ; "queing"
  ; "quering"
  ; "reachs"
  ; "readabilty"
  ; "reasearcher"
  ; "reasearchers"
  ; "reasearch"
  ; "reasonble"
  ; "reasonbly"
  ; "rebuliding"
  ; "rebulid"
  ; "rebulids"
  ; "rebulit"
  ; "reccommended"
  ; "reccommending"
  ; "reccommend"
  ; "reccommends"
  ; "receieved"
  ; "receieve"
  ; "receieves"
  ; "receieving"
  ; "recepient"
  ; "recepients"
  ; "receved"
  ; "receve"
  ; "receves"
  ; "receving"
  ; "recieved"
  ; "recieve"
  ; "reciever"
  ; "recieves"
  ; "recieving"
  ; "recipies"
  ; "recogized"
  ; "recogize"
  ; "recogizes"
  ; "recogizing"
  ; "recogniced"
  ; "recognizeable"
  ; "recommanded"
  ; "rectange"
  ; "rectanges"
  ; "recurrance"
  ; "recyled"
  ; "recyle"
  ; "recyles"
  ; "recyling"
  ; "redefintion"
  ; "redefintions"
  ; "redircet"
  ; "redirectrion"
  ; "reenabled"
  ; "reenable"
  ; "reencode"
  ; "refected"
  ; "refecting"
  ; "refect"
  ; "refects"
  ; "refence"
  ; "refered"
  ; "refernced"
  ; "refernce"
  ; "refernces"
  ; "referncing"
  ; "refrenced"
  ; "refrence"
  ; "refrences"
  ; "refrencing"
  ; "regaring"
  ; "registed"
  ; "registeing"
  ; "registerd"
  ; "registe"
  ; "registes"
  ; "registraration"
  ; "regulamentations"
  ; "regularily"
  ; "reimplmentation"
  ; "reimplmented"
  ; "reimplmenting"
  ; "reimplment"
  ; "reimplments"
  ; "releasse"
  ; "releated"
  ; "reletively"
  ; "reletive"
  ; "relevent"
  ; "remaing"
  ; "remoote"
  ; "removeable"
  ; "renderering"
  ; "renegotation"
  ; "repaced"
  ; "repace"
  ; "repaces"
  ; "repacing"
  ; "repeatly"
  ; "repectively"
  ; "repective"
  ; "replacable"
  ; "replacments"
  ; "replys"
  ; "reponse"
  ; "reponses"
  ; "representaion"
  ; "representaions"
  ; "represneted"
  ; "represneting"
  ; "represnet"
  ; "represnets"
  ; "reproducable"
  ; "requiered"
  ; "requiere"
  ; "requieres"
  ; "requiering"
  ; "requred"
  ; "requrested"
  ; "requresting"
  ; "requrest"
  ; "requrests"
  ; "requried"
  ; "requsted"
  ; "requsting"
  ; "requst"
  ; "requsts"
  ; "resemblence"
  ; "reserverd"
  ; "reseted"
  ; "reseting"
  ; "resetted"
  ; "resizeable"
  ; "resouce"
  ; "resouces"
  ; "resoure"
  ; "resoures"
  ; "responce"
  ; "responces"
  ; "responsabilities"
  ; "responsability"
  ; "responsed"
  ; "responsiblity"
  ; "responsing"
  ; "ressize"
  ; "ressource"
  ; "ressources"
  ; "ressurected"
  ; "ressurecting"
  ; "ressurect"
  ; "ressurects"
  ; "resursively"
  ; "resursive"
  ; "retored"
  ; "retore"
  ; "retores"
  ; "retoring"
  ; "retransmited"
  ; "retreived"
  ; "retreive"
  ; "retrived"
  ; "retrive"
  ; "retrives"
  ; "retriving"
  ; "retuns"
  ; "retured"
  ; "returing"
  ; "returnd"
  ; "returnes"
  ; "retur"
  ; "returs"
  ; "reuest"
  ; "reuests"
  ; "reuqested"
  ; "reuqesting"
  ; "reuqest"
  ; "reuqests"
  ; "rewriten"
  ; "rigth"
  ; "rigths"
  ; "rmeoved"
  ; "rmeove"
  ; "rmeoves"
  ; "rougly"
  ; "rountine"
  ; "rountines"
  ; "rquested"
  ; "rquesting"
  ; "rquest"
  ; "rquests"
  ; "runing"
  ; "runned"
  ; "runnning"
  ; "sacrifying"
  ; "safly"
  ; "saftey"
  ; "safty"
  ; "santized"
  ; "santize"
  ; "santizes"
  ; "santizing"
  ; "satisfiabilty"
  ; "satisified"
  ; "satisifies"
  ; "satisifying"
  ; "satisify"
  ; "savable"
  ; "savely"
  ; "savety"
  ; "scaned"
  ; "scaning"
  ; "seached"
  ; "seaches"
  ; "seaching"
  ; "seach"
  ; "searchs"
  ; "secund"
  ; "securty"
  ; "sematically"
  ; "sematical"
  ; "sematic"
  ; "sematics"
  ; "sempahore"
  ; "sempahores"
  ; "sensistive"
  ; "sensistively"
  ; "sentance"
  ; "sentances"
  ; "sentinal"
  ; "sentinals"
  ; "separatly"
  ; "separed"
  ; "separted"
  ; "separte"
  ; "separtes"
  ; "separting"
  ; "sepcified"
  ; "sepcifies"
  ; "sepcifying"
  ; "sepcify"
  ; "seperated"
  ; "seperately"
  ; "seperate"
  ; "seperates"
  ; "seperating"
  ; "seperatly"
  ; "seperator"
  ; "sepperate"
  ; "seprator"
  ; "seprators"
  ; "sequece"
  ; "sequeces"
  ; "sequencial"
  ; "serie"
  ; "serivce"
  ; "serivces"
  ; "serveral"
  ; "sesssion"
  ; "sesssions"
  ; "setts"
  ; "settting"
  ; "setttings"
  ; "shoud"
  ; "shouldnt"
  ; "shoule"
  ; "siginificantly"
  ; "siginificant"
  ; "signficantly"
  ; "signficant"
  ; "signle"
  ; "similarily"
  ; "similary"
  ; "similiarly"
  ; "similiar"
  ; "simlarlity"
  ; "simlarly"
  ; "simlar"
  ; "simliar"
  ; "simmilar"
  ; "simplier"
  ; "simultanously"
  ; "simultanous"
  ; "singal"
  ; "singed"
  ; "sitation"
  ; "sitations"
  ; "skiped"
  ; "skiping"
  ; "slashs"
  ; "sligthly"
  ; "sligth"
  ; "smae"
  ; "softwares"
  ; "sofware"
  ; "somehwere"
  ; "somes"
  ; "someting"
  ; "somthing"
  ; "souce"
  ; "souces"
  ; "spawed"
  ; "spawing"
  ; "spaw"
  ; "spaws"
  ; "speach"
  ; "spearator"
  ; "spearators"
  ; "specfication"
  ; "specfications"
  ; "specfic"
  ; "specfied"
  ; "specfies"
  ; "specfying"
  ; "specfy"
  ; "speciefied"
  ; "specifc"
  ; "specifed"
  ; "specificatin"
  ; "specificaton"
  ; "specifing"
  ; "specifiying"
  ; "specifiy"
  ; "speficied"
  ; "spefic"
  ; "speling"
  ; "splitted"
  ; "spported"
  ; "spporting"
  ; "spports"
  ; "spport"
  ; "spreaded"
  ; "spurios"
  ; "sructures"
  ; "sructure"
  ; "staically"
  ; "standardss"
  ; "standart"
  ; "staticly"
  ; "statments"
  ; "statment"
  ; "stirngs"
  ; "stirng"
  ; "stoped"
  ; "stoping"
  ; "stoppped"
  ; "straigth"
  ; "straigt"
  ; "strenghts"
  ; "strenght"
  ; "strenth"
  ; "stucts"
  ; "stuct"
  ; "stuctures"
  ; "stucture"
  ; "sturctures"
  ; "sturcture"
  ; "subdirectoires"
  ; "subexpresssions"
  ; "subexpresssion"
  ; "suble"
  ; "subseqent"
  ; "subsequest"
  ; "substituions"
  ; "substituion"
  ; "substracted"
  ; "substracting"
  ; "substraction"
  ; "substracts"
  ; "substract"
  ; "subtituted"
  ; "subtitutes"
  ; "subtitute"
  ; "subtituting"
  ; "subtitutions"
  ; "subtitution"
  ; "succeded"
  ; "succedes"
  ; "succede"
  ; "succeding"
  ; "succeedes"
  ; "succesfully"
  ; "succesful"
  ; "succesive"
  ; "successfull"
  ; "successfuly"
  ; "succint"
  ; "suceeded"
  ; "suceeding"
  ; "suceeds"
  ; "suceed"
  ; "sucesses"
  ; "sucessfully"
  ; "sucess"
  ; "sufficently"
  ; "sufficent"
  ; "superflous"
  ; "superseeded"
  ; "suplied"
  ; "suported"
  ; "suporting"
  ; "suports"
  ; "suport"
  ; "suppied"
  ; "suppies"
  ; "suppored"
  ; "supportin"
  ; "suppoted"
  ; "suppported"
  ; "suppporting"
  ; "suppports"
  ; "suppport"
  ; "suppying"
  ; "suppy"
  ; "supressed"
  ; "supresses"
  ; "supressing"
  ; "supress"
  ; "surpressed"
  ; "surpresses"
  ; "surpressing"
  ; "surpress"
  ; "suspicously"
  ; "suspicous"
  ; "sustitutions"
  ; "sustitution"
  ; "suuported"
  ; "suuporting"
  ; "suuports"
  ; "suuport"
  ; "swaping"
  ; "symetric"
  ; "synax"
  ; "synchonized"
  ; "synchonizes"
  ; "syncronize"
  ; "syncronizing"
  ; "syncronus"
  ; "synopsys"
  ; "syste"
  ; "sytems"
  ; "sytem"
  ; "sythesis"
  ; "taht"
  ; "targetted"
  ; "targetting"
  ; "teached"
  ; "teh"
  ; "temorary"
  ; "terminaters"
  ; "terminater"
  ; "thats"
  ; "theer"
  ; "theres"
  ; "therfore"
  ; "thier"
  ; "thie"
  ; "threasholds"
  ; "threashold"
  ; "threhold"
  ; "threshholds"
  ; "threshhold"
  ; "throught"
  ; "thses"
  ; "thsi"
  ; "tiggered"
  ; "tiggering"
  ; "tiggers"
  ; "tigger"
  ; "tigthened"
  ; "tigthening"
  ; "tigthens"
  ; "tigthen"
  ; "tigth"
  ; "tihs"
  ; "timetamps"
  ; "timetamp"
  ; "timout"
  ; "togther"
  ; "touple"
  ; "traditionnal"
  ; "trailling"
  ; "tranfered"
  ; "tranfering"
  ; "tranfers"
  ; "tranfer"
  ; "tranformations"
  ; "tranformation"
  ; "tranformed"
  ; "tranforming"
  ; "tranforms"
  ; "tranform"
  ; "tranlations"
  ; "tranlation"
  ; "tranparently"
  ; "tranparent"
  ; "transfered"
  ; "transfering"
  ; "transistions"
  ; "transistion"
  ; "transitionned"
  ; "transmition"
  ; "transormed"
  ; "transorming"
  ; "transorms"
  ; "transorm"
  ; "transtions"
  ; "transtion"
  ; "transtitions"
  ; "transtition"
  ; "trasmission"
  ; "treshold"
  ; "trigerring"
  ; "truely"
  ; "tupples"
  ; "tupple"
  ; "typicaly"
  ; "typles"
  ; "typle"
  ; "uesd"
  ; "uknown"
  ; "uncomented"
  ; "uncomenting"
  ; "uncoments"
  ; "uncoment"
  ; "uncommmented"
  ; "uncommmenting"
  ; "uncommments"
  ; "uncommment"
  ; "uncomplete"
  ; "unconditionaly"
  ; "uncoverted"
  ; "underuns"
  ; "underun"
  ; "undesireable"
  ; "unecessary"
  ; "uneeded"
  ; "unexcpected"
  ; "unexecpted"
  ; "unexected"
  ; "unexepcted"
  ; "unfortunatelly"
  ; "unfortunatly"
  ; "unforunately"
  ; "unforunate"
  ; "uninitalized"
  ; "unintentially"
  ; "uniqe"
  ; "unitialized"
  ; "univerities"
  ; "univerity"
  ; "unknonw"
  ; "unknow"
  ; "unkown"
  ; "unles"
  ; "unneccesarily"
  ; "unneccesary"
  ; "unneccessarily"
  ; "unneccessary"
  ; "unnecesarily"
  ; "unnecesary"
  ; "unnedded"
  ; "unneedingly"
  ; "unnesesarily"
  ; "unnessecary"
  ; "unnessesary"
  ; "unoffical"
  ; "unorderd"
  ; "unqouted"
  ; "unqoutes"
  ; "unqoute"
  ; "unqouting"
  ; "unrecogized"
  ; "unreconized"
  ; "unsinged"
  ; "unspported"
  ; "unsual"
  ; "unsued"
  ; "unsuported"
  ; "untill"
  ; "unusally"
  ; "unusal"
  ; "unuseful"
  ; "unusuable"
  ; "unversionned"
  ; "unversoned"
  ; "upated"
  ; "upates"
  ; "upate"
  ; "upating"
  ; "updateing"
  ; "upsream"
  ; "upsteam"
  ; "upstrema"
  ; "upto"
  ; "usally"
  ; "usal"
  ; "usefule"
  ; "usefull"
  ; "usege"
  ; "usera"
  ; "userful"
  ; "usetnet"
  ; "usuable"
  ; "usualy"
  ; "utilites"
  ; "utillities"
  ; "utilties"
  ; "utiltity"
  ; "utitlty"
  ; "utlity"
  ; "vaiables"
  ; "vaiable"
  ; "vaild"
  ; "validing"
  ; "varables"
  ; "varable"
  ; "variabes"
  ; "variabe"
  ; "variantions"
  ; "varibales"
  ; "varibale"
  ; "varient"
  ; "varity"
  ; "vauled"
  ; "vaules"
  ; "vaule"
  ; "vauling"
  ; "verbse"
  ; "verions"
  ; "verion"
  ; "verious"
  ; "verisons"
  ; "verison"
  ; "veritical"
  ; "verry"
  ; "versionned"
  ; "versionning"
  ; "versoned"
  ; "versons"
  ; "verson"
  ; "vicefersa"
  ; "visiters"
  ; "vitual"
  ; "wan't"
  ; "wasnt"
  ; "weigth"
  ; "weired"
  ; "werent"
  ; "wether"
  ; "whataver"
  ; "whenver"
  ; "wheras"
  ; "wheter"
  ; "whish"
  ; "whithout"
  ; "wich"
  ; "widht"
  ; "wierd"
  ; "wihout"
  ; "wiht"
  ; "wiil"
  ; "wilcards"
  ; "wilcard"
  ; "withing"
  ; "witin"
  ; "wnated"
  ; "wnating"
  ; "wnats"
  ; "wnat"
  ; "wont"
  ; "workaroung"
  ; "writeing"
  ; "writen"
  ; "writting"
  ; "xwindows"
  ; "yeilded"
  ; "yeilding"
  ; "yeilds"
  ; "yeild"
  ; "yur"
  ]
(* }}} *)

let regexp =
  let make_regexp word =
    "\\b" ^ Str.quote word ^ "\\b"
  in
  Str.regexp @@ String.concat "\\|" @@ List.map make_regexp badwords

let string_search re s start =
  try
    ignore (Str.search_forward re s start);
    true
  with
  Not_found -> false

let find s =
  if string_search regexp s 0 then
    Some (Str.matched_string s)
  else
    None
