diff --git a/README.md b/README.md index 8e44884a8..8bee1345e 100644 --- a/README.md +++ b/README.md @@ -26,10 +26,6 @@ (formerly nlp_compromise) -
- npm install compromise -
-
inspect and play with english text.
diff --git a/builds/compromise.es6.min.js b/builds/compromise.es6.min.js index 3e978b6b5..f2cc1f3b5 100644 --- a/builds/compromise.es6.min.js +++ b/builds/compromise.es6.min.js @@ -1,2 +1,2 @@ -(function(d){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=d();else if("function"==typeof define&&define.amd)define([],d);else{var y;y="undefined"==typeof window?"undefined"==typeof global?"undefined"==typeof self?this:self:global:window,y.nlp=d()}})(function(){var d;return function P(j,$,A){function z(C,V){if(!$[C]){if(!j[C]){var E="function"==typeof require&&require;if(!V&&E)return E(C,!0);if(N)return N(C,!0);var q=new Error("Cannot find module '"+C+"'");throw q.code="MODULE_NOT_FOUND",q}var D=$[C]={exports:{}};j[C][0].call(D.exports,function(O){var S=j[C][1][O];return z(S?S:O)},D,D.exports,P,j,$,A)}return $[C].exports}for(var N="function"==typeof require&&require,_=0;_ (http://spencermounta.in)",name:"compromise",description:"natural language processing in the browser",version:"7.0.17",main:"./builds/compromise.js",repository:{type:"git",url:"git://github.com/nlp-compromise/compromise.git"},scripts:{test:"node ./scripts/test.js",browsertest:"node ./scripts/browserTest.js",build:"node ./scripts/build.js",demo:"node ./scripts/demo.js",watch:"node ./scripts/watch.js",filesize:"node ./scripts/filesize.js",coverage:"node ./scripts/coverage.js"},files:["builds/","docs/"],dependencies:{},devDependencies:{"babel-preset-es2015":"6.9.0","babel-preset-stage-2":"^6.11.0",babelify:"7.3.0",babili:"0.0.11",browserify:"13.0.1",chalk:"^1.1.3","codacy-coverage":"^2.0.0",derequire:"^2.0.3",eslint:"^3.1.1",gaze:"^1.1.1","http-server":"0.9.0","nlp-corpus":"latest",nyc:"^8.4.0",shelljs:"^0.7.2","tap-min":"^1.1.0","tap-spec":"4.1.1",tape:"4.6.0","uglify-js":"2.7.0"},license:"MIT"}},{}],2:[function(P,j){"use strict";const A=P("../fns");j.exports=A.uncompress_suffixes(["ablaze","above","adult","ahead","aloof","arab","asleep","average","backwards","bad","blank","bogus","bottom","brisk","cagey","chief","civil","common","complex","cozy","crisp","devout","difficult","due","dumb","eerie","evil","excess","extra","fake","far","faux","fierce ","final","fit","foreign","fun","good","goofy","gratis","grey","groovy","gross","half","huge","humdrum","inside","kaput","left","level","lewd","magenta","makeshift","mammoth","medium","modern","moot","naive","nearby","next","nonstop","north","notable","offbeat","ok","online","offline","outside","overwrought","premium","pricey","pro","quaint","random","rear","rebel","ritzy","savvy","sexy","shut","shy","sleek","smug","solemn","south","stark","superb","taboo","teenage","top","tranquil","true","ultra","understood","unfair","unknown","upbeat","upstairs","vanilla","various","widespread","woozy","wrong"],{going:"easy,fore,on,out",ight:"overn,overwe,r,sl,upt",ated:"antiqu,intoxic,sophistic,unregul,unrel",rant:"aber,exube,flag,igno,vib",wing:"harro,kno,left-,right-",ted:"expec,impor,limi,spiri,talen,tes,unexpec,unpreceden",ish:"dan,fool,hell,lout,self,snobb,squeam,styl",ary:"dre,legend,necess,prim,sc,second,w,we",ite:"el,favor,fin,oppos,pet,pol,recond,tr",ely:"hom,lik,liv,lon,lov,tim,unlik",tly:"cos,ghas,ghos,nigh,sain,sprigh,unsigh",dly:"cowar,cud,frien,frien,kin,ma",ble:"a,dou,hum,nim,no,proba",rly:"bu,disorde,elde,hou,neighbo,yea",ped:"cram,pum,stereoty,stri,war",sed:"clo,disea,distres,unsupervi,u",lly:"chi,hi,jo,si,sme",per:"dap,impro,pro,su,up",ile:"fert,host,juven,mob,volat",led:"detai,disgrunt,fab,paralle,troub",ast:"e,l,p,steadf",ent:"abs,appar,b,pres",ged:"dama,deran,jag,rag",ded:"crow,guar,retar,undeci",est:"b,dishon,hon,quick",ial:"colon,impart,init,part",ter:"bet,lat,ou,ut",ond:"bey,bl,vagab",ady:"he,re,sh,ste",eal:"ether,id,r,surr",ard:"abo,awkw,stand,straightforw",ior:"jun,pr,sen,super",ale:"fem,m,upsc,wholes",ed:"advanc,belov,craz,determin,hallow,hook,inbr,justifi,nak,nuanc,sacr,subdu,unauthoriz,unrecogniz,wick",ly:"dai,earth,gris,heaven,low,meas,month,oi,prick,seem,s,ug,unru,week,wi,woman",al:"actu,coloss,glob,illeg,leg,leth,liter,loy,ov,riv,roy,univers,usu",dy:"baw,bloo,clou,gau,gid,han,mol,moo,stur,ti,tren,unti,unwiel",se:"adver,den,diver,fal,immen,inten,obe,perver,preci,profu",er:"clev,form,inn,oth,ov,she,slend,somb,togeth,und",id:"afra,hum,langu,plac,rab,sord,splend,stup,torp",re:"awa,bizar,di,enti,macab,me,seve,since,spa",en:"barr,brok,crav,op,sudd,unev,unwritt,wood",ic:"alcohol,didact,gener,hispan,organ,publ,symbol",ny:"ma,pho,pu,shi,skin,ti,za",st:"again,mo,populi,raci,robu,uttermo",ne:"do,go,insa,obsce,picayu,sere",nd:"behi,bla,bli,profou,undergrou,wou",le:"multip,sing,so,subt,who",pt:"abru,ade,a,bankru,corru,nondescri",ty:"faul,hef,lof,mea,sal,uppi",sy:"bu,chee,lou,no,ro",ct:"abstra,exa,imperfe,inta,perfe",in:"certa,highfalut,ma,tw,va",et:"discre,secr,sovi,ups,viol",me:"part-ti,pri,sa,supre,welco",cy:"boun,fan,i,jui,spi",ry:"fur,sor,tawd,wi,w",te:"comple,concre,obsole,remo",ld:"ba,bo,go,mi",an:"deadp,republic,t,urb",ll:"a,i,overa,sti",ay:"everyd,g,gr,ok",or:"indo,maj,min,outdo",my:"foa,gloo,roo,sli",ck:"ba,qua,si,sli",rt:"cove,expe,hu,ove",ul:"fo,gainf,helpf,painf"})},{"../fns":7}],3:[function(P,j){"use strict";const A=P("../fns");j.exports=A.uncompress_suffixes(["absurd","aggressive","alert","alive","angry","attractive","awesome","beautiful","big","bitter","black","blue","bored","boring","brash","brave","brief","brown","calm","charming","cheap","check","clean","clear","close","cold","cool","cruel","curly","cute","dangerous","dear","dirty","drunk","dry","dull","eager","early","easy","efficient","empty","even","extreme","faint","fair","fanc","feeble","few","fierce","fine","firm","forgetful","formal","frail","free","full","funny","gentle","glad","glib","glad","grand","green","gruesome","handsome","happy","harsh","heavy","high","hollow","hot","hungry","impolite","important","innocent","intellegent","interesting","keen","kind","lame","large","late","lean","little","long","loud","low","lucky","lush","macho","mature","mean","meek","mellow","mundane","narrow","near","neat","new","nice","noisy","normal","odd","old","orange","pale","pink","plain","poor","proud","pure","purple","rapid","rare","raw","rich","rotten","round","rude","safe","scarce","scared","shallow","shrill","simple","slim","slow","small","smooth","solid","soon","sore","sour","square","stale","steep","strange","strict","strong","swift","tall","tame","tart","tender","tense","thin","thirsty","tired","true","vague","vast","vulgar","warm","weird","wet","wild","windy","wise","yellow","young"],{erate:"degen,delib,desp,lit,mod",icial:"artif,benef,off,superf",ntial:"esse,influe,pote,substa",teful:"gra,ha,tas,was",stant:"con,di,in,resi",hing:"astonis,das,far-reac,refres,scat,screec,self-loat,soot",eful:"car,grac,peac,sham,us,veng",ming:"alar,cal,glea,unassu,unbeco,upco",cial:"commer,cru,finan,ra,so,spe",ure:"insec,miniat,obsc,premat,sec,s",uent:"congr,fl,freq,subseq",rate:"accu,elabo,i,sepa",ific:"horr,scient,spec,terr",rary:"arbit,contempo,cont,tempo",ntic:"authe,fra,giga,roma",nant:"domi,malig,preg,reso",nent:"emi,immi,perma,promi",iant:"brill,def,g,luxur",ging:"dama,encoura,han,lon",iate:"appropr,immed,inappropr,intermed",rect:"cor,e,incor,indi",zing:"agoni,ama,appeti,free",ine:"div,femin,genu,mascul,prist,rout",ute:"absol,ac,c,m,resol",ern:"east,north,south,st,west",tful:"deligh,doub,fre,righ,though,wis",ant:"abund,arrog,eleg,extravag,exult,hesit,irrelev,miscre,nonchal,obeis,observ,pl,pleas,redund,relev,reluct,signific,vac,verd",ing:"absorb,car,coo,liv,lov,ly,menac,perplex,shock,stand,surpris,tell,unappeal,unconvinc,unend,unsuspect,vex,want",ate:"adequ,delic,fortun,inadequ,inn,intim,legitim,priv,sed,ultim"})},{"../fns":7}],4:[function(P,j){j.exports=["bright","broad","coarse","damp","dark","dead","deaf","deep","fast","fat","flat","fresh","great","hard","light","loose","mad","moist","quick","quiet","red","ripe","rough","sad","sharp","short","sick","smart","soft","stiff","straight","sweet","thick","tight","tough","weak","white","wide"]},{}],5:[function(P,j){"use strict";let z=["monday","tuesday","wednesday","thursday","friday","saturday","sunday","mon","tues","wed","thurs","fri","sat","sun"];for(let V=0;6>=V;V++)z.push(z[V]+"s");let N=["millisecond","minute","hour","day","week","month","year","decade"],_=N.length;for(let V=0;V<_;V++)N.push(N[V]),N.push(N[V]+"s");N.push("century"),N.push("centuries"),N.push("seconds");j.exports={days:z,months:["january","february","april","june","july","august","september","october","november","december","jan","feb","mar","apr","jun","jul","aug","sep","oct","nov","dec","sept","sep"],durations:N,relative:["yesterday","today","tomorrow","weekend","tonight"]}},{}],6:[function(P,j){j.exports=["all hallows eve","all saints day","all sts day","april fools","armistice day","australia day","bastille day","boxing day","canada day","christmas","christmas eve","cinco de mayo","emancipation day","groundhog day","halloween","16 de septiembre","dieciseis de septiembre","grito de dolores","all hallows eve","day of the dead","dia de muertos","harvey milk day","inauguration day","independence day","independents day","juneteenth","labour day","national freedom day","national nurses day","new years","new years eve","purple heart day","rememberance day","rosa parks day","saint andrews day","saint patricks day","saint stephens day","saint valentines day","st andrews day","st patricks day","st stephens day","st valentines day ","valentines day","veterans day","victoria day","womens equality day","xmas","epiphany","orthodox christmas day","orthodox new year","assumption of mary","all saints day","all souls day","feast of the immaculate conception","feast of our lady of guadalupe","kwanzaa","imbolc","beltaine","lughnassadh","samhain","martin luther king day","mlk day","presidents day","mardi gras","tax day","commonwealth day","mothers day","memorial day","fathers day","columbus day","indigenous peoples day","canadian thanksgiving","election day","thanksgiving","t-day","turkey day","black friday","cyber monday","ash wednesday","palm sunday","maundy thursday","good friday","holy saturday","easter","easter sunday","easter monday","orthodox good friday","orthodox holy saturday","orthodox easter","orthodox easter monday","ascension day","pentecost","whitsunday","whit sunday","whit monday","trinity sunday","corpus christi","advent","tu bishvat","tu bshevat","purim","passover","yom hashoah","lag baomer","shavuot","tisha bav","rosh hashana","yom kippur","sukkot","shmini atzeret","simchat torah","chanukah","hanukkah","isra and miraj","lailat al-qadr","eid al-fitr","id al-Fitr","eid ul-Fitr","ramadan","eid al-adha","muharram","the prophets birthday","ostara","march equinox","vernal equinox","litha","june solistice","summer solistice","mabon","september equinox","autumnal equinox","yule","december solstice","winter solstice","chinese new year","diwali"]},{}],7:[function(P,j,$){"use strict";$.extendObj=(A,z)=>{return Object.keys(z).forEach((N)=>{A[N]=z[N]}),A},$.uncompress_suffixes=function(A,z){let N=Object.keys(z),_=N.length;for(let C=0;C<_;C++){const V=z[N[C]].split(",");for(let E=0;E{z.extendObj(E,F)},D=(F,M)=>{const W=F.length;for(let G=0;G1{E[F]="Infinitive";let M=A.irregular_verbs[F];Object.keys(M).forEach((G)=>{M[G]&&(E[M[G]]=G)});let W=V(F);Object.keys(W).forEach((G)=>{W[G]&&!E[W[G]]&&(E[W[G]]=G)})}),A.verbs.forEach((F)=>{let M=V(F);Object.keys(M).forEach((W)=>{M[W]&&!E[M[W]]&&(E[M[W]]=W)}),E[C(F)]="Adjective"}),A.superlatives.forEach((F)=>{E[_.toNoun(F)]="Noun",E[_.toAdverb(F)]="Adverb",E[_.toSuperlative(F)]="Superlative",E[_.toComparative(F)]="Comparative"}),A.verbConverts.forEach((F)=>{E[_.toNoun(F)]="Noun",E[_.toAdverb(F)]="Adverb",E[_.toSuperlative(F)]="Superlative",E[_.toComparative(F)]="Comparative";const M=_.toVerb(F);E[M]="Verb";let W=V(M);Object.keys(W).forEach((G)=>{W[G]&&!E[W[G]]&&(E[W[G]]=G)})}),A.nouns.forEach((F)=>{E[F]="Singular";let M=N(F);E[M]="Plural"}),q(A.firstnames),D(A.notable_people.female,"FemaleName"),D(A.notable_people.male,"MaleName"),D(A.titles,"Singular"),D(A.lastnames,"LastName"),D(A.places.airports,"Place"),D(A.places.cities,"City"),D(A.places.countries,"Country"),D(A.organizations,"Organization"),D(A.adjectives,"Adjective"),D(A.verbConverts,"Adjective"),D(A.superlatives,"Adjective"),D(A.currencies,"Currency"),q(A.misc),delete E[""],delete E[" "],delete E[null],j.exports=E},{"../result/subset/adjectives/methods/index":61,"../result/subset/nouns/methods/pluralize":98,"../result/subset/verbs/methods/conjugate/faster":136,"../result/subset/verbs/methods/toAdjective":147,"./fns":7,"./index":8}],10:[function(P,j){j.exports=["a lot","a posteriori","abroad","ad nauseam","again","all but","all that","almost","alone","already","also","always","anymore","anyway","apart","aside","at best","at large","at least","at most","at worst","away","by far","by now","damn","de jure","de trop","directly","en masse","ever","for example","for good","for sure","forever","further","furthermore","hence","indeed","instead","just","just about","kinda","maybe","meanwhile","more","moreover","newly","no longer","not withstanding","of course","often","once","once again","once more","only","par excellence","per se","perhaps","point blank","quite","randomly","rather","really","several","so","somehow","sometimes","somewhat","soon","sort of","such","then","thus","too","totally","toward","twice","up to","upwards of","very","way","well","yes","yep"]},{}],11:[function(P,j){j.exports=["this","any","enough","each","whatever","every","these","another","plenty","whichever","neither","an","a","least","own","few","both","those","the","that","various","either","much","some","else","la","le","les","des","de","du","el"]},{}],12:[function(P,j){j.exports=["uh","uhh","uhm","uh huh","uh-oh","please","plz","ugh","sheesh","eww","pff","voila","oy","hi","hello","bye","goodbye","hey","hai","eep","hurrah","yuck","ow","duh","oh","hmm","yeah","whoa","ooh","whee","ah","bah","gah","yaa","phew","gee","ahem","eek","meh","yahoo","oops","d'oh","psst","argh","grr","nah","shhh","whew","mmm","ooo","yay","uh-huh","boo","wow","nope","haha","hahaha","lol","lols","lmao","lmfao","ya","hee","ohh","eh","yup","wtf","wtaf","et cetera","fuck","shit","damn","dang","damnit","dammit","hell","a la"]},{}],13:[function(P,j){"use strict";const A={here:"Noun",better:"Comparative",earlier:"Superlative","make sure":"Verb","keep tabs":"Verb",gonna:"Verb",cannot:"Verb",has:"Verb",sounds:"PresentTense",taken:"PastTense",msg:"Verb","a few":"Value","years old":"Unit",not:"Negative",non:"Negative",never:"Negative",no:"Negative","no doubt":"Noun","not only":"Adverb","how's":"QuestionWord"},z={Adjective:["so called","on board","vice versa","en route","upside down","up front","in front","in situ","in vitro","ad hoc","de facto","ad infinitum","for keeps","a priori","off guard","spot on","ipso facto","fed up","brand new","old fashioned","bona fide","well off","far off","straight forward","hard up","sui generis","en suite","avant garde","sans serif","gung ho","super duper","bourgeois"],Verb:["lengthen","heighten","worsen","lessen","awaken","frighten","threaten","hasten","strengthen","given","known","shown","seen","born"],Place:["new england","new hampshire","new jersey","new mexico","united states","united kingdom","great britain","great lakes","pacific ocean","atlantic ocean","indian ocean","arctic ocean","antarctic ocean","everglades"],Conjunction:["yet","therefore","or","while","nor","whether","though","tho","because","cuz","but","for","and","however","before","although","how","plus","versus","otherwise"],Time:["noon","midnight","now","morning","evening","afternoon","night","breakfast time","lunchtime","dinnertime","ago","sometime","eod","oclock"],Date:["eom","standard time","daylight time"],Condition:["if","unless","notwithstanding"],PastTense:["said","had","been","began","came","did","meant","went"],Gerund:["going","being","according","resulting","developing","staining"],Copula:["is","are","was","were","am"],Determiner:P("./determiners"),Preposition:P("./prepositions"),Modal:["can","may","could","might","will","ought to","would","must","shall","should","ought","shant","lets"],Possessive:["mine","something","none","anything","anyone","theirs","himself","ours","his","my","their","yours","your","our","its","herself","hers","themselves","myself","her"],Pronoun:["it","they","i","them","you","she","me","he","him","ourselves","us","we","thou","il","elle","yourself","'em","he's","she's"],QuestionWord:["where","why","when","who","whom","whose","what","which"],Adverb:P("./adverbs"),Expression:P("./expressions"),Person:["father","mother","mom","dad","mommy","daddy","sister","brother","aunt","uncle","grandfather","grandmother","cousin","stepfather","stepmother","boy","girl","man","woman","guy","dude","bro","gentleman","someone"]},N=Object.keys(z);for(let _=0;_{return _[C[1]]=C[0],_},{}),N=A.reduce((_,C)=>{return _[C[0]]=C[1],_},{});j.exports={toSingle:z,toPlural:N}},{}],18:[function(P,j){j.exports=["egg","bottle","cottage","kitty","doggy","ad hominem","banking","body","breakfast","ceiling","city","credit card","death","dinner","door","economy","energy","event","everything","example","fl oz","friend","funding","god","glacier","canary","grand slam","head start","home","house","lunch","nothing","number","others","part","patent","problem","purpose","room","student","stuff","super bowl","system","there","thing","things","tragedy","us dollar","world","world series"]},{}],19:[function(P,j){"use strict";const A=P("../fns");let z=["andorra","antarctica","antigua and barbuda","aruba","bahamas","bangladesh","barbados","belgium","belize","bermuda","bonaire","brazil","brunei","burkina faso","burundi","burma","cape verde","chile","comoros","congo-brazzaville","cuba","curacao","cote d'ivoire","denmark","djibouti","dominica","east timor","ecuador","egypt","el salvador","fiji","france","french guiana","germany","gibraltar","greece","grenada","guam","guinea-bissau","guadeloupe","guernsey","haiti","honduras","hungary","hong kong","isle of man","iraq","israel","ivory coast","italy","jamaica","jersey","kenya","kiribati","kosovo","kuwait","laos","lesotho","libya","luxembourg","macao","malawi","mali","malta","martinique","mayotte","moldova","mozambique","montserrat","montenegro","nauru","niue","netherlands","nicaragua","niger","palau","panama","peru","samoa","san marino","saint helena","sint maarten","singapore","sri lanka","suriname","sweden","timor-leste","trinidad and tobago","tonga","tokelau","turkey","tuvalu","u.s.a.","united kingdom","u.k.","usa","ussr","vanuatu","vietnam","vatican city","wales","wallis and futuna","yemen","zimbabwe"];z=A.uncompress_suffixes(z,{sland:"christmas i,norfolk i,bouvet i",slands:"british virgin i,u.s. virgin i,turks and caicos i,pitcairn i,northern mariana i,marshall i,cayman i,faroe i,falkland i,cook i,cocos i,keeling i,solomon i",istan:"pak,uzbek,afghan,tajik,turkmen",ublic:"czech rep,dominican rep,central african rep",uinea:"g,papua new g,equatorial g",land:"thai,po,switzer,fin,republic of ire,ire,new zea,swazi,ice,eng,scot,green",ania:"tanz,rom,maurit,lithu,alb",rica:"ame,united states of ame,south af,costa ",mbia:"colo,za,ga",eria:"nig,alg,lib",nia:"arme,macedo,slove,esto",sia:"indone,rus,malay,tuni",ina:"ch,argent,bosnia and herzegov",tan:"kazakhs,kyrgyzs,bhu",ana:"gh,botsw,guy",bia:"saudi ara,ser,nami",lia:"austra,soma,mongo",rea:"south ko,north ko,erit",dan:"su,south su,jor",ria:"sy,aust,bulga",co:"mexi,mona,puerto ri,moroc",ia:"ind,ethiop,cambod,boliv,slovak,georg,croat,latv,saint luc,micrones,french polynes,czech",an:"jap,ir,taiw,azerbaij,om",da:"ugan,cana,rwan",us:"belar,mauriti,cypr",al:"nep,seneg,portug",in:"spa,ben,bahra,saint mart,liechtenste",go:"dr con,to,trinidad-toba",la:"anguil,venezue,ango,guatema",es:"united stat,philippin,united arab emirat,seychell,maldiv",on:"camero,leban,gab",ar:"myanm,madagasc,qat",ay:"paragu,norw,urugu",ne:"ukrai,sierra leo,palesti"});let _=["aalborg","abu dhabi","ahmedabad","almaty","antwerp","aqaba","ashdod","ashgabat","athens","auckland","bogota","brussels","calgary","cape town","cebu","curitiba","doha","dushanbe","frankfurt","genoa","ghent","giza","graz","guangzhou","haifa","hanoi","helsinki","ho chi minh","homs","i\u0307zmir","jakarta","kiev","kingston","klaipeda","kobe","kosice","krakow","la plata","luxembourg","medell\xEDn","mexico","miskolc","montevideo","montreal","moscow","nagoya","nis","odessa","oslo","ottawa","palermo","paris","perth","phnom penh","phoenix","port elizabeth","poznan","prague","reykjavik","riga","rome","rosario","seville","skopje","stockholm","stuttgart","sydney","tbilisi","tegucigalpa","the hague","thessaloniki","tokyo","toulouse","trondheim","tunis","turku","utrecht","warsaw","winnipeg","wroclaw","zagreb"];_=A.uncompress_suffixes(_,{burg:"saint peters,yekaterin,ham,til,gothen,salz",ton:"hous,edmon,welling,hamil",ion:"herakl",ana:"hav,tir",ara:"guadalaj,ank,timiso",an:"tehr,mil,durb,bus,tain,abidj,amm,yerev",ia:"philadelph,brasil,alexandr,pretor,valenc",on:"ly,lond,yang,inche,daeje,lisb",en:"shenzh,eindhov,pils,copenhag,berg",ng:"beiji,chittago,pyongya,kaohsiu,taichu",in:"tianj,berl,tur,dubl,duned",es:"los angel,nant,napl,buenos air,f",la:"pueb,mani,barranquil,kampa,guatema",or:"salvad,san salvad,ulan bat,marib",us:"damasc,pirae,aarh,vilni",as:"carac,patr,burg,kaun",va:"craio,petah tik,gene,bratisla",ai:"shangh,mumb,chenn,chiang m",ne:"colog,melbour,brisba,lausan",er:"manchest,vancouv,tangi",ka:"dha,osa,banja lu",ro:"rio de janei,sappo,cai",am:"birmingh,amsterd,rotterd",ur:"kuala lump,winterth,kopavog",ch:"muni,zuri,christchur",na:"barcelo,vien,var",ma:"yokoha,li",ul:"istanb,seo,kab",to:"toron,qui,por",iv:"khark,lv,tel av",sk:"gdan,min"});_=A.uncompress_prefixes(_,{"new ":"delhi,york,taipei",san:"a'a,tiago, jose",ta:"ipei,mpere,llinn,rtu",ba:"ngalore,ngkok,ku,sel",li:"verpool,ege,nz,massol",ma:"rseille,ndalay,drid,lmo",be:"rn,lgrade,irut",ka:"rachi,raj,ndy",da:"egu,kar,ugavpils",ch:"icago",co:"lombo,nstanta,rk",bu:"rsa,charest,dapest"});j.exports={countries:z,cities:_,airports:["atl","pek","lhr","hnd","ord","lax","cdg","dfw","cgk","dxb","fra","hkg","den","bkk","ams","jfk","ist","sfo","clt","las","phx","iax","kul","mia","icn","muc","syd","fco","mco","bcn","yyz","lgw","phl"]}},{"../fns":7}],20:[function(P,j){j.exports=["accountant","administrator","advisor","agent","architect","artist","assistant","attendant","bricklayer","butcher","carpenter","clerk","deputy","dietician","engineer","farmer","firefighter","fireman","gardener","getor","hairdresser","housekeeper","instructor","journalist","lawyer","mechanic","minister","musician","nurse","officer","operator","photographer","plumber","policeman","politician","practitioner","president","programmer","psychologist","receptionist","researcher","roofer","sailor","scientist","secretary","security guard","soldier","supervisor","surgeon","technician","therapist"]},{}],21:[function(P,j){j.exports=["advice","aircraft","art","baggage","bass","beef","bison","blood","bread","butter","cake","cash","celcius","chaos","cheese","chewing","civics","clothing","coal","coffee","conduct","confusion","cotton","currency","economics","education","electricity","enjoyment","entertainment","equipment","ethics","everybody","everyone","fahrenheit","fiction","fish","flour","food","forgiveness","fowl","fruit","fun","furniture","gold","golf","gossip","grass","ground","gum","gymnastics","hair","halibut","happiness","hertz","history","hockey","homework","honey","hospitality","ice","impatience","importance","information","itself","jewelry","justice","kelvin","knowledge","laughter","leather","leisure","lightning","liquid","literature","luck","luggage","machinery","mail","mathematics","measles","meat","milk","mist","money","moose","mumps","music","news","noise","oil","oxygen","paper","patience","peace","peanut","pepper","petrol","physics","plastic","pork","power","pressure","progress","rain","recognition","recreation","relaxation","research","rice","sadness","safety","salmon","salt","sand","scenery","series","sheep","shopping","silk","silver","snow","soap","soccer","softness","space","spacecraft","species","speed","steam","steel","sugar","sunshine","tea","tennis","thunder","time","toothpaste","traffic","trouble","trousers","trout","tuna","vinegar","violence","warmth","water","weather","wildlife","wine","wood","wool"]},{}],22:[function(P,j){j.exports=["abba","ac/dc","aerosmith","bee gees","coldplay","creedence clearwater revival","def leppard","depeche mode","destiny's child","duran duran","fleetwood mac","green day","guns n roses","joy division","metallica","moody blues","motley crue","new kids on the block","pink floyd","r.e.m.","radiohead","red hot chili peppers","sex pistols","soundgarden","spice girls","the beach boys","the beatles","the black eyed peas","the byrds","the carpenters","the guess who","the hollies","the rolling stones","the smashing pumpkins","the supremes","the who","thin lizzy","u2","van halen"]},{}],23:[function(P,j){j.exports=["administration","agence","agences","agencies","agency","aircraft","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","building society","bureau","cafe","caisse","capital","care","cathedral","center","central bank","centre","chemicals","choir","chronicle","church","circus","clinic","clinique","club","co","coalition","coffee","collective","college","commission","committee","communications","community","company","comprehensive","computers","confederation","conference","conseil","consulting","containers","corporation","corps","council","crew","daily news","data","departement","department","department store","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","evening news","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","health authority","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institute of technology","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","liberation army","limited","local authority","local health authority","machines","magazine","management","marine","marketing","markets","media","memorial","mercantile exchange","ministere","ministry","military","mobile","motor","motors","musee","museum","news","news service","observatory","office","oil","optical","orchestra","organization","partners","partnership","people's party","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","regional authority","regional health authority","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","social club","societe","society","sons","standard","state police","state university","stock exchange","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"]},{}],24:[function(P,j){"use strict";j.exports=["20th century fox","3m","7-eleven","abc","academy of sciences","acer","activision","adidas","aig","al jazeera","al qaeda","alcatel-lucent","alcatel","altair","amc","amd","american express","amt","amtrak","anheuser-busch","aol","apple computers","applebee's","arby's","argos","armco","ashland oil","associated press","at&t","avis","avon","ayer","banana republic","basf","baskin robbins","baxter","bayer","bbc","bechtel","ben & jerry's","berkshire hathaway","bf goodrich","bfgoodrich","black & decker","blockbuster video","bloomingdale","blue cross","bmw","bni","boeing","bombardier","boston globe","boston pizza","bp","cadbury","carl's jr","cbc","chevron","chevy","chick fil-a","china daily","cia","cisco systems","cisco","citigroup","cnn","coca cola","colgate","comcast","compaq","coors","costco","craigslist","daimler","dea","dell","der spiegel","disney","doj","dow jones","dunkin donuts","dupont","ebay","esa","eu","exxon mobil","exxonmobil","facebook","fannie mae","fbi","fda","fedex","fiat","financial times","firestone","ford","frito-lay","g8","general electric","general motors","ghq","glaxo smith kline","glencore","goldman sachs","goodyear","google","gucci","h & m","hasbro","hewlett-packard","hitachi","hizbollah","home depot","honda","hsbc","hyundai","ibm","ihop","ing","intel","interpol","itv","jiffy lube","johnson & johnson","jpmorgan chase","jpmorgan","jsa","katv","kfc","kkk","kmart","kodak","l'oreal","la presse","la-z-boy","lenovo","lexis","lexmark","lg","little caesars","mac's milk","mattel","mazda","mcdonald's","mcdonalds","medicaid","medicare","mercedes-benz","mercedes","microsoft","mitas","mitsubishi","mlb","mobil","monsanto","motel 6","motorola","mtv","myspace","nandos","nascar","nasdaq","national academy of sciences","nato","natwest","nba","nbc","nestle","nestl\xE9","netflix","new york times","newsweek","nfl","nhl","nhs","nike","nintendo","nissan","nokia","notre dame","novartis","nsa","nwa","old navy","opec","orange julius","oxfam","pan am","panasonic","panda express","pbs","pepsico","petrobras","petrochina","petronas","peugeot","pfizer","philip morris","pizza hut","premier oil","procter & gamble","prudential","quantas","quizno's","rbc","rbs","re/max","readers digest","red bull","red cross","red lobster","revlon","royal bank","royal dutch shell","ryanair","safeway","sainsbury's","samsung","sears","siemens","sony","starbucks","statoil","subaru","t mobile","taco bell","td bank","telefonica","telus","tesco","tesla motors","tgi fridays","the daily mail","tim hortons","tmz","toshiba","toyota","toys r us","twitter","ubs","unesco","unilever","united nations","ups","usa today","usps","verizon","vh1","visa","vodafone","volkswagen","volvo","wal-mart","walgreens","wall street journal","walmart","warner bros","wells fargo","westfield","westinghouse","world trade organization","yahoo!","yamaha","ymca","youtube","ywca"]},{}],25:[function(P,j){j.exports=["washington nationals","toronto blue jays","texas rangers","tampa bay rays","st. louis cardinals","seattle mariners","san francisco giants","san diego padres","pittsburgh pirates","philadelphia phillies","oakland athletics","new york yankees","new york mets","minnesota twins","milwaukee brewers","miami marlins","los angeles dodgers","kansas city royals","houston astros","detroit tigers","colorado rockies","cleveland indians","cincinnati reds","chicago white sox","chicago cubs","boston red sox","baltimore orioles","atlanta braves","arizona diamondbacks","diamondbacks","braves","orioles","white sox","astros","royals","dodgers","marlins","brewers","mets","yankees","phillies","padres","giants","mariners","cardinals","blue jays","boston celtics","brooklyn nets","new york knicks","philadelphia 76ers","toronto raptors","chicago bulls","cleveland cavaliers","detroit pistons","indiana pacers","milwaukee bucks","atlanta hawks","charlotte hornets","miami heat","orlando magic","washington wizards","dallas mavericks","houston rockets","memphis grizzlies","new orleans pelicans","san antonio spurs","denver nuggets","minnesota timberwolves","portland trail blazers","oklahoma city thunder","utah jazz","golden state warriors","los angeles clippers","los angeles lakers","phoenix suns","sacramento kings","76ers","knicks","mavericks","lakers","celtics","buffalo bills","miami dolphins","new england patriots","new york jets","baltimore ravens","cincinnati bengals","cleveland browns","pittsburgh steelers","houston texans","indianapolis colts","jacksonville jaguars","tennessee titans","denver broncos","kansas city chiefs","oakland raiders","san diego chargers","dallas cowboys","new york giants","philadelphia eagles","washington redskins","chicago bears","detroit lions","green bay packers","minnesota vikings","atlanta falcons","carolina panthers","new orleans saints","tampa bay buccaneers","arizona cardinals","st. louis rams","san francisco 49ers","seattle seahawks","chicago fire","columbus crew sc","d.c. united","montreal impact","new england revolution","new york city fc","new york red bulls","philadelphia union","colorado rapids","fc dallas","houston dynamo","la galaxy","portland timbers","real salt lake","san jose earthquakes","seattle sounders","sporting kansas city","vancouver whitecaps","atlanta united","minnesota united","blackburn rovers","leicester city","manchester city","manchester united","aston villa","cardiff city","newcastle united","queens park rangers","sheffield united","stoke city","tottenham hotspur","west ham united"]},{}],26:[function(P,j){j.exports=["casey","jamie","lee","jaime","jessie","morgan","rene","robin","devon","kerry","alexis","guadalupe","blair","kasey","jean","marion","aubrey","shelby","jan","shea","jade","kenyatta","kelsey","shay","lashawn","trinity","regan","jammie","cassidy","cheyenne","reagan","shiloh","marlo","andra","devan","rosario","lee","mel"]},{}],27:[function(P,j){"use strict";const A=P("../fns");let N=["abigail","aicha","alya","andrea","annika","beatriz","bettye","brandi","brooke","carol","celeste","chelsea","cheryl","chloe","claire","cleo","constanza","consuelo","crystal","dominique","dorothea","eleanor","eliza","erika","fay","faye","fern","gail","genevieve","gertrude","gladys","heidi","ingrid","jade","jill","jo","jodie","joni","kate","katie","kathryn","kay","kim","krystal","latoya","laxmi","leigh","lindsay","lupe","lynn","mae","malika","margo","marguerite","marisol","maritza","maude","maya","mildred","miriam","monique","mrignayani","naomi","nell","nikki","olga","paige","pam","parvati","pearl","reba","robyn","rosalind","shania","sheryl","sue","sybil","tami","tamika","therese","toni","gisele"];N=A.uncompress_suffixes(N,{stine:"chri,erne,ju,kri",rlene:"a,cha,da,ma",eline:"ad,ang,jacqu,mad",nette:"an,antoi,jean,ly",elia:"ad,am,ang,cec,c,corn,d,of,sh",anne:",di,je,jo,le,mari,rox,sus,suz",elle:"dani,est,gabri,isab,jan,mich,rach,roch",ella:"d,est,isab,lu,marc,st",rina:"kata,kat,ma,sab,t",icia:"al,fel,let,patr,tr",ette:"bernad,b,claud,paul,yv",leen:"ai,cath,col,ei,kath",ndra:"alexa,cassa,ke,sa,so",elma:",s,th,v",anda:"am,mir,w,yol",etta:",henri,lor,ros",isha:"al,ke,lat,tr",tina:"cris,mar,,valen",inda:"bel,l,luc,mel",arla:"c,d,k,m",lena:"e,je,,magda",ine:"carol,cather,cel,ela,franc,gerald,jan,jasm,jeann,joseph,kathar,kather,lorra,max,nad,paul",ice:"al,beatr,bern,cand,clar,eun,jan,patr",ela:"andj,ang,carm,gabri,graci,l,manu,pam",ara:"barb,c,cl,k,l,tam,t,z",ora:"c,d,fl,isid,len,l,n,teod",ina:"am,catal,d,georg,g,josef,n",ita:"an,arp,bon,juan,kav,margar,r",nna:"dea,do,gle,je,joha,lado,sha",lyn:"caro,eve,gwendo,jac,jacque,joce,mari",ica:"angel,er,jess,mil,mon,patr,veron",ene:"adri,hel,imog,ir,jol,lor",ana:"adri,d,jov,ju,l,sus",nda:"bre,gle,ly,rho,ro",nia:"anto,euge,so,to,virgi",ley:"ash,kel,kimber,les,shir",sha:"lata,mar,nata,ta",ian:"jill,lill,mar,viv",isa:"al,el,l,lu",ann:",jo,le,mary",ise:"den,el,elo,lou",ida:"a,,rach,sa",nya:"lato,so,ta,to",ssa:"aly,mari,meli,vane",tha:"ber,mar,saman,tabi",ia:"cecil,claud,cynth,dam,georg,glor,jul,luc,lyd,marc,mar,nad,oliv,silv,sof,soph,sylv,victor",la:"eu,kay,lei,leo,li,lo,pau,priscil,shei,ursu,vio,wil",na:"de,ed,leo,lor,mo,myr,ramo,re,shau,shaw,shee,ver",le:"ade,camil,caro,ceci,ga,gay,lucil,mab,myrt,nicho,nico",en:"carm,dore,ell,gretch,gw,hel,kar,kirst,krist,laur,maure",ra:"aud,barb,deb,elvi,javie,lau,may,my,pet,ve",ma:"al,em,er,fati,ir,kari,nai,nor,wil",el:"eth,isab,laur,mab,marib,muri,racha,rach,raqu",ta:"alber,al,chris,ek,kris,mandakran,mar,rober",ey:"audr,brittn,courtn,linds,stac,trac,whitn",ri:"je,kanyakuma,ka,ker,sha,she,ter",ne:"corin,daph,ja,laver,lyn,simo,yvon",th:"be,edi,elisabe,elizabe,judi,meredi,ru",ah:"aish,beul,debor,hann,le,rebek,sar",is:"delor,dor,jan,lo,mav,phyll",da:"a,fre,frie,hil,matil,priyamva",ce:"canda,constan,floren,gra,joy",es:"agn,delor,dolor,franc,merced",er:"amb,est,esth,heath,jennif",et:"bridg,harri,jan,margar,margr",ca:"bian,blan,francis,rebec",ja:"an,khadi,mari,son",sa:"el,ro,tere,there",ee:"aim,d,desir,ren",va:"a,el,e,i",in:"caitl,er,kar,krist",on:"alis,man,shann,shar",an:"meag,meg,megh,sus"});for(let C=0,V;C{let C=Object.keys(A.ordinal[_]),V=Object.keys(A.cardinal[_]);for(let E=0;E{Object.keys(A[N]).forEach((_)=>{1<_.length&&(z[_]=!0);let C=A[N][_];z[C]=!0,z[C+"s"]=!0})}),z=Object.keys(z),j.exports={words:z,units:A}},{}],37:[function(P,j){"use strict";const A=P("./participles"),z={take:{PerfectTense:"have taken",pluPerfectTense:"had taken",FuturePerfect:"will have taken"},can:{Gerund:"",PresentTense:"can",PastTense:"could",FutureTense:"can",PerfectTense:"could",pluPerfectTense:"could",FuturePerfect:"can",Actor:""},free:{Gerund:"freeing",Actor:""},arise:{PastTense:"arose",Participle:"arisen"},babysit:{PastTense:"babysat",Actor:"babysitter"},be:{PastTense:"was",Participle:"been",PresentTense:"is",Actor:"",Gerund:"am"},is:{PastTense:"was",PresentTense:"is",Actor:"",Gerund:"being"},beat:{Gerund:"beating",Actor:"beater",Participle:"beaten"},begin:{Gerund:"beginning",PastTense:"began"},ban:{PastTense:"banned",Gerund:"banning",Actor:""},bet:{Actor:"better"},bind:{PastTense:"bound"},bite:{Gerund:"biting",PastTense:"bit"},bleed:{PastTense:"bled"},break:{PastTense:"broke"},breed:{PastTense:"bred"},bring:{PastTense:"brought"},broadcast:{PastTense:"broadcast"},build:{PastTense:"built"},buy:{PastTense:"bought"},catch:{PastTense:"caught"},choose:{Gerund:"choosing",PastTense:"chose"},cost:{PastTense:"cost"},deal:{PastTense:"dealt"},die:{PastTense:"died",Gerund:"dying"},dig:{Gerund:"digging",PastTense:"dug"},do:{PastTense:"did",PresentTense:"does"},draw:{PastTense:"drew"},drink:{PastTense:"drank",Participle:"drunk"},drive:{Gerund:"driving",PastTense:"drove"},eat:{Gerund:"eating",PastTense:"ate",Actor:"eater",Participle:"eaten"},fall:{PastTense:"fell"},feed:{PastTense:"fed"},feel:{PastTense:"felt",Actor:"feeler"},fight:{PastTense:"fought"},find:{PastTense:"found"},fly:{PastTense:"flew",Participle:"flown"},blow:{PastTense:"blew",Participle:"blown"},forbid:{PastTense:"forbade"},forget:{Gerund:"forgeting",PastTense:"forgot"},forgive:{Gerund:"forgiving",PastTense:"forgave"},freeze:{Gerund:"freezing",PastTense:"froze"},get:{PastTense:"got"},give:{Gerund:"giving",PastTense:"gave"},go:{PastTense:"went",PresentTense:"goes"},hang:{PastTense:"hung"},have:{Gerund:"having",PastTense:"had",PresentTense:"has"},hear:{PastTense:"heard"},hide:{PastTense:"hid"},hold:{PastTense:"held"},hurt:{PastTense:"hurt"},lay:{PastTense:"laid"},lead:{PastTense:"led"},leave:{PastTense:"left"},lie:{Gerund:"lying",PastTense:"lay"},light:{PastTense:"lit"},lose:{Gerund:"losing",PastTense:"lost"},make:{PastTense:"made"},mean:{PastTense:"meant"},meet:{Gerund:"meeting",PastTense:"met",Actor:"meeter"},pay:{PastTense:"paid"},read:{PastTense:"read"},ring:{PastTense:"rang"},rise:{PastTense:"rose",Gerund:"rising",pluPerfectTense:"had risen",FuturePerfect:"will have risen"},run:{Gerund:"running",PastTense:"ran"},say:{PastTense:"said"},see:{PastTense:"saw"},sell:{PastTense:"sold"},shine:{PastTense:"shone"},shoot:{PastTense:"shot"},show:{PastTense:"showed"},sing:{PastTense:"sang",Participle:"sung"},sink:{PastTense:"sank",pluPerfectTense:"had sunk"},sit:{PastTense:"sat"},slide:{PastTense:"slid"},speak:{PastTense:"spoke",PerfectTense:"have spoken",pluPerfectTense:"had spoken",FuturePerfect:"will have spoken"},spin:{Gerund:"spinning",PastTense:"spun"},spread:{PastTense:"spread"},stand:{PastTense:"stood"},steal:{PastTense:"stole",Actor:"stealer"},stick:{PastTense:"stuck"},sting:{PastTense:"stung"},stream:{Actor:"streamer"},strike:{Gerund:"striking",PastTense:"struck"},swear:{PastTense:"swore"},swim:{PastTense:"swam"},swing:{PastTense:"swung"},teach:{PastTense:"taught",PresentTense:"teaches"},tear:{PastTense:"tore"},tell:{PastTense:"told"},think:{PastTense:"thought"},understand:{PastTense:"understood"},wake:{PastTense:"woke"},wear:{PastTense:"wore"},win:{Gerund:"winning",PastTense:"won"},withdraw:{PastTense:"withdrew"},write:{Gerund:"writing",PastTense:"wrote",Participle:"written"},tie:{Gerund:"tying",PastTense:"tied"},ski:{PastTense:"skiied"},boil:{Actor:"boiler"},miss:{PresentTense:"miss"},act:{Actor:"actor"},compete:{Gerund:"competing",PastTense:"competed",Actor:"competitor"},being:{Gerund:"are",PastTense:"were",PresentTense:"are"},imply:{PastTense:"implied",PresentTense:"implies"},ice:{Gerund:"icing",PastTense:"iced"},develop:{PastTense:"developed",Actor:"developer",Gerund:"developing"},wait:{Gerund:"waiting",PastTense:"waited",Actor:"waiter"},aim:{Actor:"aimer"},spill:{PastTense:"spilt"},drop:{Gerund:"dropping",PastTense:"dropped"},log:{Gerund:"logging",PastTense:"logged"},rub:{Gerund:"rubbing",PastTense:"rubbed"},smash:{PresentTense:"smashes"},suit:{Gerund:"suiting",PastTense:"suited",Actor:"suiter"}};Object.keys(A).forEach((N)=>{z[N]?z[N].Participle=A[N]:z[N]={Participle:A[N]}}),j.exports=z},{"./participles":38}],38:[function(P,j){j.exports={become:"become",begin:"begun",bend:"bent",bet:"bet",bite:"bitten",bleed:"bled",brake:"broken",bring:"brought",build:"built",burn:"burned",burst:"burst",buy:"bought","catch":"caught",choose:"chosen",cling:"clung",come:"come",creep:"crept",cut:"cut",deal:"dealt",dig:"dug",dive:"dived","do":"done",draw:"drawn",dream:"dreamt",drive:"driven",eat:"eaten",fall:"fallen",feed:"fed",fight:"fought",flee:"fled",fling:"flung",forget:"forgotten",forgive:"forgiven",freeze:"frozen",got:"gotten",give:"given",go:"gone",grow:"grown",hang:"hung",have:"had",hear:"heard",hide:"hidden",hit:"hit",hold:"held",hurt:"hurt",keep:"kept",kneel:"knelt",know:"known",lay:"laid",lead:"led",leap:"leapt",leave:"left",lend:"lent",light:"lit",loose:"lost",make:"made",mean:"meant",meet:"met",pay:"paid",prove:"proven",put:"put",quit:"quit",read:"read",ride:"ridden",ring:"rung",rise:"risen",run:"run",say:"said",see:"seen",seek:"sought",sell:"sold",send:"sent",set:"set",sew:"sewn",shake:"shaken",shave:"shaved",shine:"shone",shoot:"shot",shut:"shut",seat:"sat",slay:"slain",sleep:"slept",slide:"slid",sneak:"snuck",speak:"spoken",speed:"sped",spend:"spent",spill:"spilled",spin:"spun",spit:"spat",split:"split",spring:"sprung",stink:"stunk",strew:"strewn",sware:"sworn",sweep:"swept",thrive:"thrived","throw":"thrown",undergo:"undergone",upset:"upset",weave:"woven",weep:"wept",wind:"wound",wring:"wrung"}},{}],39:[function(P,j){"use strict";const A=P("../fns");j.exports=A.uncompress_suffixes(["abandon","accept","add","added","adopt","aid","appeal","applaud","archive","ask","assign","associate","assume","attempt","avoid","ban","become","bomb","cancel","claim","claw","come","control","convey","cook","copy","cut","deem","defy","deny","describe","design","destroy","die","divide","do","doubt","drag","drift","drop","echo","embody","enjoy","envy","excel","fall","fail","fix","float","flood","focus","fold","get","goes","grab","grasp","grow","happen","head","help","hold fast","hope","include","instruct","invest","join","keep","know","learn","let","lift","link","load","loan","look","make due","mark","melt","minus","multiply","name","need","occur","overcome","overlap","overwhelm","owe","pay","plan","plug","plus","pop","pour","proclaim","put","rank","reason","reckon","relax","repair","reply","reveal","revel","risk","rub","ruin","sail","seek","seem","send","set","shout","sleep","sneak","sort","spoil","stem","step","stop","study","take","talk","thank","took","trade","transfer","trap","travel","tune","undergo","undo","uplift","walk","watch","win","wipe","work","yawn","yield"],{prove:",im,ap,disap",serve:",de,ob,re",ress:"exp,p,prog,st,add,d",lect:"ref,se,neg,col,e",sist:"in,con,per,re,as",tain:"ob,con,main,s,re",mble:"rese,gru,asse,stu",ture:"frac,lec,tor,fea",port:"re,sup,ex,im",ate:"rel,oper,indic,cre,h,activ,estim,particip,d,anticip,evalu",use:",ca,over,ref,acc,am,pa",ive:"l,rece,d,arr,str,surv,thr,rel",are:"prep,c,comp,sh,st,decl,d,sc",ine:"exam,imag,determ,comb,l,decl,underm,def",nce:"annou,da,experie,influe,bou,convi,enha",ain:"tr,rem,expl,dr,compl,g,str",ent:"prev,repres,r,res,rel,inv",age:"dam,mess,man,encour,eng,discour",rge:"su,cha,eme,u,me",ise:"ra,exerc,prom,surpr,pra",ect:"susp,dir,exp,def,rej",ter:"en,mat,cen,ca,al",end:",t,dep,ext,att",est:"t,sugg,prot,requ,r",ock:"kn,l,sh,bl,unl",nge:"cha,excha,ra,challe,plu",ase:"incre,decre,purch,b,ce",ish:"establ,publ,w,fin,distingu",mit:"per,ad,sub,li",ure:"fig,ens,end,meas",der:"won,consi,mur,wan",ave:"s,sh,w,cr",ire:"requ,des,h,ret",tch:"scra,swi,ma,stre",ack:"att,l,p,cr",ion:"ment,quest,funct,envis",ump:"j,l,p,d",ide:"dec,prov,gu,s",ush:"br,cr,p,r",eat:"def,h,tr,ch",ash:"sm,spl,w,fl",rry:"ca,ma,hu,wo",ear:"app,f,b,disapp",er:"answ,rememb,off,suff,cov,discov,diff,gath,deliv,both,empow,with",le:"fi,sett,hand,sca,whist,enab,smi,ming,ru,sprink,pi",st:"exi,foreca,ho,po,twi,tru,li,adju,boa,contra,boo",it:"vis,ed,depos,sp,awa,inhib,cred,benef,prohib,inhab",nt:"wa,hu,pri,poi,cou,accou,confro,warra,pai",ch:"laun,rea,approa,sear,tou,ar,enri,atta",ss:"discu,gue,ki,pa,proce,cro,glo,dismi",ll:"fi,pu,ki,ca,ro,sme,reca,insta",rn:"tu,lea,conce,retu,bu,ea,wa,gove",ce:"redu,produ,divor,noti,for,repla",te:"contribu,uni,tas,vo,no,constitu,ci",rt:"sta,comfo,exe,depa,asse,reso,conve",ck:"su,pi,che,ki,tri,wre",ct:"intera,restri,predi,attra,depi,condu",ke:"sta,li,bra,overta,smo,disli",se:"collap,suppo,clo,rever,po,sen",nd:"mi,surrou,dema,remi,expa,comma",ve:"achie,invol,remo,lo,belie,mo",rm:"fo,perfo,confi,confo,ha",or:"lab,mirr,fav,monit,hon",ue:"arg,contin,val,iss,purs",ow:"all,foll,sn,fl,borr",ay:"pl,st,betr,displ,portr",ze:"recogni,reali,snee,ga,emphasi",ip:"cl,d,gr,sl,sk",re:"igno,sto,interfe,sco",ng:"spri,ba,belo,cli",ew:"scr,vi,revi,ch",gh:"cou,lau,outwei,wei",ly:"app,supp,re,multip",ge:"jud,acknowled,dod,alle",en:"list,happ,threat,strength",ee:"fors,agr,disagr,guarant",et:"budg,regr,mark,targ",rd:"rega,gua,rewa,affo",am:"dre,j,sl,ro",ry:"va,t,c,bu"})},{"../fns":7}],40:[function(P,j,$){"use strict";const A=P("./tags/colors"),z={reset:"\x1B[0m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",black:"\x1B[30m"};"undefined"==typeof j&&Object.keys(z).forEach((N)=>{z[N]=""}),$.isFunction=function(N){return"[object Function]"===Object.prototype.toString.call(N)},$.ensureString=(N)=>{if("string"==typeof N)return N;return"number"==typeof N?""+N:""},$.ensureObject=(N)=>{return"object"==typeof N?null===N||N instanceof Array?{}:N:{}},$.endsWith=function(N,_){return N&&N.substr(-_.length)===_},$.startsWith=function(N,_){return N&&_&&N.substr(0,_.length)===_},$.titleCase=(N)=>{return N.charAt(0).toUpperCase()+N.substr(1)},$.flatten=function(N){let _=[];return N.forEach(function(C){_=_.concat(C)}),_},$.copy=(N)=>{let _={};return N=$.ensureObject(N),Object.keys(N).forEach((C)=>{_[C]=N[C]}),_},$.extend=(N,_)=>{return N?_?(Object.keys(_).forEach((C)=>{N[C]=_[C]}),N):N:_},$.green=function(N){return z.green+N+z.reset},$.red=function(N){return z.red+N+z.reset},$.blue=function(N){return z.blue+N+z.reset},$.magenta=function(N){return z.magenta+N+z.reset},$.cyan=function(N){return z.cyan+N+z.reset},$.yellow=function(N){return z.yellow+N+z.reset},$.black=function(N){return z.black+N+z.reset},$.printTag=function(N){return A[N]?$[A[N]](N):N},$.printTerm=function(N){let _=Object.keys(N.tag);for(let C=0;C<_.length;C++)if(A[_[C]]){let V=A[_[C]];return $[V](N.plaintext)}return z.reset+N.plaintext+z.reset},$.rightPad=function(N,_,C){for(C=C||" ",N=N.toString();N.length<_;)N+=C;return N},$.leftPad=function(N,_,C){for(C=C||" ",N=N.toString();N.length<_;)N+=C;return N}},{"./tags/colors":153}],41:[function(P,j){(function(A){"use strict";const z=P("./result/build"),N=P("../package.json"),_=P("./log"),C=function(V,E,q){return z(V,E,q)};C.version=N.version,C.lexicon=function(){return P("./data/lexicon")},C.verbose=function(V){_.enable(V)},"undefined"==typeof self?"undefined"==typeof window?"undefined"!=typeof A&&(A.nlp=C):window.nlp=C:self.nlp=C,"function"==typeof d&&d.amd&&d(C),"undefined"!=typeof j&&(j.exports=C)}).call(this,"undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global)},{"../package.json":1,"./data/lexicon":9,"./log":42,"./result/build":43}],42:[function(P,j){"use strict";const A=P("../fns");let z=!1;j.exports={enable:(N)=>{z=N||!0},here:(N)=>{(!0===z||z===N)&&console.log(" "+N)},tell:(N,_)=>{(!0===z||z===_)&&("object"==typeof N&&(N=JSON.stringify(N)),N=" "+N,console.log(N))},tagAs:(N,_,C)=>{if(!0===z||"tagger"===z){let V=N.normal||"["+N.silent_term+"]";V=A.yellow(V),V=A.leftPad("'"+V+"'",20),V+=" -> "+A.printTag(_),V=A.leftPad(V,54),console.log(" "+V+"("+A.cyan(C||"")+")")}},match:(N,_)=>{console.log(" -match- \\'"+N.normal+"' - "+_)},noMatch(N){console.log(" -die '"+N.normal+"'")}}},{"../fns":40}],43:[function(P,j){"use strict";const A=P("./index"),z=P("./tokenize"),N=P("./paths").Terms,_=P("../term/methods/normalize/normalize").normalize,C=P("../tags"),V=function(D){return D=D||{},Object.keys(D).reduce((O,S)=>{O[S]=D[S];let F=_(S);return S!==F&&(O[F]=D[S]),O},{})},E=function(D){console.log(D),console.log(C)};j.exports=(D,O,S)=>{let F=z(D);O=V(O);let M=F.map((G)=>N.fromString(G,O));S&&E(S);let W=new A(M,O,null,S);return W.list.forEach((G)=>{G.refText=W}),W}},{"../tags":155,"../term/methods/normalize/normalize":162,"./index":44,"./paths":56,"./tokenize":152}],44:[function(P,j){"use strict";class A{constructor(N,_,C,V){this.list=N||[],this.reference=C,this.tagSet=V}get found(){return 0N.index())}data(){return this.list.map((N)=>{return{normal:N.out("normal"),text:N.out("text")}})}debug(N){return out(this,"debug",N)}get whitespace(){return{before:(N)=>{return this.list.forEach((_)=>{_.whitespace.before(N)}),this},after:(N)=>{return this.list.forEach((_)=>{_.whitespace.after(N)}),this}}}}j.exports=A,A=P("./methods/array")(A),A=P("./methods/loops")(A),A=P("./methods/match")(A),A=P("./methods/out")(A),A=P("./methods/sort")(A),A=P("./methods/split")(A),A=P("./methods/tag")(A),A=P("./methods/normalize")(A);const z={acronyms:P("./subset/acronyms"),adjectives:P("./subset/adjectives"),adverbs:P("./subset/adverbs"),clauses:P("./subset/clauses"),contractions:P("./subset/contractions"),dates:P("./subset/dates"),hashTags:P("./subset/hashTags"),nouns:P("./subset/nouns"),organizations:P("./subset/organizations"),people:P("./subset/people"),phoneNumbers:P("./subset/phoneNumbers"),places:P("./subset/places"),questions:P("./subset/sentences/questions"),quotations:P("./subset/quotations"),sentences:P("./subset/sentences"),statements:P("./subset/sentences/statements"),terms:P("./subset/terms"),topics:P("./subset/topics"),urls:P("./subset/urls"),values:P("./subset/values"),verbs:P("./subset/verbs"),ngrams:P("./subset/ngrams"),startGrams:P("./subset/ngrams/startGrams"),endGrams:P("./subset/ngrams/endGrams")};Object.keys(z).forEach((N)=>{A.prototype[N]=function(_,C){let V=z[N],E=V.find(this,_,C);return new z[N](E.list,this.lexicon,this.parent)}})},{"./methods/array":45,"./methods/loops":46,"./methods/match":47,"./methods/normalize":48,"./methods/out":49,"./methods/sort":52,"./methods/split":54,"./methods/tag":55,"./subset/acronyms":57,"./subset/adjectives":59,"./subset/adverbs":67,"./subset/clauses":69,"./subset/contractions":73,"./subset/dates":75,"./subset/hashTags":85,"./subset/ngrams":89,"./subset/ngrams/endGrams":86,"./subset/ngrams/startGrams":90,"./subset/nouns":92,"./subset/organizations":101,"./subset/people":103,"./subset/phoneNumbers":105,"./subset/places":106,"./subset/quotations":108,"./subset/sentences":109,"./subset/sentences/questions":110,"./subset/sentences/statements":113,"./subset/terms":115,"./subset/topics":117,"./subset/urls":118,"./subset/values":119,"./subset/verbs":132}],45:[function(P,j){"use strict";const A=P("../../terms");j.exports=(N)=>{const _={clone:function(){let C=this.list.map((V)=>{return V.clone()});return new N(C)},term:function(C){let V=this.list.map((E)=>{let q=[],D=E.terms[C];return D&&(q=[D]),new A(q,this.lexicon,this.refText,this.refTerms)});return new N(V,this.lexicon,this.parent)},firstTerm:function(){return this.match("^.")},lastTerm:function(){return this.match(".$")},slice:function(C,V){return this.list=this.list.slice(C,V),this},get:function(C){if(!C&&0!==C||!this.list[C])return new N([],this.lexicon,this.parent);let V=this.list[C];return new N([V],this.lexicon,this.parent)},first:function(C){return C||0===C?new N(this.list.slice(0,C),this.lexicon,this.parent):this.get(0)},last:function(C){if(!C&&0!==C)return this.get(this.list.length-1);let V=this.list.length;return new N(this.list.slice(V-C,V),this.lexicon,this.parent)},concat:function(){for(let C=0,V;C{C=C.concat(E.terms)}),!C.length)return new N(null,this.lexicon,this.parent);let V=new A(C,this.lexicon,this,null);return new N([V],this.lexicon,this.parent)}};return Object.keys(_).forEach((C)=>{N.prototype[C]=_[C]}),N}},{"../../terms":175}],46:[function(P,j){"use strict";let A=["toTitleCase","toUpperCase","toLowerCase","toCamelCase","hyphenate","dehyphenate","insertBefore","insertAfter","insertAt","replace","replaceWith","delete"];j.exports=(N)=>{return A.forEach((_)=>{N.prototype[_]=function(){let V=arguments;return this.list.forEach((E)=>{E[_].apply(E,V)}),this}}),N}},{}],47:[function(P,j){"use strict";j.exports=(z)=>{const N={match:function(_,C){let V=[];this.list.forEach((q)=>{let D=q.match(_,C);D.list.forEach((O)=>{V.push(O)})});let E=this.parent||this;return new z(V,this.lexicon,E)},not:function(_,C){let V=[];this.list.forEach((q)=>{let D=q.not(_,C);V=V.concat(D.list)});let E=this.parent||this;return new z(V,this.lexicon,E)},if:function(_,C){let V=[];for(let q=0,D;q{z.prototype[_]=N[_]}),z}},{}],48:[function(P,j){"use strict";const A={whitespace:!0,case:!0,numbers:!0,punctuation:!0,unicode:!0,contractions:!0},z={whitespace:(_)=>{return _.terms().list.forEach((C,V)=>{let E=C.terms[0];0{return _.terms().list.forEach((C,V)=>{let E=C.terms[0];0===V||E.tag.Person||E.tag.Place||E.tag.Organization?C.toTitleCase():C.toLowerCase()}),_},numbers:(_)=>{return _.values().toNumber()},punctuation:(_)=>{return _.terms().list.forEach((C,V)=>{let E=C.terms[0];V{return _.contractions().expand()}};j.exports=(_)=>{return _.prototype.normalize=function(C){C=C||A,Object.keys(C).forEach((V)=>{z[V]&&z[V](this)})},_}},{}],49:[function(P,j){"use strict";const A=P("./topk"),z=P("./offset"),N={text:(C)=>{return C.list.reduce((V,E)=>{return V+=E.out("text"),V},"")},normal:(C)=>{return C.list.map((V)=>{let E=V.out("normal"),q=V.last();if(q){let D=q.endPunctuation();("."===D||"!"===D||"?"===D)&&(E+=D)}return E}).join(" ")},root:(C)=>{return C.list.map((V)=>{return V.out("root")}).join(" ")},offsets:(C)=>{return z(C)},grid:(C)=>{return C.list.reduce((V,E)=>{return V+=E.out("grid"),V},"")},color:(C)=>{return C.list.reduce((V,E)=>{return V+=E.out("color"),V},"")},array:(C)=>{return C.list.reduce((V,E)=>{return V.push(E.out("normal")),V},[])},json:(C)=>{return C.list.reduce((V,E)=>{let q=E.terms.map((D)=>{return{text:D.text,normal:D.normal,tags:D.tag}});return V.push(q),V},[])},html:(C)=>{let V=C.list.reduce((E,q)=>{let D=q.terms.reduce((O,S)=>{return O+="\n "+S.methods.html(),O},"");return E+="\n "+D+"\n "},"");return" "+V+"\n"},terms:(C)=>{let V=[];return C.list.forEach((E)=>{E.terms.forEach((q)=>{V.push({text:q.text,normal:q.normal,tags:Object.keys(q.tag)})})}),V},debug:(C)=>{return console.log("===="),C.list.forEach((V)=>{console.log(" --"),V.debug()}),C},topk:(C)=>{return A(C)}};N.plaintext=N.text,N.normalized=N.normal,N.colors=N.color,N.tags=N.terms,N.offset=N.offsets,N.frequency=N.topk,N.freq=N.topk,N.arr=N.array;j.exports=(C)=>{return C.prototype.out=function(V){return N[V]?N[V](this):N.text(this)},C.prototype.debug=function(){return N.debug(this)},C}},{"./offset":50,"./topk":51}],50:[function(P,j){"use strict";const A=(N,_)=>{let C=0;for(let V=0;V{let _=N.all();return N.list.map((C)=>{return{text:C.out("text"),normal:C.out("normal"),offset:A(_,C.terms[0]),length:C.out("text").length}})}},{}],51:[function(P,j){"use strict";j.exports=function(z,N){let _={};z.list.forEach((V)=>{let E=V.out("root");_[E]=_[E]||0,_[E]+=1});let C=[];return Object.keys(_).forEach((V)=>{C.push({normal:V,count:_[V]})}),C.forEach((V)=>{V.percent=parseFloat((100*(V.count/z.list.length)).toFixed(2))}),C=C.sort((V,E)=>{return V.count>E.count?-1:1}),N&&(C=C.splice(0,N)),C}},{}],52:[function(P,j){"use strict";const A=P("./methods");j.exports=(N)=>{const _={sort:function(C){return C=C||"alphabetical",C=C.toLowerCase(),C&&"alpha"!==C&&"alphabetical"!==C?"chron"===C||"chronological"===C?A.chron(this,N):"length"===C?A.lengthFn(this,N):"freq"===C||"frequency"===C?A.freq(this,N):"wordcount"===C?A.wordCount(this,N):this:A.alpha(this,N)},reverse:function(){return this.list=this.list.reverse(),this},unique:function(){let C={};return this.list=this.list.filter((V)=>{let E=V.out("root");return!C[E]&&(C[E]=!0,!0)}),this}};return Object.keys(_).forEach((C)=>{N.prototype[C]=_[C]}),N}},{"./methods":53}],53:[function(P,j,$){"use strict";const A=function(z){return z=z.sort((N,_)=>{return N.index>_.index?1:N.index===_.index?0:-1}),z.map((N)=>N.ts)};$.alpha=function(z){return z.list.sort((N,_)=>{if(N===_)return 0;if(N.terms[0]&&_.terms[0]){if(N.terms[0].root>_.terms[0].root)return 1;if(N.terms[0].root<_.terms[0].root)return-1}return N.out("root")>_.out("root")?1:-1}),z},$.chron=function(z){let N=z.list.map((_)=>{return{ts:_,index:_.termIndex()}});return z.list=A(N),z},$.lengthFn=function(z){let N=z.list.map((_)=>{return{ts:_,index:_.chars()}});return z.list=A(N).reverse(),z},$.wordCount=function(z){let N=z.list.map((_)=>{return{ts:_,index:_.length}});return z.list=A(N),z},$.freq=function(z){let N={};z.list.forEach((C)=>{let V=C.out("root");N[V]=N[V]||0,N[V]+=1});let _=z.list.map((C)=>{let V=N[C.out("root")]||0;return{ts:C,index:-1*V}});return z.list=A(_),z}},{}],54:[function(P,j){"use strict";j.exports=(z)=>{const N={splitAfter:function(_,C){let V=[];return this.list.forEach((E)=>{E.splitAfter(_,C).forEach((q)=>{V.push(q)})}),this.list=V,this},splitBefore:function(_,C){let V=[];return this.list.forEach((E)=>{E.splitBefore(_,C).forEach((q)=>{V.push(q)})}),this.list=V,this},splitOn:function(_,C){let V=[];return this.list.forEach((E)=>{E.splitOn(_,C).forEach((q)=>{V.push(q)})}),this.list=V,this}};return Object.keys(N).forEach((_)=>{z.prototype[_]=N[_]}),z}},{}],55:[function(P,j){"use strict";j.exports=(z)=>{const N={tag:function(_,C){return this.list.forEach((V)=>{V.tagAs(_,C,this.tagSet)}),this},unTag:function(_,C){return this.list.forEach((V)=>{V.unTag(_,C,this.tagSet)}),this},canBe:function(_){return this.list.forEach((C)=>{C.terms=C.terms.filter((V)=>{return V.canBe(_,this.tagSet)})}),this}};return Object.keys(N).forEach((_)=>{z.prototype[_]=N[_]}),z}},{}],56:[function(P,j){j.exports={fns:P("../fns"),log:P("../log"),data:P("../data"),Terms:P("../terms"),tags:P("../tags")}},{"../data":8,"../fns":40,"../log":42,"../tags":155,"../terms":175}],57:[function(P,j){"use strict";const A=P("../../index");j.exports=class extends A{data(){return this.terms().list.map((N)=>{let _=N.terms[0],C=_.text.toUpperCase().replace(/\./g).split("");return{periods:C.join("."),normal:C.join(""),text:_.text}})}static find(N,_){return N=N.match("#Acronym"),"number"==typeof _&&(N=N.get(_)),N}}},{"../../index":44}],58:[function(P,j){"use strict";const A=P("../../paths").Terms,z=P("./methods");j.exports=class extends A{constructor(_,C,V,E){super(_,C,V,E)}data(){const _=this.out("normal");return{comparative:z.toComparative(_),superlative:z.toSuperlative(_),adverbForm:z.toAdverb(_),nounForm:z.toNoun(_),verbForm:z.toVerb(_),normal:_,text:this.out("text")}}}},{"../../paths":56,"./methods":61}],59:[function(P,j){"use strict";const A=P("../../index"),z=P("./adjective");j.exports=class extends A{data(){return this.list.map((_)=>{return _.data()})}static find(_,C){return _=_.match("#Adjective"),"number"==typeof C&&(_=_.get(C)),_.list=_.list.map((V)=>{return new z(V.terms,V.lexicon,V.refText,V.refTerms)}),_}}},{"../../index":44,"./adjective":58}],60:[function(P,j){"use strict";const A=P("../../../../data"),z={};A.superlatives.forEach((N)=>{z[N]=!0}),A.verbConverts.forEach((N)=>{z[N]=!0}),j.exports=z},{"../../../../data":8}],61:[function(P,j){"use strict";j.exports={toNoun:P("./toNoun"),toSuperlative:P("./toSuperlative"),toComparative:P("./toComparative"),toAdverb:P("./toAdverb"),toVerb:P("./toVerb")}},{"./toAdverb":62,"./toComparative":63,"./toNoun":64,"./toSuperlative":65,"./toVerb":66}],62:[function(P,j){"use strict";j.exports=function(z){const N={idle:"idly","public":"publicly",vague:"vaguely",day:"daily",icy:"icily",single:"singly",female:"womanly",male:"manly",simple:"simply",whole:"wholly",special:"especially",straight:"straight",wrong:"wrong",fast:"fast",hard:"hard",late:"late",early:"early",well:"well",good:"well",little:"little",long:"long",low:"low",best:"best",latter:"latter",bad:"badly"},C=[{reg:/al$/i,repl:"ally"},{reg:/ly$/i,repl:"ly"},{reg:/(.{3})y$/i,repl:"$1ily"},{reg:/que$/i,repl:"quely"},{reg:/ue$/i,repl:"uly"},{reg:/ic$/i,repl:"ically"},{reg:/ble$/i,repl:"bly"},{reg:/l$/i,repl:"ly"}],V=[/airs$/,/ll$/,/ee.$/,/ile$/];if({foreign:1,black:1,modern:1,next:1,difficult:1,degenerate:1,young:1,awake:1,back:1,blue:1,brown:1,orange:1,complex:1,cool:1,dirty:1,done:1,empty:1,fat:1,fertile:1,frozen:1,gold:1,grey:1,gray:1,green:1,medium:1,parallel:1,outdoor:1,unknown:1,undersized:1,used:1,welcome:1,yellow:1,white:1,fixed:1,mixed:1,"super":1,guilty:1,tiny:1,able:1,unable:1,same:1,adult:1}[z])return null;if(N[z])return N[z];if(3>=z.length)return null;for(let E=0;E{return C[V]=!0,C},{});j.exports=(C)=>{return N[C]?z[C]?z[C]:C.match(/e$/)?C+"n":C+"en":C}},{"../../../../data":8}],67:[function(P,j){"use strict";const A=P("../../index"),z=P("./toAdjective");j.exports=class extends A{data(){return this.terms().list.map((_)=>{let C=_.terms[0];return{adjectiveForm:z(C.normal),normal:C.normal,text:C.text}})}static find(_,C){return _=_.match("#Adverb+"),"number"==typeof C&&(_=_.get(C)),_}}},{"../../index":44,"./toAdjective":68}],68:[function(P,j){"use strict";const A={idly:"idle",sporadically:"sporadic",basically:"basic",grammatically:"grammatical",alphabetically:"alphabetical",economically:"economical",conically:"conical",politically:"political",vertically:"vertical",practically:"practical",theoretically:"theoretical",critically:"critical",fantastically:"fantastic",mystically:"mystical",pornographically:"pornographic",fully:"full",jolly:"jolly",wholly:"whole"},z=[{reg:/bly$/i,repl:"ble"},{reg:/gically$/i,repl:"gical"},{reg:/([rsdh])ically$/i,repl:"$1ical"},{reg:/ically$/i,repl:"ic"},{reg:/uly$/i,repl:"ue"},{reg:/ily$/i,repl:"y"},{reg:/(.{3})ly$/i,repl:"$1"}];j.exports=function(_){if(A.hasOwnProperty(_))return A[_];for(let C=0;C{_.whitespace.after=N.whitespace.after,N.whitespace.after="",_.whitespace.before="",N.silent_term=N.text,_.silent_term=_.text,_.text="",N.tagAs("Contraction","new-contraction"),_.tagAs("Contraction","new-contraction")};j.exports=function(N){return!1===N.expanded||N.match("#Contraction").found?N:(N.match("(#Noun|#QuestionWord) is").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="'s",_.contracted=!0}),N.match("#PronNoun did").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="'d",_.contracted=!0}),N.match("#QuestionWord (did|do)").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="'d",_.contracted=!0}),N.match("#Noun (could|would)").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="'d",_.contracted=!0}),N.match("(they|we|you) are").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="'re",_.contracted=!0}),N.match("i am").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="'m",_.contracted=!0}),N.match("(#Noun|#QuestionWord) will").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="'ll",_.contracted=!0}),N.match("(they|we|you|i) have").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="'ve",_.contracted=!0}),N.match("(#Copula|#Modal|do) not").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="n't",_.contracted=!0}),N)}},{}],71:[function(P,j){"use strict";const A=P("../../paths").Terms,z=P("./contract"),N=function(C){return!1===C.contracted?C:(C.terms.forEach((V)=>{V.silent_term&&(!V.text&&(V.whitespace.before=" "),V._text=V.silent_term,V.normalize(),V.silent_term=null,V.unTag("Contraction","expanded"))}),C)};j.exports=class extends A{data(){let C=N(this.clone()),V=z(this.clone());return{text:this.out("text"),normal:this.out("normal"),expanded:{normal:C.out("normal"),text:C.out("text")},contracted:{normal:V.out("normal"),text:V.out("text")},isContracted:!!this.contracted}}expand(){return N(this)}contract(){return z(this)}}},{"../../paths":56,"./contract":70}],72:[function(P,j){"use strict";j.exports=(z)=>{let N=z.not("#Contraction"),_=N.match("(#Noun|#QuestionWord) (#Copula|did|do|have|had|could|would|will)");return _.concat(N.match("(they|we|you|i) have")),_.concat(N.match("i am")),_.concat(N.match("(#Copula|#Modal|do) not")),_.list.forEach((C)=>{C.expanded=!0}),_}},{}],73:[function(P,j){"use strict";const A=P("../../index"),z=P("./contraction"),N=P("./findPossible");j.exports=class extends A{data(){return this.list.map((C)=>C.data())}contract(){return this.list.forEach((C)=>C.contract()),this}expand(){return this.list.forEach((C)=>C.expand()),this}contracted(){return this.list=this.list.filter((C)=>{return C.contracted}),this}expanded(){return this.list=this.list.filter((C)=>{return!C.contracted}),this}static find(C,V){let E=C.match("#Contraction #Contraction #Contraction?");E.list=E.list.map((D)=>{let O=new z(D.terms,D.lexicon,D.refText,D.refTerms);return O.contracted=!0,O});let q=N(C);return q.list.forEach((D)=>{let O=new z(D.terms,D.lexicon,D.refText,D.refTerms);O.contracted=!1,E.list.push(O)}),E.sort("chronological"),"number"==typeof V&&(E=E.get(V)),E}}},{"../../index":44,"./contraction":71,"./findPossible":72}],74:[function(P,j){"use strict";const A=P("../../paths").Terms,z=P("./parsePunt"),N=P("./parseSection"),_=P("./parseRelative"),C=P("./parseDate");j.exports=class extends A{constructor(E,q,D,O){super(E,q,D,O),this.month=this.match("#Month")}data(){let E={punt:z(this),section:N(this),relative:_(this),date:C(this)};return E}}},{"../../paths":56,"./parseDate":78,"./parsePunt":79,"./parseRelative":80,"./parseSection":81}],75:[function(P,j){"use strict";const A=P("../../index"),z=P("./date"),N=P("./weekday"),_=P("./month");j.exports=class extends A{data(){return this.list.map((V)=>V.data())}toShortForm(){return this.match("#Month").terms().list.forEach((V)=>{let E=V.terms[0];_.toShortForm(E)}),this.match("#WeekDay").terms().list.forEach((V)=>{let E=V.terms[0];N.toShortForm(E)}),this}toLongForm(){return this.match("#Month").terms().list.forEach((V)=>{let E=V.terms[0];_.toLongForm(E)}),this.match("#WeekDay").terms().list.forEach((V)=>{let E=V.terms[0];N.toLongForm(E)}),this}static find(V,E){let q=V.match("#Date+");return"number"==typeof E&&(q=q.get(E)),q.list=q.list.map((D)=>{return new z(D.terms,D.lexicon,D.refText,D.refTerms)}),q}}},{"../../index":44,"./date":74,"./month":77,"./weekday":84}],76:[function(P,j,$){$.longMonths={january:0,february:1,march:2,april:3,may:4,june:5,july:6,august:7,september:8,october:9,november:10,december:11},$.shortMonths={jan:0,feb:1,febr:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,sept:8,oct:9,nov:10,dec:11}},{}],77:[function(P,j){"use strict";const A=P("./data"),z=A.shortMonths,N=A.longMonths;j.exports={index:function(_){if(_.tag.Month){if(N[_.normal]!==void 0)return N[_.normal];if(void 0!==z[_.normal])return z[_.normal]}return null},toShortForm:function(_){if(void 0!==_.tag.Month&&void 0!==N[_.normal]){let C=Object.keys(z);_.text=C[N[_.normal]]}return _.dirty=!0,_},toLongForm:function(_){if(void 0!==_.tag.Month&&void 0!==z[_.normal]){let C=Object.keys(N);_.text=C[z[_.normal]]}return _.dirty=!0,_}}},{"./data":76}],78:[function(P,j){"use strict";const A=P("./parseTime"),z=P("./weekday"),N=P("./month"),_=(E)=>{return E&&31>E&&0{return E&&1e3E};j.exports=(E)=>{let q={month:null,date:null,weekday:null,year:null,knownDate:null,timeOfDay:null},D=E.match("(#Holiday|today|tomorrow|yesterday)");if(D.found&&(q.knownDate=D.out("normal")),D=E.match("#Month"),D.found&&(q.month=N.index(D.list[0].terms[0])),D=E.match("#WeekDay"),D.found&&(q.weekday=z.index(D.list[0].terms[0])),D=E.match("#Time"),D.found&&(q.timeOfDay=A(E),E.not("#Time")),D=E.match("#Month #Value #Year"),D.found){let O=D.values().numbers();_(O[0])&&(q.date=O[0]);let S=parseInt(E.match("#Year").out("normal"),10);C(S)&&(q.year=S)}if(!D.found){if(D=E.match("#Month #Value"),D.found){let O=D.values().numbers(),S=O[0];_(S)&&(q.date=S)}if(D=E.match("#Month #Year"),D.found){let O=parseInt(E.match("#Year").out("normal"),10);C(O)&&(q.year=O)}}if(D=E.match("#Value of #Month"),D.found){let O=D.values().numbers()[0];_(O)&&(q.date=O)}return q}},{"./month":77,"./parseTime":82,"./weekday":84}],79:[function(P,j){"use strict";const A={year:!0,quarter:!0,month:!0,week:!0,weekend:!0,day:!0,hour:!0};j.exports=(N)=>{let _=null,C={},V=N.match("#Value #Duration (from|after|following)");return V.found?_="forward":(V=N.match("#Value #Duration (before)"),V.found&&(_="backward")),V.found&&N.match("#Value #Duration").list.forEach((E)=>{let q=E.match("*").values().data()[0]||{};if(q=q.number,q||0===q){let D=E.match("#Duration").nouns().toSingular().out("normal");A[D]&&(C[D]=q)}}),{direction:_,duration:C}}},{}],80:[function(P,j){"use strict";const A={this:"this",next:"next",last:"last",upcoming:"next"};j.exports=(N)=>{let _="("+Object.keys(A).join("|")+")",C=N.match(`${_}+`).lastTerm();if(C.found){let V=C.match(_).out("normal");return A[V]}return null}},{}],81:[function(P,j){"use strict";const A={start:"start",end:"end",middle:"middle",beginning:"start",ending:"end",midpoint:"middle",midst:"middle"};j.exports=(N)=>{let _="("+Object.keys(A).join("|")+")",C=N.match(`the? ${_} of`);if(C.found){let V=C.match(_).out("normal");return A[V]}return null}},{}],82:[function(P,j){"use strict";const A=(_)=>{return _&&0<_&&25>_},z=(_)=>{return _&&0<_&&60>_};j.exports=(_)=>{let C={logic:null,hour:null,minute:null,second:null,timezone:null},V=_.match("(by|before|for|during|at|until|after) #Time").firstTerm();V.found&&(C.logic=V.out("normal"));let E=_.match("#Time");return E.terms().list.forEach((q)=>{let D=q.terms[0],O=D.text.match(/([12]?[0-9]) ?(am|pm)/i);O&&(C.hour=parseInt(O[1],10),"pm"===O[2]&&(C.hour+=12),!A(C.hour)&&(C.hour=null)),O=D.text.match(/([12]?[0-9]):([0-9][0-9]) ?(am|pm)?/i),O&&(C.hour=parseInt(O[1],10),C.minute=parseInt(O[2],10),!z(C.minute)&&(C.minute=null),"pm"===O[3]&&(C.hour+=12),!A(C.hour)&&(C.hour=null))}),C}},{}],83:[function(P,j,$){$.longDays={sunday:0,monday:1,tuesday:2,wednesday:3,thursday:4,friday:5,saturday:6},$.shortDays={sun:0,mon:1,tues:2,wed:3,thurs:4,fri:5,sat:6}},{}],84:[function(P,j){"use strict";const A=P("./data"),z=A.shortDays,N=A.longDays;j.exports={index:function(_){if(_.tag.WeekDay){if(N[_.normal]!==void 0)return N[_.normal];if(void 0!==z[_.normal])return z[_.normal]}return null},toShortForm:function(_){if(_.tag.WeekDay&&void 0!==N[_.normal]){let C=Object.keys(z);_.text=C[N[_.normal]]}return _},toLongForm:function(_){if(_.tag.WeekDay&&void 0!==z[_.normal]){let C=Object.keys(N);_.text=C[z[_.normal]]}return _}}},{"./data":83}],85:[function(P,j){"use strict";const A=P("../../index");j.exports=class extends A{data(){return this.terms().list.map((N)=>{let _=N.terms[0];return{text:_.text}})}static find(N,_){return N=N.match("#HashTag"),"number"==typeof _&&(N=N.get(_)),N}}},{"../../index":44}],86:[function(P,j){"use strict";const A=P("./index"),z=P("./getGrams");class N extends A{static find(_,C,V){let E={size:[1,2,3,4],edge:"end"};V&&(E.size=[V]);let q=z(_,E);return _=new N(q),_.sort(),"number"==typeof C&&(_=_.get(C)),_}}j.exports=N},{"./getGrams":87,"./index":89}],87:[function(P,j){"use strict";const A=P("./gram"),z=function(V,E){let q=V.terms;if(q.length{V.list.forEach((S)=>{let F=[];F="start"===E.edge?N(S,O):"end"===E.edge?_(S,O):z(S,O),F.forEach((M)=>{q[M.key]?q[M.key].inc():q[M.key]=M})})});let D=Object.keys(q).map((O)=>q[O]);return D}},{"./gram":88}],88:[function(P,j){"use strict";const A=P("../../paths").Terms;j.exports=class extends A{constructor(N,_,C,V){super(N,_,C,V),this.key=this.out("normal"),this.size=N.length,this.count=1}inc(){this.count+=1}}},{"../../paths":56}],89:[function(P,j){"use strict";const A=P("../../index"),z=P("./getGrams");class N extends A{data(){return this.list.map((_)=>{return{normal:_.out("normal"),count:_.count,size:_.size}})}unigrams(){return this.list=this.list.filter((_)=>1===_.size),this}bigrams(){return this.list=this.list.filter((_)=>2===_.size),this}trigrams(){return this.list=this.list.filter((_)=>3===_.size),this}sort(){return this.list=this.list.sort((_,C)=>{return _.count>C.count?-1:_.count===C.count&&(_.size>C.size||_.key.length>C.key.length)?-1:1}),this}static find(_,C,V){let E={size:[1,2,3,4]};V&&(E.size=[V]);let q=z(_,E);return _=new N(q),_.sort(),"number"==typeof C&&(_=_.get(C)),_}}j.exports=N},{"../../index":44,"./getGrams":87}],90:[function(P,j){"use strict";const A=P("./index"),z=P("./getGrams");class N extends A{static find(_,C,V){let E={size:[1,2,3,4],edge:"start"};V&&(E.size=[V]);let q=z(_,E);return _=new N(q),_.sort(),"number"==typeof C&&(_=_.get(C)),_}}j.exports=N},{"./getGrams":87,"./index":89}],91:[function(P,j){"use strict";const A=P("../../../data").uncountables;j.exports=function(N){if(!N.tag.Noun)return!1;if(N.tag.Plural)return!0;const _=["Pronoun","Place","Value","Person","Month","WeekDay","RelativeDay","Holiday"];for(let C=0;C<_.length;C++)if(N.tag[_[C]])return!1;for(let C=0;C_.isPlural())}hasPlural(){return this.list.map((_)=>_.hasPlural())}toPlural(){return this.list.forEach((_)=>_.toPlural()),this}toSingular(){return this.list.forEach((_)=>_.toSingular()),this}data(){return this.list.map((_)=>_.data())}static find(_,C){return _=_.clauses(),_=_.match("#Noun+"),_=_.not("#Pronoun"),_=_.not("(#Month|#WeekDay)"),"number"==typeof C&&(_=_.get(C)),_.list=_.list.map((V)=>{return new z(V.terms,V.lexicon,V.refText,V.refTerms)}),_}}},{"../../index":44,"./noun":100}],93:[function(P,j){"use strict";const A=P("../../../data").irregular_plurals,z=P("./methods/data/indicators"),N={i:!1,he:!1,she:!1,we:!0,they:!0},_=["Place","Value","Person","Month","WeekDay","RelativeDay","Holiday"],C=(E)=>{for(let q=0;q<_.length;q++)if(E.tag[_[q]])return!1;return!0};j.exports=function(E){let q=E.normal;if(void 0!==N[q])return N[q];if(!C(E))return!1;const D=q.match(/([a-z]*) (of|in|by|for) [a-z]/);if(D&&D[1]&&(q=D[1]),A.toSingle[q])return!0;if(A.toPlural[q])return!1;for(let O=0;O{return{text:N.out("text"),normal:N.out("normal")}})}static find(N,_){return N=N.splitAfter("#Comma"),N=N.match("#Organization+"),"number"==typeof _&&(N=N.get(_)),N}}},{"../../index":44}],102:[function(P,j){"use strict";const A=P("../../paths").log;j.exports=function(N){return N?N.match(/.(i|ee|[a|e]y|a)$/i)?(A.tell("Female-name suffix"),"Female"):N.match(/[ou]$/i)?(A.tell("Male-name suffix"),"Male"):N.match(/(nn|ll|tt)/i)?(A.tell("Female-name consonant-doubling"),"Female"):null:null}},{"../../paths":56}],103:[function(P,j){"use strict";const A=P("../../index"),z=P("./person");j.exports=class extends A{data(){return this.list.map((_)=>_.data())}pronoun(){return this.list.map((_)=>_.pronoun())}static find(_,C){let V=_.clauses();return V=V.match("#Person+"),"number"==typeof C&&(V=V.get(C)),V.list=V.list.map((E)=>{return new z(E.terms,E.lexicon,E.refText,E.refTerms)}),V}}},{"../../index":44,"./person":104}],104:[function(P,j){"use strict";const A=P("../../paths").Terms,z=P("./guessGender"),N=P("../../paths").log;j.exports=class extends A{data(){return{text:this.out("text"),normal:this.out("normal"),firstName:this.firstName.out("normal"),middleName:this.middleName.out("normal"),lastName:this.lastName.out("normal"),genderGuess:this.guessGender(),pronoun:this.pronoun(),honorifics:this.honorifics.out("array")}}constructor(C,V,E,q){if(super(C,V,E,q),this.firstName=this.match("#FirstName+"),this.middleName=this.match("#Acronym+"),this.honorifics=this.match("#Honorific"),this.lastName=this.match("#LastName+"),!this.firstName&&2===this.length){let D=this.not("(#Acronym|#Honorific)");this.firstName=D.first(),this.lastName=D.last()}else;return this}guessGender(){return this.honorifics.match("(mr|mister|sr|sir|jr)").found?(N.tell("known male honorific"),"Male"):this.honorifics.match("(mrs|miss|ms|misses|mme|mlle)").found?(N.tell("known female honorific"),"Female"):this.firstName.match("#MaleName").found?(N.tell("known male name"),"Male"):this.firstName.match("#FemaleName").found?(N.tell("known female name"),"Female"):z(this.firstName.out("normal"))}pronoun(){let C=this.guessGender();return"Male"===C?"he":"Female"===C?"she":"they"}root(){let C=this.firstName.out("root"),V=this.lastName.out("root");return C&&V?C+" "+V:V||C||this.out("root")}}},{"../../paths":56,"./guessGender":102}],105:[function(P,j){"use strict";const A=P("../../index");j.exports=class extends A{data(){return this.terms().list.map((N)=>{let _=N.terms[0];return{text:_.text}})}static find(N){return N=N.splitAfter("#Comma"),N=N.match("#PhoneNumber+"),"number"==typeof n&&(N=N.get(n)),N}}},{"../../index":44}],106:[function(P,j){"use strict";const A=P("../../index"),z=P("./place");j.exports=class extends A{data(){return this.list.map((_)=>{return{text:_.out("text"),normal:_.out("normal")}})}static find(_,C){return _=_.splitAfter("#Comma"),_=_.match("#Place+"),"number"==typeof C&&(_=_.get(C)),_.list=_.list.map((V)=>{return new z(V.terms,V.lexicon,V.refText,V.refTerms)}),_}}},{"../../index":44,"./place":107}],107:[function(P,j){"use strict";const A=P("../../paths").Terms;class z extends A{constructor(N,_,C,V){super(N,_,C,V),this.city=this.match("#City"),this.country=this.match("#Country")}get isA(){return"Place"}root(){return this.city.out("root")}}j.exports=z},{"../../paths":56}],108:[function(P,j){"use strict";const A=P("../../index");j.exports=class extends A{data(){return this.list.map((N)=>{return{text:N.out(),normal:N.out("normal")}})}static find(N,_){return N=N.match("#Quotation+"),"number"==typeof _&&(N=N.get(_)),N}}},{"../../index":44}],109:[function(P,j){"use strict";const A=P("../../index"),z=P("./sentence");j.exports=class extends A{constructor(_,C,V){super(_,C,V)}data(){return this.list.map((_)=>{return _.data()})}toPastTense(){return this.list=this.list.map((_)=>{return _=_.toPastTense(),new z(_.terms,_.lexicon,_.refText,_.refTerms)}),this}toPresentTense(){return this.list=this.list.map((_)=>{return _=_.toPresentTense(),new z(_.terms,_.lexicon,_.refText,_.refTerms)}),this}toFutureTense(){return this.list=this.list.map((_)=>{return _=_.toFutureTense(),new z(_.terms,_.lexicon,_.refText,_.refTerms)}),this}toNegative(){return this.list=this.list.map((_)=>{return _=_.toNegative(),new z(_.terms,_.lexicon,_.refText,_.refTerms)}),this}toPositive(){return this.list=this.list.map((_)=>{return _=_.toPositive(),new z(_.terms,_.lexicon,_.refText,_.refTerms)}),this}isPassive(){return this.list=this.list.filter((_)=>{return _.isPassive()}),this}prepend(_){return this.list=this.list.map((C)=>{return C.prepend(_)}),this}append(_){return this.list=this.list.map((C)=>{return C.append(_)}),this}toExclamation(){return this.list.forEach((_)=>{_.setPunctuation("!")}),this}toQuestion(){return this.list.forEach((_)=>{_.setPunctuation("?")}),this}toStatement(){return this.list.forEach((_)=>{_.setPunctuation(".")}),this}static find(_,C){return _=_.all(),"number"==typeof C&&(_=_.get(C)),_.list=_.list.map((V)=>{return new z(V.terms,V.lexicon,V.refText,V.refTerms)}),_}}},{"../../index":44,"./sentence":111}],110:[function(P,j){"use strict";const A=P("../index");j.exports=class extends A{static find(N,_){N=N.all(),"number"==typeof _&&(N=N.get(_));let C=N.list.filter((V)=>{return"?"===V.last().endPunctuation()});return new A(C,this.lexicon,this.parent)}}},{"../index":109}],111:[function(P,j){"use strict";const A=P("../../paths").Terms,z=P("./toNegative"),N=P("../verbs/verb"),_=P("./smartInsert");j.exports=class extends A{constructor(V,E,q,D){super(V,E,q,D)}data(){return{text:this.out("text"),normal:this.out("normal")}}toSingular(){let V=this.match("#Noun").match("!#Pronoun").firstTerm();return V.things().toSingular(),this}toPlural(){let V=this.match("#Noun").match("!#Pronoun").firstTerm();return V.things().toPlural(),this}mainVerb(){let V=this.match("(#Adverb|#Auxillary|#Verb|#Negative|#Particle)+").if("#Verb");return V.found?(V=V.list[0].terms,new N(V,this.lexicon,this.refText,this.refTerms)):null}toPastTense(){let V=this.mainVerb();if(V){let E=V.out("normal");V.toPastTense();let q=V.out("normal"),D=this.parentTerms.replace(E,q);return D}return this}toPresentTense(){let V=this.mainVerb();if(V){let E=V.out("normal");V.toPresentTense();let q=V.out("normal");return this.parentTerms.replace(E,q)}return this}toFutureTense(){let V=this.mainVerb();if(V){let E=V.out("normal");V.toFutureTense();let q=V.out("normal");return this.parentTerms.replace(E,q)}return this}isNegative(){return 1===this.match("#Negative").list.length}toNegative(){return this.isNegative()?this:z(this)}toPositive(){return this.match("#Negative").first().delete(),this}append(V){return _.append(this,V)}prepend(V){return _.prepend(this,V)}setPunctuation(V){let E=this.terms[this.terms.length-1];E.setPunctuation(V)}getPunctuation(){let V=this.terms[this.terms.length-1];return V.getPunctuation()}isPassive(){return this.match("was #Adverb? #PastTense #Adverb? by").found}}},{"../../paths":56,"../verbs/verb":151,"./smartInsert":112,"./toNegative":114}],112:[function(P,j){"use strict";j.exports={append:(N,_)=>{let C=N.terms[N.terms.length-1],V=C.endPunctuation();V&&C.killPunctuation(),N.insertAt(N.terms.length,_);let E=N.terms[N.terms.length-1];return V&&(E.text+=V),C.whitespace.after&&(E.whitespace.after=C.whitespace.after,C.whitespace.after=""),N},prepend:(N,_)=>{let C=N.terms[0];if(N.insertAt(0,_),C.text.match(/^[A-Z]/)){!1===C.needsTitleCase()&&C.toLowerCase();let V=N.terms[0];V.toTitleCase()}return N}}},{}],113:[function(P,j){"use strict";const A=P("../index");j.exports=class extends A{static find(N,_){N=N.all(),"number"==typeof _&&(N=N.get(_));let C=N.list.filter((V)=>{return"?"!==V.last().endPunctuation()});return new A(C,this.lexicon,this.parent)}}},{"../index":109}],114:[function(P,j){"use strict";const A={everyone:"no one",everybody:"nobody",someone:"no one",somebody:"nobody",always:"never"};j.exports=(N)=>{let _=N.match("(everyone|everybody|someone|somebody|always)").first();if(_.found&&A[_.out("normal")]){let V=_.out("normal");return N=N.match(V).replaceWith(A[V]).list[0],N.parentTerms}let C=N.mainVerb();return C&&C.toNegative(),N}},{}],115:[function(P,j){"use strict";const A=P("../../index"),z=P("./term");j.exports=class extends A{data(){return this.list.map((_)=>{return _.data()})}static find(_,C){return _=_.match("."),"number"==typeof C&&(_=_.get(C)),_.list=_.list.map((V)=>{return new z(V.terms,V.lexicon,V.refText,V.refTerms)}),_}}},{"../../index":44,"./term":116}],116:[function(P,j){"use strict";const A=P("../../paths").Terms,z=P("../../paths").tags,N={Auxillary:!0};j.exports=class extends A{constructor(C,V,E,q){super(C,V,E,q),this.t=this.terms[0]}bestTag(){let C=Object.keys(this.t.tag);return C=C.sort(),C=C.sort((V,E)=>{return!N[E]&&z[V]&&z[E]?z[V].parents.length>z[E].parents.length?-1:1:-1}),C[0]}data(){let C=this.t;return{spaceBefore:C.whitespace.before,text:C.text,spaceAfter:C.whitespace.after,normal:C.normal,implicit:C.silent_term,bestTag:this.bestTag(),tags:Object.keys(C.tag)}}}},{"../../paths":56}],117:[function(P,j){"use strict";const A=P("../../index");j.exports=class extends A{data(){return this.list.map((N)=>{return N.data()})}static find(N,_){N=N.clauses();let C=N.people();return C.concat(N.places()),C.concat(N.organizations()),C.sort("chronological"),"number"==typeof _&&(C=C.get(_)),C}}},{"../../index":44}],118:[function(P,j){"use strict";const A=P("../../index");j.exports=class extends A{data(){return this.terms().list.map((N)=>{let _=N.terms[0];return{text:_.text}})}static find(N,_){return N=N.match("#Url"),"number"==typeof _&&(N=N.get(_)),N}}},{"../../index":44}],119:[function(P,j){"use strict";const A=P("../../index"),z=P("./value");class N extends A{data(){return this.list.map((_)=>{return _.data()})}noDates(){return this.not("#Date")}numbers(){return this.list.map((_)=>{return _.number()})}toNumber(){return this.list=this.list.map((_)=>{return _.toNumber()}),this}toTextValue(){return this.list=this.list.map((_)=>{return _.toTextValue()}),this}toCardinal(){return this.list=this.list.map((_)=>{return _.toCardinal()}),this}toOrdinal(){return this.list=this.list.map((_)=>{return _.toOrdinal()}),this}toNiceNumber(){return this.list=this.list.map((_)=>{return _.toNiceNumber()}),this}static find(_,C){return _=_.match("#Value+"),_.splitOn("#Year"),"number"==typeof C&&(_=_.get(C)),_.list=_.list.map((V)=>{return new z(V.terms,V.lexicon,V.refText,V.refTerms)}),_}}N.prototype.clone=function(){let _=this.list.map((C)=>{return C.clone()});return new N(_,this.lexicon)},j.exports=N},{"../../index":44,"./value":131}],120:[function(P,j){"use strict";const A=P("../toNumber");j.exports=function(N){let _=A(N);if(!_&&0!==_)return null;let C=_%100;if(10C)return""+_+"th";const V={0:"th",1:"st",2:"nd",3:"rd"};let E=""+_,q=E.slice(E.length-1,E.length);return E+=V[q]?V[q]:"th",E}},{"../toNumber":126}],121:[function(P,j){j.exports=P("../../paths")},{"../../paths":56}],122:[function(P,j){"use strict";const A=P("../toNumber"),z=P("../toText"),N=P("../../../paths").data.ordinalMap.toOrdinal;j.exports=(C)=>{let V=A(C),E=z(V),q=E[E.length-1];return E[E.length-1]=N[q]||q,E.join(" ")}},{"../../../paths":56,"../toNumber":126,"../toText":130}],123:[function(P,j){"use strict";j.exports=function(z){if(!z&&0!==z)return null;z=""+z;let N=z.split("."),_=N[0],C=1{const N=[{reg:/^(minus|negative)[\s\-]/i,mult:-1},{reg:/^(a\s)?half[\s\-](of\s)?/i,mult:0.5}];for(let _=0;_{return Object.keys(F).reduce((M,W)=>{return M+=F[W],M},0)},O=(F)=>{for(let M=0;M{return z=z.replace(/1st$/,"1"),z=z.replace(/2nd$/,"2"),z=z.replace(/3rd$/,"3"),z=z.replace(/([4567890])r?th$/,"$1"),z=z.replace(/^[$€¥£¢]/,""),z=z.replace(/[%$€¥£¢]$/,""),z=z.replace(/,/g,""),z=z.replace(/([0-9])([a-z]{1,2})$/,"$1"),parseFloat(z)}},{}],129:[function(P,j){"use strict";const A=P("./data");j.exports=(N,_)=>{if(A.ones[N]){if(_.ones||_.teens)return!1;}else if(A.teens[N]){if(_.ones||_.teens||_.tens)return!1;}else if(A.tens[N]&&(_.ones||_.teens||_.tens))return!1;return!0}},{"./data":124}],130:[function(P,j){"use strict";const A=function(C){let V=C,E=[];return[[1000000000,"million"],[100000000,"hundred million"],[1000000,"million"],[100000,"hundred thousand"],[1000,"thousand"],[100,"hundred"],[1,"one"]].forEach((D)=>{if(C>D[0]){let O=Math.floor(V/D[0]);V-=O*D[0],O&&E.push({unit:D[1],count:O})}}),E},z=function(C){const V=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],E=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"];let q=[];for(let D=0;D=V[D][1]&&(C-=V[D][1],q.push(V[D][0]));return E[C]&&q.push(E[C]),q},N=(C)=>{const V=["zero","one","two","three","four","five","six","seven","eight","nine"];let E=[],q=(""+C).match(/\.([0-9]+)/);if(!q||!q[0])return E;E.push("point");let D=q[0].split("");for(let O=0;OC&&(V.push("negative"),C=Math.abs(C));let E=A(C);for(let q=0,D;qq),0===V.length&&(V[0]="zero"),V}},{}],131:[function(P,j){"use strict";const A=P("../../paths"),z=A.Terms,N=P("./toNumber"),_=P("./toText"),C=P("./toNiceNumber"),V=P("./numOrdinal"),E=P("./textOrdinal"),q=(F)=>{let M=F.terms[F.terms.length-1];return!!M&&!0===M.tag.Ordinal},D=(F)=>{for(let M=0;M{for(let M=0,W;M{return M.clone()});return new S(F,this.lexicon,this.refText,this.refTerms)},j.exports=S},{"../../paths":56,"./numOrdinal":120,"./textOrdinal":122,"./toNiceNumber":123,"./toNumber":126,"./toText":130}],132:[function(P,j){"use strict";const A=P("../../index"),z=P("./verb");j.exports=class extends A{constructor(_,C,V){super(_,C,V)}data(){return this.list.map((_)=>{return _.data()})}conjugation(_){return this.list.map((C)=>{return C.conjugation(_)})}conjugate(_){return this.list.map((C)=>{return C.conjugate(_)})}isPlural(){return this.list=this.list.filter((_)=>{return _.isPlural()}),this}isSingular(){return this.list=this.list.filter((_)=>{return!_.isPlural()}),this}isNegative(){return this.list=this.list.filter((_)=>{return _.isNegative()}),this}isPositive(){return this.list=this.list.filter((_)=>{return!_.isNegative()}),this}toNegative(){return this.list=this.list.map((_)=>{return _.toNegative()}),this}toPositive(){return this.list.forEach((_)=>{_.toPositive()}),this}toPastTense(){return this.list.forEach((_)=>{_.toPastTense()}),this}toPresentTense(){return this.list.forEach((_)=>{_.toPresentTense()}),this}toFutureTense(){return this.list.forEach((_)=>{_.toFutureTense()}),this}toInfinitive(){return this.list.forEach((_)=>{_.toInfinitive()}),this}asAdjective(){return this.list.map((_)=>_.asAdjective())}static find(_,C){return _=_.match("(#Adverb|#Auxillary|#Verb|#Negative|#Particle)+").if("#Verb"),_=_.splitAfter("#Comma"),"number"==typeof C&&(_=_.get(C)),_.list=_.list.map((V)=>{return new z(V.terms,V.lexicon,V.refText,V.refTerms)}),new A(_.list,this.lexicon,this.parent)}}},{"../../index":44,"./verb":151}],133:[function(P,j){"use strict";const A=P("./methods/predict"),z=function(D){return D.match("#Gerund").found},N=function(D){let O=D.match("#Negative").list;return 2!==O.length&&!(1!==O.length)},_=function(D){return!!D.match("is being #PastTense").found||!!D.match("(had|has) been #PastTense").found||!!D.match("will have been #PastTense").found},C=function(D){return!!D.match("^(had|have) #PastTense")},V=function(D){let O=D.match("#Modal");return O.found?O.out("normal"):null},E=function(D){if(D.auxillary.found){if(D.match("will have #PastTense").found)return"Past";if(D.auxillary.match("will").found)return"Future";if(D.auxillary.match("was").found)return"Past"}if(D.verb){let S=A(D.verb);return{PastTense:"Past",FutureTense:"Future",FuturePerfect:"Future"}[S]||"Present"}return"Present"};j.exports=(D)=>{let O=N(D),S={negative:O,continuous:z(D),passive:_(D),perfect:C(D),modal:V(D),tense:E(D)};return S}},{"./methods/predict":145}],134:[function(P,j){"use strict";const A=P("./irregulars"),z=P("./suffixes"),N=P("./toActor"),_=P("./toAdjective"),C=P("./generic"),V=P("../predict"),E=P("../toInfinitive"),q=P("./toBe");j.exports=function(O,S){if("is"===O.normal||"was"===O.normal||"will"===O.normal)return q();O.tag.Contraction&&(O.text=O.silent_term);let F={PastTense:null,PresentTense:null,Infinitive:null,Gerund:null,Actor:null},M=V(O);M&&(F[M]=O.normal),"Infinitive"!==M&&(F.Infinitive=E(O,S)||"");const W=A(F.Infinitive)||{};Object.keys(W).forEach((L)=>{W[L]&&!F[L]&&(F[L]=W[L])});let G=F.Infinitive||O.normal;const I=z(G);return Object.keys(I).forEach((L)=>{I[L]&&!F[L]&&(F[L]=I[L])}),F.Actor||(F.Actor=N(G)),F.Adjective=_(F.Infinitive),Object.keys(F).forEach((L)=>{!F[L]&&C[L]&&(F[L]=C[L](F))}),F}},{"../predict":145,"../toInfinitive":148,"./generic":137,"./irregulars":139,"./suffixes":140,"./toActor":141,"./toAdjective":142,"./toBe":143}],135:[function(P,j){j.exports=[{reg:/(eave)$/i,repl:{pr:"$1s",pa:"$1d",gr:"eaving",ar:"$1r"}},{reg:/(ink)$/i,repl:{pr:"$1s",pa:"unk",gr:"$1ing",ar:"$1er"}},{reg:/(end)$/i,repl:{pr:"$1s",pa:"ent",gr:"$1ing",ar:"$1er"}},{reg:/(ide)$/i,repl:{pr:"$1s",pa:"ode",gr:"iding",ar:"ider"}},{reg:/(ake)$/i,repl:{pr:"$1s",pa:"ook",gr:"aking",ar:"$1r"}},{reg:/(eed)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing",ar:"$1er"}},{reg:/(e)(ep)$/i,repl:{pr:"$1$2s",pa:"$1pt",gr:"$1$2ing",ar:"$1$2er"}},{reg:/(a[tg]|i[zn]|ur|nc|gl|is)e$/i,repl:{pr:"$1es",pa:"$1ed",gr:"$1ing",prt:"$1en"}},{reg:/([i|f|rr])y$/i,repl:{pr:"$1ies",pa:"$1ied",gr:"$1ying"}},{reg:/([td]er)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing"}},{reg:/([bd]l)e$/i,repl:{pr:"$1es",pa:"$1ed",gr:"$1ing"}},{reg:/(ish|tch|ess)$/i,repl:{pr:"$1es",pa:"$1ed",gr:"$1ing"}},{reg:/(ion|end|e[nc]t)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing"}},{reg:/(om)e$/i,repl:{pr:"$1es",pa:"ame",gr:"$1ing"}},{reg:/([aeiu])([pt])$/i,repl:{pr:"$1$2s",pa:"$1$2",gr:"$1$2$2ing"}},{reg:/(er)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing"}},{reg:/(en)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing"}},{reg:/(..)(ow)$/i,repl:{pr:"$1$2s",pa:"$1ew",gr:"$1$2ing",prt:"$1$2n"}},{reg:/(..)([cs]h)$/i,repl:{pr:"$1$2es",pa:"$1$2ed",gr:"$1$2ing"}},{reg:/([^aeiou][ou])(g|d)$/i,repl:{pr:"$1$2s",pa:"$1$2$2ed",gr:"$1$2$2ing"}},{reg:/([^aeiou][aeiou])(b|t|p|m)$/i,repl:{pr:"$1$2s",pa:"$1$2$2ed",gr:"$1$2$2ing"}},{reg:/([aeiou]zz)$/i,repl:{pr:"$1es",pa:"$1ed",gr:"$1ing"}}]},{}],136:[function(P,j){"use strict";const A=P("./irregulars"),z=P("./suffixes"),N=P("./generic"),_=["Gerund","PastTense","PresentTense"];j.exports=(V)=>{let E={Infinitive:V};const q=A(E.Infinitive);null!==q&&Object.keys(q).forEach((O)=>{q[O]&&!E[O]&&(E[O]=q[O])});const D=z(V);Object.keys(D).forEach((O)=>{D[O]&&!E[O]&&(E[O]=D[O])});for(let O=0;O<_.length;O++)E[_[O]]||(E[_[O]]=N[_[O]](E));return E}},{"./generic":137,"./irregulars":139,"./suffixes":140}],137:[function(P,j){"use strict";const A=P("../../../../../fns");j.exports={Gerund:(N)=>{let _=N.Infinitive;return A.endsWith(_,"e")?_.replace(/e$/,"ing"):_+"ing"},PresentTense:(N)=>{let _=N.Infinitive;return A.endsWith(_,"s")?_+"es":_.match(/[bcdfghjklmnpqrstvwxz]y$/)?_.slice(0,-1)+"ies":_+"s"},PastTense:(N)=>{let _=N.Infinitive;return A.endsWith(_,"e")?_+"d":A.endsWith(_,"ed")?_:_.match(/[bcdfghjklmnpqrstvwxz]y$/)?_.slice(0,-1)+"ied":_+"ed"}}},{"../../../../../fns":40}],138:[function(P,j){"use strict";const A=P("./conjugate"),z=P("./toBe");j.exports=(_,C)=>{let V=_.negative.found;if(_.verb.tag.Copula||"be"===_.verb.normal&&_.auxillary.match("will").found)return z(!1,V);let q=A(_.verb,C);return _.particle.found&&Object.keys(q).forEach((D)=>{q[D]+=_.particle.out()}),_.adverbs.found&&Object.keys(q).forEach((D)=>{q[D]+=_.adverbs.out()}),V&&(q.PastTense="did not "+q.Infinitive,q.PresentTense="does not "+q.Infinitive),q.FutureTense||(V?q.FutureTense="will not "+q.Infinitive:q.FutureTense="will "+q.Infinitive),q}},{"./conjugate":134,"./toBe":143}],139:[function(P,j){"use strict";const A=P("../../../../../data").irregular_verbs,z=Object.keys(A),N=["Participle","Gerund","PastTense","PresentTense","FuturePerfect","PerfectTense","Actor"];j.exports=function(C){if(void 0!==A[C]){let V=Object.assign({},A[C]);return V.Infinitive=C,V}for(let V=0;V{let _={PastTense:"was",PresentTense:"is",FutureTense:"will be",Infinitive:"is",Gerund:"being",Actor:"",PerfectTense:"been",Pluperfect:"been"};return z&&(_.PastTense="were",_.PresentTense="are",_.Infinitive="are"),N&&(_.PastTense+=" not",_.PresentTense+=" not",_.FutureTense="will not be",_.Infinitive+=" not",_.PerfectTense="not "+_.PerfectTense,_.Pluperfect="not "+_.Pluperfect),_}},{}],144:[function(P,j){"use strict";j.exports=(z)=>{if(z.match("(are|were|does)").found)return!0;if(z.match("(is|am|do|was)").found)return!1;let N=z.getNoun();if(N&&N.found){if(N.match("#Plural").found)return!0;if(N.match("#Singular").found)return!1}return null}},{}],145:[function(P,j){"use strict";const A=P("../../../../../fns"),z=P("./suffix_rules"),N={Infinitive:!0,Gerund:!0,PastTense:!0,PresentTense:!0,FutureTense:!0,PerfectTense:!0,Pluperfect:!0,FuturePerfect:!0,Participle:!0};j.exports=function(C,V){let E=Object.keys(N);for(let D=0;D{return Object.keys(z).reduce((V,E)=>{return Object.keys(z[E]).forEach((q)=>{V[z[E][q]]=E}),V},{})})();j.exports=function(V){if(V.tag.Infinitive)return V.normal;if(z[V.normal])return z[V.normal];let E=N(V);if(A[E])for(let q=0,D;q{let _=N.match("#Auxillary").first();if(_.found){let S=_.list[0].index();return N.parentTerms.insertAt(S+1,"not","Verb")}let C=N.match("(#Copula|will|has|had|do)").first();if(C.found){let S=C.list[0].index();return N.parentTerms.insertAt(S+1,"not","Verb")}let V=N.isPlural(),E=N.match("#PastTense").last();if(E.found){let S=E.list[0],F=S.index();return S.terms[0].text=A(S.terms[0]),V?N.parentTerms.insertAt(F,"do not","Verb"):N.parentTerms.insertAt(F,"did not","Verb")}let q=N.match("#PresentTense").first();if(q.found){let S=q.list[0],F=S.index();S.terms[0].text=A(S.terms[0]);let M=N.getNoun();return M.match("(i|we|they|you)").found?N.parentTerms.insertAt(F,"do not","Verb"):N.parentTerms.insertAt(F,"does not","Verb")}let D=N.match("#Gerund").last();if(D.found){let S=D.list[0].index();return N.parentTerms.insertAt(S,"not","Verb")}let O=N.match("#Verb").last();if(O.found){O=O.list[0];let S=O.index();return O.terms[0].text=A(O.terms[0]),V?N.parentTerms.insertAt(S,"does not","Verb"):N.parentTerms.insertAt(S,"did not","Verb")}return N}},{"./methods/toInfinitive":148}],151:[function(P,j){"use strict";const A=P("../../paths").Terms,z=P("./methods/conjugate"),N=P("./methods/toAdjective"),_=P("./interpret"),C=P("./toNegative"),V=P("./methods/isPlural");j.exports=class extends A{constructor(q,D,O,S){super(q,D,O,S),this.parse()}parse(){this.negative=this.match("#Negative"),this.adverbs=this.match("#Adverb");let q=this.clone().not("(#Adverb|#Negative)");this.verb=q.match("#Verb").not("#Particle").last(),this.particle=q.match("#Particle").last(),this.verb.found&&(this.verb=this.verb.list[0].terms[0]),this.auxillary=q.match("#Auxillary+")}data(q){return{text:this.out("text"),normal:this.out("normal"),parts:{negative:this.negative.out("normal"),auxillary:this.auxillary.out("normal"),verb:this.verb.out("normal"),adverbs:this.adverbs.out("normal")},interpret:_(this,q),conjugations:this.conjugate()}}getNoun(){if(!this.refTerms)return null;let q="#Adjective? #Noun+ "+this.out("normal");return this.refTerms.match(q).match("#Noun+")}conjugation(){return _(this,!1).tense}conjugate(q){return z(this,q)}isPlural(){return V(this)}isNegative(){return 1===this.match("#Negative").list.length}isPerfect(){return this.auxillary.match("(have|had)").found}toNegative(){return this.isNegative()?this:C(this)}toPositive(){return this.match("#Negative").delete()}toPastTense(){let q=this.conjugate();return this.replaceWith(q.PastTense)}toPresentTense(){let q=this.conjugate();return this.replaceWith(q.PresentTense)}toFutureTense(){let q=this.conjugate();return this.replaceWith(q.FutureTense)}toInfinitive(){let q=this.conjugate();return this.terms[this.terms.length-1].text=q.Infinitive,this}asAdjective(){return N(this.verb.out("normal"))}}},{"../../paths":56,"./interpret":133,"./methods/conjugate":138,"./methods/isPlural":144,"./methods/toAdjective":147,"./toNegative":150}],152:[function(P,j){"use strict";const A=P("./paths").fns,z=P("../data/index"),N=Object.keys(z.abbreviations),_=function(V){let E=V.split(/(\n+)/);return E=E.map(function(q){return q.split(/(\S.+?[.!?])(?=\s+|$)/g)}),A.flatten(E)};j.exports=function(V){let E=[];V=A.ensureString(V);let q=[];if(!V||"string"!=typeof V||!V.match(/\S/))return E;let D=_(V);for(let M=0,W;M{return A[N].forEach((_)=>{z[_]=N}),z},{})},{}],154:[function(P,j){"use strict";const A=[["Noun","Verb","Adjective","Adverb","Determiner","Conjunction","Preposition","QuestionWord","Expression","Url","PhoneNumber","Email","Emoji"],["Person","Organization","Value","Place","Actor","Demonym","Pronoun"],["Plural","Singular"],["Plural","Person"],["Plural","Organization"],["Plural","Currency"],["Plural","Ordinal"],["MaleName","FemaleName"],["FirstName","LastName","Honorific"],["Comparative","Superlative"],["Value","Verb","Adjective"],["Ordinal","Cardinal"],["TextValue","NumericValue"],["NiceNumber","TextValue"],["Ordinal","Currency"],["PastTense","PerfectTense","Pluperfect","FuturePerfect","Copula","Modal","Participle","Infinitive","Gerund"],["Month","WeekDay","Year","Duration"],["Particle","Conjunction","Adverb","Preposition"],["Date","Verb","Adjective","Person"],["NounPhrase","VerbPhrase","AdjectivePhrase","ConditionalPhrase"],["Value","Determiner"],["Verb","NounPhrase"],["Noun","VerbPhrase"],["RomanNumeral","Fraction","NiceNumber"],["RomanNumeral","Money"],["UpperCase","TitleCase","CamelCase"]];j.exports=(N)=>{let _=[];for(let C=0;CC!==N)}},{}],155:[function(P,j){"use strict";const A=P("./conflicts"),z=P("./tree"),N={Month:"Singular",Time:"Noun",WeekDay:"Noun",Duration:"Noun",NumberRange:"Contraction"},_=(V)=>{let E=Object.keys(V||{});return E.forEach((q)=>{if("object"==typeof V[q]){let D=Object.keys(V[q]);D.forEach((O)=>{if("object"==typeof V[q][O]){let S=Object.keys(V[q][O]);E=E.concat(S)}}),E=E.concat(D)}}),E};j.exports=function(){let V={};const E=(q,D)=>{Object.keys(q).forEach((O)=>{D=D.slice(0),V[O]={parents:D,children:_(q[O])},!0!==q[O]&&E(q[O],D.concat([O]))})};return E(z,[]),Object.keys(V).forEach((q)=>{N[q]&&V[q].parents.push(N[q])}),Object.keys(V).forEach((q)=>{V[q].not=A(q);let D=V[q].parents;for(let O=0,S;O{return z+"-xxxxxxxx".replace(/x/g,function(N){var _=0|16*Math.random(),C="x"===N?_:8|3&_;return C.toString(16)})}},{}],159:[function(P,j){"use strict";j.exports=(z)=>{const N={toUpperCase:function(){return this.text=this.text.toUpperCase(),this.tagAs("#UpperCase","toUpperCase"),this},toLowerCase:function(){return this.text=this.text.toLowerCase(),this.unTag("#TitleCase"),this.unTag("#UpperCase"),this},toTitleCase:function(){return this.text=this.text.replace(/^[a-z]/,(_)=>_.toUpperCase()),this.tagAs("#TitleCase","toTitleCase"),this},toCamelCase:function(){this.toTitleCase();let _=this.index();return 0!==_&&(this.whitespace.before=""),this.tagAs("#CamelCase","toCamelCase"),this},needsTitleCase:function(){const _=["Person","Place","Organization","Acronym","UpperCase","Currency","RomanNumeral","Month","WeekDay","Holiday","Demonym"];for(let V=0;V<_.length;V++)if(this.tag[_[V]])return!0;const C=["i","god","allah"];for(let V=0;V{z.prototype[_]=N[_]}),z}},{}],160:[function(P,j){"use strict";j.exports=(z)=>{const N={isAcronym:function(){return!!this.text.match(/([A-Z]\.)+[A-Z]?$/)||!!this.text.match(/^[A-Z]\.$/)||!!this.text.match(/[A-Z]{3}$/)},isWord:function(){let _=this;if(_.silent_term)return!0;if(!_.text.match(/[a-z|0-9]/i))return!1;if(_.normal.match(/[a-z]/)&&1<_.normal.length&&!_.normal.match(/[aeiouy]/i))return!1;if(_.normal.match(/[0-9]/)){if(_.normal.match(/[a-z][0-9][a-z]/))return!1;if(!_.normal.match(/^([$-])*?([0-9,\.])*?([s\$%])*?$/))return!1}return!0}};return Object.keys(N).forEach((_)=>{z.prototype[_]=N[_]}),z}},{}],161:[function(P,j){"use strict";const A=P("./normalize").addNormal,z=P("./root");j.exports=(_)=>{const C={normalize:function(){return A(this),z(this),this}};return Object.keys(C).forEach((V)=>{_.prototype[V]=C[V]}),_}},{"./normalize":162,"./root":163}],162:[function(P,j,$){"use strict";const A=P("./unicode");$.normalize=function(z){return z=z||"",z=z.toLowerCase(),z=z.trim(),z=A(z),z=z.replace(/^[#@]/,""),z=z.replace(/[\u2018\u2019\u201A\u201B\u2032\u2035]+/g,"'"),z=z.replace(/[\u201C\u201D\u201E\u201F\u2033\u2036"]+/g,""),z=z.replace(/\u2026/g,"..."),z.match(/^[:;]/)||(z=z.replace(/\.{3,}$/g,""),z=z.replace(/['",\.!:;\?\)]$/g,""),z=z.replace(/^['"\(]/g,"")),z},$.addNormal=function(z){let N=z._text||"";N=$.normalize(N),z.isAcronym()&&(N=N.replace(/\./g,"")),N=N.replace(/([0-9]),([0-9])/g,"$1$2"),z.normal=N}},{"./unicode":164}],163:[function(P,j){"use strict";j.exports=function(z){let N=z.normal||z.silent_term||"";N=N.replace(/'s\b/,""),N=N.replace(/'\b/,""),z.root=N}},{}],164:[function(P,j){"use strict";let A={"!":"\xA1","?":"\xBF\u0241",a:"\xAA\xC0\xC1\xC2\xC3\xC4\xC5\xE0\xE1\xE2\xE3\xE4\xE5\u0100\u0101\u0102\u0103\u0104\u0105\u01CD\u01CE\u01DE\u01DF\u01E0\u01E1\u01FA\u01FB\u0200\u0201\u0202\u0203\u0226\u0227\u023A\u0386\u0391\u0394\u039B\u03AC\u03B1\u03BB\u0410\u0414\u0430\u0434\u0466\u0467\u04D0\u04D1\u04D2\u04D3\u019B\u0245\xE6",b:"\xDF\xFE\u0180\u0181\u0182\u0183\u0184\u0185\u0243\u0392\u03B2\u03D0\u03E6\u0411\u0412\u042A\u042C\u0431\u0432\u044A\u044C\u0462\u0463\u048C\u048D\u0494\u0495\u01A5\u01BE",c:"\xA2\xA9\xC7\xE7\u0106\u0107\u0108\u0109\u010A\u010B\u010C\u010D\u0186\u0187\u0188\u023B\u023C\u037B\u037C\u037D\u03F2\u03F9\u03FD\u03FE\u03FF\u0404\u0421\u0441\u0454\u0480\u0481\u04AA\u04AB",d:"\xD0\u010E\u010F\u0110\u0111\u0189\u018A\u0221\u018B\u018C\u01F7",e:"\xC8\xC9\xCA\xCB\xE8\xE9\xEA\xEB\u0112\u0113\u0114\u0115\u0116\u0117\u0118\u0119\u011A\u011B\u018E\u018F\u0190\u01DD\u0204\u0205\u0206\u0207\u0228\u0229\u0246\u0247\u0388\u0395\u039E\u03A3\u03AD\u03B5\u03BE\u03F1\u03F5\u03F6\u0400\u0401\u0415\u042D\u0435\u0450\u0451\u04BC\u04BD\u04BE\u04BF\u04D6\u04D7\u04D8\u04D9\u04DA\u04DB\u04EC\u04ED",f:"\u0191\u0192\u03DC\u03DD\u04FA\u04FB\u0492\u0493\u04F6\u04F7\u017F",g:"\u011C\u011D\u011E\u011F\u0120\u0121\u0122\u0123\u0193\u01E4\u01E5\u01E6\u01E7\u01F4\u01F5",h:"\u0124\u0125\u0126\u0127\u0195\u01F6\u021E\u021F\u0389\u0397\u0402\u040A\u040B\u041D\u043D\u0452\u045B\u04A2\u04A3\u04A4\u04A5\u04BA\u04BB\u04C9\u04CA",I:"\xCC\xCD\xCE\xCF",i:"\xEC\xED\xEE\xEF\u0128\u0129\u012A\u012B\u012C\u012D\u012E\u012F\u0130\u0131\u0196\u0197\u0208\u0209\u020A\u020B\u038A\u0390\u03AA\u03AF\u03B9\u03CA\u0406\u0407\u0456\u0457",j:"\u0134\u0135\u01F0\u0237\u0248\u0249\u03F3\u0408\u0458",k:"\u0136\u0137\u0138\u0198\u0199\u01E8\u01E9\u039A\u03BA\u040C\u0416\u041A\u0436\u043A\u045C\u049A\u049B\u049C\u049D\u049E\u049F\u04A0\u04A1",l:"\u0139\u013A\u013B\u013C\u013D\u013E\u013F\u0140\u0141\u0142\u019A\u01AA\u01C0\u01CF\u01D0\u0234\u023D\u0399\u04C0\u04CF",m:"\u039C\u03FA\u03FB\u041C\u043C\u04CD\u04CE",n:"\xD1\xF1\u0143\u0144\u0145\u0146\u0147\u0148\u0149\u014A\u014B\u019D\u019E\u01F8\u01F9\u0220\u0235\u039D\u03A0\u03AE\u03B7\u03DE\u040D\u0418\u0419\u041B\u041F\u0438\u0439\u043B\u043F\u045D\u048A\u048B\u04C5\u04C6\u04E2\u04E3\u04E4\u04E5\u03C0",o:"\xD2\xD3\xD4\xD5\xD6\xD8\xF0\xF2\xF3\xF4\xF5\xF6\xF8\u014C\u014D\u014E\u014F\u0150\u0151\u019F\u01A0\u01A1\u01D1\u01D2\u01EA\u01EB\u01EC\u01ED\u01FE\u01FF\u020C\u020D\u020E\u020F\u022A\u022B\u022C\u022D\u022E\u022F\u0230\u0231\u038C\u0398\u039F\u03B8\u03BF\u03C3\u03CC\u03D5\u03D8\u03D9\u03EC\u03ED\u03F4\u041E\u0424\u043E\u0472\u0473\u04E6\u04E7\u04E8\u04E9\u04EA\u04EB\xA4\u018D\u038F",p:"\u01A4\u01BF\u03A1\u03C1\u03F7\u03F8\u03FC\u0420\u0440\u048E\u048F\xDE",q:"\u024A\u024B",r:"\u0154\u0155\u0156\u0157\u0158\u0159\u01A6\u0210\u0211\u0212\u0213\u024C\u024D\u0403\u0413\u042F\u0433\u044F\u0453\u0490\u0491",s:"\u015A\u015B\u015C\u015D\u015E\u015F\u0160\u0161\u01A7\u01A8\u0218\u0219\u023F\u03C2\u03DA\u03DB\u03DF\u03E8\u03E9\u0405\u0455",t:"\u0162\u0163\u0164\u0165\u0166\u0167\u01AB\u01AC\u01AD\u01AE\u021A\u021B\u0236\u023E\u0393\u03A4\u03C4\u03EE\u03EF\u0422\u0442\u0482\u04AC\u04AD",u:"\xB5\xD9\xDA\xDB\xDC\xF9\xFA\xFB\xFC\u0168\u0169\u016A\u016B\u016C\u016D\u016E\u016F\u0170\u0171\u0172\u0173\u01AF\u01B0\u01B1\u01B2\u01D3\u01D4\u01D5\u01D6\u01D7\u01D8\u01D9\u01DA\u01DB\u01DC\u0214\u0215\u0216\u0217\u0244\u03B0\u03BC\u03C5\u03CB\u03CD\u03D1\u040F\u0426\u0427\u0446\u045F\u04B4\u04B5\u04B6\u04B7\u04CB\u04CC\u04C7\u04C8",v:"\u03BD\u0474\u0475\u0476\u0477",w:"\u0174\u0175\u019C\u03C9\u03CE\u03D6\u03E2\u03E3\u0428\u0429\u0448\u0449\u0461\u047F",x:"\xD7\u03A7\u03C7\u03D7\u03F0\u0425\u0445\u04B2\u04B3\u04FC\u04FD\u04FE\u04FF",y:"\xDD\xFD\xFF\u0176\u0177\u0178\u01B3\u01B4\u0232\u0233\u024E\u024F\u038E\u03A5\u03AB\u03B3\u03C8\u03D2\u03D3\u03D4\u040E\u0423\u0443\u0447\u045E\u0470\u0471\u04AE\u04AF\u04B0\u04B1\u04EE\u04EF\u04F0\u04F1\u04F2\u04F3",z:"\u0179\u017A\u017B\u017C\u017D\u017E\u01A9\u01B5\u01B6\u0224\u0225\u0240\u0396\u03B6"},z={};Object.keys(A).forEach(function(_){A[_].split("").forEach(function(C){z[C]=_})});j.exports=(_)=>{let C=_.split("");return C.forEach((V,E)=>{z[V]&&(C[E]=z[V])}),C.join("")}},{}],165:[function(P,j){"use strict";const A=P("./renderHtml"),z=P("../../paths").fns,N={text:function(C){return C.whitespace.before+C._text+C.whitespace.after},normal:function(C){return C.normal},root:function(C){return C.root||C.normal},html:function(C){return A(C)},tags:function(C){return{text:C.text,normal:C.normal,tags:Object.keys(C.tag)}},debug:function(C){let V=Object.keys(C.tag).map((D)=>{return z.printTag(D)}).join(", "),E=C.text;E="'"+z.yellow(E||"-")+"'",C.dirty;let q="";C.silent_term&&(q="["+C.silent_term+"]"),E=z.leftPad(E,25),E+=z.leftPad(q,5),console.log(" "+E+" - "+V)}};j.exports=(C)=>{return C.prototype.out=function(V){return N[V]||(V="text"),N[V](this)},C}},{"../../paths":172,"./renderHtml":166}],166:[function(P,j){"use strict";const A=(_)=>{const C={"<":"<",">":">","&":"&","\"":""","'":"'"," ":" "};return _.replace(/[<>&"' ]/g,function(V){return C[V]})},z=(_)=>{const V=/<(?:!--(?:(?:-*[^->])*--+|-?)|script\b(?:[^"'>]|"[^"]*"|'[^']*')*>[\s\S]*?<\/script\s*|style\b(?:[^"'>]|"[^"]*"|'[^']*')*>[\s\S]*?<\/style\s*|\/?[a-z](?:[^"'>]|"[^"]*"|'[^']*')*)>/gi;let E;do E=_,_=_.replace(V,"");while(_!==E);return _.replace(/"Term"!==q);C=C.map((q)=>"nl-"+q),C=C.join(" ");let V=z(_.text);V=A(V);let E=""+V+"";return A(_.whitespace.before)+E+A(_.whitespace.after)}},{}],167:[function(P,j){"use strict";j.exports=(z)=>{const N={endPunctuation:function(){let _=this.text.match(/[a-z]([,:;\/.(\.\.\.)\!\?]+)$/i);if(_){if({",":"comma",":":"colon",";":"semicolon",".":"period","...":"elipses","!":"exclamation","?":"question"}[_[1]])return _[1]}return null},setPunctuation:function(_){return this.text=this.text.replace(/[a-z]([,:;\/.(\.\.\.)\!\?]+)$/i,""),this.text+=_,this},hasComma:function(){return"comma"===this.endPunctuation()},killPunctuation:function(){return this.text=this._text.replace(/([,:;\/.(\.\.\.)\!\?]+)$/,""),this}};return Object.keys(N).forEach((_)=>{z.prototype[_]=N[_]}),z}},{}],168:[function(P,j){"use strict";const A=P("./setTag"),z=P("./unTag"),N=P("./paths").tags;j.exports=(C)=>{const V={tagAs:function(E,q){A(this,E,q)},unTag:function(E,q){z(this,E,q)},canBe:function(E){E=E||"",E=E.replace(/^#/,"");let q=N[E].not||[];for(let D=0;D{C.prototype[E]=V[E]}),C}},{"./paths":169,"./setTag":170,"./unTag":171}],169:[function(P,j,$){arguments[4][121][0].apply($,arguments)},{"../../paths":172,dup:121}],170:[function(P,j){"use strict";const A=P("./paths"),z=A.log,N=A.tags,_=P("./unTag"),C=(q,D,O)=>{if(N[D]){let S=N[D].not||[];for(let F=0;F{q.tag[D]||(O=O||"",C(q,D,O),z.tagAs(q,D,O),q.tag[D]=!0)};j.exports=function(q,D,O){if(q&&D&&"string"==typeof D&&(D=D||"",D=D.replace(/^#/,""),V(q,D,O),N[D])){let S=N[D].parents||[];for(let F=0;F{V.tag[E]&&(z.tell(" --"+E+" "+(q||"")),delete V.tag[E])};j.exports=(V,E,q)=>{if(V&&E&&(_(V,E,q),N[E])){let D=N[E].children||[];for(let O=0;O{let N={before:"",after:""},_=z.match(/^(\s|-+|\.\.+)+/);return _&&(N.before=_[0],z=z.replace(/^(\s|-+|\.\.+)+/,"")),_=z.match(/(\s+|-+|\.\.+)$/),_&&(z=z.replace(/(\s+|-+|\.\.+)$/,""),N.after=_[0]),{whitespace:N,text:z}}},{}],174:[function(P,j){"use strict";const A=P("../term"),z={"-":!0,"--":!0,"...":!0};j.exports=function(_){let C=[];_=_||"","number"==typeof _&&(_=""+_);let V=_.split(/(\S+)/),E=[];for(let D=0;Dnew A(D))}},{"../term":157}],175:[function(P,j){"use strict";const A=P("./tagger"),z=P("./build");class N{constructor(_,C,V,E){this.terms=_,this.lexicon=C,this.refText=V,this._refTerms=E,this.count=void 0,this.get=(q)=>{return this.terms[q]}}get found(){return 0{C.dirty=_})}posTag(){return A(this),this}firstTerm(){return this.terms[0]}lastTerm(){return this.terms[this.terms.length-1]}get parent(){return this.refText||this}set parent(_){return this.refText=_,this}get parentTerms(){return this.refTerms||this}set parentTerms(_){return this.refTerms=_,this}all(){return this.parent}data(){return{text:this.out("text"),normal:this.out("normal")}}get whitespace(){return{before:(_)=>{return this.firstTerm().whitespace.before=_,this},after:(_)=>{return this.lastTerm().whitespace.after=_,this}}}static fromString(_,C){let V=z(_),E=new N(V,C,null);return E.terms.forEach((q)=>{q.parentTerms=E}),E.posTag(),E}}N=P("./match")(N),N=P("./match/not")(N),N=P("./methods/tag")(N),N=P("./methods/loops")(N),N=P("./methods/delete")(N),N=P("./methods/insert")(N),N=P("./methods/misc")(N),N=P("./methods/out")(N),N=P("./methods/replace")(N),N=P("./methods/split")(N),N=P("./methods/transform")(N),j.exports=N},{"./build":174,"./match":176,"./match/not":182,"./methods/delete":183,"./methods/insert":184,"./methods/loops":185,"./methods/misc":186,"./methods/out":187,"./methods/replace":188,"./methods/split":189,"./methods/tag":190,"./methods/transform":191,"./tagger":203}],176:[function(P,j){"use strict";const A=P("./lib/syntax"),z=P("./lib/startHere"),N=P("../../result/index");j.exports=(C)=>{const V=function(O,S){let F=O.terms.filter((M)=>S[M.normal]);return F=F.map((M)=>{return new C([M],O.lexicon,O.refText,O.refTerms)}),new N(F,O.lexicon,O.parent)},E=function(O,S){let F=S.reduce((M,W)=>{return M[W]=!0,M},{});return V(O,F)},q=function(O,S,F){let M=[],W=A(S);for(let G=0,I;G{return new C(G,O.lexicon,O.refText,O.refTerms)}),new N(M,O.lexicon,O.parent)},D={match:function(O,S){if("string"==typeof O)return q(this,O,S);if("object"==typeof O){let F=Object.prototype.toString.call(O);if("[object Array]"===F)return E(this,O,S);if("[object Object]"===F)return V(this,O,S)}return this},matchOne:function(O){let S=A(O);for(let F=0,M;F{C.prototype[O]=D[O]}),C}},{"../../result/index":44,"./lib/startHere":180,"./lib/syntax":181}],177:[function(P,j){"use strict";const A=P("./paths").fns,z=(_,C)=>{if(!_||!C)return!1;if(C.anyOne)return!0;if(C.tag){for(let V=0,E;V{let E=z(_,C,V);return C.negative&&(E=!!!E),E}},{"./paths":179}],178:[function(P,j){"use strict";const A=P("./paths").fns,z=(_,C)=>{return A.startsWith(C.normal,_)};j.exports=function(_,C,V){let E=C[V].normal;if(z(E,_))for(++V;V{for(E=E;E{for(E=E;E{let O=E;for(let S=0;SL.max)return null;O=I+1,S+=1;continue}if(M.optional){let I=q[S+1];O=_(V,O,M,I);continue}if(z(F,M,D)){if(O+=1,M.consecutive){let I=q[S+1];O=_(V,O,M,I)}continue}if(F.silent_term&&!F.normal){if(0===S)return null;O+=1,S-=1;continue}let G=A(F,q,S);if(G){S=G,O+=1;continue}if(!M.optional)return null}return V.terms.slice(E,O)}},{"./isMatch":177,"./lumpMatch":178}],181:[function(P,j){"use strict";const A=P("./paths").fns,z=function(_){_=_||"",_=_.trim();let C={optional:!1};if(A.startsWith(_,"!")&&(_=_.substr(1,_.length),C.negative=!0),A.startsWith(_,"^")&&(_=_.substr(1,_.length),C.starting=!0),A.endsWith(_,"$")&&(_=_.replace(/\$$/,""),C.ending=!0),A.endsWith(_,"?")&&(_=_.replace(/\?$/,""),C.optional=!0),A.endsWith(_,"+")&&(_=_.replace(/\+$/,""),C.consecutive=!0),A.startsWith(_,"#")&&(_=_.replace(/^\#/,""),C.tag=[A.titleCase(_)],_=null),A.startsWith(_,"(")&&A.endsWith(_,")")&&(_=_.replace(/\)$/,""),_=_.replace(/^\(/,""),C.oneOf=_.split(/\|/g),_=null),A.startsWith(_,"{")&&A.endsWith(_,"}")){let V=_.match(/\{([0-9]+), ?([0-9]+)\}/);C.minMax={min:parseInt(V[1],10),max:parseInt(V[2],10)},_=null}return"."===_&&(C.anyOne=!0,_=null),"*"===_&&(C.astrix=!0,_=null),C.normal=_,C.normal&&(C.normal=C.normal.toLowerCase()),C};j.exports=function(_){return _=_||"",_=_.split(/ +/),_.map(z)}},{"./paths":179}],182:[function(P,j){"use strict";const A=P("./lib/syntax"),z=P("./lib/startHere"),N=P("../../result/index");j.exports=(C)=>{const V={notObj:function(E,q){let D=[],O=[];return E.terms.forEach((S)=>{q.hasOwnProperty(S.normal)?(O.length&&D.push(O),O=[]):O.push(S)}),O.length&&D.push(O),D=D.map((S)=>{return new C(S,E.lexicon,E.refText,E.refTerms)}),new N(D,E.lexicon,E.parent)},notString:function(E,q,D){let O=[],S=A(q),F=[];for(let M=0,W;M{return new C(M,E.lexicon,E.refText,E.refTerms)}),new N(O,E.lexicon,E.parent)}};return V.notArray=function(E,q){let D=q.reduce((O,S)=>{return O[S]=!0,O},{});return V.notObj(E,D)},C.prototype.not=function(E,q){if("object"==typeof E){let D=Object.prototype.toString.call(E);if("[object Array]"===D)return V.notArray(this,E,q);if("[object Object]"===D)return V.notObj(this,E,q)}return"string"==typeof E?V.notString(this,E,q):this},C}},{"../../result/index":44,"./lib/startHere":180,"./lib/syntax":181}],183:[function(P,j){"use strict";const A=P("../mutate");j.exports=(N)=>{const _={delete:function(C){if(!this.found)return this;if(!C)return this.parentTerms=A.deleteThese(this.parentTerms,this),this;let V=this.match(C);if(V.found){let E=A.deleteThese(this,V);return E}return this.parentTerms}};return Object.keys(_).forEach((C)=>{N.prototype[C]=_[C]}),N}},{"../mutate":192}],184:[function(P,j){"use strict";const A=P("../mutate"),z=(_,C)=>{return _.terms.length&&_.terms[C]?(_.terms[C].whitespace.before=" ",_):_};j.exports=(_)=>{const C=function(E){return"Terms"===E.isA?E:"Term"===E.isA?new _([E]):_.fromString(E)},V={insertBefore:function(E,q){let D=this.terms.length,O=C(E);q&&O.tagAs(q);let S=this.index();return z(this.parentTerms,S),0E&&(E=0);let O=this.terms.length,S=C(q);return D&&S.tagAs(D),0{_.prototype[E]=V[E]}),_}},{"../mutate":192}],185:[function(P,j){"use strict";j.exports=(z)=>{return[["toUpperCase","UpperCase"],["toLowerCase"],["toTitleCase","TitleCase"]].forEach((_)=>{let C=_[0],V=_[1];z.prototype[C]=function(){let q=arguments;return this.terms.forEach((D)=>{D[C].apply(D,q)}),V&&this.tagAs(V,C),this}}),z}},{}],186:[function(P,j){"use strict";j.exports=(z)=>{const N={term:function(_){return this.terms[_]},first:function(){let _=this.terms[0];return new z([_],this.lexicon,this.refText,this.refTerms)},last:function(){let _=this.terms[this.terms.length-1];return new z([_],this.lexicon,this.refText,this.refTerms)},slice:function(_,C){let V=this.terms.slice(_,C);return new z(V,this.lexicon,this.refText,this.refTerms)},endPunctuation:function(){return this.last().terms[0].endPunctuation()},canBe:function(_){_=_||"",_=_.replace(/^#/,"");for(let C=0;C{return _+=C.whitespace.before.length,_+=C.text.length,_+=C.whitespace.after.length,_},0)},wordCount(){return this.terms.length},toCamelCase:function(){return this.toTitleCase(),this.terms.forEach((_,C)=>{0!==C&&(_.whitespace.before=""),_.whitespace.after=""}),this.tagAs("#CamelCase","toCamelCase"),this}};return Object.keys(N).forEach((_)=>{z.prototype[_]=N[_]}),z}},{}],187:[function(P,j){"use strict";const A=P("../paths").fns,z={text:function(_){return _.terms.reduce((C,V)=>{return C+=V.out("text"),C},"")},normal:function(_){let C=_.terms.filter((V)=>{return V.text});return C=C.map((V)=>{return V.normal}),C.join(" ")},grid:function(_){var C=" ";return C+=_.terms.reduce((V,E)=>{return V+=A.leftPad(E.text,11),V},""),C+"\n\n"},color:function(_){return _.terms.reduce((C,V)=>{return C+=A.printTerm(V),C},"")},root:function(_){return _.terms.filter((C)=>C.text).map((C)=>C.root).join(" ").toLowerCase()},html:function(_){return _.terms.map((C)=>C.render.html()).join(" ")},debug:function(_){_.terms.forEach((C)=>{C.out("debug")})}};z.plaintext=z.text,z.normalize=z.normal,z.normalized=z.normal,z.colors=z.color,z.tags=z.terms;j.exports=(_)=>{return _.prototype.out=function(C){return z[C]?z[C](this):z.text(this)},_.prototype.debug=function(){return z.debug(this)},_}},{"../paths":193}],188:[function(P,j){"use strict";const A=P("../mutate");j.exports=(N)=>{const _={replace:function(C,V){return void 0===V?this.replaceWith(C):(this.match(C).replaceWith(V),this)},replaceWith:function(C,V){let E=N.fromString(C);V&&E.tagAs(V,"user-given");let q=this.index();return this.parentTerms=A.deleteThese(this.parentTerms,this),this.parentTerms.terms=A.insertAt(this.parentTerms.terms,q,E),this.terms=E.terms,this}};return Object.keys(_).forEach((C)=>{N.prototype[C]=_[C]}),N}},{"../mutate":192}],189:[function(P,j,$){"use strict";const A=(N,_)=>{let C=_.terms[0],V=_.terms.length;for(let E=0;E{const _={splitAfter:function(C,V){let E=this.match(C,V),q=this.terms,D=[];return E.list.forEach((O)=>{let S=A(q,O);S.before&&S.match&&D.push(S.before.concat(S.match)),q=S.after}),q.length&&D.push(q),D=D.map((O)=>{let S=this.refText;return new N(O,this.lexicon,S,this.refTerms)}),D},splitOn:function(C,V){let E=this.match(C,V),q=this.terms,D=[];return E.list.forEach((O)=>{let S=A(q,O);S.before&&D.push(S.before),S.match&&D.push(S.match),q=S.after}),q.length&&D.push(q),D=D.filter((O)=>O&&O.length),D=D.map((O)=>new N(O,O.lexicon,O.refText,this.refTerms)),D},splitBefore:function(C,V){let E=this.match(C,V),q=this.terms,D=[];E.list.forEach((O)=>{let S=A(q,O);S.before&&D.push(S.before),S.match&&D.push(S.match),q=S.after}),q.length&&D.push(q);for(let O=0;OO&&O.length),D=D.map((O)=>new N(O,O.lexicon,O.refText,this.refTerms)),D}};return Object.keys(_).forEach((C)=>{N.prototype[C]=_[C]}),N};j.exports=z,$=z},{}],190:[function(P,j){"use strict";j.exports=(z)=>{const N={tagAs:function(_,C){this.terms.forEach((V)=>{V.tagAs(_,C)})},unTag:function(_,C){this.terms.forEach((V)=>{V.unTag(_,C)})},canBe:function(_,C){this.terms.forEach((V)=>{V.canBe(_,C)})}};return Object.keys(N).forEach((_)=>{z.prototype[_]=N[_]}),z}},{}],191:[function(P,j){"use strict";j.exports=(z)=>{const N={clone:function(){let _=this.terms.map((C)=>{return C.clone()});return new z(_,this.lexicon,this.refText,null)},hyphenate:function(){return this.terms.forEach((_,C)=>{C!==this.terms.length-1&&(_.whitespace.after="-"),0!==C&&(_.whitespace.before="")}),this},dehyphenate:function(){return this.terms.forEach((_)=>{"-"===_.whitespace.after&&(_.whitespace.after=" ")}),this}};return Object.keys(N).forEach((_)=>{z.prototype[_]=N[_]}),z}},{}],192:[function(P,j,$){"use strict";const A=(z)=>{let N=[];return"Terms"===z.isA?N=z.terms:"Text"===z.isA?N=z.flatten().list[0].terms:"Term"===z.isA&&(N=[z]),N};$.deleteThese=(z,N)=>{let _=A(N);return z.terms=z.terms.filter((C)=>{for(let V=0;V<_.length;V++)if(C===_[V])return!1;return!0}),z},$.insertAt=(z,N,_)=>{_.dirty=!0;let C=A(_);return 0{let C=Object.keys(z);for(let V=0;V{let E=C.terms[V],q=C.terms[V+1];return E.tag.Pronoun||E.tag.QuestionWord?!1:!q||!q.tag.VerbPhrase&&(!!q.tag.Noun||q.tag.Adjective&&C.terms[V+2]&&C.terms[V+2].tag.Noun||(q.tag.Adjective||q.tag.Adverb||q.tag.Verb)&&!1)};j.exports=(C)=>{for(let V=0;V{for(let V=0;V{for(let C=0,V;C<_.terms.length;C++)if(V=_.terms[C],!V.silent_term){if(V.tag.Value&&0{z[C.silent_term]&&C.tagAs(z[C.silent_term])};j.exports=(C,V,E)=>{let q=C.terms[E];q.silent_term=V[0],q.tagAs("Contraction","tagger-contraction");let D=new A("");if(D.silent_term=V[1],D.tagAs("Contraction","tagger-contraction"),C.insertAt(E+1,D),D.whitespace.before="",D.whitespace.after="",N(D),V[2]){let O=new A("");O.silent_term=V[2],C.insertAt(E+2,O),O.tagAs("Contraction","tagger-contraction"),N(O)}return C}},{"../../../term":157}],199:[function(P,j){"use strict";const A=P("./01-irregulars"),z=P("./02-hardOne"),N=P("./03-easyOnes"),_=P("./04-numberRange");j.exports=function(V){return V=A(V),V=z(V),V=N(V),V=_(V),V}},{"./01-irregulars":194,"./02-hardOne":195,"./03-easyOnes":196,"./04-numberRange":197}],200:[function(P,j){"use strict";const A={re:!0,ve:!0,ll:!0,t:!0,s:!0,d:!0,m:!0};j.exports=(N)=>{let _=N.text.match(/^([a-z]+)'([a-z][a-z]?)$/i);return _&&_[1]&&A[_[2]]?("t"===_[2]&&_[1].match(/[a-z]n$/)&&(_[1]=_[1].replace(/n$/,""),_[2]="n't"),N.tag.TitleCase&&(_[1]=_[1].replace(/^[a-z]/,(C)=>C.toUpperCase())),{start:_[1],end:_[2]}):(_=N.text.match(/[a-z]s'$/i),_?{start:N.normal.replace(/s'?$/,""),end:""}:null)}},{}],201:[function(P,j){"use strict";const A=P("../paths").log,N=P("./verb_corrections");j.exports=function(C){return A.here("correction"),C.match("so #Adjective").match("so").tag("Adverb","so-adv"),C.match("so #Noun").match("so").tag("Conjunction","so-conj"),C.match("do so").match("so").tag("Noun","so-noun"),C.match("still #Adjective").match("still").tag("Adverb","still-advb"),C.match("more #Noun").tag("Noun","more-noun"),C.match("still #Verb").term(0).tag("Adverb","still-verb"),C.match("second #Noun").term(0).unTag("Unit").tag("Ordinal","second-noun"),C.match("(foot|feet)").tag("Noun","foot-noun"),C.match("#Value (foot|feet)").match("(foot|feet)").tag("Unit","foot-unit"),C.match("how (#Copula|#Modal|#PastTense)").term(0).tag("QuestionWord","how-question"),C.match("will #Adjective").term(1).tag("Verb","will-adj"),C.match("u #Verb").term(0).tag("Pronoun","u-pronoun-1"),C.match("#Conjunction u").term(1).tag("Pronoun","u-pronoun-2"),C.match("is no #Verb").term(2).tag("Noun","is-no-verb"),C.match("the #Verb #Preposition .").match("#Verb").tag("Noun","correction-determiner1"),C.match("the #Verb").match("#Verb").tag("Noun","correction-determiner2"),C.match("the #Adjective #Verb").match("#Verb").tag("Noun","correction-determiner3"),C.match("the #Adverb #Adjective #Verb").match("#Verb").tag("Noun","correction-determiner4"),C.match("#Organization of the? #TitleCase").tag("Organization","org-of-place"),C.match("#Organization #Country").tag("Organization","org-country"),C.match("(world|global|international|national|#Demonym) #Organization").tag("Organization","global-org"),C.match("#TitleCase (ltd|co|inc|dept|assn|bros)").tag("Organization","org-abbrv"),C.match("#Determiner #Verb of").term(1).tag("Noun","the-verb-of"),C.match("#Noun #Adverb #Noun").term(2).tag("Verb","correction"),C.match("#Copula #Adjective to #Verb").match("#Adjective to").tag("Verb","correction"),C.match("#Verb than").term(0).tag("Noun","correction"),C.match("#Possessive #Verb").term(1).tag("Noun","correction-possessive"),C.match("just like").term(1).tag("Preposition","like-preposition"),C.match("#Noun like #Noun").term(1).tag("Preposition","noun-like"),C.match("#Verb like").term(1).tag("Adverb","verb-like"),C.match("#Adverb like").term(1).tag("Adverb","adverb-like"),C.match("#Determiner #Noun of #Verb").match("#Verb").tag("Noun","noun-of-noun"),C.match("#Adjective #PresentTense").term(1).tag("Noun","adj-presentTense"),C.match("#Possessive #FirstName").term(1).unTag("Person","possessive-name"),C.match("(a|an) (#Duration|#Value)").ifNo("#Plural").term(0).tag("Value","a-is-one"),C.match("half a? #Value").tag("Value","half-a-value"),C.match("#Value and a (half|quarter)").tag("Value","value-and-a-half"),C.match("#Value").match("!#Ordinal").tag("#Cardinal","not-ordinal"),C.match("#Value+ #Currency").tag("Money","value-currency"),C.match("#Money and #Money #Currency?").tag("Money","money-and-money"),C.match("holy (shit|fuck|hell)").tag("Expression","swears-expression"),C.match("#Determiner (shit|damn|hell)").term(1).tag("Noun","swears-noun"),C.match("(shit|damn|fuck) (#Determiner|#Possessive|them)").term(0).tag("Verb","swears-verb"),C.match("#Copula fucked up?").not("#Copula").tag("Adjective","swears-adjective"),C=N(C),C}},{"../paths":208,"./verb_corrections":202}],202:[function(P,j){"use strict";j.exports=function(z){let N="(#Adverb|not)+?";return z.match(`(has|had) ${N} #PastTense`).not("#Verb$").tag("Auxillary","had-walked"),z.match(`#Copula ${N} #Gerund`).not("#Verb$").tag("Auxillary","copula-walking"),z.match(`(be|been) ${N} #Gerund`).not("#Verb$").tag("Auxillary","be-walking"),z.match(`(#Modal|did) ${N} #Verb`).not("#Verb$").tag("Auxillary","modal-verb"),z.match(`#Modal ${N} have ${N} had ${N} #Verb`).not("#Verb$").tag("Auxillary","would-have"),z.match(`(#Modal) ${N} be ${N} #Verb`).not("#Verb$").tag("Auxillary","would-be"),z.match(`(#Modal|had|has) ${N} been ${N} #Verb`).not("#Verb$").tag("Auxillary","would-be"),z}},{}],203:[function(P,j){"use strict";const A={interpret:P("./contraction")},z={lexicon_lump:P("./lumper/lexicon_lump"),lump_two:P("./lumper/lump_two"),lump_three:P("./lumper/lump_three")},N={punctuation_step:P("./steps/01-punctuation_step"),lexicon_step:P("./steps/02-lexicon_step"),capital_step:P("./steps/03-capital_step"),web_step:P("./steps/04-web_step"),suffix_step:P("./steps/05-suffix_step"),neighbour_step:P("./steps/06-neighbour_step"),noun_fallback:P("./steps/07-noun_fallback"),date_step:P("./steps/08-date_step"),auxillary_step:P("./steps/09-auxillary_step"),negation_step:P("./steps/10-negation_step"),adverb_step:P("./steps/11-adverb_step"),phrasal_step:P("./steps/12-phrasal_step"),comma_step:P("./steps/13-comma_step"),possessive_step:P("./steps/14-possessive_step"),value_step:P("./steps/15-value_step"),acronym_step:P("./steps/16-acronym_step"),emoji_step:P("./steps/17-emoji_step"),person_step:P("./steps/18-person_step"),quotation_step:P("./steps/19-quotation_step"),organization_step:P("./steps/20-organization_step"),plural_step:P("./steps/21-plural_step")},_=P("./corrections"),C=P("./phrase");j.exports=function(E){E=N.punctuation_step(E),E=N.emoji_step(E),E=z.lexicon_lump(E),E=N.lexicon_step(E),E=N.web_step(E),E=N.suffix_step(E),E=N.neighbour_step(E),E=N.capital_step(E),E=N.noun_fallback(E),E=A.interpret(E),E=N.date_step(E),E=N.auxillary_step(E),E=N.negation_step(E),E=N.phrasal_step(E),E=N.comma_step(E),E=N.possessive_step(E),E=N.value_step(E),E=N.acronym_step(E),E=N.person_step(E),E=N.quotation_step(E),E=N.organization_step(E),E=N.plural_step(E);for(let q=0;3>q;q++)E=z.lump_three(E),E=z.lump_two(E);return E=_(E),E=C(E),E}},{"./contraction":199,"./corrections":201,"./lumper/lexicon_lump":205,"./lumper/lump_three":206,"./lumper/lump_two":207,"./phrase":210,"./steps/01-punctuation_step":211,"./steps/02-lexicon_step":212,"./steps/03-capital_step":213,"./steps/04-web_step":214,"./steps/05-suffix_step":215,"./steps/06-neighbour_step":216,"./steps/07-noun_fallback":217,"./steps/08-date_step":218,"./steps/09-auxillary_step":219,"./steps/10-negation_step":220,"./steps/11-adverb_step":221,"./steps/12-phrasal_step":222,"./steps/13-comma_step":223,"./steps/14-possessive_step":224,"./steps/15-value_step":225,"./steps/16-acronym_step":226,"./steps/17-emoji_step":227,"./steps/18-person_step":228,"./steps/19-quotation_step":229,"./steps/20-organization_step":230,"./steps/21-plural_step":231}],204:[function(P,j){"use strict";const A=P("../paths"),z=A.Term,N=A.log,C=(E,q)=>{let D=E.whitespace.before+E.text+E.whitespace.after;return D+=q.whitespace.before+q.text+q.whitespace.after,D};j.exports=function(E,q){let D=E.terms[q],O=E.terms[q+1];if(O){N.tell("--combining: \""+D.normal+"\"+\""+O.normal+"\"","tagger/combine");let S=C(D,O);return E.terms[q]=new z(S,D.context),E.terms[q].normal=D.normal+" "+O.normal,E.terms[q+1]=null,void(E.terms=E.terms.filter((F)=>null!==F))}}},{"../paths":208}],205:[function(P,j){"use strict";const A=P("./combine"),z=P("../paths"),N=z.log,_=z.lexicon,C=z.fns,E=(O,S,F)=>{for(let M=0;M{let M="",W="",G="";for(let I=S;IO.length)return!1}return!1};j.exports=function(O){N.here("tagger/multiple");let S=O.lexicon||{};for(let F=0;F{for(let M=0;MV.tag.Noun&&("&"===E.text||"n"===E.normal)&&q.tag.Noun,result:"Organization",reason:"Noun-&-Noun"},{condition:(V,E,q)=>V.tag.Value&&E.tag.Value&&q.tag.PhoneNumber&&3===E.normal.length&&3>V.normal.length,result:"PhoneNumber",reason:"1-800-PhoneNumber"}];j.exports=function(V){A.here("lumper/lump_three");for(let E=0;E<_.length;E++)for(let q=0;qE.tag.Holiday&&("day"===q.normal||"eve"===q.normal),result:"Holiday",reason:"holiday-day"},{condition:(E,q)=>E.tag.Noun&&q.tag.Actor,result:"Actor",reason:"thing-doer"},{condition:(E,q)=>_[E.normal]&&("standard time"===q.normal||"time"===q.normal),result:"Time",reason:"timezone"},{condition:(E,q)=>E.tag.Demonym&&q.tag.Currency,result:"Currency",reason:"demonym-currency"},{condition:(E,q)=>E.tag.NumericValue&&q.tag.PhoneNumber&&3>=E.normal.length,result:"PhoneNumber",reason:"(800) PhoneNumber"}];j.exports=function(E){A.here("lumper/lump_two");for(let q=0;q{let D=q.text;D.match(/^[A-Z][a-z']/)&&q.tagAs("TitleCase","punct-rule"),D=D.replace(/[,\.\?]$/,"");for(let O=0,S;O{let O=D.lexicon||{};return O[q]?O[q]:N[q]?N[q]:null};j.exports=function(q){_.here("tagger/lexicon");let D;for(let O=0,S;O{for(let E=0,q;E{let F=Object.keys(O.tag);if(0===F.length){let M=D.terms[S-1],W=D.terms[S+1];if(M&&z[M.normal])return void O.tagAs(z[M.normal],"neighbour-after-\""+M.normal+"\"");if(W&&N[W.normal])return void O.tagAs(N[W.normal],"neighbour-before-\""+W.normal+"\"");let G=[];if(M){G=Object.keys(M.tag);for(let I=0;I!N[q]).length)};j.exports=function(V){A.here("tagger/noun_fallback");for(let E=0,q;E{return D&&1e3D};j.exports=function(D){A.here("tagger/datePass"),D.match(`#Month #DateRange+`).tag("Date","correction-numberRange"),D.match(`${N} (#Determiner|#Value|#Date)`).term(0).tag("Month","correction-may"),D.match(`#Date ${N}`).term(1).tag("Month","correction-may"),D.match(`${_} ${N}`).term(1).tag("Month","correction-may"),D.match(`(next|this|last) ${N}`).term(1).tag("Month","correction-may"),D.match("#Value #Abbreviation").tag("Value","value-abbr"),D.match("a #Value").tag("Value","a-value"),D.match("(minus|negative) #Value").tag("Value","minus-value"),D.match("#Value grand").tag("Value","value-grand"),D.match("(half|quarter) #Ordinal").tag("Value","half-ordinal"),D.match("(hundred|thousand|million|billion|trillion) and #Value").tag("Value","magnitude-and-value"),D.match("#Value point #Value").tag("Value","value-point-value"),D.match("#Cardinal #Time").tag("Time","value-time"),D.match("(by|before|after|at|@|about) #Time").tag("Time","preposition-time"),D.match("(#Value|#Time) (am|pm)").tag("Time","value-ampm"),D.match("all day").tag("Time","all-day"),D.match(`${_}? ${C} (spring|summer|winter|fall|autumn)`).tag("Date","thisNext-season"),D.match(`the? ${V} of (spring|summer|winter|fall|autumn)`).tag("Date","section-season"),D.match("#Date the? #Ordinal").tag("Date","correction-date"),D.match("#Value of? #Month").tag("Date","value-of-month"),D.match("#Cardinal #Month").tag("Date","cardinal-month"),D.match("#Month #Value to #Value").tag("Date","value-to-value"),D.match(`${C} #Date`).tag("Date","thisNext-date"),D.match(`${_}? #Value #Duration`).tag("Date","value-duration"),D.match("due? (by|before|after|until) #Date").tag("Date","by-date"),D.match("#Date (by|before|after|at|@|about) #Cardinal").not("^#Date").tag("Time","date-before-Cardinal"),D.match("#Time (eastern|pacific|central|mountain)").term(1).tag("Time","timezone"),D.match("#Time (est|pst|gmt)").term(1).tag("Time","timezone abbr"),D.match("#Date (am|pm)").term(1).unTag("Verb").unTag("Copula").tag("Time","date-am"),D.match("at night").tag("Time","at-night"),D.match("in the (night|evening|morning|afternoon|day|daytime)").tag("Time","in-the-night"),D.match("(early|late) (at|in)? the? (night|evening|morning|afternoon|day|daytime)").tag("Time","early-evening"),D.match("#Month #Value #Cardinal").tag("Date","month-value-cardinal"),D.match("(last|next|this|previous|current|upcoming|coming|the) #Date").tag("Date","next-feb"),D.match("#Date #Value").tag("Date","date-value"),D.match("#Value #Date").tag("Date","value-date"),D.match("#Date #Preposition #Date").tag("Date","date-prep-date"),D.match("#Value #Duration #Conjunction").tag("Date","val-duration-conjunction"),D.match(`the? ${V} of #Date`).tag("Date","section-of-date");let O=D.match(`#Date #Value #Cardinal`).lastTerm().values(),S=O.numbers()[0];return E(S)&&O.tag("Year","date-value-year"),O=D.match(`#Date+ #Cardinal`).lastTerm().values(),S=O.numbers()[0],E(S)&&O.tag("Year","date-year"),O=D.match(`#Month #Value #Cardinal`).lastTerm().values(),S=O.numbers()[0],E(S)&&O.tag("Year","date-year2"),O=D.match(`#Month #Value to #Value #Cardinal`).lastTerm().values(),S=O.numbers()[0],E(S)&&O.tag("Year","date-year3"),O=D.match(`(in|of|by|during|before|starting|ending|for|year) #Cardinal`).lastTerm().values(),S=O.numbers()[0],E(S)&&O.tag("Year","preposition-year"),D.match("#Duration in #Date").tag("Date","duration-in-date"),D}},{"../paths":208}],219:[function(P,j){"use strict";const A=P("../paths").log,N={"do":!0,"don't":!0,does:!0,"doesn't":!0,will:!0,wont:!0,"won't":!0,have:!0,"haven't":!0,had:!0,"hadn't":!0,not:!0};j.exports=function(C){A.here("tagger/auxillary");for(let V=0,E;VE;E++){if(q=_.get(C+E),q){if(q.tag.Verb){V.tagAs("VerbPhrase","adverb-verb");break}if(q.tag.Adjective){V.tagAs("AdjectivePhrase","adverb-adj");break}}let D=_.get(C-E);if(D){if(D.tag.Verb){V.tagAs("VerbPhrase","verb-adverb");break}if(D.tag.Adjective){V.tagAs("AdjectivePhrase","adj-adverb");break}}}return _}},{"../paths":208}],222:[function(P,j){"use strict";const A=P("../paths").log,z=P("./data/phrasal_verbs"),N=P("../../../result/subset/verbs/methods/toInfinitive/index.js"),C={aback:!0,along:!0,apart:!0,at:!0,away:!0,back:!0,by:!0,"do":!0,down:!0,forth:!0,forward:!0,"in":!0,into:!0,it:!0,off:!0,on:!0,out:!0,over:!0,round:!0,through:!0,together:!0,under:!0,up:!0,upon:!0,way:!0};j.exports=function(E){A.here("tagger/phrasal");for(let q=1,D;q{let q=V.terms[E],D=V.terms[E+1];return D&&q.tag.Place&&!q.tag.Country&&D.tag.Country},z=(V)=>{return V.tag.Adjective?"Adjective":V.tag.Noun?"Noun":V.tag.Verb?"Verb":null},N=(V,E,q)=>{for(let D=E;D<=q;D++)V.terms[D].tag.List=!0},_=(V,E)=>{let q=E,D=z(V.terms[E]),O=0,S=0,F=!1;for(++E;E{C.tag.Value&&(!C.tag.Ordinal&&!C.tag.Cardinal&&(C.normal.match(/^[0-9]([0-9]+,)*?(\.[0-9])$/)?C.tagAs("Cardinal","ordinal-regex"):C.tagAs("Cardinal","cardinal-regex")),!C.tag.TextValue&&!C.tag.NumericValue&&(C.normal.match(/^[a-z]/)?C.tagAs("TextValue","TextValue-regex"):C.tagAs("NumericValue","NumericValue-regex")))}),_}},{"../paths":208}],226:[function(P,j){"use strict";"use strict";const A=P("../paths").log;j.exports=function(_){return A.here("tagger/acronym_step"),_.terms.forEach((C)=>{C.isAcronym()&&C.tagAs("Acronym","acronym-step")}),_}},{"../paths":208}],227:[function(P,j){"use strict";const A=P("../paths").fns,z=P("./data/emoji_regex"),N=P("./data/emoticon_list"),_=(E)=>{return!!A.startsWith(E.text,":")&&!!E.text.match(/:.?$/)&&!E.text.match(" ")&&!(35{let q=E.text.replace(/^[:;]/,":");return q=q.replace(/[:;]$/,":"),N[q]};j.exports=(E)=>{for(let q=0,D;q{return C[V]=!0,C},{});j.exports=function(C){A.here("tagger/person_step");let V="person-step";C.match("#Noun #LastName").firstTerm().canBe("#FirstName").tag("#FirstName","noun-lastname");let E=C.match("#FirstName #Noun").ifNo("^#Possessive").ifNo("#ClauseEnd .");E.lastTerm().canBe("#LastName").tag("#LastName","firstname-noun"),C.match("#Acronym #TitleCase").canBe("#Person").tag("#Person","acronym-titlecase"),C.match("#Noun van der? #Noun").canBe("#Person").tag("#Person","von der noun"),C.match("#FirstName de #Noun").canBe("#Person").tag("#Person","firstname-de-noun"),C.match("(king|queen|prince|saint|lady) of? #Noun").canBe("#Person").tag("#Person","king-of-noun"),C.match("#FirstName (bin|al) #Noun").canBe("#Person").tag("#Person","firstname-al-noun");let q=["will","may","april","june","said","rob","wade","ray","rusty","drew","miles","jack","chuck","randy","jan","pat","cliff","bill"];q="("+q.join("|")+")",C.match(q+" #LastName").firstTerm().tag("#FirstName",V),q=["green","white","brown","hall","young","king","hill","cook","gray","price"],q="("+q.join("|")+")",C.match("#FirstName "+q).tag("#Person",V),C.match("#FirstName #Acronym #TitleCase").tag("Person","firstname-acronym-titlecase"),C.match("#FirstName #FirstName #TitleCase").tag("Person","firstname-firstname-titlecase"),C.match("#Honorific #FirstName? #TitleCase").tag("Person","Honorific-TitleCase"),C.match("#Honorific #Acronym").tag("Person","Honorific-TitleCase"),C.match("#FirstName #TitleCase").match("#FirstName #Noun").tag("Person","firstname-titlecase"),C.match("#TitleCase (van|al|bin) #TitleCase").tag("Person","correction-titlecase-van-titlecase"),C.match("#TitleCase (de|du) la? #TitleCase").tag("Person","correction-titlecase-van-titlecase"),C.match("#FirstName the #Adjective").tag("Person","correction-determiner5"),C.match("#Person #TitleCase").match("#TitleCase #Noun").tag("Person","correction-person-titlecase"),C.match("#FirstName #Acronym #Noun").ifNo("#Date").tag("#Person",V).lastTerm().tag("#LastName",V),C.match("#TitleCase #Acronym? #LastName").ifNo("#Date").tag("#Person",V).lastTerm().tag("#LastName",V),C.match("#FirstName (#Singular|#Possessive)").ifNo("#Date").tag("#Person",V).lastTerm().tag("#LastName",V),C.match("(lady|queen|sister) #TitleCase").ifNo("#Date").tag("#FemaleName",V),C.match("(king|pope|father) #TitleCase").ifNo("#Date").tag("#MaleName","correction-poe"),C.match("#Person #Person the? #RomanNumeral").tag("Person","correction-roman-numeral");for(let D=0,O;D{q.tagAs("Quotation","quotation_step")})};j.exports=(C)=>{A.here("tagger/person_step");for(let V=0,E;V{return E[q]=!0,E},{});const C=function(E){return!!E.tag.Noun&&(E.tag.Pronoun||E.tag.Comma||E.tag.Possessive?!1:E.tag.TitleCase||E.tag.Organization)};j.exports=(E)=>{A.here("tagger/organization_step");for(let q=0,D;q (http://spencermounta.in)",name:"compromise",description:"natural language processing in the browser",version:"7.0.18",main:"./builds/compromise.js",repository:{type:"git",url:"git://github.com/nlp-compromise/compromise.git"},scripts:{test:"node ./scripts/test.js",browsertest:"node ./scripts/browserTest.js",build:"node ./scripts/build.js",demo:"node ./scripts/demo.js",watch:"node ./scripts/watch.js",filesize:"node ./scripts/filesize.js",coverage:"node ./scripts/coverage.js"},files:["builds/","docs/"],dependencies:{},devDependencies:{"babel-preset-es2015":"6.9.0","babel-preset-stage-2":"^6.11.0",babelify:"7.3.0",babili:"0.0.11",browserify:"13.0.1",chalk:"^1.1.3","codacy-coverage":"^2.0.0",derequire:"^2.0.3",eslint:"^3.1.1",gaze:"^1.1.1","http-server":"0.9.0","nlp-corpus":"latest",nyc:"^8.4.0",shelljs:"^0.7.2","tap-min":"^1.1.0","tap-spec":"4.1.1",tape:"4.6.0","uglify-js":"2.7.0"},license:"MIT"}},{}],2:[function(P,j){"use strict";const A=P("../fns");j.exports=A.uncompress_suffixes(["ablaze","above","adult","ahead","aloof","arab","asleep","average","backwards","bad","blank","bogus","bottom","brisk","cagey","chief","civil","common","complex","cozy","crisp","devout","difficult","due","dumb","eerie","evil","excess","extra","fake","far","faux","fierce ","final","fit","foreign","fun","good","goofy","gratis","grey","groovy","gross","half","huge","humdrum","inside","kaput","left","level","lewd","magenta","makeshift","mammoth","medium","modern","moot","naive","nearby","next","nonstop","north","notable","offbeat","ok","online","offline","outside","overwrought","premium","pricey","pro","quaint","random","rear","rebel","ritzy","savvy","sexy","shut","shy","sleek","smug","solemn","south","stark","superb","taboo","teenage","top","tranquil","true","ultra","understood","unfair","unknown","upbeat","upstairs","vanilla","various","widespread","woozy","wrong"],{going:"easy,fore,on,out",ight:"overn,overwe,r,sl,upt",ated:"antiqu,intoxic,sophistic,unregul,unrel",rant:"aber,exube,flag,igno,vib",wing:"harro,kno,left-,right-",ted:"expec,impor,limi,spiri,talen,tes,unexpec,unpreceden",ish:"dan,fool,hell,lout,self,snobb,squeam,styl",ary:"dre,legend,necess,prim,sc,second,w,we",ite:"el,favor,fin,oppos,pet,pol,recond,tr",ely:"hom,lik,liv,lon,lov,tim,unlik",tly:"cos,ghas,ghos,nigh,sain,sprigh,unsigh",dly:"cowar,cud,frien,frien,kin,ma",ble:"a,dou,hum,nim,no,proba",rly:"bu,disorde,elde,hou,neighbo,yea",ped:"cram,pum,stereoty,stri,war",sed:"clo,disea,distres,unsupervi,u",lly:"chi,hi,jo,si,sme",per:"dap,impro,pro,su,up",ile:"fert,host,juven,mob,volat",led:"detai,disgrunt,fab,paralle,troub",ast:"e,l,p,steadf",ent:"abs,appar,b,pres",ged:"dama,deran,jag,rag",ded:"crow,guar,retar,undeci",est:"b,dishon,hon,quick",ial:"colon,impart,init,part",ter:"bet,lat,ou,ut",ond:"bey,bl,vagab",ady:"he,re,sh,ste",eal:"ether,id,r,surr",ard:"abo,awkw,stand,straightforw",ior:"jun,pr,sen,super",ale:"fem,m,upsc,wholes",ed:"advanc,belov,craz,determin,hallow,hook,inbr,justifi,nak,nuanc,sacr,subdu,unauthoriz,unrecogniz,wick",ly:"dai,earth,gris,heaven,low,meas,month,oi,prick,seem,s,ug,unru,week,wi,woman",al:"actu,coloss,glob,illeg,leg,leth,liter,loy,ov,riv,roy,univers,usu",dy:"baw,bloo,clou,gau,gid,han,mol,moo,stur,ti,tren,unti,unwiel",se:"adver,den,diver,fal,immen,inten,obe,perver,preci,profu",er:"clev,form,inn,oth,ov,she,slend,somb,togeth,und",id:"afra,hum,langu,plac,rab,sord,splend,stup,torp",re:"awa,bizar,di,enti,macab,me,seve,since,spa",en:"barr,brok,crav,op,sudd,unev,unwritt,wood",ic:"alcohol,didact,gener,hispan,organ,publ,symbol",ny:"ma,pho,pu,shi,skin,ti,za",st:"again,mo,populi,raci,robu,uttermo",ne:"do,go,insa,obsce,picayu,sere",nd:"behi,bla,bli,profou,undergrou,wou",le:"multip,sing,so,subt,who",pt:"abru,ade,a,bankru,corru,nondescri",ty:"faul,hef,lof,mea,sal,uppi",sy:"bu,chee,lou,no,ro",ct:"abstra,exa,imperfe,inta,perfe",in:"certa,highfalut,ma,tw,va",et:"discre,secr,sovi,ups,viol",me:"part-ti,pri,sa,supre,welco",cy:"boun,fan,i,jui,spi",ry:"fur,sor,tawd,wi,w",te:"comple,concre,obsole,remo",ld:"ba,bo,go,mi",an:"deadp,republic,t,urb",ll:"a,i,overa,sti",ay:"everyd,g,gr,ok",or:"indo,maj,min,outdo",my:"foa,gloo,roo,sli",ck:"ba,qua,si,sli",rt:"cove,expe,hu,ove",ul:"fo,gainf,helpf,painf"})},{"../fns":7}],3:[function(P,j){"use strict";const A=P("../fns");j.exports=A.uncompress_suffixes(["absurd","aggressive","alert","alive","angry","attractive","awesome","beautiful","big","bitter","black","blue","bored","boring","brash","brave","brief","brown","calm","charming","cheap","check","clean","clear","close","cold","cool","cruel","curly","cute","dangerous","dear","dirty","drunk","dry","dull","eager","early","easy","efficient","empty","even","extreme","faint","fair","fanc","feeble","few","fierce","fine","firm","forgetful","formal","frail","free","full","funny","gentle","glad","glib","glad","grand","green","gruesome","handsome","happy","harsh","heavy","high","hollow","hot","hungry","impolite","important","innocent","intellegent","interesting","keen","kind","lame","large","late","lean","little","long","loud","low","lucky","lush","macho","mature","mean","meek","mellow","mundane","narrow","near","neat","new","nice","noisy","normal","odd","old","orange","pale","pink","plain","poor","proud","pure","purple","rapid","rare","raw","rich","rotten","round","rude","safe","scarce","scared","shallow","shrill","simple","slim","slow","small","smooth","solid","soon","sore","sour","square","stale","steep","strange","strict","strong","swift","tall","tame","tart","tender","tense","thin","thirsty","tired","true","vague","vast","vulgar","warm","weird","wet","wild","windy","wise","yellow","young"],{erate:"degen,delib,desp,lit,mod",icial:"artif,benef,off,superf",ntial:"esse,influe,pote,substa",teful:"gra,ha,tas,was",stant:"con,di,in,resi",hing:"astonis,das,far-reac,refres,scat,screec,self-loat,soot",eful:"car,grac,peac,sham,us,veng",ming:"alar,cal,glea,unassu,unbeco,upco",cial:"commer,cru,finan,ra,so,spe",ure:"insec,miniat,obsc,premat,sec,s",uent:"congr,fl,freq,subseq",rate:"accu,elabo,i,sepa",ific:"horr,scient,spec,terr",rary:"arbit,contempo,cont,tempo",ntic:"authe,fra,giga,roma",nant:"domi,malig,preg,reso",nent:"emi,immi,perma,promi",iant:"brill,def,g,luxur",ging:"dama,encoura,han,lon",iate:"appropr,immed,inappropr,intermed",rect:"cor,e,incor,indi",zing:"agoni,ama,appeti,free",ine:"div,femin,genu,mascul,prist,rout",ute:"absol,ac,c,m,resol",ern:"east,north,south,st,west",tful:"deligh,doub,fre,righ,though,wis",ant:"abund,arrog,eleg,extravag,exult,hesit,irrelev,miscre,nonchal,obeis,observ,pl,pleas,redund,relev,reluct,signific,vac,verd",ing:"absorb,car,coo,liv,lov,ly,menac,perplex,shock,stand,surpris,tell,unappeal,unconvinc,unend,unsuspect,vex,want",ate:"adequ,delic,fortun,inadequ,inn,intim,legitim,priv,sed,ultim"})},{"../fns":7}],4:[function(P,j){j.exports=["bright","broad","coarse","damp","dark","dead","deaf","deep","fast","fat","flat","fresh","great","hard","light","loose","mad","moist","quick","quiet","red","ripe","rough","sad","sharp","short","sick","smart","soft","stiff","straight","sweet","thick","tight","tough","weak","white","wide"]},{}],5:[function(P,j){"use strict";let z=["monday","tuesday","wednesday","thursday","friday","saturday","sunday","mon","tues","wed","thurs","fri","sat","sun"];for(let V=0;6>=V;V++)z.push(z[V]+"s");let N=["millisecond","minute","hour","day","week","month","year","decade"],_=N.length;for(let V=0;V<_;V++)N.push(N[V]),N.push(N[V]+"s");N.push("century"),N.push("centuries"),N.push("seconds");j.exports={days:z,months:["january","february","april","june","july","august","september","october","november","december","jan","feb","mar","apr","jun","jul","aug","sep","oct","nov","dec","sept","sep"],durations:N,relative:["yesterday","today","tomorrow","weekend","tonight"]}},{}],6:[function(P,j){j.exports=["all hallows eve","all saints day","all sts day","april fools","armistice day","australia day","bastille day","boxing day","canada day","christmas","christmas eve","cinco de mayo","emancipation day","groundhog day","halloween","16 de septiembre","dieciseis de septiembre","grito de dolores","all hallows eve","day of the dead","dia de muertos","harvey milk day","inauguration day","independence day","independents day","juneteenth","labour day","national freedom day","national nurses day","new years","new years eve","purple heart day","rememberance day","rosa parks day","saint andrews day","saint patricks day","saint stephens day","saint valentines day","st andrews day","st patricks day","st stephens day","st valentines day ","valentines day","veterans day","victoria day","womens equality day","xmas","epiphany","orthodox christmas day","orthodox new year","assumption of mary","all saints day","all souls day","feast of the immaculate conception","feast of our lady of guadalupe","kwanzaa","imbolc","beltaine","lughnassadh","samhain","martin luther king day","mlk day","presidents day","mardi gras","tax day","commonwealth day","mothers day","memorial day","fathers day","columbus day","indigenous peoples day","canadian thanksgiving","election day","thanksgiving","t-day","turkey day","black friday","cyber monday","ash wednesday","palm sunday","maundy thursday","good friday","holy saturday","easter","easter sunday","easter monday","orthodox good friday","orthodox holy saturday","orthodox easter","orthodox easter monday","ascension day","pentecost","whitsunday","whit sunday","whit monday","trinity sunday","corpus christi","advent","tu bishvat","tu bshevat","purim","passover","yom hashoah","lag baomer","shavuot","tisha bav","rosh hashana","yom kippur","sukkot","shmini atzeret","simchat torah","chanukah","hanukkah","isra and miraj","lailat al-qadr","eid al-fitr","id al-Fitr","eid ul-Fitr","ramadan","eid al-adha","muharram","the prophets birthday","ostara","march equinox","vernal equinox","litha","june solistice","summer solistice","mabon","september equinox","autumnal equinox","yule","december solstice","winter solstice","chinese new year","diwali"]},{}],7:[function(P,j,$){"use strict";$.extendObj=(A,z)=>{return Object.keys(z).forEach((N)=>{A[N]=z[N]}),A},$.uncompress_suffixes=function(A,z){let N=Object.keys(z),_=N.length;for(let C=0;C<_;C++){const V=z[N[C]].split(",");for(let E=0;E{z.extendObj(E,M)},D=(M,F)=>{const W=M.length;for(let G=0;G1{E[M]="Infinitive";let F=A.irregular_verbs[M];Object.keys(F).forEach((G)=>{F[G]&&(E[F[G]]=G)});let W=V(M);Object.keys(W).forEach((G)=>{W[G]&&!E[W[G]]&&(E[W[G]]=G)})}),A.verbs.forEach((M)=>{let F=V(M);Object.keys(F).forEach((W)=>{F[W]&&!E[F[W]]&&(E[F[W]]=W)}),E[C(M)]="Adjective"}),A.superlatives.forEach((M)=>{E[_.toNoun(M)]="Noun",E[_.toAdverb(M)]="Adverb",E[_.toSuperlative(M)]="Superlative",E[_.toComparative(M)]="Comparative"}),A.verbConverts.forEach((M)=>{E[_.toNoun(M)]="Noun",E[_.toAdverb(M)]="Adverb",E[_.toSuperlative(M)]="Superlative",E[_.toComparative(M)]="Comparative";const F=_.toVerb(M);E[F]="Verb";let W=V(F);Object.keys(W).forEach((G)=>{W[G]&&!E[W[G]]&&(E[W[G]]=G)})}),A.nouns.forEach((M)=>{E[M]="Singular";let F=N(M);E[F]="Plural"}),q(A.firstnames),D(A.notable_people.female,"FemaleName"),D(A.notable_people.male,"MaleName"),D(A.titles,"Singular"),D(A.lastnames,"LastName"),D(A.places.airports,"Place"),D(A.places.cities,"City"),D(A.places.countries,"Country"),D(A.organizations,"Organization"),D(A.adjectives,"Adjective"),D(A.verbConverts,"Adjective"),D(A.superlatives,"Adjective"),D(A.currencies,"Currency"),q(A.misc),delete E[""],delete E[" "],delete E[null],j.exports=E},{"../result/subset/adjectives/methods/index":61,"../result/subset/nouns/methods/pluralize":98,"../result/subset/verbs/methods/conjugate/faster":137,"../result/subset/verbs/methods/toAdjective":148,"./fns":7,"./index":8}],10:[function(P,j){j.exports=["a lot","a posteriori","abroad","ad nauseam","again","all but","all that","almost","alone","already","also","always","anymore","anyway","apart","aside","at best","at large","at least","at most","at worst","away","by far","by now","damn","de jure","de trop","directly","en masse","ever","for example","for good","for sure","forever","further","furthermore","hence","indeed","instead","just","just about","kinda","maybe","meanwhile","more","moreover","newly","no longer","not withstanding","of course","often","once","once again","once more","only","par excellence","per se","perhaps","point blank","quite","randomly","rather","really","several","so","somehow","sometimes","somewhat","soon","sort of","such","then","thus","too","totally","toward","twice","up to","upwards of","very","way","well","yes","yep"]},{}],11:[function(P,j){j.exports=["this","any","enough","each","whatever","every","these","another","plenty","whichever","neither","an","a","least","own","few","both","those","the","that","various","either","much","some","else","la","le","les","des","de","du","el"]},{}],12:[function(P,j){j.exports=["uh","uhh","uhm","uh huh","uh-oh","please","plz","ugh","sheesh","eww","pff","voila","oy","hi","hello","bye","goodbye","hey","hai","eep","hurrah","yuck","ow","duh","oh","hmm","yeah","whoa","ooh","whee","ah","bah","gah","yaa","phew","gee","ahem","eek","meh","yahoo","oops","d'oh","psst","argh","grr","nah","shhh","whew","mmm","ooo","yay","uh-huh","boo","wow","nope","haha","hahaha","lol","lols","lmao","lmfao","ya","hee","ohh","eh","yup","wtf","wtaf","et cetera","fuck","shit","damn","dang","damnit","dammit","hell","a la"]},{}],13:[function(P,j){"use strict";const A={here:"Noun",better:"Comparative",earlier:"Superlative","make sure":"Verb","keep tabs":"Verb",gonna:"Verb",cannot:"Verb",has:"Verb",sounds:"PresentTense",taken:"PastTense",msg:"Verb","a few":"Value","years old":"Unit",not:"Negative",non:"Negative",never:"Negative",no:"Negative","no doubt":"Noun","not only":"Adverb","how's":"QuestionWord"},z={Adjective:["so called","on board","vice versa","en route","upside down","up front","in front","in situ","in vitro","ad hoc","de facto","ad infinitum","for keeps","a priori","off guard","spot on","ipso facto","fed up","brand new","old fashioned","bona fide","well off","far off","straight forward","hard up","sui generis","en suite","avant garde","sans serif","gung ho","super duper","bourgeois"],Verb:["lengthen","heighten","worsen","lessen","awaken","frighten","threaten","hasten","strengthen","given","known","shown","seen","born"],Place:["new england","new hampshire","new jersey","new mexico","united states","united kingdom","great britain","great lakes","pacific ocean","atlantic ocean","indian ocean","arctic ocean","antarctic ocean","everglades"],Conjunction:["yet","therefore","or","while","nor","whether","though","tho","because","cuz","but","for","and","however","before","although","how","plus","versus","otherwise"],Time:["noon","midnight","now","morning","evening","afternoon","night","breakfast time","lunchtime","dinnertime","ago","sometime","eod","oclock"],Date:["eom","standard time","daylight time"],Condition:["if","unless","notwithstanding"],PastTense:["said","had","been","began","came","did","meant","went"],Gerund:["going","being","according","resulting","developing","staining"],Copula:["is","are","was","were","am"],Determiner:P("./determiners"),Preposition:P("./prepositions"),Modal:["can","may","could","might","will","ought to","would","must","shall","should","ought","shant","lets"],Possessive:["mine","something","none","anything","anyone","theirs","himself","ours","his","my","their","yours","your","our","its","herself","hers","themselves","myself","her"],Pronoun:["it","they","i","them","you","she","me","he","him","ourselves","us","we","thou","il","elle","yourself","'em","he's","she's"],QuestionWord:["where","why","when","who","whom","whose","what","which"],Adverb:P("./adverbs"),Expression:P("./expressions"),Person:["father","mother","mom","dad","mommy","daddy","sister","brother","aunt","uncle","grandfather","grandmother","cousin","stepfather","stepmother","boy","girl","man","woman","guy","dude","bro","gentleman","someone"]},N=Object.keys(z);for(let _=0;_{return _[C[1]]=C[0],_},{}),N=A.reduce((_,C)=>{return _[C[0]]=C[1],_},{});j.exports={toSingle:z,toPlural:N}},{}],18:[function(P,j){j.exports=["egg","bottle","cottage","kitty","doggy","ad hominem","banking","body","breakfast","ceiling","city","credit card","death","dinner","door","economy","energy","event","everything","example","fl oz","friend","funding","god","glacier","canary","grand slam","head start","home","house","lunch","nothing","number","others","part","patent","problem","purpose","room","student","stuff","super bowl","system","there","thing","things","tragedy","us dollar","world","world series"]},{}],19:[function(P,j){"use strict";const A=P("../fns");let z=["andorra","antarctica","antigua and barbuda","aruba","bahamas","bangladesh","barbados","belgium","belize","bermuda","bonaire","brazil","brunei","burkina faso","burundi","burma","cape verde","chile","comoros","congo-brazzaville","cuba","curacao","cote d'ivoire","denmark","djibouti","dominica","east timor","ecuador","egypt","el salvador","fiji","france","french guiana","germany","gibraltar","greece","grenada","guam","guinea-bissau","guadeloupe","guernsey","haiti","honduras","hungary","hong kong","isle of man","iraq","israel","ivory coast","italy","jamaica","jersey","kenya","kiribati","kosovo","kuwait","laos","lesotho","libya","luxembourg","macao","malawi","mali","malta","martinique","mayotte","moldova","mozambique","montserrat","montenegro","nauru","niue","netherlands","nicaragua","niger","palau","panama","peru","samoa","san marino","saint helena","sint maarten","singapore","sri lanka","suriname","sweden","timor-leste","trinidad and tobago","tonga","tokelau","turkey","tuvalu","u.s.a.","united kingdom","u.k.","usa","ussr","vanuatu","vietnam","vatican city","wales","wallis and futuna","yemen","zimbabwe"];z=A.uncompress_suffixes(z,{sland:"christmas i,norfolk i,bouvet i",slands:"british virgin i,u.s. virgin i,turks and caicos i,pitcairn i,northern mariana i,marshall i,cayman i,faroe i,falkland i,cook i,cocos i,keeling i,solomon i",istan:"pak,uzbek,afghan,tajik,turkmen",ublic:"czech rep,dominican rep,central african rep",uinea:"g,papua new g,equatorial g",land:"thai,po,switzer,fin,republic of ire,ire,new zea,swazi,ice,eng,scot,green",ania:"tanz,rom,maurit,lithu,alb",rica:"ame,united states of ame,south af,costa ",mbia:"colo,za,ga",eria:"nig,alg,lib",nia:"arme,macedo,slove,esto",sia:"indone,rus,malay,tuni",ina:"ch,argent,bosnia and herzegov",tan:"kazakhs,kyrgyzs,bhu",ana:"gh,botsw,guy",bia:"saudi ara,ser,nami",lia:"austra,soma,mongo",rea:"south ko,north ko,erit",dan:"su,south su,jor",ria:"sy,aust,bulga",co:"mexi,mona,puerto ri,moroc",ia:"ind,ethiop,cambod,boliv,slovak,georg,croat,latv,saint luc,micrones,french polynes,czech",an:"jap,ir,taiw,azerbaij,om",da:"ugan,cana,rwan",us:"belar,mauriti,cypr",al:"nep,seneg,portug",in:"spa,ben,bahra,saint mart,liechtenste",go:"dr con,to,trinidad-toba",la:"anguil,venezue,ango,guatema",es:"united stat,philippin,united arab emirat,seychell,maldiv",on:"camero,leban,gab",ar:"myanm,madagasc,qat",ay:"paragu,norw,urugu",ne:"ukrai,sierra leo,palesti"});let _=["aalborg","abu dhabi","ahmedabad","almaty","antwerp","aqaba","ashdod","ashgabat","athens","auckland","bogota","brussels","calgary","cape town","cebu","curitiba","doha","dushanbe","frankfurt","genoa","ghent","giza","graz","guangzhou","haifa","hanoi","helsinki","ho chi minh","homs","i\u0307zmir","jakarta","kiev","kingston","klaipeda","kobe","kosice","krakow","la plata","luxembourg","medell\xEDn","mexico","miskolc","montevideo","montreal","moscow","nagoya","nis","odessa","oslo","ottawa","palermo","paris","perth","phnom penh","phoenix","port elizabeth","poznan","prague","reykjavik","riga","rome","rosario","seville","skopje","stockholm","stuttgart","sydney","tbilisi","tegucigalpa","the hague","thessaloniki","tokyo","toulouse","trondheim","tunis","turku","utrecht","warsaw","winnipeg","wroclaw","zagreb"];_=A.uncompress_suffixes(_,{burg:"saint peters,yekaterin,ham,til,gothen,salz",ton:"hous,edmon,welling,hamil",ion:"herakl",ana:"hav,tir",ara:"guadalaj,ank,timiso",an:"tehr,mil,durb,bus,tain,abidj,amm,yerev",ia:"philadelph,brasil,alexandr,pretor,valenc",on:"ly,lond,yang,inche,daeje,lisb",en:"shenzh,eindhov,pils,copenhag,berg",ng:"beiji,chittago,pyongya,kaohsiu,taichu",in:"tianj,berl,tur,dubl,duned",es:"los angel,nant,napl,buenos air,f",la:"pueb,mani,barranquil,kampa,guatema",or:"salvad,san salvad,ulan bat,marib",us:"damasc,pirae,aarh,vilni",as:"carac,patr,burg,kaun",va:"craio,petah tik,gene,bratisla",ai:"shangh,mumb,chenn,chiang m",ne:"colog,melbour,brisba,lausan",er:"manchest,vancouv,tangi",ka:"dha,osa,banja lu",ro:"rio de janei,sappo,cai",am:"birmingh,amsterd,rotterd",ur:"kuala lump,winterth,kopavog",ch:"muni,zuri,christchur",na:"barcelo,vien,var",ma:"yokoha,li",ul:"istanb,seo,kab",to:"toron,qui,por",iv:"khark,lv,tel av",sk:"gdan,min"});_=A.uncompress_prefixes(_,{"new ":"delhi,york,taipei",san:"a'a,tiago, jose",ta:"ipei,mpere,llinn,rtu",ba:"ngalore,ngkok,ku,sel",li:"verpool,ege,nz,massol",ma:"rseille,ndalay,drid,lmo",be:"rn,lgrade,irut",ka:"rachi,raj,ndy",da:"egu,kar,ugavpils",ch:"icago",co:"lombo,nstanta,rk",bu:"rsa,charest,dapest"});j.exports={countries:z,cities:_,airports:["atl","pek","lhr","hnd","ord","lax","cdg","dfw","cgk","dxb","fra","hkg","den","bkk","ams","jfk","ist","sfo","clt","las","phx","iax","kul","mia","icn","muc","syd","fco","mco","bcn","yyz","lgw","phl"]}},{"../fns":7}],20:[function(P,j){j.exports=["accountant","administrator","advisor","agent","architect","artist","assistant","attendant","bricklayer","butcher","carpenter","clerk","deputy","dietician","engineer","farmer","firefighter","fireman","gardener","getor","hairdresser","housekeeper","instructor","journalist","lawyer","mechanic","minister","musician","nurse","officer","operator","photographer","plumber","policeman","politician","practitioner","president","programmer","psychologist","receptionist","researcher","roofer","sailor","scientist","secretary","security guard","soldier","supervisor","surgeon","technician","therapist"]},{}],21:[function(P,j){j.exports=["advice","aircraft","art","baggage","bass","beef","bison","blood","bread","butter","cake","cash","celcius","chaos","cheese","chewing","civics","clothing","coal","coffee","conduct","confusion","cotton","currency","economics","education","electricity","enjoyment","entertainment","equipment","ethics","everybody","everyone","fahrenheit","fiction","fish","flour","food","forgiveness","fowl","fruit","fun","furniture","gold","golf","gossip","grass","ground","gum","gymnastics","hair","halibut","happiness","hertz","history","hockey","homework","honey","hospitality","ice","impatience","importance","information","itself","jewelry","justice","kelvin","knowledge","laughter","leather","leisure","lightning","liquid","literature","luck","luggage","machinery","mail","mathematics","measles","meat","milk","mist","money","moose","mumps","music","news","noise","oil","oxygen","paper","patience","peace","peanut","pepper","petrol","physics","plastic","pork","power","pressure","progress","rain","recognition","recreation","relaxation","research","rice","sadness","safety","salmon","salt","sand","scenery","series","sheep","shopping","silk","silver","snow","soap","soccer","softness","space","spacecraft","species","speed","steam","steel","sugar","sunshine","tea","tennis","thunder","time","toothpaste","traffic","trouble","trousers","trout","tuna","vinegar","violence","warmth","water","weather","wildlife","wine","wood","wool"]},{}],22:[function(P,j){j.exports=["abba","ac/dc","aerosmith","bee gees","coldplay","creedence clearwater revival","def leppard","depeche mode","destiny's child","duran duran","fleetwood mac","green day","guns n roses","joy division","metallica","moody blues","motley crue","new kids on the block","pink floyd","r.e.m.","radiohead","red hot chili peppers","sex pistols","soundgarden","spice girls","the beach boys","the beatles","the black eyed peas","the byrds","the carpenters","the guess who","the hollies","the rolling stones","the smashing pumpkins","the supremes","the who","thin lizzy","u2","van halen"]},{}],23:[function(P,j){j.exports=["administration","agence","agences","agencies","agency","aircraft","airlines","airways","army","assoc","associates","association","assurance","authority","autorite","aviation","bank","banque","board","boys","brands","brewery","brotherhood","brothers","building society","bureau","cafe","caisse","capital","care","cathedral","center","central bank","centre","chemicals","choir","chronicle","church","circus","clinic","clinique","club","co","coalition","coffee","collective","college","commission","committee","communications","community","company","comprehensive","computers","confederation","conference","conseil","consulting","containers","corporation","corps","council","crew","daily news","data","departement","department","department store","departments","design","development","directorate","division","drilling","education","eglise","electric","electricity","energy","ensemble","enterprise","enterprises","entertainment","estate","etat","evening news","faculty","federation","financial","fm","foundation","fund","gas","gazette","girls","government","group","guild","health authority","herald","holdings","hospital","hotel","hotels","inc","industries","institut","institute","institute of technology","institutes","insurance","international","interstate","investment","investments","investors","journal","laboratory","labs","liberation army","limited","local authority","local health authority","machines","magazine","management","marine","marketing","markets","media","memorial","mercantile exchange","ministere","ministry","military","mobile","motor","motors","musee","museum","news","news service","observatory","office","oil","optical","orchestra","organization","partners","partnership","people's party","petrol","petroleum","pharmacare","pharmaceutical","pharmaceuticals","pizza","plc","police","polytechnic","post","power","press","productions","quartet","radio","regional authority","regional health authority","reserve","resources","restaurant","restaurants","savings","school","securities","service","services","social club","societe","society","sons","standard","state police","state university","stock exchange","subcommittee","syndicat","systems","telecommunications","telegraph","television","times","tribunal","tv","union","university","utilities","workers"]},{}],24:[function(P,j){"use strict";j.exports=["20th century fox","3m","7-eleven","abc","academy of sciences","acer","activision","adidas","aig","al jazeera","al qaeda","alcatel-lucent","alcatel","altair","amc","amd","american express","amt","amtrak","anheuser-busch","aol","apple computers","applebee's","arby's","argos","armco","ashland oil","associated press","at&t","avis","avon","ayer","banana republic","basf","baskin robbins","baxter","bayer","bbc","bechtel","ben & jerry's","berkshire hathaway","bf goodrich","bfgoodrich","black & decker","blockbuster video","bloomingdale","blue cross","bmw","bni","boeing","bombardier","boston globe","boston pizza","bp","capital one","cadbury","carl's jr","cbc","chevron","chevy","chick fil-a","china daily","cia","cisco systems","cisco","citigroup","cnn","coca cola","colgate","comcast","compaq","coors","costco","craigslist","daimler","dea","dell","der spiegel","disney","doj","dow jones","dunkin donuts","dupont","ebay","esa","eu","exxon mobil","exxonmobil","facebook","fannie mae","fbi","fda","fedex","fiat","financial times","firestone","ford","frito-lay","g8","general electric","general motors","ghq","glaxo smith kline","glencore","goldman sachs","goodyear","google","gucci","h & m","hasbro","hewlett-packard","hitachi","hizbollah","home depot","honda","hsbc","hyundai","ibm","ihop","ing","intel","interpol","itv","jiffy lube","johnson & johnson","jpmorgan chase","jpmorgan","jsa","katv","kfc","kkk","kmart","kodak","l'oreal","la presse","la-z-boy","lenovo","lexis","lexmark","lg","little caesars","mac's milk","mattel","mazda","mcdonald's","mcdonalds","medicaid","medicare","mercedes-benz","mercedes","microsoft","mitas","mitsubishi","mlb","mobil","monsanto","motel 6","motorola","mtv","myspace","nandos","nasa","nascar","nasdaq","national academy of sciences","nato","natwest","nba","nbc","nestle","nestl\xE9","netflix","new york times","newsweek","nfl","nhl","nhs","nike","nintendo","nissan","nokia","notre dame","novartis","nsa","nwa","old navy","opec","orange julius","oxfam","pan am","panasonic","panda express","pbs","pepsico","petrobras","petrochina","petronas","peugeot","pfizer","philip morris","pizza hut","premier oil","procter & gamble","prudential","quantas","quizno's","rbc","rbs","re/max","readers digest","red bull","red cross","red lobster","revlon","royal bank","royal dutch shell","ryanair","safeway","sainsbury's","samsung","sears","siemens","sony","starbucks","statoil","subaru","t mobile","taco bell","td bank","telefonica","telus","tesco","tesla motors","tgi fridays","the daily mail","tim hortons","tmz","toshiba","toyota","toys r us","twitter","ubs","unesco","unilever","united nations","ups","usa today","usps","verizon","vh1","visa","vodafone","volkswagen","volvo","wal-mart","walgreens","wall street journal","walmart","warner bros","wells fargo","westfield","westinghouse","world trade organization","yahoo!","yamaha","ymca","youtube","ywca"]},{}],25:[function(P,j){j.exports=["washington nationals","toronto blue jays","texas rangers","tampa bay rays","st. louis cardinals","seattle mariners","san francisco giants","san diego padres","pittsburgh pirates","philadelphia phillies","oakland athletics","new york yankees","new york mets","minnesota twins","milwaukee brewers","miami marlins","los angeles dodgers","kansas city royals","houston astros","detroit tigers","colorado rockies","cleveland indians","cincinnati reds","chicago white sox","chicago cubs","boston red sox","baltimore orioles","atlanta braves","arizona diamondbacks","diamondbacks","braves","orioles","white sox","astros","royals","dodgers","marlins","brewers","mets","yankees","phillies","padres","giants","mariners","cardinals","blue jays","boston celtics","brooklyn nets","new york knicks","philadelphia 76ers","toronto raptors","chicago bulls","cleveland cavaliers","detroit pistons","indiana pacers","milwaukee bucks","atlanta hawks","charlotte hornets","miami heat","orlando magic","washington wizards","dallas mavericks","houston rockets","memphis grizzlies","new orleans pelicans","san antonio spurs","denver nuggets","minnesota timberwolves","portland trail blazers","oklahoma city thunder","utah jazz","golden state warriors","los angeles clippers","los angeles lakers","phoenix suns","sacramento kings","76ers","knicks","mavericks","lakers","celtics","buffalo bills","miami dolphins","new england patriots","new york jets","baltimore ravens","cincinnati bengals","cleveland browns","pittsburgh steelers","houston texans","indianapolis colts","jacksonville jaguars","tennessee titans","denver broncos","kansas city chiefs","oakland raiders","san diego chargers","dallas cowboys","new york giants","philadelphia eagles","washington redskins","chicago bears","detroit lions","green bay packers","minnesota vikings","atlanta falcons","carolina panthers","new orleans saints","tampa bay buccaneers","arizona cardinals","st. louis rams","san francisco 49ers","seattle seahawks","chicago fire","columbus crew sc","d.c. united","montreal impact","new england revolution","new york city fc","new york red bulls","philadelphia union","colorado rapids","fc dallas","houston dynamo","la galaxy","portland timbers","real salt lake","san jose earthquakes","seattle sounders","sporting kansas city","vancouver whitecaps","atlanta united","minnesota united","blackburn rovers","leicester city","manchester city","manchester united","aston villa","cardiff city","newcastle united","queens park rangers","sheffield united","stoke city","tottenham hotspur","west ham united"]},{}],26:[function(P,j){j.exports=["casey","jamie","lee","jaime","jessie","morgan","rene","robin","devon","kerry","alexis","guadalupe","blair","kasey","jean","marion","aubrey","shelby","jan","shea","jade","kenyatta","kelsey","shay","lashawn","trinity","regan","jammie","cassidy","cheyenne","reagan","shiloh","marlo","andra","devan","rosario","lee","mel"]},{}],27:[function(P,j){"use strict";const A=P("../fns");let N=["abigail","aicha","alya","andrea","annika","beatriz","bettye","brandi","brooke","carol","celeste","chelsea","cheryl","chloe","claire","cleo","constanza","consuelo","crystal","dominique","dorothea","eleanor","eliza","erika","fay","faye","fern","gail","genevieve","gertrude","gladys","heidi","ingrid","jade","jill","jo","jodie","joni","kate","katie","kathryn","kay","kim","krystal","latoya","laxmi","leigh","lindsay","lupe","lynn","mae","malika","margo","marguerite","marisol","maritza","maude","maya","mildred","miriam","monique","mrignayani","naomi","nell","nikki","olga","paige","pam","parvati","pearl","reba","robyn","rosalind","shania","sheryl","sue","sybil","tami","tamika","therese","toni","gisele"];N=A.uncompress_suffixes(N,{stine:"chri,erne,ju,kri",rlene:"a,cha,da,ma",eline:"ad,ang,jacqu,mad",nette:"an,antoi,jean,ly",elia:"ad,am,ang,cec,c,corn,d,of,sh",anne:",di,je,jo,le,mari,rox,sus,suz",elle:"dani,est,gabri,isab,jan,mich,rach,roch",ella:"d,est,isab,lu,marc,st",rina:"kata,kat,ma,sab,t",icia:"al,fel,let,patr,tr",ette:"bernad,b,claud,paul,yv",leen:"ai,cath,col,ei,kath",ndra:"alexa,cassa,ke,sa,so",elma:",s,th,v",anda:"am,mir,w,yol",etta:",henri,lor,ros",isha:"al,ke,lat,tr",tina:"cris,mar,,valen",inda:"bel,l,luc,mel",arla:"c,d,k,m",lena:"e,je,,magda",ine:"carol,cather,cel,ela,franc,gerald,jan,jasm,jeann,joseph,kathar,kather,lorra,max,nad,paul",ice:"al,beatr,bern,cand,clar,eun,jan,patr",ela:"andj,ang,carm,gabri,graci,l,manu,pam",ara:"barb,c,cl,k,l,tam,t,z",ora:"c,d,fl,isid,len,l,n,teod",ina:"am,catal,d,georg,g,josef,n",ita:"an,arp,bon,juan,kav,margar,r",nna:"dea,do,gle,je,joha,lado,sha",lyn:"caro,eve,gwendo,jac,jacque,joce,mari",ica:"angel,er,jess,mil,mon,patr,veron",ene:"adri,hel,imog,ir,jol,lor",ana:"adri,d,jov,ju,l,sus",nda:"bre,gle,ly,rho,ro",nia:"anto,euge,so,to,virgi",ley:"ash,kel,kimber,les,shir",sha:"lata,mar,nata,ta",ian:"jill,lill,mar,viv",isa:"al,el,l,lu",ann:",jo,le,mary",ise:"den,el,elo,lou",ida:"a,,rach,sa",nya:"lato,so,ta,to",ssa:"aly,mari,meli,vane",tha:"ber,mar,saman,tabi",ia:"cecil,claud,cynth,dam,georg,glor,jul,luc,lyd,marc,mar,nad,oliv,silv,sof,soph,sylv,victor",la:"eu,kay,lei,leo,li,lo,pau,priscil,shei,ursu,vio,wil",na:"de,ed,leo,lor,mo,myr,ramo,re,shau,shaw,shee,ver",le:"ade,camil,caro,ceci,ga,gay,lucil,mab,myrt,nicho,nico",en:"carm,dore,ell,gretch,gw,hel,kar,kirst,krist,laur,maure",ra:"aud,barb,deb,elvi,javie,lau,may,my,pet,ve",ma:"al,em,er,fati,ir,kari,nai,nor,wil",el:"eth,isab,laur,mab,marib,muri,racha,rach,raqu",ta:"alber,al,chris,ek,kris,mandakran,mar,rober",ey:"audr,brittn,courtn,linds,stac,trac,whitn",ri:"je,kanyakuma,ka,ker,sha,she,ter",ne:"corin,daph,ja,laver,lyn,simo,yvon",th:"be,edi,elisabe,elizabe,judi,meredi,ru",ah:"aish,beul,debor,hann,le,rebek,sar",is:"delor,dor,jan,lo,mav,phyll",da:"a,fre,frie,hil,matil,priyamva",ce:"canda,constan,floren,gra,joy",es:"agn,delor,dolor,franc,merced",er:"amb,est,esth,heath,jennif",et:"bridg,harri,jan,margar,margr",ca:"bian,blan,francis,rebec",ja:"an,khadi,mari,son",sa:"el,ro,tere,there",ee:"aim,d,desir,ren",va:"a,el,e,i",in:"caitl,er,kar,krist",on:"alis,man,shann,shar",an:"meag,meg,megh,sus"});for(let C=0,V;C{let C=Object.keys(A.ordinal[_]),V=Object.keys(A.cardinal[_]);for(let E=0;E{Object.keys(A[N]).forEach((_)=>{1<_.length&&(z[_]=!0);let C=A[N][_];z[C]=!0,z[C+"s"]=!0})}),z=Object.keys(z),j.exports={words:z,units:A}},{}],37:[function(P,j){"use strict";const A=P("./participles"),z={take:{PerfectTense:"have taken",pluPerfectTense:"had taken",FuturePerfect:"will have taken"},can:{Gerund:"",PresentTense:"can",PastTense:"could",FutureTense:"can",PerfectTense:"could",pluPerfectTense:"could",FuturePerfect:"can",Actor:""},free:{Gerund:"freeing",Actor:""},arise:{PastTense:"arose",Participle:"arisen"},babysit:{PastTense:"babysat",Actor:"babysitter"},be:{PastTense:"was",Participle:"been",PresentTense:"is",Actor:"",Gerund:"am"},is:{PastTense:"was",PresentTense:"is",Actor:"",Gerund:"being"},beat:{Gerund:"beating",Actor:"beater",Participle:"beaten"},begin:{Gerund:"beginning",PastTense:"began"},ban:{PastTense:"banned",Gerund:"banning",Actor:""},bet:{Actor:"better"},bind:{PastTense:"bound"},bite:{Gerund:"biting",PastTense:"bit"},bleed:{PastTense:"bled"},break:{PastTense:"broke"},breed:{PastTense:"bred"},bring:{PastTense:"brought"},broadcast:{PastTense:"broadcast"},build:{PastTense:"built"},buy:{PastTense:"bought"},catch:{PastTense:"caught"},choose:{Gerund:"choosing",PastTense:"chose"},cost:{PastTense:"cost"},deal:{PastTense:"dealt"},die:{PastTense:"died",Gerund:"dying"},dig:{Gerund:"digging",PastTense:"dug"},do:{PastTense:"did",PresentTense:"does"},draw:{PastTense:"drew"},drink:{PastTense:"drank",Participle:"drunk"},drive:{Gerund:"driving",PastTense:"drove"},eat:{Gerund:"eating",PastTense:"ate",Actor:"eater",Participle:"eaten"},fall:{PastTense:"fell"},feed:{PastTense:"fed"},feel:{PastTense:"felt",Actor:"feeler"},fight:{PastTense:"fought"},find:{PastTense:"found"},fly:{PastTense:"flew",Participle:"flown"},blow:{PastTense:"blew",Participle:"blown"},forbid:{PastTense:"forbade"},forget:{Gerund:"forgeting",PastTense:"forgot"},forgive:{Gerund:"forgiving",PastTense:"forgave"},freeze:{Gerund:"freezing",PastTense:"froze"},get:{PastTense:"got"},give:{Gerund:"giving",PastTense:"gave"},go:{PastTense:"went",PresentTense:"goes"},hang:{PastTense:"hung"},have:{Gerund:"having",PastTense:"had",PresentTense:"has"},hear:{PastTense:"heard"},hide:{PastTense:"hid"},hold:{PastTense:"held"},hurt:{PastTense:"hurt"},lay:{PastTense:"laid"},lead:{PastTense:"led"},leave:{PastTense:"left"},lie:{Gerund:"lying",PastTense:"lay"},light:{PastTense:"lit"},lose:{Gerund:"losing",PastTense:"lost"},make:{PastTense:"made"},mean:{PastTense:"meant"},meet:{Gerund:"meeting",PastTense:"met",Actor:"meeter"},pay:{PastTense:"paid"},read:{PastTense:"read"},ring:{PastTense:"rang"},rise:{PastTense:"rose",Gerund:"rising",pluPerfectTense:"had risen",FuturePerfect:"will have risen"},run:{Gerund:"running",PastTense:"ran"},say:{PastTense:"said"},see:{PastTense:"saw"},sell:{PastTense:"sold"},shine:{PastTense:"shone"},shoot:{PastTense:"shot"},show:{PastTense:"showed"},sing:{PastTense:"sang",Participle:"sung"},sink:{PastTense:"sank",pluPerfectTense:"had sunk"},sit:{PastTense:"sat"},slide:{PastTense:"slid"},speak:{PastTense:"spoke",PerfectTense:"have spoken",pluPerfectTense:"had spoken",FuturePerfect:"will have spoken"},spin:{Gerund:"spinning",PastTense:"spun"},spread:{PastTense:"spread"},stand:{PastTense:"stood"},steal:{PastTense:"stole",Actor:"stealer"},stick:{PastTense:"stuck"},sting:{PastTense:"stung"},stream:{Actor:"streamer"},strike:{Gerund:"striking",PastTense:"struck"},swear:{PastTense:"swore"},swim:{PastTense:"swam"},swing:{PastTense:"swung"},teach:{PastTense:"taught",PresentTense:"teaches"},tear:{PastTense:"tore"},tell:{PastTense:"told"},think:{PastTense:"thought"},understand:{PastTense:"understood"},wake:{PastTense:"woke"},wear:{PastTense:"wore"},win:{Gerund:"winning",PastTense:"won"},withdraw:{PastTense:"withdrew"},write:{Gerund:"writing",PastTense:"wrote",Participle:"written"},tie:{Gerund:"tying",PastTense:"tied"},ski:{PastTense:"skiied"},boil:{Actor:"boiler"},miss:{PresentTense:"miss"},act:{Actor:"actor"},compete:{Gerund:"competing",PastTense:"competed",Actor:"competitor"},being:{Gerund:"are",PastTense:"were",PresentTense:"are"},imply:{PastTense:"implied",PresentTense:"implies"},ice:{Gerund:"icing",PastTense:"iced"},develop:{PastTense:"developed",Actor:"developer",Gerund:"developing"},wait:{Gerund:"waiting",PastTense:"waited",Actor:"waiter"},aim:{Actor:"aimer"},spill:{PastTense:"spilt"},drop:{Gerund:"dropping",PastTense:"dropped"},log:{Gerund:"logging",PastTense:"logged"},rub:{Gerund:"rubbing",PastTense:"rubbed"},smash:{PresentTense:"smashes"},suit:{Gerund:"suiting",PastTense:"suited",Actor:"suiter"}};Object.keys(A).forEach((N)=>{z[N]?z[N].Participle=A[N]:z[N]={Participle:A[N]}}),j.exports=z},{"./participles":38}],38:[function(P,j){j.exports={become:"become",begin:"begun",bend:"bent",bet:"bet",bite:"bitten",bleed:"bled",brake:"broken",bring:"brought",build:"built",burn:"burned",burst:"burst",buy:"bought","catch":"caught",choose:"chosen",cling:"clung",come:"come",creep:"crept",cut:"cut",deal:"dealt",dig:"dug",dive:"dived","do":"done",draw:"drawn",dream:"dreamt",drive:"driven",eat:"eaten",fall:"fallen",feed:"fed",fight:"fought",flee:"fled",fling:"flung",forget:"forgotten",forgive:"forgiven",freeze:"frozen",got:"gotten",give:"given",go:"gone",grow:"grown",hang:"hung",have:"had",hear:"heard",hide:"hidden",hit:"hit",hold:"held",hurt:"hurt",keep:"kept",kneel:"knelt",know:"known",lay:"laid",lead:"led",leap:"leapt",leave:"left",lend:"lent",light:"lit",loose:"lost",make:"made",mean:"meant",meet:"met",pay:"paid",prove:"proven",put:"put",quit:"quit",read:"read",ride:"ridden",ring:"rung",rise:"risen",run:"run",say:"said",see:"seen",seek:"sought",sell:"sold",send:"sent",set:"set",sew:"sewn",shake:"shaken",shave:"shaved",shine:"shone",shoot:"shot",shut:"shut",seat:"sat",slay:"slain",sleep:"slept",slide:"slid",sneak:"snuck",speak:"spoken",speed:"sped",spend:"spent",spill:"spilled",spin:"spun",spit:"spat",split:"split",spring:"sprung",stink:"stunk",strew:"strewn",sware:"sworn",sweep:"swept",thrive:"thrived","throw":"thrown",undergo:"undergone",upset:"upset",weave:"woven",weep:"wept",wind:"wound",wring:"wrung"}},{}],39:[function(P,j){"use strict";const A=P("../fns");j.exports=A.uncompress_suffixes(["abandon","accept","add","added","adopt","aid","appeal","applaud","archive","ask","assign","associate","assume","attempt","avoid","ban","become","bomb","cancel","claim","claw","come","control","convey","cook","copy","cut","deem","defy","deny","describe","design","destroy","die","divide","do","doubt","drag","drift","drop","echo","embody","enjoy","envy","excel","fall","fail","fix","float","flood","focus","fold","get","goes","grab","grasp","grow","happen","head","help","hold fast","hope","include","instruct","invest","join","keep","know","learn","let","lift","link","load","loan","look","make due","mark","melt","minus","multiply","name","need","occur","overcome","overlap","overwhelm","owe","pay","plan","plug","plus","pop","pour","proclaim","put","rank","reason","reckon","relax","repair","reply","reveal","revel","risk","rub","ruin","sail","seek","seem","send","set","shout","sleep","sneak","sort","spoil","stem","step","stop","study","take","talk","thank","took","trade","transfer","trap","travel","tune","undergo","undo","uplift","walk","watch","win","wipe","work","yawn","yield"],{prove:",im,ap,disap",serve:",de,ob,re",ress:"exp,p,prog,st,add,d",lect:"ref,se,neg,col,e",sist:"in,con,per,re,as",tain:"ob,con,main,s,re",mble:"rese,gru,asse,stu",ture:"frac,lec,tor,fea",port:"re,sup,ex,im",ate:"rel,oper,indic,cre,h,activ,estim,particip,d,anticip,evalu",use:",ca,over,ref,acc,am,pa",ive:"l,rece,d,arr,str,surv,thr,rel",are:"prep,c,comp,sh,st,decl,d,sc",ine:"exam,imag,determ,comb,l,decl,underm,def",nce:"annou,da,experie,influe,bou,convi,enha",ain:"tr,rem,expl,dr,compl,g,str",ent:"prev,repres,r,res,rel,inv",age:"dam,mess,man,encour,eng,discour",rge:"su,cha,eme,u,me",ise:"ra,exerc,prom,surpr,pra",ect:"susp,dir,exp,def,rej",ter:"en,mat,cen,ca,al",end:",t,dep,ext,att",est:"t,sugg,prot,requ,r",ock:"kn,l,sh,bl,unl",nge:"cha,excha,ra,challe,plu",ase:"incre,decre,purch,b,ce",ish:"establ,publ,w,fin,distingu",mit:"per,ad,sub,li",ure:"fig,ens,end,meas",der:"won,consi,mur,wan",ave:"s,sh,w,cr",ire:"requ,des,h,ret",tch:"scra,swi,ma,stre",ack:"att,l,p,cr",ion:"ment,quest,funct,envis",ump:"j,l,p,d",ide:"dec,prov,gu,s",ush:"br,cr,p,r",eat:"def,h,tr,ch",ash:"sm,spl,w,fl",rry:"ca,ma,hu,wo",ear:"app,f,b,disapp",er:"answ,rememb,off,suff,cov,discov,diff,gath,deliv,both,empow,with",le:"fi,sett,hand,sca,whist,enab,smi,ming,ru,sprink,pi",st:"exi,foreca,ho,po,twi,tru,li,adju,boa,contra,boo",it:"vis,ed,depos,sp,awa,inhib,cred,benef,prohib,inhab",nt:"wa,hu,pri,poi,cou,accou,confro,warra,pai",ch:"laun,rea,approa,sear,tou,ar,enri,atta",ss:"discu,gue,ki,pa,proce,cro,glo,dismi",ll:"fi,pu,ki,ca,ro,sme,reca,insta",rn:"tu,lea,conce,retu,bu,ea,wa,gove",ce:"redu,produ,divor,noti,for,repla",te:"contribu,uni,tas,vo,no,constitu,ci",rt:"sta,comfo,exe,depa,asse,reso,conve",ck:"su,pi,che,ki,tri,wre",ct:"intera,restri,predi,attra,depi,condu",ke:"sta,li,bra,overta,smo,disli",se:"collap,suppo,clo,rever,po,sen",nd:"mi,surrou,dema,remi,expa,comma",ve:"achie,invol,remo,lo,belie,mo",rm:"fo,perfo,confi,confo,ha",or:"lab,mirr,fav,monit,hon",ue:"arg,contin,val,iss,purs",ow:"all,foll,sn,fl,borr",ay:"pl,st,betr,displ,portr",ze:"recogni,reali,snee,ga,emphasi",ip:"cl,d,gr,sl,sk",re:"igno,sto,interfe,sco",ng:"spri,ba,belo,cli",ew:"scr,vi,revi,ch",gh:"cou,lau,outwei,wei",ly:"app,supp,re,multip",ge:"jud,acknowled,dod,alle",en:"list,happ,threat,strength",ee:"fors,agr,disagr,guarant",et:"budg,regr,mark,targ",rd:"rega,gua,rewa,affo",am:"dre,j,sl,ro",ry:"va,t,c,bu"})},{"../fns":7}],40:[function(P,j,$){"use strict";const A=P("./tags/colors"),z={reset:"\x1B[0m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",black:"\x1B[30m"};"undefined"==typeof j&&Object.keys(z).forEach((N)=>{z[N]=""}),$.ensureString=(N)=>{if("string"==typeof N)return N;return"number"==typeof N?""+N:""},$.ensureObject=(N)=>{return"object"==typeof N?null===N||N instanceof Array?{}:N:{}},$.endsWith=function(N,_){return N&&N.substr(-_.length)===_},$.startsWith=function(N,_){return N&&_&&N.substr(0,_.length)===_},$.titleCase=(N)=>{return N.charAt(0).toUpperCase()+N.substr(1)},$.flatten=function(N){let _=[];return N.forEach(function(C){_=_.concat(C)}),_},$.copy=(N)=>{let _={};return N=$.ensureObject(N),Object.keys(N).forEach((C)=>{_[C]=N[C]}),_},$.green=function(N){return z.green+N+z.reset},$.red=function(N){return z.red+N+z.reset},$.blue=function(N){return z.blue+N+z.reset},$.magenta=function(N){return z.magenta+N+z.reset},$.cyan=function(N){return z.cyan+N+z.reset},$.yellow=function(N){return z.yellow+N+z.reset},$.black=function(N){return z.black+N+z.reset},$.printTag=function(N){return A[N]?$[A[N]](N):N},$.printTerm=function(N){let _=Object.keys(N.tag);for(let C=0;C<_.length;C++)if(A[_[C]]){let V=A[_[C]];return $[V](N.plaintext)}return z.reset+N.plaintext+z.reset},$.leftPad=function(N,_,C){for(C=C||" ",N=N.toString();N.length<_;)N+=C;return N}},{"./tags/colors":154}],41:[function(P,j){(function(A){"use strict";const z=P("./result/build"),N=P("../package.json"),_=P("./log"),C=function(V,E,q){return z(V,E,q)};C.version=N.version,C.lexicon=function(){return P("./data/lexicon")},C.verbose=function(V){_.enable(V)},"undefined"==typeof self?"undefined"==typeof window?"undefined"!=typeof A&&(A.nlp=C):window.nlp=C:self.nlp=C,"function"==typeof d&&d.amd&&d(C),"undefined"!=typeof j&&(j.exports=C)}).call(this,"undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global)},{"../package.json":1,"./data/lexicon":9,"./log":42,"./result/build":43}],42:[function(P,j){"use strict";const A=P("../fns");let z=!1;j.exports={enable:(N)=>{N===void 0&&(N=!0),z=N},here:(N)=>{(!0===z||z===N)&&console.log(" "+N)},tell:(N,_)=>{(!0===z||z===_)&&("object"==typeof N&&(N=JSON.stringify(N)),N=" "+N,console.log(N))},tagAs:(N,_,C)=>{if(!0===z||"tagger"===z){let V=N.normal||"["+N.silent_term+"]";V=A.yellow(V),V=A.leftPad("'"+V+"'",20),V+=" -> "+A.printTag(_),V=A.leftPad(V,54),console.log(" "+V+"("+A.cyan(C||"")+")")}}}},{"../fns":40}],43:[function(P,j){"use strict";const A=P("./index"),z=P("./tokenize"),N=P("./paths").Terms,_=P("../term/methods/normalize/normalize").normalize,C=P("../tags"),V=function(D){return D=D||{},Object.keys(D).reduce((O,S)=>{O[S]=D[S];let M=_(S);return S!==M&&(O[M]=D[S]),O},{})},E=function(D){console.log(D),console.log(C)};j.exports=(D,O,S)=>{let M=z(D);O=V(O);let F=M.map((G)=>N.fromString(G,O));S&&E(S);let W=new A(F,O,null,S);return W.list.forEach((G)=>{G.refText=W}),W}},{"../tags":156,"../term/methods/normalize/normalize":163,"./index":44,"./paths":56,"./tokenize":153}],44:[function(P,j){"use strict";class A{constructor(N,_,C,V){this.list=N||[],this.reference=C,this.tagSet=V}get found(){return 0N.index())}data(){return this.list.map((N)=>{return{normal:N.out("normal"),text:N.out("text")}})}debug(N){return out(this,"debug",N)}get whitespace(){return{before:(N)=>{return this.list.forEach((_)=>{_.whitespace.before(N)}),this},after:(N)=>{return this.list.forEach((_)=>{_.whitespace.after(N)}),this}}}}j.exports=A,A=P("./methods/array")(A),A=P("./methods/loops")(A),A=P("./methods/match")(A),A=P("./methods/out")(A),A=P("./methods/sort")(A),A=P("./methods/split")(A),A=P("./methods/tag")(A),A=P("./methods/normalize")(A);const z={acronyms:P("./subset/acronyms"),adjectives:P("./subset/adjectives"),adverbs:P("./subset/adverbs"),clauses:P("./subset/clauses"),contractions:P("./subset/contractions"),dates:P("./subset/dates"),hashTags:P("./subset/hashTags"),nouns:P("./subset/nouns"),organizations:P("./subset/organizations"),people:P("./subset/people"),phoneNumbers:P("./subset/phoneNumbers"),places:P("./subset/places"),questions:P("./subset/sentences/questions"),quotations:P("./subset/quotations"),sentences:P("./subset/sentences"),statements:P("./subset/sentences/statements"),terms:P("./subset/terms"),topics:P("./subset/topics"),urls:P("./subset/urls"),values:P("./subset/values"),verbs:P("./subset/verbs"),ngrams:P("./subset/ngrams"),startGrams:P("./subset/ngrams/startGrams"),endGrams:P("./subset/ngrams/endGrams")};Object.keys(z).forEach((N)=>{A.prototype[N]=function(_,C){let V=z[N],E=V.find(this,_,C);return new z[N](E.list,this.lexicon,this.parent)}})},{"./methods/array":45,"./methods/loops":46,"./methods/match":47,"./methods/normalize":48,"./methods/out":49,"./methods/sort":52,"./methods/split":54,"./methods/tag":55,"./subset/acronyms":57,"./subset/adjectives":59,"./subset/adverbs":67,"./subset/clauses":69,"./subset/contractions":73,"./subset/dates":75,"./subset/hashTags":85,"./subset/ngrams":89,"./subset/ngrams/endGrams":86,"./subset/ngrams/startGrams":90,"./subset/nouns":92,"./subset/organizations":101,"./subset/people":103,"./subset/phoneNumbers":105,"./subset/places":106,"./subset/quotations":108,"./subset/sentences":109,"./subset/sentences/questions":110,"./subset/sentences/statements":113,"./subset/terms":116,"./subset/topics":118,"./subset/urls":119,"./subset/values":120,"./subset/verbs":133}],45:[function(P,j){"use strict";const A=P("../../terms");j.exports=(N)=>{const _={clone:function(){let C=this.list.map((V)=>{return V.clone()});return new N(C)},term:function(C){let V=this.list.map((E)=>{let q=[],D=E.terms[C];return D&&(q=[D]),new A(q,this.lexicon,this.refText,this.refTerms)});return new N(V,this.lexicon,this.parent)},firstTerm:function(){return this.match("^.")},lastTerm:function(){return this.match(".$")},slice:function(C,V){return this.list=this.list.slice(C,V),this},get:function(C){if(!C&&0!==C||!this.list[C])return new N([],this.lexicon,this.parent);let V=this.list[C];return new N([V],this.lexicon,this.parent)},first:function(C){return C||0===C?new N(this.list.slice(0,C),this.lexicon,this.parent):this.get(0)},last:function(C){if(!C&&0!==C)return this.get(this.list.length-1);let V=this.list.length;return new N(this.list.slice(V-C,V),this.lexicon,this.parent)},concat:function(){for(let C=0,V;C{C=C.concat(E.terms)}),!C.length)return new N(null,this.lexicon,this.parent);let V=new A(C,this.lexicon,this,null);return new N([V],this.lexicon,this.parent)}};return Object.keys(_).forEach((C)=>{N.prototype[C]=_[C]}),N}},{"../../terms":176}],46:[function(P,j){"use strict";let A=["toTitleCase","toUpperCase","toLowerCase","toCamelCase","hyphenate","dehyphenate","insertBefore","insertAfter","insertAt","replace","replaceWith","delete"];j.exports=(N)=>{return A.forEach((_)=>{N.prototype[_]=function(){let V=arguments;return this.list.forEach((E)=>{E[_].apply(E,V)}),this}}),N}},{}],47:[function(P,j){"use strict";j.exports=(z)=>{const N={match:function(_,C){let V=[];this.list.forEach((q)=>{let D=q.match(_,C);D.list.forEach((O)=>{V.push(O)})});let E=this.parent||this;return new z(V,this.lexicon,E)},not:function(_,C){let V=[];this.list.forEach((q)=>{let D=q.not(_,C);V=V.concat(D.list)});let E=this.parent||this;return new z(V,this.lexicon,E)},if:function(_,C){let V=[];for(let q=0,D;q{z.prototype[_]=N[_]}),z}},{}],48:[function(P,j){"use strict";const A={whitespace:!0,case:!0,numbers:!0,punctuation:!0,unicode:!0,contractions:!0},z={whitespace:(_)=>{return _.terms().list.forEach((C,V)=>{let E=C.terms[0];0{return _.terms().list.forEach((C,V)=>{let E=C.terms[0];0===V||E.tag.Person||E.tag.Place||E.tag.Organization?C.toTitleCase():C.toLowerCase()}),_},numbers:(_)=>{return _.values().toNumber()},punctuation:(_)=>{return _.terms().list.forEach((C,V)=>{let E=C.terms[0];V{return _.contractions().expand()}};j.exports=(_)=>{return _.prototype.normalize=function(C){C=C||A,Object.keys(C).forEach((V)=>{z[V]&&z[V](this)})},_}},{}],49:[function(P,j){"use strict";const A=P("./topk"),z=P("./offset"),N={text:(C)=>{return C.list.reduce((V,E)=>{return V+=E.out("text"),V},"")},normal:(C)=>{return C.list.map((V)=>{let E=V.out("normal"),q=V.last();if(q){let D=q.endPunctuation();("."===D||"!"===D||"?"===D)&&(E+=D)}return E}).join(" ")},root:(C)=>{return C.list.map((V)=>{return V.out("root")}).join(" ")},offsets:(C)=>{return z(C)},grid:(C)=>{return C.list.reduce((V,E)=>{return V+=E.out("grid"),V},"")},color:(C)=>{return C.list.reduce((V,E)=>{return V+=E.out("color"),V},"")},array:(C)=>{return C.list.reduce((V,E)=>{return V.push(E.out("normal")),V},[])},json:(C)=>{return C.list.reduce((V,E)=>{let q=E.terms.map((D)=>{return{text:D.text,normal:D.normal,tags:D.tag}});return V.push(q),V},[])},html:(C)=>{let V=C.list.reduce((E,q)=>{let D=q.terms.reduce((O,S)=>{return O+="\n "+S.out("html"),O},"");return E+="\n "+D+"\n "},"");return" "+V+"\n"},terms:(C)=>{let V=[];return C.list.forEach((E)=>{E.terms.forEach((q)=>{V.push({text:q.text,normal:q.normal,tags:Object.keys(q.tag)})})}),V},debug:(C)=>{return console.log("===="),C.list.forEach((V)=>{console.log(" --"),V.debug()}),C},topk:(C)=>{return A(C)}};N.plaintext=N.text,N.normalized=N.normal,N.colors=N.color,N.tags=N.terms,N.offset=N.offsets,N.frequency=N.topk,N.freq=N.topk,N.arr=N.array;j.exports=(C)=>{return C.prototype.out=function(V){return N[V]?N[V](this):N.text(this)},C.prototype.debug=function(){return N.debug(this)},C}},{"./offset":50,"./topk":51}],50:[function(P,j){"use strict";const A=(N,_)=>{let C=0;for(let V=0;V{let _=N.all();return N.list.map((C)=>{return{text:C.out("text"),normal:C.out("normal"),offset:A(_,C.terms[0]),length:C.out("text").length}})}},{}],51:[function(P,j){"use strict";j.exports=function(z,N){let _={};z.list.forEach((V)=>{let E=V.out("root");_[E]=_[E]||0,_[E]+=1});let C=[];return Object.keys(_).forEach((V)=>{C.push({normal:V,count:_[V]})}),C.forEach((V)=>{V.percent=parseFloat((100*(V.count/z.list.length)).toFixed(2))}),C=C.sort((V,E)=>{return V.count>E.count?-1:1}),N&&(C=C.splice(0,N)),C}},{}],52:[function(P,j){"use strict";const A=P("./methods");j.exports=(N)=>{const _={sort:function(C){return C=C||"alphabetical",C=C.toLowerCase(),C&&"alpha"!==C&&"alphabetical"!==C?"chron"===C||"chronological"===C?A.chron(this,N):"length"===C?A.lengthFn(this,N):"freq"===C||"frequency"===C?A.freq(this,N):"wordcount"===C?A.wordCount(this,N):this:A.alpha(this,N)},reverse:function(){return this.list=this.list.reverse(),this},unique:function(){let C={};return this.list=this.list.filter((V)=>{let E=V.out("root");return!C[E]&&(C[E]=!0,!0)}),this}};return Object.keys(_).forEach((C)=>{N.prototype[C]=_[C]}),N}},{"./methods":53}],53:[function(P,j,$){"use strict";const A=function(z){return z=z.sort((N,_)=>{return N.index>_.index?1:N.index===_.index?0:-1}),z.map((N)=>N.ts)};$.alpha=function(z){return z.list.sort((N,_)=>{if(N===_)return 0;if(N.terms[0]&&_.terms[0]){if(N.terms[0].root>_.terms[0].root)return 1;if(N.terms[0].root<_.terms[0].root)return-1}return N.out("root")>_.out("root")?1:-1}),z},$.chron=function(z){let N=z.list.map((_)=>{return{ts:_,index:_.termIndex()}});return z.list=A(N),z},$.lengthFn=function(z){let N=z.list.map((_)=>{return{ts:_,index:_.chars()}});return z.list=A(N).reverse(),z},$.wordCount=function(z){let N=z.list.map((_)=>{return{ts:_,index:_.length}});return z.list=A(N),z},$.freq=function(z){let N={};z.list.forEach((C)=>{let V=C.out("root");N[V]=N[V]||0,N[V]+=1});let _=z.list.map((C)=>{let V=N[C.out("root")]||0;return{ts:C,index:-1*V}});return z.list=A(_),z}},{}],54:[function(P,j){"use strict";j.exports=(z)=>{const N={splitAfter:function(_,C){let V=[];return this.list.forEach((E)=>{E.splitAfter(_,C).forEach((q)=>{V.push(q)})}),this.list=V,this},splitBefore:function(_,C){let V=[];return this.list.forEach((E)=>{E.splitBefore(_,C).forEach((q)=>{V.push(q)})}),this.list=V,this},splitOn:function(_,C){let V=[];return this.list.forEach((E)=>{E.splitOn(_,C).forEach((q)=>{V.push(q)})}),this.list=V,this}};return Object.keys(N).forEach((_)=>{z.prototype[_]=N[_]}),z}},{}],55:[function(P,j){"use strict";j.exports=(z)=>{const N={tag:function(_,C){return this.list.forEach((V)=>{V.tagAs(_,C,this.tagSet)}),this},unTag:function(_,C){return this.list.forEach((V)=>{V.unTag(_,C,this.tagSet)}),this},canBe:function(_){return this.list.forEach((C)=>{C.terms=C.terms.filter((V)=>{return V.canBe(_,this.tagSet)})}),this}};return Object.keys(N).forEach((_)=>{z.prototype[_]=N[_]}),z}},{}],56:[function(P,j){j.exports={fns:P("../fns"),log:P("../log"),data:P("../data"),Terms:P("../terms"),tags:P("../tags")}},{"../data":8,"../fns":40,"../log":42,"../tags":156,"../terms":176}],57:[function(P,j){"use strict";const A=P("../../index");j.exports=class extends A{data(){return this.terms().list.map((N)=>{let _=N.terms[0],C=_.text.toUpperCase().replace(/\./g).split("");return{periods:C.join("."),normal:C.join(""),text:_.text}})}static find(N,_){return N=N.match("#Acronym"),"number"==typeof _&&(N=N.get(_)),N}}},{"../../index":44}],58:[function(P,j){"use strict";const A=P("../../paths").Terms,z=P("./methods");j.exports=class extends A{constructor(_,C,V,E){super(_,C,V,E)}data(){const _=this.out("normal");return{comparative:z.toComparative(_),superlative:z.toSuperlative(_),adverbForm:z.toAdverb(_),nounForm:z.toNoun(_),verbForm:z.toVerb(_),normal:_,text:this.out("text")}}}},{"../../paths":56,"./methods":61}],59:[function(P,j){"use strict";const A=P("../../index"),z=P("./adjective");j.exports=class extends A{data(){return this.list.map((_)=>{return _.data()})}static find(_,C){return _=_.match("#Adjective"),"number"==typeof C&&(_=_.get(C)),_.list=_.list.map((V)=>{return new z(V.terms,V.lexicon,V.refText,V.refTerms)}),_}}},{"../../index":44,"./adjective":58}],60:[function(P,j){"use strict";const A=P("../../../../data"),z={};A.superlatives.forEach((N)=>{z[N]=!0}),A.verbConverts.forEach((N)=>{z[N]=!0}),j.exports=z},{"../../../../data":8}],61:[function(P,j){"use strict";j.exports={toNoun:P("./toNoun"),toSuperlative:P("./toSuperlative"),toComparative:P("./toComparative"),toAdverb:P("./toAdverb"),toVerb:P("./toVerb")}},{"./toAdverb":62,"./toComparative":63,"./toNoun":64,"./toSuperlative":65,"./toVerb":66}],62:[function(P,j){"use strict";j.exports=function(z){const N={idle:"idly","public":"publicly",vague:"vaguely",day:"daily",icy:"icily",single:"singly",female:"womanly",male:"manly",simple:"simply",whole:"wholly",special:"especially",straight:"straight",wrong:"wrong",fast:"fast",hard:"hard",late:"late",early:"early",well:"well",good:"well",little:"little",long:"long",low:"low",best:"best",latter:"latter",bad:"badly"},C=[{reg:/al$/i,repl:"ally"},{reg:/ly$/i,repl:"ly"},{reg:/(.{3})y$/i,repl:"$1ily"},{reg:/que$/i,repl:"quely"},{reg:/ue$/i,repl:"uly"},{reg:/ic$/i,repl:"ically"},{reg:/ble$/i,repl:"bly"},{reg:/l$/i,repl:"ly"}],V=[/airs$/,/ll$/,/ee.$/,/ile$/];if({foreign:1,black:1,modern:1,next:1,difficult:1,degenerate:1,young:1,awake:1,back:1,blue:1,brown:1,orange:1,complex:1,cool:1,dirty:1,done:1,empty:1,fat:1,fertile:1,frozen:1,gold:1,grey:1,gray:1,green:1,medium:1,parallel:1,outdoor:1,unknown:1,undersized:1,used:1,welcome:1,yellow:1,white:1,fixed:1,mixed:1,"super":1,guilty:1,tiny:1,able:1,unable:1,same:1,adult:1}[z])return null;if(N[z])return N[z];if(3>=z.length)return null;for(let E=0;E{return C[V]=!0,C},{});j.exports=(C)=>{return N[C]?z[C]?z[C]:C.match(/e$/)?C+"n":C+"en":C}},{"../../../../data":8}],67:[function(P,j){"use strict";const A=P("../../index"),z=P("./toAdjective");j.exports=class extends A{data(){return this.terms().list.map((_)=>{let C=_.terms[0];return{adjectiveForm:z(C.normal),normal:C.normal,text:C.text}})}static find(_,C){return _=_.match("#Adverb+"),"number"==typeof C&&(_=_.get(C)),_}}},{"../../index":44,"./toAdjective":68}],68:[function(P,j){"use strict";const A={idly:"idle",sporadically:"sporadic",basically:"basic",grammatically:"grammatical",alphabetically:"alphabetical",economically:"economical",conically:"conical",politically:"political",vertically:"vertical",practically:"practical",theoretically:"theoretical",critically:"critical",fantastically:"fantastic",mystically:"mystical",pornographically:"pornographic",fully:"full",jolly:"jolly",wholly:"whole"},z=[{reg:/bly$/i,repl:"ble"},{reg:/gically$/i,repl:"gical"},{reg:/([rsdh])ically$/i,repl:"$1ical"},{reg:/ically$/i,repl:"ic"},{reg:/uly$/i,repl:"ue"},{reg:/ily$/i,repl:"y"},{reg:/(.{3})ly$/i,repl:"$1"}];j.exports=function(_){if(A.hasOwnProperty(_))return A[_];for(let C=0;C{_.whitespace.after=N.whitespace.after,N.whitespace.after="",_.whitespace.before="",N.silent_term=N.text,_.silent_term=_.text,_.text="",N.tagAs("Contraction","new-contraction"),_.tagAs("Contraction","new-contraction")};j.exports=function(N){return!1===N.expanded||N.match("#Contraction").found?N:(N.match("(#Noun|#QuestionWord) is").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="'s",_.contracted=!0}),N.match("#PronNoun did").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="'d",_.contracted=!0}),N.match("#QuestionWord (did|do)").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="'d",_.contracted=!0}),N.match("#Noun (could|would)").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="'d",_.contracted=!0}),N.match("(they|we|you) are").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="'re",_.contracted=!0}),N.match("i am").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="'m",_.contracted=!0}),N.match("(#Noun|#QuestionWord) will").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="'ll",_.contracted=!0}),N.match("(they|we|you|i) have").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="'ve",_.contracted=!0}),N.match("(#Copula|#Modal|do) not").list.forEach((_)=>{A(_.terms[0],_.terms[1]),_.terms[0].text+="n't",_.contracted=!0}),N)}},{}],71:[function(P,j){"use strict";const A=P("../../paths").Terms,z=P("./contract"),N=function(C){return!1===C.contracted?C:(C.terms.forEach((V)=>{V.silent_term&&(!V.text&&(V.whitespace.before=" "),V._text=V.silent_term,V.normalize(),V.silent_term=null,V.unTag("Contraction","expanded"))}),C)};j.exports=class extends A{data(){let C=N(this.clone()),V=z(this.clone());return{text:this.out("text"),normal:this.out("normal"),expanded:{normal:C.out("normal"),text:C.out("text")},contracted:{normal:V.out("normal"),text:V.out("text")},isContracted:!!this.contracted}}expand(){return N(this)}contract(){return z(this)}}},{"../../paths":56,"./contract":70}],72:[function(P,j){"use strict";j.exports=(z)=>{let N=z.not("#Contraction"),_=N.match("(#Noun|#QuestionWord) (#Copula|did|do|have|had|could|would|will)");return _.concat(N.match("(they|we|you|i) have")),_.concat(N.match("i am")),_.concat(N.match("(#Copula|#Modal|do) not")),_.list.forEach((C)=>{C.expanded=!0}),_}},{}],73:[function(P,j){"use strict";const A=P("../../index"),z=P("./contraction"),N=P("./findPossible");j.exports=class extends A{data(){return this.list.map((C)=>C.data())}contract(){return this.list.forEach((C)=>C.contract()),this}expand(){return this.list.forEach((C)=>C.expand()),this}contracted(){return this.list=this.list.filter((C)=>{return C.contracted}),this}expanded(){return this.list=this.list.filter((C)=>{return!C.contracted}),this}static find(C,V){let E=C.match("#Contraction #Contraction #Contraction?");E.list=E.list.map((D)=>{let O=new z(D.terms,D.lexicon,D.refText,D.refTerms);return O.contracted=!0,O});let q=N(C);return q.list.forEach((D)=>{let O=new z(D.terms,D.lexicon,D.refText,D.refTerms);O.contracted=!1,E.list.push(O)}),E.sort("chronological"),"number"==typeof V&&(E=E.get(V)),E}}},{"../../index":44,"./contraction":71,"./findPossible":72}],74:[function(P,j){"use strict";const A=P("../../paths").Terms,z=P("./parsePunt"),N=P("./parseSection"),_=P("./parseRelative"),C=P("./parseDate");j.exports=class extends A{constructor(E,q,D,O){super(E,q,D,O),this.month=this.match("#Month")}data(){let E={punt:z(this),section:N(this),relative:_(this),date:C(this)};return E}}},{"../../paths":56,"./parseDate":78,"./parsePunt":79,"./parseRelative":80,"./parseSection":81}],75:[function(P,j){"use strict";const A=P("../../index"),z=P("./date"),N=P("./weekday"),_=P("./month");j.exports=class extends A{data(){return this.list.map((V)=>V.data())}toShortForm(){return this.match("#Month").terms().list.forEach((V)=>{let E=V.terms[0];_.toShortForm(E)}),this.match("#WeekDay").terms().list.forEach((V)=>{let E=V.terms[0];N.toShortForm(E)}),this}toLongForm(){return this.match("#Month").terms().list.forEach((V)=>{let E=V.terms[0];_.toLongForm(E)}),this.match("#WeekDay").terms().list.forEach((V)=>{let E=V.terms[0];N.toLongForm(E)}),this}static find(V,E){let q=V.match("#Date+");return"number"==typeof E&&(q=q.get(E)),q.list=q.list.map((D)=>{return new z(D.terms,D.lexicon,D.refText,D.refTerms)}),q}}},{"../../index":44,"./date":74,"./month":77,"./weekday":84}],76:[function(P,j,$){$.longMonths={january:0,february:1,march:2,april:3,may:4,june:5,july:6,august:7,september:8,october:9,november:10,december:11},$.shortMonths={jan:0,feb:1,febr:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,sept:8,oct:9,nov:10,dec:11}},{}],77:[function(P,j){"use strict";const A=P("./data"),z=A.shortMonths,N=A.longMonths;j.exports={index:function(_){if(_.tag.Month){if(N[_.normal]!==void 0)return N[_.normal];if(void 0!==z[_.normal])return z[_.normal]}return null},toShortForm:function(_){if(void 0!==_.tag.Month&&void 0!==N[_.normal]){let C=Object.keys(z);_.text=C[N[_.normal]]}return _.dirty=!0,_},toLongForm:function(_){if(void 0!==_.tag.Month&&void 0!==z[_.normal]){let C=Object.keys(N);_.text=C[z[_.normal]]}return _.dirty=!0,_}}},{"./data":76}],78:[function(P,j){"use strict";const A=P("./parseTime"),z=P("./weekday"),N=P("./month"),_=(E)=>{return E&&31>E&&0{return E&&1e3E};j.exports=(E)=>{let q={month:null,date:null,weekday:null,year:null,knownDate:null,timeOfDay:null},D=E.match("(#Holiday|today|tomorrow|yesterday)");if(D.found&&(q.knownDate=D.out("normal")),D=E.match("#Month"),D.found&&(q.month=N.index(D.list[0].terms[0])),D=E.match("#WeekDay"),D.found&&(q.weekday=z.index(D.list[0].terms[0])),D=E.match("#Time"),D.found&&(q.timeOfDay=A(E),E.not("#Time")),D=E.match("#Month #Value #Year"),D.found){let O=D.values().numbers();_(O[0])&&(q.date=O[0]);let S=parseInt(E.match("#Year").out("normal"),10);C(S)&&(q.year=S)}if(!D.found){if(D=E.match("#Month #Value"),D.found){let O=D.values().numbers(),S=O[0];_(S)&&(q.date=S)}if(D=E.match("#Month #Year"),D.found){let O=parseInt(E.match("#Year").out("normal"),10);C(O)&&(q.year=O)}}if(D=E.match("#Value of #Month"),D.found){let O=D.values().numbers()[0];_(O)&&(q.date=O)}return q}},{"./month":77,"./parseTime":82,"./weekday":84}],79:[function(P,j){"use strict";const A={year:!0,quarter:!0,month:!0,week:!0,weekend:!0,day:!0,hour:!0};j.exports=(N)=>{let _=null,C={},V=N.match("#Value #Duration (from|after|following)");return V.found?_="forward":(V=N.match("#Value #Duration (before)"),V.found&&(_="backward")),V.found&&N.match("#Value #Duration").list.forEach((E)=>{let q=E.match("*").values().data()[0]||{};if(q=q.number,q||0===q){let D=E.match("#Duration").nouns().toSingular().out("normal");A[D]&&(C[D]=q)}}),{direction:_,duration:C}}},{}],80:[function(P,j){"use strict";const A={this:"this",next:"next",last:"last",upcoming:"next"};j.exports=(N)=>{let _="("+Object.keys(A).join("|")+")",C=N.match(`${_}+`).lastTerm();if(C.found){let V=C.match(_).out("normal");return A[V]}return null}},{}],81:[function(P,j){"use strict";const A={start:"start",end:"end",middle:"middle",beginning:"start",ending:"end",midpoint:"middle",midst:"middle"};j.exports=(N)=>{let _="("+Object.keys(A).join("|")+")",C=N.match(`the? ${_} of`);if(C.found){let V=C.match(_).out("normal");return A[V]}return null}},{}],82:[function(P,j){"use strict";const A=(_)=>{return _&&0<_&&25>_},z=(_)=>{return _&&0<_&&60>_};j.exports=(_)=>{let C={logic:null,hour:null,minute:null,second:null,timezone:null},V=_.match("(by|before|for|during|at|until|after) #Time").firstTerm();V.found&&(C.logic=V.out("normal"));let E=_.match("#Time");return E.terms().list.forEach((q)=>{let D=q.terms[0],O=D.text.match(/([12]?[0-9]) ?(am|pm)/i);O&&(C.hour=parseInt(O[1],10),"pm"===O[2]&&(C.hour+=12),!A(C.hour)&&(C.hour=null)),O=D.text.match(/([12]?[0-9]):([0-9][0-9]) ?(am|pm)?/i),O&&(C.hour=parseInt(O[1],10),C.minute=parseInt(O[2],10),!z(C.minute)&&(C.minute=null),"pm"===O[3]&&(C.hour+=12),!A(C.hour)&&(C.hour=null))}),C}},{}],83:[function(P,j,$){$.longDays={sunday:0,monday:1,tuesday:2,wednesday:3,thursday:4,friday:5,saturday:6},$.shortDays={sun:0,mon:1,tues:2,wed:3,thurs:4,fri:5,sat:6}},{}],84:[function(P,j){"use strict";const A=P("./data"),z=A.shortDays,N=A.longDays;j.exports={index:function(_){if(_.tag.WeekDay){if(N[_.normal]!==void 0)return N[_.normal];if(void 0!==z[_.normal])return z[_.normal]}return null},toShortForm:function(_){if(_.tag.WeekDay&&void 0!==N[_.normal]){let C=Object.keys(z);_.text=C[N[_.normal]]}return _},toLongForm:function(_){if(_.tag.WeekDay&&void 0!==z[_.normal]){let C=Object.keys(N);_.text=C[z[_.normal]]}return _}}},{"./data":83}],85:[function(P,j){"use strict";const A=P("../../index");j.exports=class extends A{data(){return this.terms().list.map((N)=>{let _=N.terms[0];return{text:_.text}})}static find(N,_){return N=N.match("#HashTag"),"number"==typeof _&&(N=N.get(_)),N}}},{"../../index":44}],86:[function(P,j){"use strict";const A=P("./index"),z=P("./getGrams");class N extends A{static find(_,C,V){let E={size:[1,2,3,4],edge:"end"};V&&(E.size=[V]);let q=z(_,E);return _=new N(q),_.sort(),"number"==typeof C&&(_=_.get(C)),_}}j.exports=N},{"./getGrams":87,"./index":89}],87:[function(P,j){"use strict";const A=P("./gram"),z=function(V,E){let q=V.terms;if(q.length{V.list.forEach((S)=>{let M=[];M="start"===E.edge?N(S,O):"end"===E.edge?_(S,O):z(S,O),M.forEach((F)=>{q[F.key]?q[F.key].inc():q[F.key]=F})})});let D=Object.keys(q).map((O)=>q[O]);return D}},{"./gram":88}],88:[function(P,j){"use strict";const A=P("../../paths").Terms;j.exports=class extends A{constructor(N,_,C,V){super(N,_,C,V),this.key=this.out("normal"),this.size=N.length,this.count=1}inc(){this.count+=1}}},{"../../paths":56}],89:[function(P,j){"use strict";const A=P("../../index"),z=P("./getGrams");class N extends A{data(){return this.list.map((_)=>{return{normal:_.out("normal"),count:_.count,size:_.size}})}unigrams(){return this.list=this.list.filter((_)=>1===_.size),this}bigrams(){return this.list=this.list.filter((_)=>2===_.size),this}trigrams(){return this.list=this.list.filter((_)=>3===_.size),this}sort(){return this.list=this.list.sort((_,C)=>{return _.count>C.count?-1:_.count===C.count&&(_.size>C.size||_.key.length>C.key.length)?-1:1}),this}static find(_,C,V){let E={size:[1,2,3,4]};V&&(E.size=[V]);let q=z(_,E);return _=new N(q),_.sort(),"number"==typeof C&&(_=_.get(C)),_}}j.exports=N},{"../../index":44,"./getGrams":87}],90:[function(P,j){"use strict";const A=P("./index"),z=P("./getGrams");class N extends A{static find(_,C,V){let E={size:[1,2,3,4],edge:"start"};V&&(E.size=[V]);let q=z(_,E);return _=new N(q),_.sort(),"number"==typeof C&&(_=_.get(C)),_}}j.exports=N},{"./getGrams":87,"./index":89}],91:[function(P,j){"use strict";const A=P("../../../data").uncountables;j.exports=function(N){if(!N.tag.Noun)return!1;if(N.tag.Plural)return!0;const _=["Pronoun","Place","Value","Person","Month","WeekDay","RelativeDay","Holiday"];for(let C=0;C<_.length;C++)if(N.tag[_[C]])return!1;for(let C=0;C_.isPlural())}hasPlural(){return this.list.map((_)=>_.hasPlural())}toPlural(){return this.list.forEach((_)=>_.toPlural()),this}toSingular(){return this.list.forEach((_)=>_.toSingular()),this}data(){return this.list.map((_)=>_.data())}static find(_,C){return _=_.clauses(),_=_.match("#Noun+"),_=_.not("#Pronoun"),_=_.not("(#Month|#WeekDay)"),"number"==typeof C&&(_=_.get(C)),_.list=_.list.map((V)=>{return new z(V.terms,V.lexicon,V.refText,V.refTerms)}),_}}},{"../../index":44,"./noun":100}],93:[function(P,j){"use strict";const A=P("../../../data").irregular_plurals,z=P("./methods/data/indicators"),N={i:!1,he:!1,she:!1,we:!0,they:!0},_=["Place","Value","Person","Month","WeekDay","RelativeDay","Holiday"],C=(E)=>{for(let q=0;q<_.length;q++)if(E.tag[_[q]])return!1;return!0};j.exports=function(E){let q=E.normal;if(void 0!==N[q])return N[q];if(!C(E))return!1;const D=q.match(/([a-z]*) (of|in|by|for) [a-z]/);if(D&&D[1]&&(q=D[1]),A.toSingle[q])return!0;if(A.toPlural[q])return!1;for(let O=0;O{return{text:N.out("text"),normal:N.out("normal")}})}static find(N,_){return N=N.splitAfter("#Comma"),N=N.match("#Organization+"),"number"==typeof _&&(N=N.get(_)),N}}},{"../../index":44}],102:[function(P,j){"use strict";const A=P("../../paths").log;j.exports=function(N){return N?N.match(/.(i|ee|[a|e]y|a)$/i)?(A.tell("Female-name suffix"),"Female"):N.match(/[ou]$/i)?(A.tell("Male-name suffix"),"Male"):N.match(/(nn|ll|tt)/i)?(A.tell("Female-name consonant-doubling"),"Female"):null:null}},{"../../paths":56}],103:[function(P,j){"use strict";const A=P("../../index"),z=P("./person");j.exports=class extends A{data(){return this.list.map((_)=>_.data())}pronoun(){return this.list.map((_)=>_.pronoun())}static find(_,C){let V=_.clauses();return V=V.match("#Person+"),"number"==typeof C&&(V=V.get(C)),V.list=V.list.map((E)=>{return new z(E.terms,E.lexicon,E.refText,E.refTerms)}),V}}},{"../../index":44,"./person":104}],104:[function(P,j){"use strict";const A=P("../../paths").Terms,z=P("./guessGender"),N=P("../../paths").log;j.exports=class extends A{data(){return{text:this.out("text"),normal:this.out("normal"),firstName:this.firstName.out("normal"),middleName:this.middleName.out("normal"),lastName:this.lastName.out("normal"),genderGuess:this.guessGender(),pronoun:this.pronoun(),honorifics:this.honorifics.out("array")}}constructor(C,V,E,q){if(super(C,V,E,q),this.firstName=this.match("#FirstName+"),this.middleName=this.match("#Acronym+"),this.honorifics=this.match("#Honorific"),this.lastName=this.match("#LastName+"),!this.firstName.found&&1{let _=N.terms[0];return{text:_.text}})}static find(N){return N=N.splitAfter("#Comma"),N=N.match("#PhoneNumber+"),"number"==typeof n&&(N=N.get(n)),N}}},{"../../index":44}],106:[function(P,j){"use strict";const A=P("../../index"),z=P("./place");j.exports=class extends A{data(){return this.list.map((_)=>{return{text:_.out("text"),normal:_.out("normal")}})}static find(_,C){return _=_.splitAfter("#Comma"),_=_.match("#Place+"),"number"==typeof C&&(_=_.get(C)),_.list=_.list.map((V)=>{return new z(V.terms,V.lexicon,V.refText,V.refTerms)}),_}}},{"../../index":44,"./place":107}],107:[function(P,j){"use strict";const A=P("../../paths").Terms;class z extends A{constructor(N,_,C,V){super(N,_,C,V),this.city=this.match("#City"),this.country=this.match("#Country")}get isA(){return"Place"}root(){return this.city.out("root")}}j.exports=z},{"../../paths":56}],108:[function(P,j){"use strict";const A=P("../../index");j.exports=class extends A{data(){return this.list.map((N)=>{return{text:N.out(),normal:N.out("normal")}})}static find(N,_){return N=N.match("#Quotation+"),"number"==typeof _&&(N=N.get(_)),N}}},{"../../index":44}],109:[function(P,j){"use strict";const A=P("../../index"),z=P("./sentence");j.exports=class extends A{constructor(_,C,V){super(_,C,V)}data(){return this.list.map((_)=>{return _.data()})}toPastTense(){return this.list=this.list.map((_)=>{return _=_.toPastTense(),new z(_.terms,_.lexicon,_.refText,_.refTerms)}),this}toPresentTense(){return this.list=this.list.map((_)=>{return _=_.toPresentTense(),new z(_.terms,_.lexicon,_.refText,_.refTerms)}),this}toFutureTense(){return this.list=this.list.map((_)=>{return _=_.toFutureTense(),new z(_.terms,_.lexicon,_.refText,_.refTerms)}),this}toNegative(){return this.list=this.list.map((_)=>{return _=_.toNegative(),new z(_.terms,_.lexicon,_.refText,_.refTerms)}),this}toPositive(){return this.list=this.list.map((_)=>{return _=_.toPositive(),new z(_.terms,_.lexicon,_.refText,_.refTerms)}),this}isPassive(){return this.list=this.list.filter((_)=>{return _.isPassive()}),this}prepend(_){return this.list=this.list.map((C)=>{return C.prepend(_)}),this}append(_){return this.list=this.list.map((C)=>{return C.append(_)}),this}toExclamation(){return this.list.forEach((_)=>{_.setPunctuation("!")}),this}toQuestion(){return this.list.forEach((_)=>{_.setPunctuation("?")}),this}toStatement(){return this.list.forEach((_)=>{_.setPunctuation(".")}),this}static find(_,C){return _=_.all(),"number"==typeof C&&(_=_.get(C)),_.list=_.list.map((V)=>{return new z(V.terms,V.lexicon,V.refText,V.refTerms)}),_}}},{"../../index":44,"./sentence":111}],110:[function(P,j){"use strict";const A=P("../index");j.exports=class extends A{static find(N,_){N=N.all(),"number"==typeof _&&(N=N.get(_));let C=N.list.filter((V)=>{return"?"===V.last().endPunctuation()});return new A(C,this.lexicon,this.parent)}}},{"../index":109}],111:[function(P,j){"use strict";const A=P("../../paths").Terms,z=P("./toNegative"),N=P("./toPositive"),_=P("../verbs/verb"),C=P("./smartInsert");j.exports=class extends A{constructor(E,q,D,O){super(E,q,D,O)}data(){return{text:this.out("text"),normal:this.out("normal")}}toSingular(){let E=this.match("#Noun").match("!#Pronoun").firstTerm();return E.things().toSingular(),this}toPlural(){let E=this.match("#Noun").match("!#Pronoun").firstTerm();return E.things().toPlural(),this}mainVerb(){let E=this.match("(#Adverb|#Auxillary|#Verb|#Negative|#Particle)+").if("#Verb");return E.found?(E=E.list[0].terms,new _(E,this.lexicon,this.refText,this.refTerms)):null}toPastTense(){let E=this.mainVerb();if(E){let q=E.out("normal");E.toPastTense();let D=E.out("normal"),O=this.parentTerms.replace(q,D);return O}return this}toPresentTense(){let E=this.mainVerb();if(E){let q=E.out("normal");E.toPresentTense();let D=E.out("normal");return this.parentTerms.replace(q,D)}return this}toFutureTense(){let E=this.mainVerb();if(E){let q=E.out("normal");E.toFutureTense();let D=E.out("normal");return this.parentTerms.replace(q,D)}return this}isNegative(){return 1===this.match("#Negative").list.length}toNegative(){return this.isNegative()?this:z(this)}toPositive(){return this.isNegative()?N(this):this}append(E){return C.append(this,E)}prepend(E){return C.prepend(this,E)}setPunctuation(E){let q=this.terms[this.terms.length-1];q.setPunctuation(E)}getPunctuation(){let E=this.terms[this.terms.length-1];return E.getPunctuation()}isPassive(){return this.match("was #Adverb? #PastTense #Adverb? by").found}}},{"../../paths":56,"../verbs/verb":152,"./smartInsert":112,"./toNegative":114,"./toPositive":115}],112:[function(P,j){"use strict";j.exports={append:(N,_)=>{let C=N.terms[N.terms.length-1],V=C.endPunctuation();V&&C.killPunctuation(),N.insertAt(N.terms.length,_);let E=N.terms[N.terms.length-1];return V&&(E.text+=V),C.whitespace.after&&(E.whitespace.after=C.whitespace.after,C.whitespace.after=""),N},prepend:(N,_)=>{let C=N.terms[0];if(N.insertAt(0,_),C.text.match(/^[A-Z]/)){!1===C.needsTitleCase()&&C.toLowerCase();let V=N.terms[0];V.toTitleCase()}return N}}},{}],113:[function(P,j){"use strict";const A=P("../index");j.exports=class extends A{static find(N,_){N=N.all(),"number"==typeof _&&(N=N.get(_));let C=N.list.filter((V)=>{return"?"!==V.last().endPunctuation()});return new A(C,this.lexicon,this.parent)}}},{"../index":109}],114:[function(P,j){"use strict";const A={everyone:"no one",everybody:"nobody",someone:"no one",somebody:"nobody",always:"never"};j.exports=(N)=>{let _=N.match("(everyone|everybody|someone|somebody|always)").first();if(_.found&&A[_.out("normal")]){let V=_.out("normal");return N=N.match(V).replaceWith(A[V]).list[0],N.parentTerms}let C=N.mainVerb();return C&&C.toNegative(),N}},{}],115:[function(P,j){"use strict";const A={never:"always",nothing:"everything"};j.exports=(N)=>{let _=N.match("(never|nothing)").first();if(_.found){let C=_.out("normal");if(A[C])return N=N.match(C).replaceWith(A[C]).list[0],N.parentTerms}return N.delete("#Negative"),N}},{}],116:[function(P,j){"use strict";const A=P("../../index"),z=P("./term");j.exports=class extends A{data(){return this.list.map((_)=>{return _.data()})}static find(_,C){return _=_.match("."),"number"==typeof C&&(_=_.get(C)),_.list=_.list.map((V)=>{return new z(V.terms,V.lexicon,V.refText,V.refTerms)}),_}}},{"../../index":44,"./term":117}],117:[function(P,j){"use strict";const A=P("../../paths").Terms,z=P("../../paths").tags,N={Auxillary:!0};j.exports=class extends A{constructor(C,V,E,q){super(C,V,E,q),this.t=this.terms[0]}bestTag(){let C=Object.keys(this.t.tag);return C=C.sort(),C=C.sort((V,E)=>{return!N[E]&&z[V]&&z[E]?z[V].parents.length>z[E].parents.length?-1:1:-1}),C[0]}data(){let C=this.t;return{spaceBefore:C.whitespace.before,text:C.text,spaceAfter:C.whitespace.after,normal:C.normal,implicit:C.silent_term,bestTag:this.bestTag(),tags:Object.keys(C.tag)}}}},{"../../paths":56}],118:[function(P,j){"use strict";const A=P("../../index");j.exports=class extends A{data(){return this.list.map((N)=>{return N.data()})}static find(N,_){N=N.clauses();let C=N.people();return C.concat(N.places()),C.concat(N.organizations()),C.sort("chronological"),"number"==typeof _&&(C=C.get(_)),C}}},{"../../index":44}],119:[function(P,j){"use strict";const A=P("../../index");j.exports=class extends A{data(){return this.terms().list.map((N)=>{let _=N.terms[0];return{text:_.text}})}static find(N,_){return N=N.match("#Url"),"number"==typeof _&&(N=N.get(_)),N}}},{"../../index":44}],120:[function(P,j){"use strict";const A=P("../../index"),z=P("./value");class N extends A{data(){return this.list.map((_)=>{return _.data()})}noDates(){return this.not("#Date")}numbers(){return this.list.map((_)=>{return _.number()})}toNumber(){return this.list=this.list.map((_)=>{return _.toNumber()}),this}toTextValue(){return this.list=this.list.map((_)=>{return _.toTextValue()}),this}toCardinal(){return this.list=this.list.map((_)=>{return _.toCardinal()}),this}toOrdinal(){return this.list=this.list.map((_)=>{return _.toOrdinal()}),this}toNiceNumber(){return this.list=this.list.map((_)=>{return _.toNiceNumber()}),this}static find(_,C){return _=_.match("#Value+"),_.splitOn("#Year"),"number"==typeof C&&(_=_.get(C)),_.list=_.list.map((V)=>{return new z(V.terms,V.lexicon,V.refText,V.refTerms)}),_}}N.prototype.clone=function(){let _=this.list.map((C)=>{return C.clone()});return new N(_,this.lexicon)},j.exports=N},{"../../index":44,"./value":132}],121:[function(P,j){"use strict";const A=P("../toNumber");j.exports=function(N){let _=A(N);if(!_&&0!==_)return null;let C=_%100;if(10C)return""+_+"th";const V={0:"th",1:"st",2:"nd",3:"rd"};let E=""+_,q=E.slice(E.length-1,E.length);return E+=V[q]?V[q]:"th",E}},{"../toNumber":127}],122:[function(P,j){j.exports=P("../../paths")},{"../../paths":56}],123:[function(P,j){"use strict";const A=P("../toNumber"),z=P("../toText"),N=P("../../../paths").data.ordinalMap.toOrdinal;j.exports=(C)=>{let V=A(C),E=z(V),q=E[E.length-1];return E[E.length-1]=N[q]||q,E.join(" ")}},{"../../../paths":56,"../toNumber":127,"../toText":131}],124:[function(P,j){"use strict";j.exports=function(z){if(!z&&0!==z)return null;z=""+z;let N=z.split("."),_=N[0],C=1{const N=[{reg:/^(minus|negative)[\s\-]/i,mult:-1},{reg:/^(a\s)?half[\s\-](of\s)?/i,mult:0.5}];for(let _=0;_{return Object.keys(M).reduce((F,W)=>{return F+=M[W],F},0)},O=(M)=>{for(let F=0;F{return z=z.replace(/1st$/,"1"),z=z.replace(/2nd$/,"2"),z=z.replace(/3rd$/,"3"),z=z.replace(/([4567890])r?th$/,"$1"),z=z.replace(/^[$€¥£¢]/,""),z=z.replace(/[%$€¥£¢]$/,""),z=z.replace(/,/g,""),z=z.replace(/([0-9])([a-z]{1,2})$/,"$1"),parseFloat(z)}},{}],130:[function(P,j){"use strict";const A=P("./data");j.exports=(N,_)=>{if(A.ones[N]){if(_.ones||_.teens)return!1;}else if(A.teens[N]){if(_.ones||_.teens||_.tens)return!1;}else if(A.tens[N]&&(_.ones||_.teens||_.tens))return!1;return!0}},{"./data":125}],131:[function(P,j){"use strict";const A=function(C){let V=C,E=[];return[[1000000000,"million"],[100000000,"hundred million"],[1000000,"million"],[100000,"hundred thousand"],[1000,"thousand"],[100,"hundred"],[1,"one"]].forEach((D)=>{if(C>D[0]){let O=Math.floor(V/D[0]);V-=O*D[0],O&&E.push({unit:D[1],count:O})}}),E},z=function(C){const V=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],E=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"];let q=[];for(let D=0;D=V[D][1]&&(C-=V[D][1],q.push(V[D][0]));return E[C]&&q.push(E[C]),q},N=(C)=>{const V=["zero","one","two","three","four","five","six","seven","eight","nine"];let E=[],q=(""+C).match(/\.([0-9]+)/);if(!q||!q[0])return E;E.push("point");let D=q[0].split("");for(let O=0;OC&&(V.push("negative"),C=Math.abs(C));let E=A(C);for(let q=0,D;qq),0===V.length&&(V[0]="zero"),V}},{}],132:[function(P,j){"use strict";const A=P("../../paths"),z=A.Terms,N=P("./toNumber"),_=P("./toText"),C=P("./toNiceNumber"),V=P("./numOrdinal"),E=P("./textOrdinal"),q=(M)=>{let F=M.terms[M.terms.length-1];return!!F&&!0===F.tag.Ordinal},D=(M)=>{for(let F=0;F{for(let F=0,W;F{return F.clone()});return new S(M,this.lexicon,this.refText,this.refTerms)},j.exports=S},{"../../paths":56,"./numOrdinal":121,"./textOrdinal":123,"./toNiceNumber":124,"./toNumber":127,"./toText":131}],133:[function(P,j){"use strict";const A=P("../../index"),z=P("./verb");j.exports=class extends A{constructor(_,C,V){super(_,C,V)}data(){return this.list.map((_)=>{return _.data()})}conjugation(_){return this.list.map((C)=>{return C.conjugation(_)})}conjugate(_){return this.list.map((C)=>{return C.conjugate(_)})}isPlural(){return this.list=this.list.filter((_)=>{return _.isPlural()}),this}isSingular(){return this.list=this.list.filter((_)=>{return!_.isPlural()}),this}isNegative(){return this.list=this.list.filter((_)=>{return _.isNegative()}),this}isPositive(){return this.list=this.list.filter((_)=>{return!_.isNegative()}),this}toNegative(){return this.list=this.list.map((_)=>{return _.toNegative()}),this}toPositive(){return this.list.forEach((_)=>{_.toPositive()}),this}toPastTense(){return this.list.forEach((_)=>{_.toPastTense()}),this}toPresentTense(){return this.list.forEach((_)=>{_.toPresentTense()}),this}toFutureTense(){return this.list.forEach((_)=>{_.toFutureTense()}),this}toInfinitive(){return this.list.forEach((_)=>{_.toInfinitive()}),this}asAdjective(){return this.list.map((_)=>_.asAdjective())}static find(_,C){return _=_.match("(#Adverb|#Auxillary|#Verb|#Negative|#Particle)+").if("#Verb"),_=_.splitAfter("#Comma"),"number"==typeof C&&(_=_.get(C)),_.list=_.list.map((V)=>{return new z(V.terms,V.lexicon,V.refText,V.refTerms)}),new A(_.list,this.lexicon,this.parent)}}},{"../../index":44,"./verb":152}],134:[function(P,j){"use strict";const A=P("./methods/predict"),z=function(D){return D.match("#Gerund").found},N=function(D){let O=D.match("#Negative").list;return 2!==O.length&&!(1!==O.length)},_=function(D){return!!D.match("is being #PastTense").found||!!D.match("(had|has) been #PastTense").found||!!D.match("will have been #PastTense").found},C=function(D){return!!D.match("^(had|have) #PastTense")},V=function(D){let O=D.match("#Modal");return O.found?O.out("normal"):null},E=function(D){if(D.auxillary.found){if(D.match("will have #PastTense").found)return"Past";if(D.auxillary.match("will").found)return"Future";if(D.auxillary.match("was").found)return"Past"}if(D.verb){let S=A(D.verb);return{PastTense:"Past",FutureTense:"Future",FuturePerfect:"Future"}[S]||"Present"}return"Present"};j.exports=(D)=>{let O=N(D),S={negative:O,continuous:z(D),passive:_(D),perfect:C(D),modal:V(D),tense:E(D)};return S}},{"./methods/predict":146}],135:[function(P,j){"use strict";const A=P("./irregulars"),z=P("./suffixes"),N=P("./toActor"),_=P("./toAdjective"),C=P("./generic"),V=P("../predict"),E=P("../toInfinitive"),q=P("./toBe");j.exports=function(O,S){if("is"===O.normal||"was"===O.normal||"will"===O.normal)return q();O.tag.Contraction&&(O.text=O.silent_term);let M={PastTense:null,PresentTense:null,Infinitive:null,Gerund:null,Actor:null},F=V(O);F&&(M[F]=O.normal),"Infinitive"!==F&&(M.Infinitive=E(O,S)||"");const W=A(M.Infinitive)||{};Object.keys(W).forEach((L)=>{W[L]&&!M[L]&&(M[L]=W[L])});let G=M.Infinitive||O.normal;const I=z(G);return Object.keys(I).forEach((L)=>{I[L]&&!M[L]&&(M[L]=I[L])}),M.Actor||(M.Actor=N(G)),M.Adjective=_(M.Infinitive),Object.keys(M).forEach((L)=>{!M[L]&&C[L]&&(M[L]=C[L](M))}),M}},{"../predict":146,"../toInfinitive":149,"./generic":138,"./irregulars":140,"./suffixes":141,"./toActor":142,"./toAdjective":143,"./toBe":144}],136:[function(P,j){j.exports=[{reg:/(eave)$/i,repl:{pr:"$1s",pa:"$1d",gr:"eaving",ar:"$1r"}},{reg:/(ink)$/i,repl:{pr:"$1s",pa:"unk",gr:"$1ing",ar:"$1er"}},{reg:/(end)$/i,repl:{pr:"$1s",pa:"ent",gr:"$1ing",ar:"$1er"}},{reg:/(ide)$/i,repl:{pr:"$1s",pa:"ode",gr:"iding",ar:"ider"}},{reg:/(ake)$/i,repl:{pr:"$1s",pa:"ook",gr:"aking",ar:"$1r"}},{reg:/(eed)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing",ar:"$1er"}},{reg:/(e)(ep)$/i,repl:{pr:"$1$2s",pa:"$1pt",gr:"$1$2ing",ar:"$1$2er"}},{reg:/(a[tg]|i[zn]|ur|nc|gl|is)e$/i,repl:{pr:"$1es",pa:"$1ed",gr:"$1ing",prt:"$1en"}},{reg:/([i|f|rr])y$/i,repl:{pr:"$1ies",pa:"$1ied",gr:"$1ying"}},{reg:/([td]er)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing"}},{reg:/([bd]l)e$/i,repl:{pr:"$1es",pa:"$1ed",gr:"$1ing"}},{reg:/(ish|tch|ess)$/i,repl:{pr:"$1es",pa:"$1ed",gr:"$1ing"}},{reg:/(ion|end|e[nc]t)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing"}},{reg:/(om)e$/i,repl:{pr:"$1es",pa:"ame",gr:"$1ing"}},{reg:/([aeiu])([pt])$/i,repl:{pr:"$1$2s",pa:"$1$2",gr:"$1$2$2ing"}},{reg:/(er)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing"}},{reg:/(en)$/i,repl:{pr:"$1s",pa:"$1ed",gr:"$1ing"}},{reg:/(..)(ow)$/i,repl:{pr:"$1$2s",pa:"$1ew",gr:"$1$2ing",prt:"$1$2n"}},{reg:/(..)([cs]h)$/i,repl:{pr:"$1$2es",pa:"$1$2ed",gr:"$1$2ing"}},{reg:/([^aeiou][ou])(g|d)$/i,repl:{pr:"$1$2s",pa:"$1$2$2ed",gr:"$1$2$2ing"}},{reg:/([^aeiou][aeiou])(b|t|p|m)$/i,repl:{pr:"$1$2s",pa:"$1$2$2ed",gr:"$1$2$2ing"}},{reg:/([aeiou]zz)$/i,repl:{pr:"$1es",pa:"$1ed",gr:"$1ing"}}]},{}],137:[function(P,j){"use strict";const A=P("./irregulars"),z=P("./suffixes"),N=P("./generic"),_=["Gerund","PastTense","PresentTense"];j.exports=(V)=>{let E={Infinitive:V};const q=A(E.Infinitive);null!==q&&Object.keys(q).forEach((O)=>{q[O]&&!E[O]&&(E[O]=q[O])});const D=z(V);Object.keys(D).forEach((O)=>{D[O]&&!E[O]&&(E[O]=D[O])});for(let O=0;O<_.length;O++)E[_[O]]||(E[_[O]]=N[_[O]](E));return E}},{"./generic":138,"./irregulars":140,"./suffixes":141}],138:[function(P,j){"use strict";const A=P("../../../../../fns");j.exports={Gerund:(N)=>{let _=N.Infinitive;return A.endsWith(_,"e")?_.replace(/e$/,"ing"):_+"ing"},PresentTense:(N)=>{let _=N.Infinitive;return A.endsWith(_,"s")?_+"es":_.match(/[bcdfghjklmnpqrstvwxz]y$/)?_.slice(0,-1)+"ies":_+"s"},PastTense:(N)=>{let _=N.Infinitive;return A.endsWith(_,"e")?_+"d":A.endsWith(_,"ed")?_:_.match(/[bcdfghjklmnpqrstvwxz]y$/)?_.slice(0,-1)+"ied":_+"ed"}}},{"../../../../../fns":40}],139:[function(P,j){"use strict";const A=P("./conjugate"),z=P("./toBe");j.exports=(_,C)=>{let V=_.negative.found;if(_.verb.tag.Copula||"be"===_.verb.normal&&_.auxillary.match("will").found)return z(!1,V);let q=A(_.verb,C);return _.particle.found&&Object.keys(q).forEach((D)=>{q[D]+=_.particle.out()}),_.adverbs.found&&Object.keys(q).forEach((D)=>{q[D]+=_.adverbs.out()}),V&&(q.PastTense="did not "+q.Infinitive,q.PresentTense="does not "+q.Infinitive),q.FutureTense||(V?q.FutureTense="will not "+q.Infinitive:q.FutureTense="will "+q.Infinitive),q}},{"./conjugate":135,"./toBe":144}],140:[function(P,j){"use strict";const A=P("../../../../../data").irregular_verbs,z=Object.keys(A),N=["Participle","Gerund","PastTense","PresentTense","FuturePerfect","PerfectTense","Actor"];j.exports=function(C){if(void 0!==A[C]){let V=Object.assign({},A[C]);return V.Infinitive=C,V}for(let V=0;V{let _={PastTense:"was",PresentTense:"is",FutureTense:"will be",Infinitive:"is",Gerund:"being",Actor:"",PerfectTense:"been",Pluperfect:"been"};return z&&(_.PastTense="were",_.PresentTense="are",_.Infinitive="are"),N&&(_.PastTense+=" not",_.PresentTense+=" not",_.FutureTense="will not be",_.Infinitive+=" not",_.PerfectTense="not "+_.PerfectTense,_.Pluperfect="not "+_.Pluperfect),_}},{}],145:[function(P,j){"use strict";j.exports=(z)=>{if(z.match("(are|were|does)").found)return!0;if(z.match("(is|am|do|was)").found)return!1;let N=z.getNoun();if(N&&N.found){if(N.match("#Plural").found)return!0;if(N.match("#Singular").found)return!1}return null}},{}],146:[function(P,j){"use strict";const A=P("../../../../../fns"),z=P("./suffix_rules"),N={Infinitive:!0,Gerund:!0,PastTense:!0,PresentTense:!0,FutureTense:!0,PerfectTense:!0,Pluperfect:!0,FuturePerfect:!0,Participle:!0};j.exports=function(C,V){let E=Object.keys(N);for(let D=0;D{return Object.keys(z).reduce((V,E)=>{return Object.keys(z[E]).forEach((q)=>{V[z[E][q]]=E}),V},{})})();j.exports=function(V){if(V.tag.Infinitive)return V.normal;if(z[V.normal])return z[V.normal];let E=N(V);if(A[E])for(let q=0,D;q{let _=N.match("#Auxillary").first();if(_.found){let S=_.list[0].index();return N.parentTerms.insertAt(S+1,"not","Verb")}let C=N.match("(#Copula|will|has|had|do)").first();if(C.found){let S=C.list[0].index();return N.parentTerms.insertAt(S+1,"not","Verb")}let V=N.isPlural(),E=N.match("#PastTense").last();if(E.found){let S=E.list[0],M=S.index();return S.terms[0].text=A(S.terms[0]),V?N.parentTerms.insertAt(M,"do not","Verb"):N.parentTerms.insertAt(M,"did not","Verb")}let q=N.match("#PresentTense").first();if(q.found){let S=q.list[0],M=S.index();S.terms[0].text=A(S.terms[0]);let F=N.getNoun();return F.match("(i|we|they|you)").found?N.parentTerms.insertAt(M,"do not","Verb"):N.parentTerms.insertAt(M,"does not","Verb")}let D=N.match("#Gerund").last();if(D.found){let S=D.list[0].index();return N.parentTerms.insertAt(S,"not","Verb")}let O=N.match("#Verb").last();if(O.found){O=O.list[0];let S=O.index();return O.terms[0].text=A(O.terms[0]),V?N.parentTerms.insertAt(S,"does not","Verb"):N.parentTerms.insertAt(S,"did not","Verb")}return N}},{"./methods/toInfinitive":149}],152:[function(P,j){"use strict";const A=P("../../paths").Terms,z=P("./methods/conjugate"),N=P("./methods/toAdjective"),_=P("./interpret"),C=P("./toNegative"),V=P("./methods/isPlural");j.exports=class extends A{constructor(q,D,O,S){super(q,D,O,S),this.parse()}parse(){this.negative=this.match("#Negative"),this.adverbs=this.match("#Adverb");let q=this.clone().not("(#Adverb|#Negative)");this.verb=q.match("#Verb").not("#Particle").last(),this.particle=q.match("#Particle").last(),this.verb.found&&(this.verb=this.verb.list[0].terms[0]),this.auxillary=q.match("#Auxillary+")}data(q){return{text:this.out("text"),normal:this.out("normal"),parts:{negative:this.negative.out("normal"),auxillary:this.auxillary.out("normal"),verb:this.verb.out("normal"),adverbs:this.adverbs.out("normal")},interpret:_(this,q),conjugations:this.conjugate()}}getNoun(){if(!this.refTerms)return null;let q="#Adjective? #Noun+ "+this.out("normal");return this.refTerms.match(q).match("#Noun+")}conjugation(){return _(this,!1).tense}conjugate(q){return z(this,q)}isPlural(){return V(this)}isNegative(){return 1===this.match("#Negative").list.length}isPerfect(){return this.auxillary.match("(have|had)").found}toNegative(){return this.isNegative()?this:C(this)}toPositive(){return this.match("#Negative").delete()}toPastTense(){let q=this.conjugate();return this.replaceWith(q.PastTense)}toPresentTense(){let q=this.conjugate();return this.replaceWith(q.PresentTense)}toFutureTense(){let q=this.conjugate();return this.replaceWith(q.FutureTense)}toInfinitive(){let q=this.conjugate();return this.terms[this.terms.length-1].text=q.Infinitive,this}asAdjective(){return N(this.verb.out("normal"))}}},{"../../paths":56,"./interpret":134,"./methods/conjugate":139,"./methods/isPlural":145,"./methods/toAdjective":148,"./toNegative":151}],153:[function(P,j){"use strict";const A=P("./paths").fns,z=P("../data/index"),N=Object.keys(z.abbreviations),_=function(V){let E=V.split(/(\n+)/);return E=E.map(function(q){return q.split(/(\S.+?[.!?])(?=\s+|$)/g)}),A.flatten(E)};j.exports=function(V){let E=[];V=A.ensureString(V);let q=[];if(!V||"string"!=typeof V||!V.match(/\S/))return E;let D=_(V);for(let F=0,W;F{return A[N].forEach((_)=>{z[_]=N}),z},{})},{}],155:[function(P,j){"use strict";const A=[["Noun","Verb","Adjective","Adverb","Determiner","Conjunction","Preposition","QuestionWord","Expression","Url","PhoneNumber","Email","Emoji"],["Person","Organization","Value","Place","Actor","Demonym","Pronoun"],["Plural","Singular"],["Plural","Person"],["Plural","Organization"],["Plural","Currency"],["Plural","Ordinal"],["MaleName","FemaleName"],["FirstName","LastName","Honorific"],["Comparative","Superlative"],["Value","Verb","Adjective"],["Ordinal","Cardinal"],["TextValue","NumericValue"],["NiceNumber","TextValue"],["Ordinal","Currency"],["PastTense","PerfectTense","Pluperfect","FuturePerfect","Copula","Modal","Participle","Infinitive","Gerund"],["Month","WeekDay","Year","Duration"],["Particle","Conjunction","Adverb","Preposition"],["Date","Verb","Adjective","Person"],["NounPhrase","VerbPhrase","AdjectivePhrase","ConditionalPhrase"],["Value","Determiner"],["Verb","NounPhrase"],["Noun","VerbPhrase"],["RomanNumeral","Fraction","NiceNumber"],["RomanNumeral","Money"],["UpperCase","TitleCase","CamelCase"]];j.exports=(N)=>{let _=[];for(let C=0;CC!==N)}},{}],156:[function(P,j){"use strict";const A=P("./conflicts"),z=P("./tree"),N={Month:"Singular",Time:"Noun",WeekDay:"Noun",Duration:"Noun",NumberRange:"Contraction"},_=(V)=>{let E=Object.keys(V||{});return E.forEach((q)=>{if("object"==typeof V[q]){let D=Object.keys(V[q]);D.forEach((O)=>{if("object"==typeof V[q][O]){let S=Object.keys(V[q][O]);E=E.concat(S)}}),E=E.concat(D)}}),E};j.exports=function(){let V={};const E=(q,D)=>{Object.keys(q).forEach((O)=>{D=D.slice(0),V[O]={parents:D,children:_(q[O])},!0!==q[O]&&E(q[O],D.concat([O]))})};return E(z,[]),Object.keys(V).forEach((q)=>{N[q]&&V[q].parents.push(N[q])}),Object.keys(V).forEach((q)=>{V[q].not=A(q);let D=V[q].parents;for(let O=0,S;O{let N="";for(let _=0;5>_;_++)N+=parseInt(9*Math.random(),10);return z+"-"+N}},{}],160:[function(P,j){"use strict";j.exports=(z)=>{const N={toUpperCase:function(){return this.text=this.text.toUpperCase(),this.tagAs("#UpperCase","toUpperCase"),this},toLowerCase:function(){return this.text=this.text.toLowerCase(),this.unTag("#TitleCase"),this.unTag("#UpperCase"),this},toTitleCase:function(){return this.text=this.text.replace(/^[a-z]/,(_)=>_.toUpperCase()),this.tagAs("#TitleCase","toTitleCase"),this},needsTitleCase:function(){const _=["Person","Place","Organization","Acronym","UpperCase","Currency","RomanNumeral","Month","WeekDay","Holiday","Demonym"];for(let V=0;V<_.length;V++)if(this.tag[_[V]])return!0;const C=["i","god","allah"];for(let V=0;V{z.prototype[_]=N[_]}),z}},{}],161:[function(P,j){"use strict";j.exports=(z)=>{const N={isAcronym:function(){return!!this.text.match(/([A-Z]\.)+[A-Z]?$/)||!!this.text.match(/^[A-Z]\.$/)||!!this.text.match(/[A-Z]{3}$/)},isWord:function(){let _=this;if(_.silent_term)return!0;if(!_.text.match(/[a-z|0-9]/i))return!1;if(_.normal.match(/[a-z]/)&&1<_.normal.length&&!_.normal.match(/[aeiouy]/i))return!1;if(_.normal.match(/[0-9]/)){if(_.normal.match(/[a-z][0-9][a-z]/))return!1;if(!_.normal.match(/^([$-])*?([0-9,\.])*?([s\$%])*?$/))return!1}return!0}};return Object.keys(N).forEach((_)=>{z.prototype[_]=N[_]}),z}},{}],162:[function(P,j){"use strict";const A=P("./normalize").addNormal,z=P("./root");j.exports=(_)=>{const C={normalize:function(){return A(this),z(this),this}};return Object.keys(C).forEach((V)=>{_.prototype[V]=C[V]}),_}},{"./normalize":163,"./root":164}],163:[function(P,j,$){"use strict";const A=P("./unicode");$.normalize=function(z){return z=z||"",z=z.toLowerCase(),z=z.trim(),z=A(z),z=z.replace(/^[#@]/,""),z=z.replace(/[\u2018\u2019\u201A\u201B\u2032\u2035]+/g,"'"),z=z.replace(/[\u201C\u201D\u201E\u201F\u2033\u2036"]+/g,""),z=z.replace(/\u2026/g,"..."),z.match(/^[:;]/)||(z=z.replace(/\.{3,}$/g,""),z=z.replace(/['",\.!:;\?\)]$/g,""),z=z.replace(/^['"\(]/g,"")),z},$.addNormal=function(z){let N=z._text||"";N=$.normalize(N),z.isAcronym()&&(N=N.replace(/\./g,"")),N=N.replace(/([0-9]),([0-9])/g,"$1$2"),z.normal=N}},{"./unicode":165}],164:[function(P,j){"use strict";j.exports=function(z){let N=z.normal||z.silent_term||"";N=N.replace(/'s\b/,""),N=N.replace(/'\b/,""),z.root=N}},{}],165:[function(P,j){"use strict";let A={"!":"\xA1","?":"\xBF\u0241",a:"\xAA\xC0\xC1\xC2\xC3\xC4\xC5\xE0\xE1\xE2\xE3\xE4\xE5\u0100\u0101\u0102\u0103\u0104\u0105\u01CD\u01CE\u01DE\u01DF\u01E0\u01E1\u01FA\u01FB\u0200\u0201\u0202\u0203\u0226\u0227\u023A\u0386\u0391\u0394\u039B\u03AC\u03B1\u03BB\u0410\u0414\u0430\u0434\u0466\u0467\u04D0\u04D1\u04D2\u04D3\u019B\u0245\xE6",b:"\xDF\xFE\u0180\u0181\u0182\u0183\u0184\u0185\u0243\u0392\u03B2\u03D0\u03E6\u0411\u0412\u042A\u042C\u0431\u0432\u044A\u044C\u0462\u0463\u048C\u048D\u0494\u0495\u01A5\u01BE",c:"\xA2\xA9\xC7\xE7\u0106\u0107\u0108\u0109\u010A\u010B\u010C\u010D\u0186\u0187\u0188\u023B\u023C\u037B\u037C\u037D\u03F2\u03F9\u03FD\u03FE\u03FF\u0404\u0421\u0441\u0454\u0480\u0481\u04AA\u04AB",d:"\xD0\u010E\u010F\u0110\u0111\u0189\u018A\u0221\u018B\u018C\u01F7",e:"\xC8\xC9\xCA\xCB\xE8\xE9\xEA\xEB\u0112\u0113\u0114\u0115\u0116\u0117\u0118\u0119\u011A\u011B\u018E\u018F\u0190\u01DD\u0204\u0205\u0206\u0207\u0228\u0229\u0246\u0247\u0388\u0395\u039E\u03A3\u03AD\u03B5\u03BE\u03F1\u03F5\u03F6\u0400\u0401\u0415\u042D\u0435\u0450\u0451\u04BC\u04BD\u04BE\u04BF\u04D6\u04D7\u04D8\u04D9\u04DA\u04DB\u04EC\u04ED",f:"\u0191\u0192\u03DC\u03DD\u04FA\u04FB\u0492\u0493\u04F6\u04F7\u017F",g:"\u011C\u011D\u011E\u011F\u0120\u0121\u0122\u0123\u0193\u01E4\u01E5\u01E6\u01E7\u01F4\u01F5",h:"\u0124\u0125\u0126\u0127\u0195\u01F6\u021E\u021F\u0389\u0397\u0402\u040A\u040B\u041D\u043D\u0452\u045B\u04A2\u04A3\u04A4\u04A5\u04BA\u04BB\u04C9\u04CA",I:"\xCC\xCD\xCE\xCF",i:"\xEC\xED\xEE\xEF\u0128\u0129\u012A\u012B\u012C\u012D\u012E\u012F\u0130\u0131\u0196\u0197\u0208\u0209\u020A\u020B\u038A\u0390\u03AA\u03AF\u03B9\u03CA\u0406\u0407\u0456\u0457",j:"\u0134\u0135\u01F0\u0237\u0248\u0249\u03F3\u0408\u0458",k:"\u0136\u0137\u0138\u0198\u0199\u01E8\u01E9\u039A\u03BA\u040C\u0416\u041A\u0436\u043A\u045C\u049A\u049B\u049C\u049D\u049E\u049F\u04A0\u04A1",l:"\u0139\u013A\u013B\u013C\u013D\u013E\u013F\u0140\u0141\u0142\u019A\u01AA\u01C0\u01CF\u01D0\u0234\u023D\u0399\u04C0\u04CF",m:"\u039C\u03FA\u03FB\u041C\u043C\u04CD\u04CE",n:"\xD1\xF1\u0143\u0144\u0145\u0146\u0147\u0148\u0149\u014A\u014B\u019D\u019E\u01F8\u01F9\u0220\u0235\u039D\u03A0\u03AE\u03B7\u03DE\u040D\u0418\u0419\u041B\u041F\u0438\u0439\u043B\u043F\u045D\u048A\u048B\u04C5\u04C6\u04E2\u04E3\u04E4\u04E5\u03C0",o:"\xD2\xD3\xD4\xD5\xD6\xD8\xF0\xF2\xF3\xF4\xF5\xF6\xF8\u014C\u014D\u014E\u014F\u0150\u0151\u019F\u01A0\u01A1\u01D1\u01D2\u01EA\u01EB\u01EC\u01ED\u01FE\u01FF\u020C\u020D\u020E\u020F\u022A\u022B\u022C\u022D\u022E\u022F\u0230\u0231\u038C\u0398\u039F\u03B8\u03BF\u03C3\u03CC\u03D5\u03D8\u03D9\u03EC\u03ED\u03F4\u041E\u0424\u043E\u0472\u0473\u04E6\u04E7\u04E8\u04E9\u04EA\u04EB\xA4\u018D\u038F",p:"\u01A4\u01BF\u03A1\u03C1\u03F7\u03F8\u03FC\u0420\u0440\u048E\u048F\xDE",q:"\u024A\u024B",r:"\u0154\u0155\u0156\u0157\u0158\u0159\u01A6\u0210\u0211\u0212\u0213\u024C\u024D\u0403\u0413\u042F\u0433\u044F\u0453\u0490\u0491",s:"\u015A\u015B\u015C\u015D\u015E\u015F\u0160\u0161\u01A7\u01A8\u0218\u0219\u023F\u03C2\u03DA\u03DB\u03DF\u03E8\u03E9\u0405\u0455",t:"\u0162\u0163\u0164\u0165\u0166\u0167\u01AB\u01AC\u01AD\u01AE\u021A\u021B\u0236\u023E\u0393\u03A4\u03C4\u03EE\u03EF\u0422\u0442\u0482\u04AC\u04AD",u:"\xB5\xD9\xDA\xDB\xDC\xF9\xFA\xFB\xFC\u0168\u0169\u016A\u016B\u016C\u016D\u016E\u016F\u0170\u0171\u0172\u0173\u01AF\u01B0\u01B1\u01B2\u01D3\u01D4\u01D5\u01D6\u01D7\u01D8\u01D9\u01DA\u01DB\u01DC\u0214\u0215\u0216\u0217\u0244\u03B0\u03BC\u03C5\u03CB\u03CD\u03D1\u040F\u0426\u0427\u0446\u045F\u04B4\u04B5\u04B6\u04B7\u04CB\u04CC\u04C7\u04C8",v:"\u03BD\u0474\u0475\u0476\u0477",w:"\u0174\u0175\u019C\u03C9\u03CE\u03D6\u03E2\u03E3\u0428\u0429\u0448\u0449\u0461\u047F",x:"\xD7\u03A7\u03C7\u03D7\u03F0\u0425\u0445\u04B2\u04B3\u04FC\u04FD\u04FE\u04FF",y:"\xDD\xFD\xFF\u0176\u0177\u0178\u01B3\u01B4\u0232\u0233\u024E\u024F\u038E\u03A5\u03AB\u03B3\u03C8\u03D2\u03D3\u03D4\u040E\u0423\u0443\u0447\u045E\u0470\u0471\u04AE\u04AF\u04B0\u04B1\u04EE\u04EF\u04F0\u04F1\u04F2\u04F3",z:"\u0179\u017A\u017B\u017C\u017D\u017E\u01A9\u01B5\u01B6\u0224\u0225\u0240\u0396\u03B6"},z={};Object.keys(A).forEach(function(_){A[_].split("").forEach(function(C){z[C]=_})});j.exports=(_)=>{let C=_.split("");return C.forEach((V,E)=>{z[V]&&(C[E]=z[V])}),C.join("")}},{}],166:[function(P,j){"use strict";const A=P("./renderHtml"),z=P("../../paths").fns,N={text:function(C){return C.whitespace.before+C._text+C.whitespace.after},normal:function(C){return C.normal},root:function(C){return C.root||C.normal},html:function(C){return A(C)},tags:function(C){return{text:C.text,normal:C.normal,tags:Object.keys(C.tag)}},debug:function(C){let V=Object.keys(C.tag).map((D)=>{return z.printTag(D)}).join(", "),E=C.text;E="'"+z.yellow(E||"-")+"'",C.dirty;let q="";C.silent_term&&(q="["+C.silent_term+"]"),E=z.leftPad(E,25),E+=z.leftPad(q,5),console.log(" "+E+" - "+V)}};j.exports=(C)=>{return C.prototype.out=function(V){return N[V]||(V="text"),N[V](this)},C}},{"../../paths":173,"./renderHtml":167}],167:[function(P,j){"use strict";const A=(_)=>{const C={"<":"<",">":">","&":"&","\"":""","'":"'"," ":" "};return _.replace(/[<>&"' ]/g,function(V){return C[V]})},z=(_)=>{const V=/<(?:!--(?:(?:-*[^->])*--+|-?)|script\b(?:[^"'>]|"[^"]*"|'[^']*')*>[\s\S]*?<\/script\s*|style\b(?:[^"'>]|"[^"]*"|'[^']*')*>[\s\S]*?<\/style\s*|\/?[a-z](?:[^"'>]|"[^"]*"|'[^']*')*)>/gi;let E;do E=_,_=_.replace(V,"");while(_!==E);return _.replace(/"Term"!==q);C=C.map((q)=>"nl-"+q),C=C.join(" ");let V=z(_.text);V=A(V);let E=""+V+"";return A(_.whitespace.before)+E+A(_.whitespace.after)}},{}],168:[function(P,j){"use strict";j.exports=(z)=>{const N={endPunctuation:function(){let _=this.text.match(/[a-z]([,:;\/.(\.\.\.)\!\?]+)$/i);if(_){if({",":"comma",":":"colon",";":"semicolon",".":"period","...":"elipses","!":"exclamation","?":"question"}[_[1]])return _[1]}return null},setPunctuation:function(_){return this.text=this.text.replace(/[a-z]([,:;\/.(\.\.\.)\!\?]+)$/i,""),this.text+=_,this},hasComma:function(){return"comma"===this.endPunctuation()},killPunctuation:function(){return this.text=this._text.replace(/([,:;\/.(\.\.\.)\!\?]+)$/,""),this}};return Object.keys(N).forEach((_)=>{z.prototype[_]=N[_]}),z}},{}],169:[function(P,j){"use strict";const A=P("./setTag"),z=P("./unTag"),N=P("./paths").tags;j.exports=(C)=>{const V={tagAs:function(E,q){A(this,E,q)},unTag:function(E,q){z(this,E,q)},canBe:function(E){E=E||"",E=E.replace(/^#/,"");let q=N[E].not||[];for(let D=0;D{C.prototype[E]=V[E]}),C}},{"./paths":170,"./setTag":171,"./unTag":172}],170:[function(P,j,$){arguments[4][122][0].apply($,arguments)},{"../../paths":173,dup:122}],171:[function(P,j){"use strict";const A=P("./paths"),z=A.log,N=A.tags,_=P("./unTag"),C=(q,D,O)=>{if(N[D]){let S=N[D].not||[];for(let M=0;M{q.tag[D]||(O=O||"",C(q,D,O),z.tagAs(q,D,O),q.tag[D]=!0)};j.exports=function(q,D,O){if(q&&D&&"string"==typeof D&&(D=D||"",D=D.replace(/^#/,""),V(q,D,O),N[D])){let S=N[D].parents||[];for(let M=0;M{V.tag[E]&&(z.tell(" --"+E+" "+(q||"")),delete V.tag[E])};j.exports=(V,E,q)=>{if(V&&E&&(_(V,E,q),N[E])){let D=N[E].children||[];for(let O=0;O{let N={before:"",after:""},_=z.match(/^(\s|-+|\.\.+)+/);return _&&(N.before=_[0],z=z.replace(/^(\s|-+|\.\.+)+/,"")),_=z.match(/(\s+|-+|\.\.+)$/),_&&(z=z.replace(/(\s+|-+|\.\.+)$/,""),N.after=_[0]),{whitespace:N,text:z}}},{}],175:[function(P,j){"use strict";const A=P("../term"),z={"-":!0,"--":!0,"...":!0};j.exports=function(_){let C=[];_=_||"","number"==typeof _&&(_=""+_);let V=_.split(/(\S+)/),E=[];for(let D=0;Dnew A(D))}},{"../term":158}],176:[function(P,j){"use strict";const A=P("./tagger"),z=P("./build");class N{constructor(_,C,V,E){this.terms=_,this.lexicon=C,this.refText=V,this._refTerms=E,this.count=void 0,this.get=(q)=>{return this.terms[q]}}get found(){return 0{C.dirty=_})}posTag(){return A(this),this}firstTerm(){return this.terms[0]}lastTerm(){return this.terms[this.terms.length-1]}get parent(){return this.refText||this}set parent(_){return this.refText=_,this}get parentTerms(){return this.refTerms||this}set parentTerms(_){return this.refTerms=_,this}all(){return this.parent}data(){return{text:this.out("text"),normal:this.out("normal")}}get whitespace(){return{before:(_)=>{return this.firstTerm().whitespace.before=_,this},after:(_)=>{return this.lastTerm().whitespace.after=_,this}}}static fromString(_,C){let V=z(_),E=new N(V,C,null);return E.terms.forEach((q)=>{q.parentTerms=E}),E.posTag(),E}}N=P("./match")(N),N=P("./match/not")(N),N=P("./methods/tag")(N),N=P("./methods/loops")(N),N=P("./methods/delete")(N),N=P("./methods/insert")(N),N=P("./methods/misc")(N),N=P("./methods/out")(N),N=P("./methods/replace")(N),N=P("./methods/split")(N),N=P("./methods/transform")(N),j.exports=N},{"./build":175,"./match":177,"./match/not":183,"./methods/delete":184,"./methods/insert":185,"./methods/loops":186,"./methods/misc":187,"./methods/out":188,"./methods/replace":189,"./methods/split":190,"./methods/tag":191,"./methods/transform":192,"./tagger":204}],177:[function(P,j){"use strict";const A=P("./lib/syntax"),z=P("./lib/startHere"),N=P("../../result/index");j.exports=(C)=>{const V=function(O,S){let M=O.terms.filter((F)=>S[F.normal]);return M=M.map((F)=>{return new C([F],O.lexicon,O.refText,O.refTerms)}),new N(M,O.lexicon,O.parent)},E=function(O,S){let M=S.reduce((F,W)=>{return F[W]=!0,F},{});return V(O,M)},q=function(O,S,M){let F=[],W=A(S);for(let G=0,I;G{return new C(G,O.lexicon,O.refText,O.refTerms)}),new N(F,O.lexicon,O.parent)},D={match:function(O,S){if("string"==typeof O)return q(this,O,S);if("object"==typeof O){let M=Object.prototype.toString.call(O);if("[object Array]"===M)return E(this,O,S);if("[object Object]"===M)return V(this,O,S)}return this},matchOne:function(O){let S=A(O);for(let M=0,F;M{C.prototype[O]=D[O]}),C}},{"../../result/index":44,"./lib/startHere":181,"./lib/syntax":182}],178:[function(P,j){"use strict";const A=P("./paths").fns,z=(_,C)=>{if(!_||!C)return!1;if(C.anyOne)return!0;if(C.tag){for(let V=0,E;V{let E=z(_,C,V);return C.negative&&(E=!!!E),E}},{"./paths":180}],179:[function(P,j){"use strict";const A=P("./paths").fns,z=(_,C)=>{return A.startsWith(C.normal,_)};j.exports=function(_,C,V){let E=C[V].normal;if(z(E,_))for(++V;V{for(E=E;E{for(E=E;E{let O=E;for(let S=0;SL.max)return null;O=I+1,S+=1;continue}if(F.optional){let I=q[S+1];O=_(V,O,F,I);continue}if(z(M,F,D)){if(O+=1,F.consecutive){let I=q[S+1];O=_(V,O,F,I)}continue}if(M.silent_term&&!M.normal){if(0===S)return null;O+=1,S-=1;continue}let G=A(M,q,S);if(G){S=G,O+=1;continue}if(!F.optional)return null}return V.terms.slice(E,O)}},{"./isMatch":178,"./lumpMatch":179}],182:[function(P,j){"use strict";const A=P("./paths").fns,z=function(_){_=_||"",_=_.trim();let C={optional:!1};if(A.startsWith(_,"!")&&(_=_.substr(1,_.length),C.negative=!0),A.startsWith(_,"^")&&(_=_.substr(1,_.length),C.starting=!0),A.endsWith(_,"$")&&(_=_.replace(/\$$/,""),C.ending=!0),A.endsWith(_,"?")&&(_=_.replace(/\?$/,""),C.optional=!0),A.endsWith(_,"+")&&(_=_.replace(/\+$/,""),C.consecutive=!0),A.startsWith(_,"#")&&(_=_.replace(/^\#/,""),C.tag=[A.titleCase(_)],_=null),A.startsWith(_,"(")&&A.endsWith(_,")")&&(_=_.replace(/\)$/,""),_=_.replace(/^\(/,""),C.oneOf=_.split(/\|/g),_=null),A.startsWith(_,"{")&&A.endsWith(_,"}")){let V=_.match(/\{([0-9]+), ?([0-9]+)\}/);C.minMax={min:parseInt(V[1],10),max:parseInt(V[2],10)},_=null}return"."===_&&(C.anyOne=!0,_=null),"*"===_&&(C.astrix=!0,_=null),C.normal=_,C.normal&&(C.normal=C.normal.toLowerCase()),C};j.exports=function(_){return _=_||"",_=_.split(/ +/),_.map(z)}},{"./paths":180}],183:[function(P,j){"use strict";const A=P("./lib/syntax"),z=P("./lib/startHere"),N=P("../../result/index");j.exports=(C)=>{const V={notObj:function(E,q){let D=[],O=[];return E.terms.forEach((S)=>{q.hasOwnProperty(S.normal)?(O.length&&D.push(O),O=[]):O.push(S)}),O.length&&D.push(O),D=D.map((S)=>{return new C(S,E.lexicon,E.refText,E.refTerms)}),new N(D,E.lexicon,E.parent)},notString:function(E,q,D){let O=[],S=A(q),M=[];for(let F=0,W;F{return new C(F,E.lexicon,E.refText,E.refTerms)}),new N(O,E.lexicon,E.parent)}};return V.notArray=function(E,q){let D=q.reduce((O,S)=>{return O[S]=!0,O},{});return V.notObj(E,D)},C.prototype.not=function(E,q){if("object"==typeof E){let D=Object.prototype.toString.call(E);if("[object Array]"===D)return V.notArray(this,E,q);if("[object Object]"===D)return V.notObj(this,E,q)}return"string"==typeof E?V.notString(this,E,q):this},C}},{"../../result/index":44,"./lib/startHere":181,"./lib/syntax":182}],184:[function(P,j){"use strict";const A=P("../mutate");j.exports=(N)=>{const _={delete:function(C){if(!this.found)return this;if(!C)return this.parentTerms=A.deleteThese(this.parentTerms,this),this;let V=this.match(C);if(V.found){let E=A.deleteThese(this,V);return E}return this.parentTerms}};return Object.keys(_).forEach((C)=>{N.prototype[C]=_[C]}),N}},{"../mutate":193}],185:[function(P,j){"use strict";const A=P("../mutate"),z=(_,C)=>{return _.terms.length&&_.terms[C]?(_.terms[C].whitespace.before=" ",_):_};j.exports=(_)=>{const C=function(E){return"Terms"===E.isA?E:"Term"===E.isA?new _([E]):_.fromString(E)},V={insertBefore:function(E,q){let D=this.terms.length,O=C(E);q&&O.tagAs(q);let S=this.index();return z(this.parentTerms,S),0E&&(E=0);let O=this.terms.length,S=C(q);return D&&S.tagAs(D),0{_.prototype[E]=V[E]}),_}},{"../mutate":193}],186:[function(P,j){"use strict";j.exports=(z)=>{return[["toUpperCase","UpperCase"],["toLowerCase"],["toTitleCase","TitleCase"]].forEach((_)=>{let C=_[0],V=_[1];z.prototype[C]=function(){let q=arguments;return this.terms.forEach((D)=>{D[C].apply(D,q)}),V&&this.tagAs(V,C),this}}),z}},{}],187:[function(P,j){"use strict";j.exports=(z)=>{const N={term:function(_){return this.terms[_]},first:function(){let _=this.terms[0];return new z([_],this.lexicon,this.refText,this.refTerms)},last:function(){let _=this.terms[this.terms.length-1];return new z([_],this.lexicon,this.refText,this.refTerms)},slice:function(_,C){let V=this.terms.slice(_,C);return new z(V,this.lexicon,this.refText,this.refTerms)},endPunctuation:function(){return this.last().terms[0].endPunctuation()},canBe:function(_){_=_||"",_=_.replace(/^#/,"");for(let C=0;C{return _+=C.whitespace.before.length,_+=C.text.length,_+=C.whitespace.after.length,_},0)},wordCount(){return this.terms.length},toCamelCase:function(){return this.toTitleCase(),this.terms.forEach((_,C)=>{0!==C&&(_.whitespace.before=""),_.whitespace.after=""}),this.tagAs("#CamelCase","toCamelCase"),this}};return Object.keys(N).forEach((_)=>{z.prototype[_]=N[_]}),z}},{}],188:[function(P,j){"use strict";const A=P("../paths").fns,z={text:function(_){return _.terms.reduce((C,V)=>{return C+=V.out("text"),C},"")},normal:function(_){let C=_.terms.filter((V)=>{return V.text});return C=C.map((V)=>{return V.normal}),C.join(" ")},grid:function(_){var C=" ";return C+=_.terms.reduce((V,E)=>{return V+=A.leftPad(E.text,11),V},""),C+"\n\n"},color:function(_){return _.terms.reduce((C,V)=>{return C+=A.printTerm(V),C},"")},root:function(_){return _.terms.filter((C)=>C.text).map((C)=>C.root).join(" ").toLowerCase()},html:function(_){return _.terms.map((C)=>C.render.html()).join(" ")},debug:function(_){_.terms.forEach((C)=>{C.out("debug")})}};z.plaintext=z.text,z.normalize=z.normal,z.normalized=z.normal,z.colors=z.color,z.tags=z.terms;j.exports=(_)=>{return _.prototype.out=function(C){return z[C]?z[C](this):z.text(this)},_.prototype.debug=function(){return z.debug(this)},_}},{"../paths":194}],189:[function(P,j){"use strict";const A=P("../mutate");j.exports=(N)=>{const _={replace:function(C,V){return void 0===V?this.replaceWith(C):(this.match(C).replaceWith(V),this)},replaceWith:function(C,V){let E=N.fromString(C);V&&E.tagAs(V,"user-given");let q=this.index();return this.parentTerms=A.deleteThese(this.parentTerms,this),this.parentTerms.terms=A.insertAt(this.parentTerms.terms,q,E),this.terms=E.terms,this}};return Object.keys(_).forEach((C)=>{N.prototype[C]=_[C]}),N}},{"../mutate":193}],190:[function(P,j,$){"use strict";const A=(N,_)=>{let C=_.terms[0],V=_.terms.length;for(let E=0;E{const _={splitAfter:function(C,V){let E=this.match(C,V),q=this.terms,D=[];return E.list.forEach((O)=>{let S=A(q,O);S.before&&S.match&&D.push(S.before.concat(S.match)),q=S.after}),q.length&&D.push(q),D=D.map((O)=>{let S=this.refText;return new N(O,this.lexicon,S,this.refTerms)}),D},splitOn:function(C,V){let E=this.match(C,V),q=this.terms,D=[];return E.list.forEach((O)=>{let S=A(q,O);S.before&&D.push(S.before),S.match&&D.push(S.match),q=S.after}),q.length&&D.push(q),D=D.filter((O)=>O&&O.length),D=D.map((O)=>new N(O,O.lexicon,O.refText,this.refTerms)),D},splitBefore:function(C,V){let E=this.match(C,V),q=this.terms,D=[];E.list.forEach((O)=>{let S=A(q,O);S.before&&D.push(S.before),S.match&&D.push(S.match),q=S.after}),q.length&&D.push(q);for(let O=0;OO&&O.length),D=D.map((O)=>new N(O,O.lexicon,O.refText,this.refTerms)),D}};return Object.keys(_).forEach((C)=>{N.prototype[C]=_[C]}),N};j.exports=z,$=z},{}],191:[function(P,j){"use strict";j.exports=(z)=>{const N={tagAs:function(_,C){this.terms.forEach((V)=>{V.tagAs(_,C)})},unTag:function(_,C){this.terms.forEach((V)=>{V.unTag(_,C)})},canBe:function(_,C){this.terms.forEach((V)=>{V.canBe(_,C)})}};return Object.keys(N).forEach((_)=>{z.prototype[_]=N[_]}),z}},{}],192:[function(P,j){"use strict";j.exports=(z)=>{const N={clone:function(){let _=this.terms.map((C)=>{return C.clone()});return new z(_,this.lexicon,this.refText,null)},hyphenate:function(){return this.terms.forEach((_,C)=>{C!==this.terms.length-1&&(_.whitespace.after="-"),0!==C&&(_.whitespace.before="")}),this},dehyphenate:function(){return this.terms.forEach((_)=>{"-"===_.whitespace.after&&(_.whitespace.after=" ")}),this}};return Object.keys(N).forEach((_)=>{z.prototype[_]=N[_]}),z}},{}],193:[function(P,j,$){"use strict";const A=(z)=>{let N=[];return"Terms"===z.isA?N=z.terms:"Text"===z.isA?N=z.flatten().list[0].terms:"Term"===z.isA&&(N=[z]),N};$.deleteThese=(z,N)=>{let _=A(N);return z.terms=z.terms.filter((C)=>{for(let V=0;V<_.length;V++)if(C===_[V])return!1;return!0}),z},$.insertAt=(z,N,_)=>{_.dirty=!0;let C=A(_);return 0{let C=Object.keys(z);for(let V=0;V{let E=C.terms[V],q=C.terms[V+1];return E.tag.Pronoun||E.tag.QuestionWord?!1:!q||!q.tag.VerbPhrase&&(!!q.tag.Noun||q.tag.Adjective&&C.terms[V+2]&&C.terms[V+2].tag.Noun||(q.tag.Adjective||q.tag.Adverb||q.tag.Verb)&&!1)};j.exports=(C)=>{for(let V=0;V{for(let V=0;V{for(let C=0,V;C<_.terms.length;C++)if(V=_.terms[C],!V.silent_term){if(V.tag.Value&&0{z[C.silent_term]&&C.tagAs(z[C.silent_term])};j.exports=(C,V,E)=>{let q=C.terms[E];q.silent_term=V[0],q.tagAs("Contraction","tagger-contraction");let D=new A("");if(D.silent_term=V[1],D.tagAs("Contraction","tagger-contraction"),C.insertAt(E+1,D),D.whitespace.before="",D.whitespace.after="",N(D),V[2]){let O=new A("");O.silent_term=V[2],C.insertAt(E+2,O),O.tagAs("Contraction","tagger-contraction"),N(O)}return C}},{"../../../term":158}],200:[function(P,j){"use strict";const A=P("./01-irregulars"),z=P("./02-hardOne"),N=P("./03-easyOnes"),_=P("./04-numberRange");j.exports=function(V){return V=A(V),V=z(V),V=N(V),V=_(V),V}},{"./01-irregulars":195,"./02-hardOne":196,"./03-easyOnes":197,"./04-numberRange":198}],201:[function(P,j){"use strict";const A={re:!0,ve:!0,ll:!0,t:!0,s:!0,d:!0,m:!0};j.exports=(N)=>{let _=N.text.match(/^([a-z]+)'([a-z][a-z]?)$/i);return _&&_[1]&&A[_[2]]?("t"===_[2]&&_[1].match(/[a-z]n$/)&&(_[1]=_[1].replace(/n$/,""),_[2]="n't"),N.tag.TitleCase&&(_[1]=_[1].replace(/^[a-z]/,(C)=>C.toUpperCase())),{start:_[1],end:_[2]}):(_=N.text.match(/[a-z]s'$/i),_?{start:N.normal.replace(/s'?$/,""),end:""}:null)}},{}],202:[function(P,j){"use strict";const A=P("../paths").log,N=P("./verb_corrections");j.exports=function(C){return A.here("correction"),C.match("so #Adjective").match("so").tag("Adverb","so-adv"),C.match("so #Noun").match("so").tag("Conjunction","so-conj"),C.match("do so").match("so").tag("Noun","so-noun"),C.match("still #Adjective").match("still").tag("Adverb","still-advb"),C.match("more #Noun").tag("Noun","more-noun"),C.match("still #Verb").term(0).tag("Adverb","still-verb"),C.match("second #Noun").term(0).unTag("Unit").tag("Ordinal","second-noun"),C.match("(foot|feet)").tag("Noun","foot-noun"),C.match("#Value (foot|feet)").match("(foot|feet)").tag("Unit","foot-unit"),C.match("how (#Copula|#Modal|#PastTense)").term(0).tag("QuestionWord","how-question"),C.match("will #Adjective").term(1).tag("Verb","will-adj"),C.match("u #Verb").term(0).tag("Pronoun","u-pronoun-1"),C.match("#Conjunction u").term(1).tag("Pronoun","u-pronoun-2"),C.match("is no #Verb").term(2).tag("Noun","is-no-verb"),C.match("the #Verb #Preposition .").match("#Verb").tag("Noun","correction-determiner1"),C.match("the #Verb").match("#Verb").tag("Noun","correction-determiner2"),C.match("the #Adjective #Verb").match("#Verb").tag("Noun","correction-determiner3"),C.match("the #Adverb #Adjective #Verb").match("#Verb").tag("Noun","correction-determiner4"),C.match("#Organization of the? #TitleCase").tag("Organization","org-of-place"),C.match("#Organization #Country").tag("Organization","org-country"),C.match("(world|global|international|national|#Demonym) #Organization").tag("Organization","global-org"),C.match("#TitleCase (ltd|co|inc|dept|assn|bros)").tag("Organization","org-abbrv"),C.match("#Determiner #Verb of").term(1).tag("Noun","the-verb-of"),C.match("#Noun #Adverb #Noun").term(2).tag("Verb","correction"),C.match("#Copula #Adjective to #Verb").match("#Adjective to").tag("Verb","correction"),C.match("#Verb than").term(0).tag("Noun","correction"),C.match("#Possessive #Verb").term(1).tag("Noun","correction-possessive"),C.match("just like").term(1).tag("Preposition","like-preposition"),C.match("#Noun like #Noun").term(1).tag("Preposition","noun-like"),C.match("#Verb like").term(1).tag("Adverb","verb-like"),C.match("#Adverb like").term(1).tag("Adverb","adverb-like"),C.match("#Determiner #Noun of #Verb").match("#Verb").tag("Noun","noun-of-noun"),C.match("#Adjective #PresentTense").term(1).tag("Noun","adj-presentTense"),C.match("#Possessive #FirstName").term(1).unTag("Person","possessive-name"),C.match("(a|an) (#Duration|#Value)").ifNo("#Plural").term(0).tag("Value","a-is-one"),C.match("half a? #Value").tag("Value","half-a-value"),C.match("#Value and a (half|quarter)").tag("Value","value-and-a-half"),C.match("#Value").match("!#Ordinal").tag("#Cardinal","not-ordinal"),C.match("#Value+ #Currency").tag("Money","value-currency"),C.match("#Money and #Money #Currency?").tag("Money","money-and-money"),C.match("holy (shit|fuck|hell)").tag("Expression","swears-expression"),C.match("#Determiner (shit|damn|hell)").term(1).tag("Noun","swears-noun"),C.match("(shit|damn|fuck) (#Determiner|#Possessive|them)").term(0).tag("Verb","swears-verb"),C.match("#Copula fucked up?").not("#Copula").tag("Adjective","swears-adjective"),C=N(C),C}},{"../paths":209,"./verb_corrections":203}],203:[function(P,j){"use strict";j.exports=function(z){let N="(#Adverb|not)+?";return z.match(`(has|had) ${N} #PastTense`).not("#Verb$").tag("Auxillary","had-walked"),z.match(`#Copula ${N} #Gerund`).not("#Verb$").tag("Auxillary","copula-walking"),z.match(`(be|been) ${N} #Gerund`).not("#Verb$").tag("Auxillary","be-walking"),z.match(`(#Modal|did) ${N} #Verb`).not("#Verb$").tag("Auxillary","modal-verb"),z.match(`#Modal ${N} have ${N} had ${N} #Verb`).not("#Verb$").tag("Auxillary","would-have"),z.match(`(#Modal) ${N} be ${N} #Verb`).not("#Verb$").tag("Auxillary","would-be"),z.match(`(#Modal|had|has) ${N} been ${N} #Verb`).not("#Verb$").tag("Auxillary","would-be"),z}},{}],204:[function(P,j){"use strict";const A={interpret:P("./contraction")},z={lexicon_lump:P("./lumper/lexicon_lump"),lump_two:P("./lumper/lump_two"),lump_three:P("./lumper/lump_three")},N={punctuation_step:P("./steps/01-punctuation_step"),lexicon_step:P("./steps/02-lexicon_step"),capital_step:P("./steps/03-capital_step"),web_step:P("./steps/04-web_step"),suffix_step:P("./steps/05-suffix_step"),neighbour_step:P("./steps/06-neighbour_step"),noun_fallback:P("./steps/07-noun_fallback"),date_step:P("./steps/08-date_step"),auxillary_step:P("./steps/09-auxillary_step"),negation_step:P("./steps/10-negation_step"),phrasal_step:P("./steps/12-phrasal_step"),comma_step:P("./steps/13-comma_step"),possessive_step:P("./steps/14-possessive_step"),value_step:P("./steps/15-value_step"),acronym_step:P("./steps/16-acronym_step"),emoji_step:P("./steps/17-emoji_step"),person_step:P("./steps/18-person_step"),quotation_step:P("./steps/19-quotation_step"),organization_step:P("./steps/20-organization_step"),plural_step:P("./steps/21-plural_step")},_=P("./corrections"),C=P("./phrase");j.exports=function(E){E=N.punctuation_step(E),E=N.emoji_step(E),E=z.lexicon_lump(E),E=N.lexicon_step(E),E=N.web_step(E),E=N.suffix_step(E),E=N.neighbour_step(E),E=N.capital_step(E),E=N.noun_fallback(E),E=A.interpret(E),E=N.date_step(E),E=N.auxillary_step(E),E=N.negation_step(E),E=N.phrasal_step(E),E=N.comma_step(E),E=N.possessive_step(E),E=N.value_step(E),E=N.acronym_step(E),E=N.person_step(E),E=N.quotation_step(E),E=N.organization_step(E),E=N.plural_step(E);for(let q=0;3>q;q++)E=z.lump_three(E),E=z.lump_two(E);return E=_(E),E=C(E),E}},{"./contraction":200,"./corrections":202,"./lumper/lexicon_lump":206,"./lumper/lump_three":207,"./lumper/lump_two":208,"./phrase":211,"./steps/01-punctuation_step":212,"./steps/02-lexicon_step":213,"./steps/03-capital_step":214,"./steps/04-web_step":215,"./steps/05-suffix_step":216,"./steps/06-neighbour_step":217,"./steps/07-noun_fallback":218,"./steps/08-date_step":219,"./steps/09-auxillary_step":220,"./steps/10-negation_step":221,"./steps/12-phrasal_step":222,"./steps/13-comma_step":223,"./steps/14-possessive_step":224,"./steps/15-value_step":225,"./steps/16-acronym_step":226,"./steps/17-emoji_step":227,"./steps/18-person_step":228,"./steps/19-quotation_step":229,"./steps/20-organization_step":230,"./steps/21-plural_step":231}],205:[function(P,j){"use strict";const A=P("../paths"),z=A.Term,N=A.log,C=(E,q)=>{let D=E.whitespace.before+E.text+E.whitespace.after;return D+=q.whitespace.before+q.text+q.whitespace.after,D};j.exports=function(E,q){let D=E.terms[q],O=E.terms[q+1];if(O){N.tell("--combining: \""+D.normal+"\"+\""+O.normal+"\"","tagger/combine");let S=C(D,O);return E.terms[q]=new z(S,D.context),E.terms[q].normal=D.normal+" "+O.normal,E.terms[q+1]=null,void(E.terms=E.terms.filter((M)=>null!==M))}}},{"../paths":209}],206:[function(P,j){"use strict";const A=P("./combine"),z=P("../paths"),N=z.log,_=z.lexicon,C=z.fns,E=(O,S,M)=>{for(let F=0;F{let F="",W="",G="";for(let I=S;IO.length)return!1}return!1};j.exports=function(O){N.here("tagger/multiple");let S=O.lexicon||{};for(let M=0;M{for(let F=0;FV.tag.Noun&&("&"===E.text||"n"===E.normal)&&q.tag.Noun,result:"Organization",reason:"Noun-&-Noun"},{condition:(V,E,q)=>V.tag.Value&&E.tag.Value&&q.tag.PhoneNumber&&3===E.normal.length&&3>V.normal.length,result:"PhoneNumber",reason:"1-800-PhoneNumber"}];j.exports=function(V){A.here("lumper/lump_three");for(let E=0;E<_.length;E++)for(let q=0;qE.tag.Holiday&&("day"===q.normal||"eve"===q.normal),result:"Holiday",reason:"holiday-day"},{condition:(E,q)=>E.tag.Noun&&q.tag.Actor,result:"Actor",reason:"thing-doer"},{condition:(E,q)=>_[E.normal]&&("standard time"===q.normal||"time"===q.normal),result:"Time",reason:"timezone"},{condition:(E,q)=>E.tag.Demonym&&q.tag.Currency,result:"Currency",reason:"demonym-currency"},{condition:(E,q)=>E.tag.NumericValue&&q.tag.PhoneNumber&&3>=E.normal.length,result:"PhoneNumber",reason:"(800) PhoneNumber"}];j.exports=function(E){A.here("lumper/lump_two");for(let q=0;q{let D=q.text;D.match(/^[A-Z][a-z']/)&&q.tagAs("TitleCase","punct-rule"),D=D.replace(/[,\.\?]$/,"");for(let O=0,S;O{let O=D.lexicon||{};return O[q]?O[q]:N[q]?N[q]:null};j.exports=function(q){_.here("tagger/lexicon");let D;for(let O=0,S;O{for(let E=0,q;E{let M=Object.keys(O.tag);if(0===M.length){let F=D.terms[S-1],W=D.terms[S+1];if(F&&z[F.normal])return void O.tagAs(z[F.normal],"neighbour-after-\""+F.normal+"\"");if(W&&N[W.normal])return void O.tagAs(N[W.normal],"neighbour-before-\""+W.normal+"\"");let G=[];if(F){G=Object.keys(F.tag);for(let I=0;I!N[q]).length)};j.exports=function(V){A.here("tagger/noun_fallback");for(let E=0,q;E{return D&&1e3D};j.exports=function(D){A.here("tagger/datePass"),D.match(`#Month #DateRange+`).tag("Date","correction-numberRange"),D.match(`${N} (#Determiner|#Value|#Date)`).term(0).tag("Month","correction-may"),D.match(`#Date ${N}`).term(1).tag("Month","correction-may"),D.match(`${_} ${N}`).term(1).tag("Month","correction-may"),D.match(`(next|this|last) ${N}`).term(1).tag("Month","correction-may"),D.match("#Value #Abbreviation").tag("Value","value-abbr"),D.match("a #Value").tag("Value","a-value"),D.match("(minus|negative) #Value").tag("Value","minus-value"),D.match("#Value grand").tag("Value","value-grand"),D.match("(half|quarter) #Ordinal").tag("Value","half-ordinal"),D.match("(hundred|thousand|million|billion|trillion) and #Value").tag("Value","magnitude-and-value"),D.match("#Value point #Value").tag("Value","value-point-value"),D.match("#Cardinal #Time").tag("Time","value-time"),D.match("(by|before|after|at|@|about) #Time").tag("Time","preposition-time"),D.match("(#Value|#Time) (am|pm)").tag("Time","value-ampm"),D.match("all day").tag("Time","all-day"),D.match(`${_}? ${C} (spring|summer|winter|fall|autumn)`).tag("Date","thisNext-season"),D.match(`the? ${V} of (spring|summer|winter|fall|autumn)`).tag("Date","section-season"),D.match("#Date the? #Ordinal").tag("Date","correction-date"),D.match("#Value of? #Month").tag("Date","value-of-month"),D.match("#Cardinal #Month").tag("Date","cardinal-month"),D.match("#Month #Value to #Value").tag("Date","value-to-value"),D.match(`${C} #Date`).tag("Date","thisNext-date"),D.match(`${_}? #Value #Duration`).tag("Date","value-duration"),D.match("due? (by|before|after|until) #Date").tag("Date","by-date"),D.match("#Date (by|before|after|at|@|about) #Cardinal").not("^#Date").tag("Time","date-before-Cardinal"),D.match("#Time (eastern|pacific|central|mountain)").term(1).tag("Time","timezone"),D.match("#Time (est|pst|gmt)").term(1).tag("Time","timezone abbr"),D.match("#Date (am|pm)").term(1).unTag("Verb").unTag("Copula").tag("Time","date-am"),D.match("at night").tag("Time","at-night"),D.match("in the (night|evening|morning|afternoon|day|daytime)").tag("Time","in-the-night"),D.match("(early|late) (at|in)? the? (night|evening|morning|afternoon|day|daytime)").tag("Time","early-evening"),D.match("#Month #Value #Cardinal").tag("Date","month-value-cardinal"),D.match("(last|next|this|previous|current|upcoming|coming|the) #Date").tag("Date","next-feb"),D.match("#Date #Value").tag("Date","date-value"),D.match("#Value #Date").tag("Date","value-date"),D.match("#Date #Preposition #Date").tag("Date","date-prep-date"),D.match("#Value #Duration #Conjunction").tag("Date","val-duration-conjunction"),D.match(`the? ${V} of #Date`).tag("Date","section-of-date");let O=D.match(`#Date #Value #Cardinal`).lastTerm().values(),S=O.numbers()[0];return E(S)&&O.tag("Year","date-value-year"),O=D.match(`#Date+ #Cardinal`).lastTerm().values(),S=O.numbers()[0],E(S)&&O.tag("Year","date-year"),O=D.match(`#Month #Value #Cardinal`).lastTerm().values(),S=O.numbers()[0],E(S)&&O.tag("Year","date-year2"),O=D.match(`#Month #Value to #Value #Cardinal`).lastTerm().values(),S=O.numbers()[0],E(S)&&O.tag("Year","date-year3"),O=D.match(`(in|of|by|during|before|starting|ending|for|year) #Cardinal`).lastTerm().values(),S=O.numbers()[0],E(S)&&O.tag("Year","preposition-year"),D.match("#Duration in #Date").tag("Date","duration-in-date"),D}},{"../paths":209}],220:[function(P,j){"use strict";const A=P("../paths").log,N={"do":!0,"don't":!0,does:!0,"doesn't":!0,will:!0,wont:!0,"won't":!0,have:!0,"haven't":!0,had:!0,"hadn't":!0,not:!0};j.exports=function(C){A.here("tagger/auxillary");for(let V=0,E;V{let q=V.terms[E],D=V.terms[E+1];return D&&q.tag.Place&&!q.tag.Country&&D.tag.Country},z=(V)=>{return V.tag.Adjective?"Adjective":V.tag.Noun?"Noun":V.tag.Verb?"Verb":null},N=(V,E,q)=>{for(let D=E;D<=q;D++)V.terms[D].tag.List=!0},_=(V,E)=>{let q=E,D=z(V.terms[E]),O=0,S=0,M=!1;for(++E;E{C.tag.Value&&(!C.tag.Ordinal&&!C.tag.Cardinal&&(C.normal.match(/^[0-9]([0-9]+,)*?(\.[0-9])$/)?C.tagAs("Cardinal","ordinal-regex"):C.tagAs("Cardinal","cardinal-regex")),!C.tag.TextValue&&!C.tag.NumericValue&&(C.normal.match(/^[a-z]/)?C.tagAs("TextValue","TextValue-regex"):C.tagAs("NumericValue","NumericValue-regex")))}),_}},{"../paths":209}],226:[function(P,j){"use strict";"use strict";const A=P("../paths").log;j.exports=function(_){return A.here("tagger/acronym_step"),_.terms.forEach((C)=>{C.isAcronym()&&C.tagAs("Acronym","acronym-step")}),_}},{"../paths":209}],227:[function(P,j){"use strict";const A=P("../paths").fns,z=P("./data/emoji_regex"),N=P("./data/emoticon_list"),_=(E)=>{return!!A.startsWith(E.text,":")&&!!E.text.match(/:.?$/)&&!E.text.match(" ")&&!(35{let q=E.text.replace(/^[:;]/,":");return q=q.replace(/[:;]$/,":"),N[q]};j.exports=(E)=>{for(let q=0,D;q{return C[V]=!0,C},{});j.exports=function(C){A.here("tagger/person_step");let V="person-step";C.match("#Noun #LastName").firstTerm().canBe("#FirstName").tag("#FirstName","noun-lastname");let E=C.match("#FirstName #Noun").ifNo("^#Possessive").ifNo("#ClauseEnd .");E.lastTerm().canBe("#LastName").tag("#LastName","firstname-noun"),C.match("#Acronym #TitleCase").canBe("#Person").tag("#Person","acronym-titlecase"),C.match("#Noun van der? #Noun").canBe("#Person").tag("#Person","von der noun"),C.match("#FirstName de #Noun").canBe("#Person").tag("#Person","firstname-de-noun"),C.match("(king|queen|prince|saint|lady) of? #Noun").canBe("#Person").tag("#Person","king-of-noun"),C.match("#FirstName (bin|al) #Noun").canBe("#Person").tag("#Person","firstname-al-noun");let q=["will","may","april","june","said","rob","wade","ray","rusty","drew","miles","jack","chuck","randy","jan","pat","cliff","bill"];q="("+q.join("|")+")",C.match(q+" #LastName").firstTerm().tag("#FirstName",V),q=["green","white","brown","hall","young","king","hill","cook","gray","price"],q="("+q.join("|")+")",C.match("#FirstName "+q).tag("#Person",V),C.match("#FirstName #Acronym #TitleCase").tag("Person","firstname-acronym-titlecase"),C.match("#FirstName #FirstName #TitleCase").tag("Person","firstname-firstname-titlecase"),C.match("#Honorific #FirstName? #TitleCase").tag("Person","Honorific-TitleCase"),C.match("#Honorific #Acronym").tag("Person","Honorific-TitleCase"),C.match("#FirstName #TitleCase").match("#FirstName #Noun").tag("Person","firstname-titlecase"),C.match("#TitleCase (van|al|bin) #TitleCase").tag("Person","correction-titlecase-van-titlecase"),C.match("#TitleCase (de|du) la? #TitleCase").tag("Person","correction-titlecase-van-titlecase"),C.match("#FirstName the #Adjective").tag("Person","correction-determiner5"),C.match("#Person #TitleCase").match("#TitleCase #Noun").tag("Person","correction-person-titlecase"),C.match("#FirstName #Acronym #Noun").ifNo("#Date").tag("#Person",V).lastTerm().tag("#LastName",V),C.match("#TitleCase #Acronym? #LastName").ifNo("#Date").tag("#Person",V).lastTerm().tag("#LastName",V),C.match("#FirstName (#Singular|#Possessive)").ifNo("#Date").tag("#Person",V).lastTerm().tag("#LastName",V),C.match("(lady|queen|sister) #TitleCase").ifNo("#Date").tag("#FemaleName",V),C.match("(king|pope|father) #TitleCase").ifNo("#Date").tag("#MaleName","correction-poe"),C.match("#Person #Person the? #RomanNumeral").tag("Person","correction-roman-numeral");for(let D=0,O;D{q.tagAs("Quotation","quotation_step")})};j.exports=(C)=>{A.here("tagger/person_step");for(let V=0,E;V{return V[E]=!0,V},{});const _=function(V){return!!V.tag.Noun&&(V.tag.Pronoun||V.tag.Comma||V.tag.Possessive?!1:V.tag.TitleCase||V.tag.Organization)};j.exports=(V)=>{A.here("tagger/organization_step");for(let E=0,q;E (http://spencermounta.in)", "name": "compromise", "description": "natural language processing in the browser", - "version": "7.0.17", + "version": "7.0.18", "main": "./builds/compromise.js", "repository": { "type": "git", @@ -274,6 +274,7 @@ exports.uncompress_suffixes = function (list, obj) { } return list; }; + //uncompress data in the adhoc compressed form {'over':'blown,kill'} exports.uncompress_prefixes = function (list, obj) { var keys = Object.keys(obj); @@ -481,7 +482,7 @@ module.exports = lexicon; // console.timeEnd('lexicon'); // console.log(Object.keys(lexicon).length); -},{"../result/subset/adjectives/methods/index":61,"../result/subset/nouns/methods/pluralize":98,"../result/subset/verbs/methods/conjugate/faster":136,"../result/subset/verbs/methods/toAdjective":147,"./fns":7,"./index":8}],10:[function(_dereq_,module,exports){ +},{"../result/subset/adjectives/methods/index":61,"../result/subset/nouns/methods/pluralize":98,"../result/subset/verbs/methods/conjugate/faster":137,"../result/subset/verbs/methods/toAdjective":148,"./fns":7,"./index":8}],10:[function(_dereq_,module,exports){ 'use strict'; module.exports = [ @@ -833,7 +834,7 @@ module.exports = ['administration', 'agence', 'agences', 'agencies', 'agency', ' //just a few named-organizations //no acronyms needed. no product/brand pollution. -module.exports = ['20th century fox', '3m', '7-eleven', 'abc', 'academy of sciences', 'acer', 'activision', 'adidas', 'aig', 'al jazeera', 'al qaeda', 'alcatel-lucent', 'alcatel', 'altair', 'amc', 'amd', 'american express', 'amt', 'amtrak', 'anheuser-busch', 'aol', 'apple computers', 'applebee\'s', 'arby\'s', 'argos', 'armco', 'ashland oil', 'associated press', 'at&t', 'avis', 'avon', 'ayer', 'banana republic', 'basf', 'baskin robbins', 'baxter', 'bayer', 'bbc', 'bechtel', 'ben & jerry\'s', 'berkshire hathaway', 'bf goodrich', 'bfgoodrich', 'black & decker', 'blockbuster video', 'bloomingdale', 'blue cross', 'bmw', 'bni', 'boeing', 'bombardier', 'boston globe', 'boston pizza', 'bp', 'cadbury', 'carl\'s jr', 'cbc', 'chevron', 'chevy', 'chick fil-a', 'china daily', 'cia', 'cisco systems', 'cisco', 'citigroup', 'cnn', 'coca cola', 'colgate', 'comcast', 'compaq', 'coors', 'costco', 'craigslist', 'daimler', 'dea', 'dell', 'der spiegel', 'disney', 'doj', 'dow jones', 'dunkin donuts', 'dupont', 'ebay', 'esa', 'eu', 'exxon mobil', 'exxonmobil', 'facebook', 'fannie mae', 'fbi', 'fda', 'fedex', 'fiat', 'financial times', 'firestone', 'ford', 'frito-lay', 'g8', 'general electric', 'general motors', 'ghq', 'glaxo smith kline', 'glencore', 'goldman sachs', 'goodyear', 'google', 'gucci', 'h & m', 'hasbro', 'hewlett-packard', 'hitachi', 'hizbollah', 'home depot', 'honda', 'hsbc', 'hyundai', 'ibm', 'ihop', 'ing', 'intel', 'interpol', 'itv', 'jiffy lube', 'johnson & johnson', 'jpmorgan chase', 'jpmorgan', 'jsa', 'katv', 'kfc', 'kkk', 'kmart', 'kodak', 'l\'oreal', 'la presse', 'la-z-boy', 'lenovo', 'lexis', 'lexmark', 'lg', 'little caesars', 'mac\'s milk', 'mattel', 'mazda', 'mcdonald\'s', 'mcdonalds', 'medicaid', 'medicare', 'mercedes-benz', 'mercedes', 'microsoft', 'mitas', 'mitsubishi', 'mlb', 'mobil', 'monsanto', 'motel 6', 'motorola', 'mtv', 'myspace', 'nandos', 'nascar', 'nasdaq', 'national academy of sciences', 'nato', 'natwest', 'nba', 'nbc', 'nestle', 'nestlé', 'netflix', 'new york times', 'newsweek', 'nfl', 'nhl', 'nhs', 'nike', 'nintendo', 'nissan', 'nokia', 'notre dame', 'novartis', 'nsa', 'nwa', 'old navy', 'opec', 'orange julius', 'oxfam', 'pan am', 'panasonic', 'panda express', 'pbs', 'pepsico', 'petrobras', 'petrochina', 'petronas', 'peugeot', 'pfizer', 'philip morris', 'pizza hut', 'premier oil', 'procter & gamble', 'prudential', 'quantas', 'quizno\'s', 'rbc', 'rbs', 're/max', 'readers digest', 'red bull', 'red cross', 'red lobster', 'revlon', 'royal bank', 'royal dutch shell', 'ryanair', 'safeway', 'sainsbury\'s', 'samsung', 'sears', 'siemens', 'sony', 'starbucks', 'statoil', 'subaru', 't mobile', 'taco bell', 'td bank', 'telefonica', 'telus', 'tesco', 'tesla motors', 'tgi fridays', 'the daily mail', 'tim hortons', 'tmz', 'toshiba', 'toyota', 'toys r us', 'twitter', 'ubs', 'unesco', 'unilever', 'united nations', 'ups', 'usa today', 'usps', 'verizon', 'vh1', 'visa', 'vodafone', 'volkswagen', 'volvo', 'wal-mart', 'walgreens', 'wall street journal', 'walmart', 'warner bros', 'wells fargo', 'westfield', 'westinghouse', 'world trade organization', 'yahoo!', 'yamaha', 'ymca', 'youtube', 'ywca']; +module.exports = ['20th century fox', '3m', '7-eleven', 'abc', 'academy of sciences', 'acer', 'activision', 'adidas', 'aig', 'al jazeera', 'al qaeda', 'alcatel-lucent', 'alcatel', 'altair', 'amc', 'amd', 'american express', 'amt', 'amtrak', 'anheuser-busch', 'aol', 'apple computers', 'applebee\'s', 'arby\'s', 'argos', 'armco', 'ashland oil', 'associated press', 'at&t', 'avis', 'avon', 'ayer', 'banana republic', 'basf', 'baskin robbins', 'baxter', 'bayer', 'bbc', 'bechtel', 'ben & jerry\'s', 'berkshire hathaway', 'bf goodrich', 'bfgoodrich', 'black & decker', 'blockbuster video', 'bloomingdale', 'blue cross', 'bmw', 'bni', 'boeing', 'bombardier', 'boston globe', 'boston pizza', 'bp', 'capital one', 'cadbury', 'carl\'s jr', 'cbc', 'chevron', 'chevy', 'chick fil-a', 'china daily', 'cia', 'cisco systems', 'cisco', 'citigroup', 'cnn', 'coca cola', 'colgate', 'comcast', 'compaq', 'coors', 'costco', 'craigslist', 'daimler', 'dea', 'dell', 'der spiegel', 'disney', 'doj', 'dow jones', 'dunkin donuts', 'dupont', 'ebay', 'esa', 'eu', 'exxon mobil', 'exxonmobil', 'facebook', 'fannie mae', 'fbi', 'fda', 'fedex', 'fiat', 'financial times', 'firestone', 'ford', 'frito-lay', 'g8', 'general electric', 'general motors', 'ghq', 'glaxo smith kline', 'glencore', 'goldman sachs', 'goodyear', 'google', 'gucci', 'h & m', 'hasbro', 'hewlett-packard', 'hitachi', 'hizbollah', 'home depot', 'honda', 'hsbc', 'hyundai', 'ibm', 'ihop', 'ing', 'intel', 'interpol', 'itv', 'jiffy lube', 'johnson & johnson', 'jpmorgan chase', 'jpmorgan', 'jsa', 'katv', 'kfc', 'kkk', 'kmart', 'kodak', 'l\'oreal', 'la presse', 'la-z-boy', 'lenovo', 'lexis', 'lexmark', 'lg', 'little caesars', 'mac\'s milk', 'mattel', 'mazda', 'mcdonald\'s', 'mcdonalds', 'medicaid', 'medicare', 'mercedes-benz', 'mercedes', 'microsoft', 'mitas', 'mitsubishi', 'mlb', 'mobil', 'monsanto', 'motel 6', 'motorola', 'mtv', 'myspace', 'nandos', 'nasa', 'nascar', 'nasdaq', 'national academy of sciences', 'nato', 'natwest', 'nba', 'nbc', 'nestle', 'nestlé', 'netflix', 'new york times', 'newsweek', 'nfl', 'nhl', 'nhs', 'nike', 'nintendo', 'nissan', 'nokia', 'notre dame', 'novartis', 'nsa', 'nwa', 'old navy', 'opec', 'orange julius', 'oxfam', 'pan am', 'panasonic', 'panda express', 'pbs', 'pepsico', 'petrobras', 'petrochina', 'petronas', 'peugeot', 'pfizer', 'philip morris', 'pizza hut', 'premier oil', 'procter & gamble', 'prudential', 'quantas', 'quizno\'s', 'rbc', 'rbs', 're/max', 'readers digest', 'red bull', 'red cross', 'red lobster', 'revlon', 'royal bank', 'royal dutch shell', 'ryanair', 'safeway', 'sainsbury\'s', 'samsung', 'sears', 'siemens', 'sony', 'starbucks', 'statoil', 'subaru', 't mobile', 'taco bell', 'td bank', 'telefonica', 'telus', 'tesco', 'tesla motors', 'tgi fridays', 'the daily mail', 'tim hortons', 'tmz', 'toshiba', 'toyota', 'toys r us', 'twitter', 'ubs', 'unesco', 'unilever', 'united nations', 'ups', 'usa today', 'usps', 'verizon', 'vh1', 'visa', 'vodafone', 'volkswagen', 'volvo', 'wal-mart', 'walgreens', 'wall street journal', 'walmart', 'warner bros', 'wells fargo', 'westfield', 'westinghouse', 'world trade organization', 'yahoo!', 'yamaha', 'ymca', 'youtube', 'ywca']; },{}],25:[function(_dereq_,module,exports){ 'use strict'; @@ -2191,12 +2192,6 @@ if (typeof module === 'undefined') { }); } -// typeof obj == "function" also works -// but not in older browsers. :-/ -exports.isFunction = function (obj) { - return Object.prototype.toString.call(obj) === '[object Function]'; -}; - //coerce any input into a string exports.ensureString = function (input) { if (typeof input === 'string') { @@ -2256,20 +2251,6 @@ exports.copy = function (o) { return o2; }; -//shallow-merge an object -exports.extend = function (o, o2) { - if (!o) { - return o2; - } - if (!o2) { - return o; - } - Object.keys(o2).forEach(function (k) { - o[k] = o2[k]; - }); - return o; -}; - //colorization exports.green = function (str) { return c.green + str + c.reset; @@ -2309,15 +2290,6 @@ exports.printTerm = function (t) { return c.reset + t.plaintext + c.reset; }; -exports.rightPad = function (str, width, char) { - char = char || ' '; - str = str.toString(); - while (str.length < width) { - str += char; - } - return str; -}; - exports.leftPad = function (str, width, char) { char = char || ' '; str = str.toString(); @@ -2327,7 +2299,7 @@ exports.leftPad = function (str, width, char) { return str; }; -},{"./tags/colors":153}],41:[function(_dereq_,module,exports){ +},{"./tags/colors":154}],41:[function(_dereq_,module,exports){ (function (global){ 'use strict'; @@ -2381,7 +2353,10 @@ var _enable = false; module.exports = { enable: function enable(str) { - _enable = str || true; + if (str === undefined) { + str = true; + } + _enable = str; }, here: function here(path) { if (_enable === true || _enable === path) { @@ -2406,12 +2381,6 @@ module.exports = { title = fns.leftPad(title, 54); console.log(' ' + title + '(' + fns.cyan(reason || '') + ')'); } - }, - match: function match(t, reason) { - console.log(' ' + '-match-' + ' \'' + t.normal + '\' - ' + reason); - }, - noMatch: function noMatch(t) { - console.log(' ' + ('-die \'' + t.normal + '\'')); } }; @@ -2466,7 +2435,7 @@ var fromString = function fromString(str, lexicon, tagSet) { }; module.exports = fromString; -},{"../tags":155,"../term/methods/normalize/normalize":162,"./index":44,"./paths":56,"./tokenize":152}],44:[function(_dereq_,module,exports){ +},{"../tags":156,"../term/methods/normalize/normalize":163,"./index":44,"./paths":56,"./tokenize":153}],44:[function(_dereq_,module,exports){ 'use strict'; //a Text is an array of termLists @@ -2609,7 +2578,7 @@ Object.keys(subset).forEach(function (k) { }; }); -},{"./methods/array":45,"./methods/loops":46,"./methods/match":47,"./methods/normalize":48,"./methods/out":49,"./methods/sort":52,"./methods/split":54,"./methods/tag":55,"./subset/acronyms":57,"./subset/adjectives":59,"./subset/adverbs":67,"./subset/clauses":69,"./subset/contractions":73,"./subset/dates":75,"./subset/hashTags":85,"./subset/ngrams":89,"./subset/ngrams/endGrams":86,"./subset/ngrams/startGrams":90,"./subset/nouns":92,"./subset/organizations":101,"./subset/people":103,"./subset/phoneNumbers":105,"./subset/places":106,"./subset/quotations":108,"./subset/sentences":109,"./subset/sentences/questions":110,"./subset/sentences/statements":113,"./subset/terms":115,"./subset/topics":117,"./subset/urls":118,"./subset/values":119,"./subset/verbs":132}],45:[function(_dereq_,module,exports){ +},{"./methods/array":45,"./methods/loops":46,"./methods/match":47,"./methods/normalize":48,"./methods/out":49,"./methods/sort":52,"./methods/split":54,"./methods/tag":55,"./subset/acronyms":57,"./subset/adjectives":59,"./subset/adverbs":67,"./subset/clauses":69,"./subset/contractions":73,"./subset/dates":75,"./subset/hashTags":85,"./subset/ngrams":89,"./subset/ngrams/endGrams":86,"./subset/ngrams/startGrams":90,"./subset/nouns":92,"./subset/organizations":101,"./subset/people":103,"./subset/phoneNumbers":105,"./subset/places":106,"./subset/quotations":108,"./subset/sentences":109,"./subset/sentences/questions":110,"./subset/sentences/statements":113,"./subset/terms":116,"./subset/topics":118,"./subset/urls":119,"./subset/values":120,"./subset/verbs":133}],45:[function(_dereq_,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; @@ -2726,7 +2695,7 @@ var genericMethods = function genericMethods(Text) { module.exports = genericMethods; -},{"../../terms":175}],46:[function(_dereq_,module,exports){ +},{"../../terms":176}],46:[function(_dereq_,module,exports){ 'use strict'; //this methods are simply loops around each termList object. @@ -2986,7 +2955,7 @@ var methods = { html: function html(r) { var html = r.list.reduce(function (str, ts) { var sentence = ts.terms.reduce(function (sen, t) { - sen += '\n ' + t.methods.html(); + sen += '\n ' + t.out('html'); return sen; }, ''); return str += '\n ' + sentence + '\n '; @@ -3390,7 +3359,7 @@ module.exports = { tags: _dereq_('../tags') }; -},{"../data":8,"../fns":40,"../log":42,"../tags":155,"../terms":175}],57:[function(_dereq_,module,exports){ +},{"../data":8,"../fns":40,"../log":42,"../tags":156,"../terms":176}],57:[function(_dereq_,module,exports){ 'use strict'; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -5919,12 +5888,10 @@ var Person = function (_Terms) { _this.honorifics = _this.match('#Honorific'); _this.lastName = _this.match('#LastName+'); //assume first-last - if (!_this.firstName && _this.length === 2) { + if (!_this.firstName.found && _this.length > 1) { var m = _this.not('(#Acronym|#Honorific)'); _this.firstName = m.first(); _this.lastName = m.last(); - } else { - // this.lastName = this.match('#Person').list[0]; } return _ret = _this, _possibleConstructorReturn(_this, _ret); } @@ -5951,12 +5918,14 @@ var Person = function (_Terms) { return 'Female'; } //look-for regex clues - return _guessGender(this.firstName.out('normal')); + var str = this.firstName.out('normal'); + return _guessGender(str); } }, { key: 'pronoun', value: function pronoun() { - var g = this.guessGender(); + var str = this.firstName.out('normal'); + var g = this.guessGender(str); if (g === 'Male') { return 'he'; } @@ -6386,6 +6355,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var Terms = _dereq_('../../paths').Terms; var _toNegative = _dereq_('./toNegative'); +var _toPositive = _dereq_('./toPositive'); var Verb = _dereq_('../verbs/verb'); var insert = _dereq_('./smartInsert'); @@ -6423,7 +6393,7 @@ var Sentence = function (_Terms) { return this; } - //returns a Term object + /** find the first important verbPhrase. returns a Term object */ }, { key: 'mainVerb', @@ -6485,8 +6455,6 @@ var Sentence = function (_Terms) { value: function isNegative() { return this.match('#Negative').list.length === 1; } - /** negate the main/first copula*/ - }, { key: 'toNegative', value: function toNegative() { @@ -6498,9 +6466,14 @@ var Sentence = function (_Terms) { }, { key: 'toPositive', value: function toPositive() { - this.match('#Negative').first().delete(); - return this; + if (!this.isNegative()) { + return this; + } + return _toPositive(this); } + + /** smarter insert methods*/ + }, { key: 'append', value: function append(str) { @@ -6511,6 +6484,9 @@ var Sentence = function (_Terms) { value: function prepend(str) { return insert.prepend(this, str); } + + /** punctuation */ + }, { key: 'setPunctuation', value: function setPunctuation(punct) { @@ -6528,8 +6504,7 @@ var Sentence = function (_Terms) { }, { key: 'isPassive', value: function isPassive() { - //haha - return this.match('was #Adverb? #PastTense #Adverb? by').found; + return this.match('was #Adverb? #PastTense #Adverb? by').found; //haha } }]); @@ -6538,7 +6513,7 @@ var Sentence = function (_Terms) { module.exports = Sentence; -},{"../../paths":56,"../verbs/verb":151,"./smartInsert":112,"./toNegative":114}],112:[function(_dereq_,module,exports){ +},{"../../paths":56,"../verbs/verb":152,"./smartInsert":112,"./toNegative":114,"./toPositive":115}],112:[function(_dereq_,module,exports){ 'use strict'; //sticking words at the start sentence-sensitive @@ -6662,6 +6637,32 @@ module.exports = toNegative; },{}],115:[function(_dereq_,module,exports){ 'use strict'; +//ie. john never walks -> john always walks +//nobody/noone are ambiguous logically (somebody? / everybody?) + +var logical = { + 'never': 'always', + 'nothing': 'everything' +}; + +var toPositive = function toPositive(ts) { + var m = ts.match('(never|nothing)').first(); + if (m.found) { + var str = m.out('normal'); + if (logical[str]) { + ts = ts.match(str).replaceWith(logical[str]).list[0]; + return ts.parentTerms; + } + } + //otherwise just remove 'not' + ts.delete('#Negative'); + return ts; +}; +module.exports = toPositive; + +},{}],116:[function(_dereq_,module,exports){ +'use strict'; + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -6708,7 +6709,7 @@ var Terms = function (_Text) { module.exports = Terms; -},{"../../index":44,"./term":116}],116:[function(_dereq_,module,exports){ +},{"../../index":44,"./term":117}],117:[function(_dereq_,module,exports){ 'use strict'; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -6776,7 +6777,7 @@ var Term = function (_Terms) { module.exports = Term; -},{"../../paths":56}],117:[function(_dereq_,module,exports){ +},{"../../paths":56}],118:[function(_dereq_,module,exports){ 'use strict'; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -6829,7 +6830,7 @@ var Things = function (_Text) { module.exports = Things; -},{"../../index":44}],118:[function(_dereq_,module,exports){ +},{"../../index":44}],119:[function(_dereq_,module,exports){ 'use strict'; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -6877,7 +6878,7 @@ var Urls = function (_Text) { module.exports = Urls; -},{"../../index":44}],119:[function(_dereq_,module,exports){ +},{"../../index":44}],120:[function(_dereq_,module,exports){ 'use strict'; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -7001,7 +7002,7 @@ Values.prototype.clone = function () { }; module.exports = Values; -},{"../../index":44,"./value":131}],120:[function(_dereq_,module,exports){ +},{"../../index":44,"./value":132}],121:[function(_dereq_,module,exports){ 'use strict'; var toNumber = _dereq_('../toNumber'); @@ -7036,12 +7037,12 @@ var numOrdinal = function numOrdinal(ts) { module.exports = numOrdinal; -},{"../toNumber":126}],121:[function(_dereq_,module,exports){ +},{"../toNumber":127}],122:[function(_dereq_,module,exports){ 'use strict'; module.exports = _dereq_('../../paths'); -},{"../../paths":56}],122:[function(_dereq_,module,exports){ +},{"../../paths":56}],123:[function(_dereq_,module,exports){ 'use strict'; var toNumber = _dereq_('../toNumber'); @@ -7059,7 +7060,7 @@ var textOrdinal = function textOrdinal(ts) { module.exports = textOrdinal; -},{"../../../paths":56,"../toNumber":126,"../toText":130}],123:[function(_dereq_,module,exports){ +},{"../../../paths":56,"../toNumber":127,"../toText":131}],124:[function(_dereq_,module,exports){ 'use strict'; var niceNumber = function niceNumber(num) { @@ -7078,7 +7079,7 @@ var niceNumber = function niceNumber(num) { }; module.exports = niceNumber; -},{}],124:[function(_dereq_,module,exports){ +},{}],125:[function(_dereq_,module,exports){ 'use strict'; var p = _dereq_('../paths'); @@ -7097,7 +7098,7 @@ module.exports = { multiples: multiples }; -},{"../paths":121}],125:[function(_dereq_,module,exports){ +},{"../paths":122}],126:[function(_dereq_,module,exports){ 'use strict'; //support global multipliers, like 'half-million' by doing 'million' then multiplying by 0.5 @@ -7126,7 +7127,7 @@ var findModifiers = function findModifiers(str) { module.exports = findModifiers; -},{}],126:[function(_dereq_,module,exports){ +},{}],127:[function(_dereq_,module,exports){ 'use strict'; var parseNumeric = _dereq_('./parseNumeric'); @@ -7284,7 +7285,7 @@ var parse = function parse(ts) { module.exports = parse; -},{"../paths":121,"./data":124,"./findModifiers":125,"./parseDecimals":127,"./parseNumeric":128,"./validate":129}],127:[function(_dereq_,module,exports){ +},{"../paths":122,"./data":125,"./findModifiers":126,"./parseDecimals":128,"./parseNumeric":129,"./validate":130}],128:[function(_dereq_,module,exports){ 'use strict'; var words = _dereq_('./data'); @@ -7311,7 +7312,7 @@ var parseDecimals = function parseDecimals(arr) { module.exports = parseDecimals; -},{"./data":124}],128:[function(_dereq_,module,exports){ +},{"./data":125}],129:[function(_dereq_,module,exports){ 'use strict'; //parse a string like "4,200.1" into Number 4200.1 @@ -7334,7 +7335,7 @@ var parseNumeric = function parseNumeric(str) { module.exports = parseNumeric; -},{}],129:[function(_dereq_,module,exports){ +},{}],130:[function(_dereq_,module,exports){ 'use strict'; var words = _dereq_('./data'); @@ -7358,7 +7359,7 @@ var isValid = function isValid(w, has) { }; module.exports = isValid; -},{"./data":124}],130:[function(_dereq_,module,exports){ +},{"./data":125}],131:[function(_dereq_,module,exports){ 'use strict'; // turns an integer/float into a textual number, like 'fifty-five' @@ -7457,7 +7458,7 @@ module.exports = to_text; // console.log(to_text(-1000.8)); -},{}],131:[function(_dereq_,module,exports){ +},{}],132:[function(_dereq_,module,exports){ 'use strict'; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -7653,7 +7654,7 @@ Value.prototype.clone = function () { }; module.exports = Value; -},{"../../paths":56,"./numOrdinal":120,"./textOrdinal":122,"./toNiceNumber":123,"./toNumber":126,"./toText":130}],132:[function(_dereq_,module,exports){ +},{"../../paths":56,"./numOrdinal":121,"./textOrdinal":123,"./toNiceNumber":124,"./toNumber":127,"./toText":131}],133:[function(_dereq_,module,exports){ 'use strict'; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -7813,7 +7814,7 @@ var Verbs = function (_Text) { module.exports = Verbs; -},{"../../index":44,"./verb":151}],133:[function(_dereq_,module,exports){ +},{"../../index":44,"./verb":152}],134:[function(_dereq_,module,exports){ 'use strict'; var predict = _dereq_('./methods/predict'); @@ -7916,7 +7917,7 @@ var interpret = function interpret(ts) { }; module.exports = interpret; -},{"./methods/predict":145}],134:[function(_dereq_,module,exports){ +},{"./methods/predict":146}],135:[function(_dereq_,module,exports){ 'use strict'; var checkIrregulars = _dereq_('./irregulars'); @@ -7996,7 +7997,7 @@ var conjugate = function conjugate(t, verbose) { module.exports = conjugate; -},{"../predict":145,"../toInfinitive":148,"./generic":137,"./irregulars":139,"./suffixes":140,"./toActor":141,"./toAdjective":142,"./toBe":143}],135:[function(_dereq_,module,exports){ +},{"../predict":146,"../toInfinitive":149,"./generic":138,"./irregulars":140,"./suffixes":141,"./toActor":142,"./toAdjective":143,"./toBe":144}],136:[function(_dereq_,module,exports){ 'use strict'; module.exports = [{ @@ -8164,7 +8165,7 @@ module.exports = [{ } }]; -},{}],136:[function(_dereq_,module,exports){ +},{}],137:[function(_dereq_,module,exports){ 'use strict'; var checkIrregulars = _dereq_('./irregulars'); @@ -8204,7 +8205,7 @@ var fasterConjugate = function fasterConjugate(inf) { module.exports = fasterConjugate; // console.log(fasterConjugate('walk')); -},{"./generic":137,"./irregulars":139,"./suffixes":140}],137:[function(_dereq_,module,exports){ +},{"./generic":138,"./irregulars":140,"./suffixes":141}],138:[function(_dereq_,module,exports){ 'use strict'; //non-specifc, 'hail-mary' transforms from infinitive, into other forms @@ -8249,7 +8250,7 @@ var generic = { module.exports = generic; -},{"../../../../../fns":40}],138:[function(_dereq_,module,exports){ +},{"../../../../../fns":40}],139:[function(_dereq_,module,exports){ 'use strict'; var conjugate = _dereq_('./conjugate'); @@ -8317,7 +8318,7 @@ var multiWord = function multiWord(vb, verbose) { }; module.exports = multiWord; -},{"./conjugate":134,"./toBe":143}],139:[function(_dereq_,module,exports){ +},{"./conjugate":135,"./toBe":144}],140:[function(_dereq_,module,exports){ 'use strict'; var irregulars = _dereq_('../../../../../data').irregular_verbs; @@ -8348,7 +8349,7 @@ var checkIrregulars = function checkIrregulars(str) { module.exports = checkIrregulars; // console.log(checkIrregulars('bit')); -},{"../../../../../data":8}],140:[function(_dereq_,module,exports){ +},{"../../../../../data":8}],141:[function(_dereq_,module,exports){ 'use strict'; var rules = _dereq_('./data/rules'); @@ -8381,7 +8382,7 @@ var suffixPass = function suffixPass(inf) { module.exports = suffixPass; -},{"./data/rules":135}],141:[function(_dereq_,module,exports){ +},{"./data/rules":136}],142:[function(_dereq_,module,exports){ 'use strict'; //turn 'walk' into 'walker' @@ -8446,7 +8447,7 @@ var toActor = function toActor(inf) { module.exports = toActor; -},{}],142:[function(_dereq_,module,exports){ +},{}],143:[function(_dereq_,module,exports){ 'use strict'; //turn a infinitiveVerb, like "walk" into an adjective like "walkable" @@ -8500,7 +8501,7 @@ var toAdjective = function toAdjective(str) { module.exports = toAdjective; // console.log(toAdjective('buy')); -},{}],143:[function(_dereq_,module,exports){ +},{}],144:[function(_dereq_,module,exports){ 'use strict'; //too many special cases for is/was/will be @@ -8532,7 +8533,7 @@ var toBe = function toBe(isPlural, isNegative) { }; module.exports = toBe; -},{}],144:[function(_dereq_,module,exports){ +},{}],145:[function(_dereq_,module,exports){ 'use strict'; //sometimes you can tell if a verb is plural/singular, just by the verb // i am / we were @@ -8559,7 +8560,7 @@ var isPlural = function isPlural(vb) { }; module.exports = isPlural; -},{}],145:[function(_dereq_,module,exports){ +},{}],146:[function(_dereq_,module,exports){ 'use strict'; var fns = _dereq_('../../../../../fns'); //jaja! @@ -8604,7 +8605,7 @@ var predictForm = function predictForm(term, verbose) { module.exports = predictForm; -},{"../../../../../fns":40,"./suffix_rules":146}],146:[function(_dereq_,module,exports){ +},{"../../../../../fns":40,"./suffix_rules":147}],147:[function(_dereq_,module,exports){ 'use strict'; //suffix signals for verb tense, generated from test data @@ -8627,7 +8628,7 @@ for (var i = 0; i < l; i++) { } module.exports = suffix_rules; -},{}],147:[function(_dereq_,module,exports){ +},{}],148:[function(_dereq_,module,exports){ 'use strict'; //turn a infinitiveVerb, like "walk" into an adjective like "walkable" @@ -8680,7 +8681,7 @@ var toAdjective = function toAdjective(str) { module.exports = toAdjective; -},{}],148:[function(_dereq_,module,exports){ +},{}],149:[function(_dereq_,module,exports){ 'use strict'; //turn any verb into its infinitive form @@ -8724,7 +8725,7 @@ var toInfinitive = function toInfinitive(t) { module.exports = toInfinitive; -},{"../../../../../data":8,"../predict":145,"./rules":149}],149:[function(_dereq_,module,exports){ +},{"../../../../../data":8,"../predict":146,"./rules":150}],150:[function(_dereq_,module,exports){ 'use strict'; //rules for turning a verb into infinitive form @@ -8878,7 +8879,7 @@ var rules = { }; module.exports = rules; -},{}],150:[function(_dereq_,module,exports){ +},{}],151:[function(_dereq_,module,exports){ 'use strict'; //turns a verb negative - may not have enough information to do it properly // (eg 'did not eat' vs 'does not eat') - needs the noun @@ -8951,7 +8952,7 @@ var toNegative = function toNegative(ts) { }; module.exports = toNegative; -},{"./methods/toInfinitive":148}],151:[function(_dereq_,module,exports){ +},{"./methods/toInfinitive":149}],152:[function(_dereq_,module,exports){ 'use strict'; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -9104,7 +9105,7 @@ var Verb = function (_Terms) { module.exports = Verb; -},{"../../paths":56,"./interpret":133,"./methods/conjugate":138,"./methods/isPlural":144,"./methods/toAdjective":147,"./toNegative":150}],152:[function(_dereq_,module,exports){ +},{"../../paths":56,"./interpret":134,"./methods/conjugate":139,"./methods/isPlural":145,"./methods/toAdjective":148,"./toNegative":151}],153:[function(_dereq_,module,exports){ //(Rule-based sentence boundary segmentation) - chop given text into its proper sentences. // Ignore periods/questions/exclamations used in acronyms/abbreviations/numbers, etc. // @spencermountain 2015 MIT @@ -9167,7 +9168,7 @@ var sentence_parser = function sentence_parser(text) { for (var _i = 0; _i < chunks.length; _i++) { //should this chunk be combined with the next one? if (chunks[_i + 1] && (chunks[_i].match(abbrev_reg) || chunks[_i].match(acronym_reg) || chunks[_i].match(elipses_reg))) { - chunks[_i + 1] = chunks[_i] + (chunks[_i + 1] || ''); //.replace(/ +/g, ' '); + chunks[_i + 1] = chunks[_i] + (chunks[_i + 1] || ''); } else if (chunks[_i] && chunks[_i].length > 0) { //this chunk is a proper sentence.. sentences.push(chunks[_i]); @@ -9184,7 +9185,7 @@ var sentence_parser = function sentence_parser(text) { module.exports = sentence_parser; // console.log(sentence_parser('john f. kennedy')); -},{"../data/index":8,"./paths":56}],153:[function(_dereq_,module,exports){ +},{"../data/index":8,"./paths":56}],154:[function(_dereq_,module,exports){ 'use strict'; //used for pretty-printing on the server-side @@ -9202,7 +9203,7 @@ module.exports = Object.keys(colors).reduce(function (h, c) { return h; }, {}); -},{}],154:[function(_dereq_,module,exports){ +},{}],155:[function(_dereq_,module,exports){ 'use strict'; //list of inconsistent parts-of-speech @@ -9253,7 +9254,7 @@ module.exports = find; // console.log(find('Person')); -},{}],155:[function(_dereq_,module,exports){ +},{}],156:[function(_dereq_,module,exports){ 'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; @@ -9331,7 +9332,7 @@ module.exports = build(); // console.log(all.Duration); // console.log(all_children(tree['NounPhrase'])); -},{"./conflicts":154,"./tree":156}],156:[function(_dereq_,module,exports){ +},{"./conflicts":155,"./tree":157}],157:[function(_dereq_,module,exports){ "use strict"; //the POS tags we use, according to their dependencies @@ -9434,7 +9435,7 @@ module.exports = { Quotation: true }; -},{}],157:[function(_dereq_,module,exports){ +},{}],158:[function(_dereq_,module,exports){ 'use strict'; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -9520,23 +9521,22 @@ Term = _dereq_('./methods/punctuation')(Term); module.exports = Term; -},{"./makeUID":158,"./methods/case":159,"./methods/isA":160,"./methods/normalize":161,"./methods/out":165,"./methods/punctuation":167,"./methods/tag":168,"./paths":172,"./whitespace":173}],158:[function(_dereq_,module,exports){ +},{"./makeUID":159,"./methods/case":160,"./methods/isA":161,"./methods/normalize":162,"./methods/out":166,"./methods/punctuation":168,"./methods/tag":169,"./paths":173,"./whitespace":174}],159:[function(_dereq_,module,exports){ 'use strict'; - //this is a not-well-thought-out way to reduce our dependence on `object===object` reference stuff //generates a unique id for this term //may need to change when the term really-transforms? not sure. var uid = function uid(str) { - return str + '-xxxxxxxx'.replace(/x/g, function (c) { - var r = Math.random() * 16 | 0; - var v = c === 'x' ? r : r & 0x3 | 0x8; - return v.toString(16); - }); + var nums = ''; + for (var i = 0; i < 5; i++) { + nums += parseInt(Math.random() * 9, 10); + } + return str + '-' + nums; }; module.exports = uid; -},{}],159:[function(_dereq_,module,exports){ +},{}],160:[function(_dereq_,module,exports){ 'use strict'; var addMethods = function addMethods(Term) { @@ -9560,16 +9560,8 @@ var addMethods = function addMethods(Term) { this.tagAs('#TitleCase', 'toTitleCase'); return this; }, - toCamelCase: function toCamelCase() { - this.toTitleCase(); - var i = this.index(); - if (i !== 0) { - this.whitespace.before = ''; - } - // this.whitespace.after = ''; - this.tagAs('#CamelCase', 'toCamelCase'); - return this; - }, + //(camelCase() is handled in `./terms` ) + /** is it titlecased because it deserves it? Like a person's name? */ needsTitleCase: function needsTitleCase() { var titleCases = ['Person', 'Place', 'Organization', 'Acronym', 'UpperCase', 'Currency', 'RomanNumeral', 'Month', 'WeekDay', 'Holiday', 'Demonym']; @@ -9598,7 +9590,7 @@ var addMethods = function addMethods(Term) { module.exports = addMethods; -},{}],160:[function(_dereq_,module,exports){ +},{}],161:[function(_dereq_,module,exports){ 'use strict'; var addMethods = function addMethods(Term) { @@ -9659,7 +9651,7 @@ var addMethods = function addMethods(Term) { module.exports = addMethods; -},{}],161:[function(_dereq_,module,exports){ +},{}],162:[function(_dereq_,module,exports){ 'use strict'; var addNormal = _dereq_('./normalize').addNormal; @@ -9683,7 +9675,7 @@ var addMethods = function addMethods(Term) { module.exports = addMethods; -},{"./normalize":162,"./root":163}],162:[function(_dereq_,module,exports){ +},{"./normalize":163,"./root":164}],163:[function(_dereq_,module,exports){ 'use strict'; var killUnicode = _dereq_('./unicode'); @@ -9727,7 +9719,7 @@ exports.addNormal = function (term) { // console.log(normalize('Dr. V Cooper')); -},{"./unicode":164}],163:[function(_dereq_,module,exports){ +},{"./unicode":165}],164:[function(_dereq_,module,exports){ 'use strict'; // @@ -9744,7 +9736,7 @@ var rootForm = function rootForm(term) { module.exports = rootForm; -},{}],164:[function(_dereq_,module,exports){ +},{}],165:[function(_dereq_,module,exports){ 'use strict'; //a hugely-ignorant, and widely subjective transliteration of latin, cryllic, greek unicode characters to english ascii. //approximate visual (not semantic or phonetic) relationship between unicode and ascii characters @@ -9802,7 +9794,7 @@ var killUnicode = function killUnicode(str) { module.exports = killUnicode; // console.log(fixUnicode('bjŏȒk')); -},{}],165:[function(_dereq_,module,exports){ +},{}],166:[function(_dereq_,module,exports){ 'use strict'; var renderHtml = _dereq_('./renderHtml'); @@ -9867,7 +9859,7 @@ var addMethods = function addMethods(Term) { module.exports = addMethods; -},{"../../paths":172,"./renderHtml":166}],166:[function(_dereq_,module,exports){ +},{"../../paths":173,"./renderHtml":167}],167:[function(_dereq_,module,exports){ 'use strict'; //turn xml special characters into apersand-encoding. //i'm not sure this is perfectly safe. @@ -9923,7 +9915,7 @@ var renderHtml = function renderHtml(t) { module.exports = renderHtml; -},{}],167:[function(_dereq_,module,exports){ +},{}],168:[function(_dereq_,module,exports){ 'use strict'; var addMethods = function addMethods(Term) { @@ -9976,7 +9968,7 @@ var addMethods = function addMethods(Term) { module.exports = addMethods; -},{}],168:[function(_dereq_,module,exports){ +},{}],169:[function(_dereq_,module,exports){ 'use strict'; var setTag = _dereq_('./setTag'); @@ -10019,9 +10011,9 @@ var addMethods = function addMethods(Term) { module.exports = addMethods; -},{"./paths":169,"./setTag":170,"./unTag":171}],169:[function(_dereq_,module,exports){ -arguments[4][121][0].apply(exports,arguments) -},{"../../paths":172,"dup":121}],170:[function(_dereq_,module,exports){ +},{"./paths":170,"./setTag":171,"./unTag":172}],170:[function(_dereq_,module,exports){ +arguments[4][122][0].apply(exports,arguments) +},{"../../paths":173,"dup":122}],171:[function(_dereq_,module,exports){ 'use strict'; //set a term as a particular Part-of-speech @@ -10074,7 +10066,7 @@ var tagAll = function tagAll(term, tag, reason) { module.exports = tagAll; // console.log(tagset['Person']); -},{"./paths":169,"./unTag":171}],171:[function(_dereq_,module,exports){ +},{"./paths":170,"./unTag":172}],172:[function(_dereq_,module,exports){ 'use strict'; //set a term as a particular Part-of-speech @@ -10113,7 +10105,7 @@ var unTagAll = function unTagAll(term, tag, reason) { }; module.exports = unTagAll; -},{"./paths":169}],172:[function(_dereq_,module,exports){ +},{"./paths":170}],173:[function(_dereq_,module,exports){ 'use strict'; module.exports = { @@ -10123,7 +10115,7 @@ module.exports = { tags: _dereq_('../tags') }; -},{"../data":8,"../fns":40,"../log":42,"../tags":155}],173:[function(_dereq_,module,exports){ +},{"../data":8,"../fns":40,"../log":42,"../tags":156}],174:[function(_dereq_,module,exports){ 'use strict'; //seperate the 'meat' from the trailing/leading whitespace. //works in concert with ./src/result/tokenize.js @@ -10152,7 +10144,7 @@ var build_whitespace = function build_whitespace(str) { }; module.exports = build_whitespace; -},{}],174:[function(_dereq_,module,exports){ +},{}],175:[function(_dereq_,module,exports){ 'use strict'; var Term = _dereq_('../term'); @@ -10211,7 +10203,7 @@ var fromString = function fromString(str) { }; module.exports = fromString; -},{"../term":157}],175:[function(_dereq_,module,exports){ +},{"../term":158}],176:[function(_dereq_,module,exports){ 'use strict'; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -10361,7 +10353,7 @@ Terms = _dereq_('./methods/split')(Terms); Terms = _dereq_('./methods/transform')(Terms); module.exports = Terms; -},{"./build":174,"./match":176,"./match/not":182,"./methods/delete":183,"./methods/insert":184,"./methods/loops":185,"./methods/misc":186,"./methods/out":187,"./methods/replace":188,"./methods/split":189,"./methods/tag":190,"./methods/transform":191,"./tagger":203}],176:[function(_dereq_,module,exports){ +},{"./build":175,"./match":177,"./match/not":183,"./methods/delete":184,"./methods/insert":185,"./methods/loops":186,"./methods/misc":187,"./methods/out":188,"./methods/replace":189,"./methods/split":190,"./methods/tag":191,"./methods/transform":192,"./tagger":204}],177:[function(_dereq_,module,exports){ 'use strict'; // @@ -10474,7 +10466,7 @@ var matchMethods = function matchMethods(Terms) { module.exports = matchMethods; -},{"../../result/index":44,"./lib/startHere":180,"./lib/syntax":181}],177:[function(_dereq_,module,exports){ +},{"../../result/index":44,"./lib/startHere":181,"./lib/syntax":182}],178:[function(_dereq_,module,exports){ 'use strict'; var fns = _dereq_('./paths').fns; @@ -10539,7 +10531,7 @@ var isMatch = function isMatch(term, reg, verbose) { }; module.exports = isMatch; -},{"./paths":179}],178:[function(_dereq_,module,exports){ +},{"./paths":180}],179:[function(_dereq_,module,exports){ 'use strict'; var fns = _dereq_('./paths').fns; @@ -10572,7 +10564,7 @@ var lumpMatch = function lumpMatch(term, regs, reg_i) { module.exports = lumpMatch; -},{"./paths":179}],179:[function(_dereq_,module,exports){ +},{"./paths":180}],180:[function(_dereq_,module,exports){ 'use strict'; module.exports = { @@ -10580,7 +10572,7 @@ module.exports = { log: _dereq_('../../../log') }; -},{"../../../fns":40,"../../../log":42}],180:[function(_dereq_,module,exports){ +},{"../../../fns":40,"../../../log":42}],181:[function(_dereq_,module,exports){ 'use strict'; var lumpMatch = _dereq_('./lumpMatch'); @@ -10735,7 +10727,7 @@ var startHere = function startHere(ts, startAt, regs, verbose) { module.exports = startHere; -},{"./isMatch":177,"./lumpMatch":178}],181:[function(_dereq_,module,exports){ +},{"./isMatch":178,"./lumpMatch":179}],182:[function(_dereq_,module,exports){ 'use strict'; // parse a search lookup term find the regex-like syntax in this term @@ -10824,7 +10816,7 @@ var parse_all = function parse_all(reg) { module.exports = parse_all; -},{"./paths":179}],182:[function(_dereq_,module,exports){ +},{"./paths":180}],183:[function(_dereq_,module,exports){ 'use strict'; // @@ -10926,7 +10918,7 @@ var addfns = function addfns(Terms) { module.exports = addfns; -},{"../../result/index":44,"./lib/startHere":180,"./lib/syntax":181}],183:[function(_dereq_,module,exports){ +},{"../../result/index":44,"./lib/startHere":181,"./lib/syntax":182}],184:[function(_dereq_,module,exports){ 'use strict'; var mutate = _dereq_('../mutate'); @@ -10965,7 +10957,7 @@ var deleteMethods = function deleteMethods(Terms) { module.exports = deleteMethods; -},{"../mutate":192}],184:[function(_dereq_,module,exports){ +},{"../mutate":193}],185:[function(_dereq_,module,exports){ 'use strict'; var mutate = _dereq_('../mutate'); @@ -11069,7 +11061,7 @@ var insertMethods = function insertMethods(Terms) { module.exports = insertMethods; -},{"../mutate":192}],185:[function(_dereq_,module,exports){ +},{"../mutate":193}],186:[function(_dereq_,module,exports){ 'use strict'; //these methods are simply term-methods called in a loop @@ -11101,7 +11093,7 @@ var addMethods = function addMethods(Terms) { module.exports = addMethods; -},{}],186:[function(_dereq_,module,exports){ +},{}],187:[function(_dereq_,module,exports){ 'use strict'; var miscMethods = function miscMethods(Terms) { @@ -11207,7 +11199,7 @@ var miscMethods = function miscMethods(Terms) { module.exports = miscMethods; -},{}],187:[function(_dereq_,module,exports){ +},{}],188:[function(_dereq_,module,exports){ 'use strict'; var fns = _dereq_('../paths').fns; @@ -11287,7 +11279,7 @@ var renderMethods = function renderMethods(Terms) { module.exports = renderMethods; -},{"../paths":193}],188:[function(_dereq_,module,exports){ +},{"../paths":194}],189:[function(_dereq_,module,exports){ 'use strict'; var mutate = _dereq_('../mutate'); @@ -11329,7 +11321,7 @@ var replaceMethods = function replaceMethods(Terms) { module.exports = replaceMethods; -},{"../mutate":192}],189:[function(_dereq_,module,exports){ +},{"../mutate":193}],190:[function(_dereq_,module,exports){ 'use strict'; //break apart a termlist into (before, match after) @@ -11466,7 +11458,7 @@ var splitMethods = function splitMethods(Terms) { module.exports = splitMethods; exports = splitMethods; -},{}],190:[function(_dereq_,module,exports){ +},{}],191:[function(_dereq_,module,exports){ 'use strict'; var addMethods = function addMethods(Terms) { @@ -11498,7 +11490,7 @@ var addMethods = function addMethods(Terms) { module.exports = addMethods; -},{}],191:[function(_dereq_,module,exports){ +},{}],192:[function(_dereq_,module,exports){ 'use strict'; var transforms = function transforms(Terms) { @@ -11543,7 +11535,7 @@ var transforms = function transforms(Terms) { module.exports = transforms; -},{}],192:[function(_dereq_,module,exports){ +},{}],193:[function(_dereq_,module,exports){ 'use strict'; // @@ -11587,7 +11579,7 @@ exports.insertAt = function (terms, i, needle) { return terms; }; -},{}],193:[function(_dereq_,module,exports){ +},{}],194:[function(_dereq_,module,exports){ 'use strict'; module.exports = { @@ -11598,7 +11590,7 @@ module.exports = { Term: _dereq_('../term') }; -},{"../data/index":8,"../data/lexicon":9,"../fns":40,"../log":42,"../term":157}],194:[function(_dereq_,module,exports){ +},{"../data/index":8,"../data/lexicon":9,"../fns":40,"../log":42,"../term":158}],195:[function(_dereq_,module,exports){ 'use strict'; var fixContraction = _dereq_('./fix'); @@ -11663,7 +11655,7 @@ var checkIrregulars = function checkIrregulars(ts) { }; module.exports = checkIrregulars; -},{"./fix":198}],195:[function(_dereq_,module,exports){ +},{"./fix":199}],196:[function(_dereq_,module,exports){ 'use strict'; var fixContraction = _dereq_('./fix'); @@ -11746,7 +11738,7 @@ var hardOne = function hardOne(ts) { module.exports = hardOne; -},{"./fix":198,"./split":200}],196:[function(_dereq_,module,exports){ +},{"./fix":199,"./split":201}],197:[function(_dereq_,module,exports){ 'use strict'; var fixContraction = _dereq_('./fix'); @@ -11786,7 +11778,7 @@ var easyOnes = function easyOnes(ts) { }; module.exports = easyOnes; -},{"./fix":198,"./split":200}],197:[function(_dereq_,module,exports){ +},{"./fix":199,"./split":201}],198:[function(_dereq_,module,exports){ 'use strict'; var fixContraction = _dereq_('./fix'); @@ -11825,7 +11817,7 @@ var numberRange = function numberRange(ts) { }; module.exports = numberRange; -},{"../../../term":157,"./fix":198}],198:[function(_dereq_,module,exports){ +},{"../../../term":158,"./fix":199}],199:[function(_dereq_,module,exports){ 'use strict'; var Term = _dereq_('../../../term'); @@ -11879,7 +11871,7 @@ var fixContraction = function fixContraction(ts, parts, i) { module.exports = fixContraction; -},{"../../../term":157}],199:[function(_dereq_,module,exports){ +},{"../../../term":158}],200:[function(_dereq_,module,exports){ 'use strict'; var irregulars = _dereq_('./01-irregulars'); @@ -11902,7 +11894,7 @@ var interpret = function interpret(ts) { module.exports = interpret; -},{"./01-irregulars":194,"./02-hardOne":195,"./03-easyOnes":196,"./04-numberRange":197}],200:[function(_dereq_,module,exports){ +},{"./01-irregulars":195,"./02-hardOne":196,"./03-easyOnes":197,"./04-numberRange":198}],201:[function(_dereq_,module,exports){ 'use strict'; var allowed = { @@ -11946,7 +11938,7 @@ var splitContraction = function splitContraction(t) { }; module.exports = splitContraction; -},{}],201:[function(_dereq_,module,exports){ +},{}],202:[function(_dereq_,module,exports){ 'use strict'; var log = _dereq_('../paths').log; @@ -12053,7 +12045,7 @@ var corrections = function corrections(r) { module.exports = corrections; -},{"../paths":208,"./verb_corrections":202}],202:[function(_dereq_,module,exports){ +},{"../paths":209,"./verb_corrections":203}],203:[function(_dereq_,module,exports){ 'use strict'; var corrections = function corrections(r) { @@ -12079,7 +12071,7 @@ var corrections = function corrections(r) { }; module.exports = corrections; -},{}],203:[function(_dereq_,module,exports){ +},{}],204:[function(_dereq_,module,exports){ 'use strict'; //the steps and processes of pos-tagging @@ -12102,7 +12094,6 @@ var step = { date_step: _dereq_('./steps/08-date_step'), auxillary_step: _dereq_('./steps/09-auxillary_step'), negation_step: _dereq_('./steps/10-negation_step'), - adverb_step: _dereq_('./steps/11-adverb_step'), phrasal_step: _dereq_('./steps/12-phrasal_step'), comma_step: _dereq_('./steps/13-comma_step'), possessive_step: _dereq_('./steps/14-possessive_step'), @@ -12131,7 +12122,6 @@ var tagger = function tagger(ts) { ts = step.date_step(ts); ts = step.auxillary_step(ts); ts = step.negation_step(ts); - // ts = step.adverb_step(ts); ts = step.phrasal_step(ts); ts = step.comma_step(ts); ts = step.possessive_step(ts); @@ -12153,7 +12143,7 @@ var tagger = function tagger(ts) { module.exports = tagger; -},{"./contraction":199,"./corrections":201,"./lumper/lexicon_lump":205,"./lumper/lump_three":206,"./lumper/lump_two":207,"./phrase":210,"./steps/01-punctuation_step":211,"./steps/02-lexicon_step":212,"./steps/03-capital_step":213,"./steps/04-web_step":214,"./steps/05-suffix_step":215,"./steps/06-neighbour_step":216,"./steps/07-noun_fallback":217,"./steps/08-date_step":218,"./steps/09-auxillary_step":219,"./steps/10-negation_step":220,"./steps/11-adverb_step":221,"./steps/12-phrasal_step":222,"./steps/13-comma_step":223,"./steps/14-possessive_step":224,"./steps/15-value_step":225,"./steps/16-acronym_step":226,"./steps/17-emoji_step":227,"./steps/18-person_step":228,"./steps/19-quotation_step":229,"./steps/20-organization_step":230,"./steps/21-plural_step":231}],204:[function(_dereq_,module,exports){ +},{"./contraction":200,"./corrections":202,"./lumper/lexicon_lump":206,"./lumper/lump_three":207,"./lumper/lump_two":208,"./phrase":211,"./steps/01-punctuation_step":212,"./steps/02-lexicon_step":213,"./steps/03-capital_step":214,"./steps/04-web_step":215,"./steps/05-suffix_step":216,"./steps/06-neighbour_step":217,"./steps/07-noun_fallback":218,"./steps/08-date_step":219,"./steps/09-auxillary_step":220,"./steps/10-negation_step":221,"./steps/12-phrasal_step":222,"./steps/13-comma_step":223,"./steps/14-possessive_step":224,"./steps/15-value_step":225,"./steps/16-acronym_step":226,"./steps/17-emoji_step":227,"./steps/18-person_step":228,"./steps/19-quotation_step":229,"./steps/20-organization_step":230,"./steps/21-plural_step":231}],205:[function(_dereq_,module,exports){ 'use strict'; var paths = _dereq_('../paths'); @@ -12187,7 +12177,7 @@ var combine = function combine(s, i) { module.exports = combine; -},{"../paths":208}],205:[function(_dereq_,module,exports){ +},{"../paths":209}],206:[function(_dereq_,module,exports){ 'use strict'; //check for "united" + "kingdom" in lexicon, and combine + tag it @@ -12263,7 +12253,7 @@ var lexicon_lump = function lexicon_lump(ts) { module.exports = lexicon_lump; -},{"../paths":208,"./combine":204}],206:[function(_dereq_,module,exports){ +},{"../paths":209,"./combine":205}],207:[function(_dereq_,module,exports){ 'use strict'; var log = _dereq_('../paths').log; @@ -12309,7 +12299,7 @@ var lump_three = function lump_three(s) { module.exports = lump_three; -},{"../paths":208,"./combine":204}],207:[function(_dereq_,module,exports){ +},{"../paths":209,"./combine":205}],208:[function(_dereq_,module,exports){ 'use strict'; var log = _dereq_('../paths').log; @@ -12383,12 +12373,12 @@ var lump_two = function lump_two(s) { module.exports = lump_two; -},{"../paths":208,"./combine":204}],208:[function(_dereq_,module,exports){ +},{"../paths":209,"./combine":205}],209:[function(_dereq_,module,exports){ 'use strict'; module.exports = _dereq_('../paths'); -},{"../paths":193}],209:[function(_dereq_,module,exports){ +},{"../paths":194}],210:[function(_dereq_,module,exports){ 'use strict'; // @@ -12426,7 +12416,7 @@ var conditionPass = function conditionPass(r) { module.exports = conditionPass; -},{}],210:[function(_dereq_,module,exports){ +},{}],211:[function(_dereq_,module,exports){ 'use strict'; var conditionPass = _dereq_('./00-conditionPass'); @@ -12444,7 +12434,7 @@ var phraseTag = function phraseTag(Text) { module.exports = phraseTag; -},{"./00-conditionPass":209}],211:[function(_dereq_,module,exports){ +},{"./00-conditionPass":210}],212:[function(_dereq_,module,exports){ 'use strict'; var log = _dereq_('../paths').log; @@ -12508,7 +12498,7 @@ var punctuation_step = function punctuation_step(ts) { module.exports = punctuation_step; -},{"../paths":208,"./data/punct_rules":236}],212:[function(_dereq_,module,exports){ +},{"../paths":209,"./data/punct_rules":236}],213:[function(_dereq_,module,exports){ 'use strict'; var p = _dereq_('../paths'); @@ -12577,7 +12567,7 @@ var lexicon_pass = function lexicon_pass(ts) { module.exports = lexicon_pass; -},{"../contraction/split":200,"../paths":208}],213:[function(_dereq_,module,exports){ +},{"../contraction/split":201,"../paths":209}],214:[function(_dereq_,module,exports){ 'use strict'; //titlecase is a signal for a noun @@ -12607,7 +12597,7 @@ var capital_logic = function capital_logic(s) { module.exports = capital_logic; -},{"../paths":208}],214:[function(_dereq_,module,exports){ +},{"../paths":209}],215:[function(_dereq_,module,exports){ 'use strict'; //identify urls, hashtags, @mentions, emails @@ -12677,7 +12667,7 @@ var web_pass = function web_pass(terms) { module.exports = web_pass; -},{"../paths":208}],215:[function(_dereq_,module,exports){ +},{"../paths":209}],216:[function(_dereq_,module,exports){ 'use strict'; var log = _dereq_('../paths').log; @@ -12704,7 +12694,7 @@ var suffix_step = function suffix_step(s) { module.exports = suffix_step; -},{"../paths":208,"./data/word_rules":237}],216:[function(_dereq_,module,exports){ +},{"../paths":209,"./data/word_rules":237}],217:[function(_dereq_,module,exports){ 'use strict'; var markov = _dereq_('./data/neighbours'); @@ -12764,7 +12754,7 @@ var neighbour_step = function neighbour_step(ts) { module.exports = neighbour_step; -},{"../paths":208,"./data/neighbours":234}],217:[function(_dereq_,module,exports){ +},{"../paths":209,"./data/neighbours":234}],218:[function(_dereq_,module,exports){ 'use strict'; var log = _dereq_('../paths').log; @@ -12817,7 +12807,7 @@ var noun_fallback = function noun_fallback(s) { module.exports = noun_fallback; -},{"../paths":208}],218:[function(_dereq_,module,exports){ +},{"../paths":209}],219:[function(_dereq_,module,exports){ 'use strict'; var log = _dereq_('../paths').log; @@ -12957,7 +12947,7 @@ var datePass = function datePass(ts) { module.exports = datePass; -},{"../paths":208}],219:[function(_dereq_,module,exports){ +},{"../paths":209}],220:[function(_dereq_,module,exports){ 'use strict'; var log = _dereq_('../paths').log; @@ -12998,7 +12988,7 @@ var corrections = function corrections(ts) { module.exports = corrections; -},{"../paths":208}],220:[function(_dereq_,module,exports){ +},{"../paths":209}],221:[function(_dereq_,module,exports){ 'use strict'; var log = _dereq_('../paths').log; @@ -13028,53 +13018,7 @@ var negation_step = function negation_step(ts) { module.exports = negation_step; -},{"../paths":208}],221:[function(_dereq_,module,exports){ -'use strict'; - -var log = _dereq_('../paths').log; -var path = 'tagger/adverb'; - -//adverbs can be for verbs or nouns -var adverb_step = function adverb_step(ts) { - log.here(path); - for (var i = 0; i < ts.length; i++) { - var t = ts.get(i); - if (t.tag.Adverb) { - //find the next verb/adjective - for (var o = 0; o < 7; o++) { - //look forward first - var after = ts.get(i + o); - if (after) { - if (after.tag.Verb) { - t.tagAs('VerbPhrase', 'adverb-verb'); - break; - } - if (after.tag.Adjective) { - t.tagAs('AdjectivePhrase', 'adverb-adj'); - break; - } - } - //look before the adverb now - var before = ts.get(i - o); - if (before) { - if (before.tag.Verb) { - t.tagAs('VerbPhrase', 'verb-adverb'); - break; - } - if (before.tag.Adjective) { - t.tagAs('AdjectivePhrase', 'adj-adverb'); - break; - } - } - } - } - } - return ts; -}; - -module.exports = adverb_step; - -},{"../paths":208}],222:[function(_dereq_,module,exports){ +},{"../paths":209}],222:[function(_dereq_,module,exports){ 'use strict'; var log = _dereq_('../paths').log; @@ -13134,7 +13078,7 @@ var phrasals_step = function phrasals_step(ts) { module.exports = phrasals_step; -},{"../../../result/subset/verbs/methods/toInfinitive/index.js":148,"../paths":208,"./data/phrasal_verbs":235}],223:[function(_dereq_,module,exports){ +},{"../../../result/subset/verbs/methods/toInfinitive/index.js":149,"../paths":209,"./data/phrasal_verbs":235}],223:[function(_dereq_,module,exports){ 'use strict'; //-types of comma-use- // PlaceComma - Hollywood, California @@ -13365,7 +13309,7 @@ var value_step = function value_step(ts) { module.exports = value_step; -},{"../paths":208}],226:[function(_dereq_,module,exports){ +},{"../paths":209}],226:[function(_dereq_,module,exports){ 'use strict'; 'use strict'; @@ -13384,7 +13328,7 @@ var acronym_step = function acronym_step(ts) { module.exports = acronym_step; -},{"../paths":208}],227:[function(_dereq_,module,exports){ +},{"../paths":209}],227:[function(_dereq_,module,exports){ 'use strict'; var fns = _dereq_('../paths').fns; @@ -13440,7 +13384,7 @@ var emojiStep = function emojiStep(ts) { }; module.exports = emojiStep; -},{"../paths":208,"./data/emoji_regex":232,"./data/emoticon_list":233}],228:[function(_dereq_,module,exports){ +},{"../paths":209,"./data/emoji_regex":232,"./data/emoticon_list":233}],228:[function(_dereq_,module,exports){ 'use strict'; var log = _dereq_('../paths').log; @@ -13530,7 +13474,7 @@ var person_step = function person_step(ts) { module.exports = person_step; -},{"../paths":208}],229:[function(_dereq_,module,exports){ +},{"../paths":209}],229:[function(_dereq_,module,exports){ 'use strict'; var log = _dereq_('../paths').log; @@ -13566,14 +13510,12 @@ var quotation_step = function quotation_step(ts) { }; module.exports = quotation_step; -},{"../paths":208}],230:[function(_dereq_,module,exports){ +},{"../paths":209}],230:[function(_dereq_,module,exports){ 'use strict'; var log = _dereq_('../paths').log; var path = 'tagger/organization_step'; -var cantBe = ['Verb', 'Pronoun', 'Determiner', 'Adverb', 'Possessive', 'Conjunction', 'Preposition', 'Adjective', 'QuestionWord', 'Value', 'Negative', 'Comma']; - //orgwords like 'bank' in 'Foo Bank' var orgWords = _dereq_('../paths').data.orgWords; orgWords = orgWords.reduce(function (h, str) { @@ -13626,7 +13568,7 @@ var organization_step = function organization_step(ts) { }; module.exports = organization_step; -},{"../paths":208}],231:[function(_dereq_,module,exports){ +},{"../paths":209}],231:[function(_dereq_,module,exports){ 'use strict'; var log = _dereq_('../paths').log; @@ -13657,7 +13599,7 @@ var pluralStep = function pluralStep(ts) { module.exports = pluralStep; -},{"../../../result/subset/nouns/isPlural":93,"../paths":208}],232:[function(_dereq_,module,exports){ +},{"../../../result/subset/nouns/isPlural":93,"../paths":209}],232:[function(_dereq_,module,exports){ "use strict"; //yep, diff --git a/builds/compromise.min.js b/builds/compromise.min.js index ef3e07280..4ede65c84 100644 --- a/builds/compromise.min.js +++ b/builds/compromise.min.js @@ -1,8 +1,8 @@ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.nlp=e()}}(function(){var e;return function e(t,r,n){function a(o,s){if(!r[o]){if(!t[o]){var u="function"==typeof require&&require;if(!s&&u)return u(o,!0);if(i)return i(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var c=r[o]={exports:{}};t[o][0].call(c.exports,function(e){var r=t[o][1][e];return a(r?r:e)},c,c.exports,e,t,r,n)}return r[o].exports}for(var i="function"==typeof require&&require,o=0;o (http://spencermounta.in)",name:"compromise",description:"natural language processing in the browser",version:"7.0.17",main:"./builds/compromise.js",repository:{type:"git",url:"git://github.com/nlp-compromise/compromise.git"},scripts:{test:"node ./scripts/test.js",browsertest:"node ./scripts/browserTest.js",build:"node ./scripts/build.js",demo:"node ./scripts/demo.js",watch:"node ./scripts/watch.js",filesize:"node ./scripts/filesize.js",coverage:"node ./scripts/coverage.js"},files:["builds/","docs/"],dependencies:{},devDependencies:{"babel-preset-es2015":"6.9.0","babel-preset-stage-2":"^6.11.0",babelify:"7.3.0",babili:"0.0.11",browserify:"13.0.1",chalk:"^1.1.3","codacy-coverage":"^2.0.0",derequire:"^2.0.3",eslint:"^3.1.1",gaze:"^1.1.1","http-server":"0.9.0","nlp-corpus":"latest",nyc:"^8.4.0",shelljs:"^0.7.2","tap-min":"^1.1.0","tap-spec":"4.1.1",tape:"4.6.0","uglify-js":"2.7.0"},license:"MIT"}},{}],2:[function(e,t,r){"use strict";var n=e("../fns"),a={going:"easy,fore,on,out",ight:"overn,overwe,r,sl,upt",ated:"antiqu,intoxic,sophistic,unregul,unrel",rant:"aber,exube,flag,igno,vib",wing:"harro,kno,left-,right-",ted:"expec,impor,limi,spiri,talen,tes,unexpec,unpreceden",ish:"dan,fool,hell,lout,self,snobb,squeam,styl",ary:"dre,legend,necess,prim,sc,second,w,we",ite:"el,favor,fin,oppos,pet,pol,recond,tr",ely:"hom,lik,liv,lon,lov,tim,unlik",tly:"cos,ghas,ghos,nigh,sain,sprigh,unsigh",dly:"cowar,cud,frien,frien,kin,ma",ble:"a,dou,hum,nim,no,proba",rly:"bu,disorde,elde,hou,neighbo,yea",ped:"cram,pum,stereoty,stri,war",sed:"clo,disea,distres,unsupervi,u",lly:"chi,hi,jo,si,sme",per:"dap,impro,pro,su,up",ile:"fert,host,juven,mob,volat",led:"detai,disgrunt,fab,paralle,troub",ast:"e,l,p,steadf",ent:"abs,appar,b,pres",ged:"dama,deran,jag,rag",ded:"crow,guar,retar,undeci",est:"b,dishon,hon,quick",ial:"colon,impart,init,part",ter:"bet,lat,ou,ut",ond:"bey,bl,vagab",ady:"he,re,sh,ste",eal:"ether,id,r,surr",ard:"abo,awkw,stand,straightforw",ior:"jun,pr,sen,super",ale:"fem,m,upsc,wholes",ed:"advanc,belov,craz,determin,hallow,hook,inbr,justifi,nak,nuanc,sacr,subdu,unauthoriz,unrecogniz,wick",ly:"dai,earth,gris,heaven,low,meas,month,oi,prick,seem,s,ug,unru,week,wi,woman",al:"actu,coloss,glob,illeg,leg,leth,liter,loy,ov,riv,roy,univers,usu",dy:"baw,bloo,clou,gau,gid,han,mol,moo,stur,ti,tren,unti,unwiel",se:"adver,den,diver,fal,immen,inten,obe,perver,preci,profu",er:"clev,form,inn,oth,ov,she,slend,somb,togeth,und",id:"afra,hum,langu,plac,rab,sord,splend,stup,torp",re:"awa,bizar,di,enti,macab,me,seve,since,spa",en:"barr,brok,crav,op,sudd,unev,unwritt,wood",ic:"alcohol,didact,gener,hispan,organ,publ,symbol",ny:"ma,pho,pu,shi,skin,ti,za",st:"again,mo,populi,raci,robu,uttermo",ne:"do,go,insa,obsce,picayu,sere",nd:"behi,bla,bli,profou,undergrou,wou",le:"multip,sing,so,subt,who",pt:"abru,ade,a,bankru,corru,nondescri",ty:"faul,hef,lof,mea,sal,uppi",sy:"bu,chee,lou,no,ro",ct:"abstra,exa,imperfe,inta,perfe",in:"certa,highfalut,ma,tw,va",et:"discre,secr,sovi,ups,viol",me:"part-ti,pri,sa,supre,welco",cy:"boun,fan,i,jui,spi",ry:"fur,sor,tawd,wi,w",te:"comple,concre,obsole,remo",ld:"ba,bo,go,mi",an:"deadp,republic,t,urb",ll:"a,i,overa,sti",ay:"everyd,g,gr,ok",or:"indo,maj,min,outdo",my:"foa,gloo,roo,sli",ck:"ba,qua,si,sli",rt:"cove,expe,hu,ove",ul:"fo,gainf,helpf,painf"},i=["ablaze","above","adult","ahead","aloof","arab","asleep","average","backwards","bad","blank","bogus","bottom","brisk","cagey","chief","civil","common","complex","cozy","crisp","devout","difficult","due","dumb","eerie","evil","excess","extra","fake","far","faux","fierce ","final","fit","foreign","fun","good","goofy","gratis","grey","groovy","gross","half","huge","humdrum","inside","kaput","left","level","lewd","magenta","makeshift","mammoth","medium","modern","moot","naive","nearby","next","nonstop","north","notable","offbeat","ok","online","offline","outside","overwrought","premium","pricey","pro","quaint","random","rear","rebel","ritzy","savvy","sexy","shut","shy","sleek","smug","solemn","south","stark","superb","taboo","teenage","top","tranquil","true","ultra","understood","unfair","unknown","upbeat","upstairs","vanilla","various","widespread","woozy","wrong"];t.exports=n.uncompress_suffixes(i,a)},{"../fns":7}],3:[function(e,t,r){"use strict";var n=e("../fns"),a={erate:"degen,delib,desp,lit,mod",icial:"artif,benef,off,superf",ntial:"esse,influe,pote,substa",teful:"gra,ha,tas,was",stant:"con,di,in,resi",hing:"astonis,das,far-reac,refres,scat,screec,self-loat,soot",eful:"car,grac,peac,sham,us,veng",ming:"alar,cal,glea,unassu,unbeco,upco",cial:"commer,cru,finan,ra,so,spe",ure:"insec,miniat,obsc,premat,sec,s",uent:"congr,fl,freq,subseq",rate:"accu,elabo,i,sepa",ific:"horr,scient,spec,terr",rary:"arbit,contempo,cont,tempo",ntic:"authe,fra,giga,roma",nant:"domi,malig,preg,reso",nent:"emi,immi,perma,promi",iant:"brill,def,g,luxur",ging:"dama,encoura,han,lon",iate:"appropr,immed,inappropr,intermed",rect:"cor,e,incor,indi",zing:"agoni,ama,appeti,free",ine:"div,femin,genu,mascul,prist,rout",ute:"absol,ac,c,m,resol",ern:"east,north,south,st,west",tful:"deligh,doub,fre,righ,though,wis",ant:"abund,arrog,eleg,extravag,exult,hesit,irrelev,miscre,nonchal,obeis,observ,pl,pleas,redund,relev,reluct,signific,vac,verd",ing:"absorb,car,coo,liv,lov,ly,menac,perplex,shock,stand,surpris,tell,unappeal,unconvinc,unend,unsuspect,vex,want",ate:"adequ,delic,fortun,inadequ,inn,intim,legitim,priv,sed,ultim"},i=["absurd","aggressive","alert","alive","angry","attractive","awesome","beautiful","big","bitter","black","blue","bored","boring","brash","brave","brief","brown","calm","charming","cheap","check","clean","clear","close","cold","cool","cruel","curly","cute","dangerous","dear","dirty","drunk","dry","dull","eager","early","easy","efficient","empty","even","extreme","faint","fair","fanc","feeble","few","fierce","fine","firm","forgetful","formal","frail","free","full","funny","gentle","glad","glib","glad","grand","green","gruesome","handsome","happy","harsh","heavy","high","hollow","hot","hungry","impolite","important","innocent","intellegent","interesting","keen","kind","lame","large","late","lean","little","long","loud","low","lucky","lush","macho","mature","mean","meek","mellow","mundane","narrow","near","neat","new","nice","noisy","normal","odd","old","orange","pale","pink","plain","poor","proud","pure","purple","rapid","rare","raw","rich","rotten","round","rude","safe","scarce","scared","shallow","shrill","simple","slim","slow","small","smooth","solid","soon","sore","sour","square","stale","steep","strange","strict","strong","swift","tall","tame","tart","tender","tense","thin","thirsty","tired","true","vague","vast","vulgar","warm","weird","wet","wild","windy","wise","yellow","young"];t.exports=n.uncompress_suffixes(i,a)},{"../fns":7}],4:[function(e,t,r){"use strict";t.exports=["bright","broad","coarse","damp","dark","dead","deaf","deep","fast","fat","flat","fresh","great","hard","light","loose","mad","moist","quick","quiet","red","ripe","rough","sad","sharp","short","sick","smart","soft","stiff","straight","sweet","thick","tight","tough","weak","white","wide"]},{}],5:[function(e,t,r){"use strict";for(var n=["january","february","april","june","july","august","september","october","november","december","jan","feb","mar","apr","jun","jul","aug","sep","oct","nov","dec","sept","sep"],a=["monday","tuesday","wednesday","thursday","friday","saturday","sunday","mon","tues","wed","thurs","fri","sat","sun"],i=0;i<=6;i++)a.push(a[i]+"s");for(var o=["millisecond","minute","hour","day","week","month","year","decade"],s=o.length,u=0;u1});f(h,"Unit"),f(n.dates.durations,"Duration"),c(n.abbreviations);var m=n.numbers.ordinal;f(Object.keys(m.ones),"Ordinal"),f(Object.keys(m.teens),"Ordinal"),f(Object.keys(m.tens),"Ordinal"),f(Object.keys(m.multiples),"Ordinal"),m=n.numbers.cardinal,f(Object.keys(m.ones),"Cardinal"),f(Object.keys(m.teens),"Cardinal"),f(Object.keys(m.tens),"Cardinal"),f(Object.keys(m.multiples),"Cardinal"),f(Object.keys(n.numbers.prefixes),"Cardinal"),f(Object.keys(n.irregular_plurals.toPlural),"Singular"),f(Object.keys(n.irregular_plurals.toSingle),"Plural"),f(n.dates.days,"WeekDay"),f(n.dates.months,"Month"),f(n.dates.relative,"RelativeDay"),f(n.holidays,"Holiday"),f(n.professions,"Actor"),f(n.demonyms,"Demonym"),f(n.sportsTeams,"SportsTeam"),f(n.bands,"Organization"),f(n.orgWords,"Noun"),Object.keys(n.irregular_verbs).forEach(function(e){l[e]="Infinitive";var t=n.irregular_verbs[e];Object.keys(t).forEach(function(e){t[e]&&(l[t[e]]=e)});var r=u(e);Object.keys(r).forEach(function(e){r[e]&&!l[r[e]]&&(l[r[e]]=e)})}),n.verbs.forEach(function(e){var t=u(e);Object.keys(t).forEach(function(e){t[e]&&!l[t[e]]&&(l[t[e]]=e)}),l[s(e)]="Adjective"}),n.superlatives.forEach(function(e){l[o.toNoun(e)]="Noun",l[o.toAdverb(e)]="Adverb",l[o.toSuperlative(e)]="Superlative",l[o.toComparative(e)]="Comparative"}),n.verbConverts.forEach(function(e){l[o.toNoun(e)]="Noun",l[o.toAdverb(e)]="Adverb",l[o.toSuperlative(e)]="Superlative",l[o.toComparative(e)]="Comparative";var t=o.toVerb(e);l[t]="Verb";var r=u(t);Object.keys(r).forEach(function(e){r[e]&&!l[r[e]]&&(l[r[e]]=e)})}),n.nouns.forEach(function(e){l[e]="Singular";var t=i(e);l[t]="Plural"}),c(n.firstnames),f(n.notable_people.female,"FemaleName"),f(n.notable_people.male,"MaleName"),f(n.titles,"Singular"),f(n.lastnames,"LastName"),f(n.places.airports,"Place"),f(n.places.cities,"City"),f(n.places.countries,"Country"),f(n.organizations,"Organization"),f(n.adjectives,"Adjective"),f(n.verbConverts,"Adjective"),f(n.superlatives,"Adjective"),f(n.currencies,"Currency"),c(n.misc),delete l[""],delete l[" "],delete l[null],t.exports=l},{"../result/subset/adjectives/methods/index":61,"../result/subset/nouns/methods/pluralize":98,"../result/subset/verbs/methods/conjugate/faster":136,"../result/subset/verbs/methods/toAdjective":147,"./fns":7,"./index":8}],10:[function(e,t,r){"use strict";t.exports=["a lot","a posteriori","abroad","ad nauseam","again","all but","all that","almost","alone","already","also","always","anymore","anyway","apart","aside","at best","at large","at least","at most","at worst","away","by far","by now","damn","de jure","de trop","directly","en masse","ever","for example","for good","for sure","forever","further","furthermore","hence","indeed","instead","just","just about","kinda","maybe","meanwhile","more","moreover","newly","no longer","not withstanding","of course","often","once","once again","once more","only","par excellence","per se","perhaps","point blank","quite","randomly","rather","really","several","so","somehow","sometimes","somewhat","soon","sort of","such","then","thus","too","totally","toward","twice","up to","upwards of","very","way","well","yes","yep"]},{}],11:[function(e,t,r){"use strict";t.exports=["this","any","enough","each","whatever","every","these","another","plenty","whichever","neither","an","a","least","own","few","both","those","the","that","various","either","much","some","else","la","le","les","des","de","du","el"]},{}],12:[function(e,t,r){"use strict";t.exports=["uh","uhh","uhm","uh huh","uh-oh","please","plz","ugh","sheesh","eww","pff","voila","oy","hi","hello","bye","goodbye","hey","hai","eep","hurrah","yuck","ow","duh","oh","hmm","yeah","whoa","ooh","whee","ah","bah","gah","yaa","phew","gee","ahem","eek","meh","yahoo","oops","d'oh","psst","argh","grr","nah","shhh","whew","mmm","ooo","yay","uh-huh","boo","wow","nope","haha","hahaha","lol","lols","lmao","lmfao","ya","hee","ohh","eh","yup","wtf","wtaf","et cetera","fuck","shit","damn","dang","damnit","dammit","hell","a la"]},{}],13:[function(e,t,r){"use strict";for(var n={here:"Noun",better:"Comparative",earlier:"Superlative","make sure":"Verb","keep tabs":"Verb",gonna:"Verb",cannot:"Verb",has:"Verb",sounds:"PresentTense",taken:"PastTense",msg:"Verb","a few":"Value","years old":"Unit",not:"Negative",non:"Negative",never:"Negative",no:"Negative","no doubt":"Noun","not only":"Adverb","how's":"QuestionWord"},a={Adjective:["so called","on board","vice versa","en route","upside down","up front","in front","in situ","in vitro","ad hoc","de facto","ad infinitum","for keeps","a priori","off guard","spot on","ipso facto","fed up","brand new","old fashioned","bona fide","well off","far off","straight forward","hard up","sui generis","en suite","avant garde","sans serif","gung ho","super duper","bourgeois"],Verb:["lengthen","heighten","worsen","lessen","awaken","frighten","threaten","hasten","strengthen","given","known","shown","seen","born"],Place:["new england","new hampshire","new jersey","new mexico","united states","united kingdom","great britain","great lakes","pacific ocean","atlantic ocean","indian ocean","arctic ocean","antarctic ocean","everglades"],Conjunction:["yet","therefore","or","while","nor","whether","though","tho","because","cuz","but","for","and","however","before","although","how","plus","versus","otherwise"],Time:["noon","midnight","now","morning","evening","afternoon","night","breakfast time","lunchtime","dinnertime","ago","sometime","eod","oclock"],Date:["eom","standard time","daylight time"],Condition:["if","unless","notwithstanding"],PastTense:["said","had","been","began","came","did","meant","went"],Gerund:["going","being","according","resulting","developing","staining"],Copula:["is","are","was","were","am"],Determiner:e("./determiners"),Preposition:e("./prepositions"),Modal:["can","may","could","might","will","ought to","would","must","shall","should","ought","shant","lets"],Possessive:["mine","something","none","anything","anyone","theirs","himself","ours","his","my","their","yours","your","our","its","herself","hers","themselves","myself","her"],Pronoun:["it","they","i","them","you","she","me","he","him","ourselves","us","we","thou","il","elle","yourself","'em","he's","she's"],QuestionWord:["where","why","when","who","whom","whose","what","which"],Adverb:e("./adverbs"),Expression:e("./expressions"),Person:["father","mother","mom","dad","mommy","daddy","sister","brother","aunt","uncle","grandfather","grandmother","cousin","stepfather","stepmother","boy","girl","man","woman","guy","dude","bro","gentleman","someone"]},i=Object.keys(a),o=0;o1&&(a[t]=!0);var r=n[e][t];a[r]=!0,a[r+"s"]=!0})}),a=Object.keys(a),t.exports={words:a,units:n}},{}],37:[function(e,t,r){"use strict";var n=e("./participles"),a={take:{PerfectTense:"have taken",pluPerfectTense:"had taken",FuturePerfect:"will have taken"},can:{Gerund:"",PresentTense:"can",PastTense:"could",FutureTense:"can",PerfectTense:"could",pluPerfectTense:"could",FuturePerfect:"can",Actor:""},free:{Gerund:"freeing",Actor:""},arise:{PastTense:"arose",Participle:"arisen"},babysit:{PastTense:"babysat",Actor:"babysitter"},be:{PastTense:"was",Participle:"been",PresentTense:"is",Actor:"",Gerund:"am"},is:{PastTense:"was",PresentTense:"is",Actor:"",Gerund:"being"},beat:{Gerund:"beating",Actor:"beater",Participle:"beaten"},begin:{Gerund:"beginning",PastTense:"began"},ban:{PastTense:"banned",Gerund:"banning",Actor:""},bet:{Actor:"better"},bind:{PastTense:"bound"},bite:{Gerund:"biting",PastTense:"bit"},bleed:{PastTense:"bled"},break:{PastTense:"broke"},breed:{PastTense:"bred"},bring:{PastTense:"brought"},broadcast:{PastTense:"broadcast"},build:{PastTense:"built"},buy:{PastTense:"bought"},catch:{PastTense:"caught"},choose:{Gerund:"choosing",PastTense:"chose"},cost:{PastTense:"cost"},deal:{PastTense:"dealt"},die:{PastTense:"died",Gerund:"dying"},dig:{Gerund:"digging",PastTense:"dug"},do:{PastTense:"did",PresentTense:"does"},draw:{PastTense:"drew"},drink:{PastTense:"drank",Participle:"drunk"},drive:{Gerund:"driving",PastTense:"drove"},eat:{Gerund:"eating",PastTense:"ate",Actor:"eater",Participle:"eaten"},fall:{PastTense:"fell"},feed:{PastTense:"fed"},feel:{PastTense:"felt",Actor:"feeler"},fight:{PastTense:"fought"},find:{PastTense:"found"},fly:{PastTense:"flew",Participle:"flown"},blow:{PastTense:"blew",Participle:"blown"},forbid:{PastTense:"forbade"},forget:{Gerund:"forgeting",PastTense:"forgot"},forgive:{Gerund:"forgiving",PastTense:"forgave"},freeze:{Gerund:"freezing",PastTense:"froze"},get:{PastTense:"got"},give:{Gerund:"giving",PastTense:"gave"},go:{PastTense:"went",PresentTense:"goes"},hang:{PastTense:"hung"},have:{Gerund:"having",PastTense:"had",PresentTense:"has"},hear:{PastTense:"heard"},hide:{PastTense:"hid"},hold:{PastTense:"held"},hurt:{PastTense:"hurt"},lay:{PastTense:"laid"},lead:{PastTense:"led"},leave:{PastTense:"left"},lie:{Gerund:"lying",PastTense:"lay"},light:{PastTense:"lit"},lose:{Gerund:"losing",PastTense:"lost"},make:{PastTense:"made"},mean:{PastTense:"meant"},meet:{Gerund:"meeting",PastTense:"met",Actor:"meeter"},pay:{PastTense:"paid"},read:{PastTense:"read"},ring:{PastTense:"rang"},rise:{PastTense:"rose",Gerund:"rising",pluPerfectTense:"had risen",FuturePerfect:"will have risen"},run:{Gerund:"running",PastTense:"ran"},say:{PastTense:"said"},see:{PastTense:"saw"},sell:{PastTense:"sold"},shine:{PastTense:"shone"},shoot:{PastTense:"shot"},show:{PastTense:"showed"},sing:{PastTense:"sang",Participle:"sung"},sink:{PastTense:"sank",pluPerfectTense:"had sunk"},sit:{PastTense:"sat"},slide:{PastTense:"slid"},speak:{PastTense:"spoke",PerfectTense:"have spoken",pluPerfectTense:"had spoken",FuturePerfect:"will have spoken"},spin:{Gerund:"spinning",PastTense:"spun"},spread:{PastTense:"spread"},stand:{PastTense:"stood"},steal:{PastTense:"stole",Actor:"stealer"},stick:{PastTense:"stuck"},sting:{PastTense:"stung"},stream:{Actor:"streamer"},strike:{Gerund:"striking",PastTense:"struck"},swear:{PastTense:"swore"},swim:{PastTense:"swam"},swing:{PastTense:"swung"},teach:{PastTense:"taught",PresentTense:"teaches"},tear:{PastTense:"tore"},tell:{PastTense:"told"},think:{PastTense:"thought"},understand:{PastTense:"understood"},wake:{PastTense:"woke"},wear:{PastTense:"wore"},win:{Gerund:"winning",PastTense:"won"},withdraw:{PastTense:"withdrew"},write:{Gerund:"writing",PastTense:"wrote",Participle:"written"},tie:{Gerund:"tying",PastTense:"tied"},ski:{PastTense:"skiied"},boil:{Actor:"boiler"},miss:{PresentTense:"miss"},act:{Actor:"actor"},compete:{Gerund:"competing",PastTense:"competed",Actor:"competitor"},being:{Gerund:"are",PastTense:"were",PresentTense:"are"},imply:{PastTense:"implied",PresentTense:"implies"},ice:{Gerund:"icing",PastTense:"iced"},develop:{PastTense:"developed",Actor:"developer",Gerund:"developing"},wait:{Gerund:"waiting",PastTense:"waited",Actor:"waiter"},aim:{Actor:"aimer"},spill:{PastTense:"spilt"},drop:{Gerund:"dropping",PastTense:"dropped"},log:{Gerund:"logging",PastTense:"logged"},rub:{Gerund:"rubbing",PastTense:"rubbed"},smash:{PresentTense:"smashes"},suit:{Gerund:"suiting",PastTense:"suited",Actor:"suiter"}};Object.keys(n).forEach(function(e){a[e]?a[e].Participle=n[e]:a[e]={Participle:n[e]}}),t.exports=a},{"./participles":38}],38:[function(e,t,r){"use strict";t.exports={become:"become",begin:"begun",bend:"bent",bet:"bet",bite:"bitten",bleed:"bled",brake:"broken",bring:"brought",build:"built",burn:"burned",burst:"burst",buy:"bought",catch:"caught",choose:"chosen",cling:"clung",come:"come",creep:"crept",cut:"cut",deal:"dealt",dig:"dug",dive:"dived",do:"done",draw:"drawn",dream:"dreamt",drive:"driven",eat:"eaten",fall:"fallen",feed:"fed",fight:"fought",flee:"fled",fling:"flung",forget:"forgotten",forgive:"forgiven",freeze:"frozen",got:"gotten",give:"given",go:"gone",grow:"grown",hang:"hung",have:"had",hear:"heard",hide:"hidden",hit:"hit",hold:"held",hurt:"hurt",keep:"kept",kneel:"knelt",know:"known",lay:"laid",lead:"led",leap:"leapt",leave:"left",lend:"lent",light:"lit",loose:"lost",make:"made",mean:"meant",meet:"met",pay:"paid",prove:"proven",put:"put",quit:"quit",read:"read",ride:"ridden",ring:"rung",rise:"risen",run:"run",say:"said",see:"seen",seek:"sought",sell:"sold",send:"sent",set:"set",sew:"sewn",shake:"shaken",shave:"shaved",shine:"shone",shoot:"shot",shut:"shut",seat:"sat",slay:"slain",sleep:"slept",slide:"slid",sneak:"snuck",speak:"spoken",speed:"sped",spend:"spent",spill:"spilled",spin:"spun",spit:"spat",split:"split",spring:"sprung",stink:"stunk",strew:"strewn",sware:"sworn",sweep:"swept",thrive:"thrived",throw:"thrown",undergo:"undergone",upset:"upset",weave:"woven",weep:"wept",wind:"wound",wring:"wrung"}},{}],39:[function(e,t,r){"use strict";var n=e("../fns"),a={prove:",im,ap,disap",serve:",de,ob,re",ress:"exp,p,prog,st,add,d",lect:"ref,se,neg,col,e",sist:"in,con,per,re,as",tain:"ob,con,main,s,re",mble:"rese,gru,asse,stu",ture:"frac,lec,tor,fea",port:"re,sup,ex,im",ate:"rel,oper,indic,cre,h,activ,estim,particip,d,anticip,evalu",use:",ca,over,ref,acc,am,pa",ive:"l,rece,d,arr,str,surv,thr,rel",are:"prep,c,comp,sh,st,decl,d,sc",ine:"exam,imag,determ,comb,l,decl,underm,def",nce:"annou,da,experie,influe,bou,convi,enha",ain:"tr,rem,expl,dr,compl,g,str",ent:"prev,repres,r,res,rel,inv",age:"dam,mess,man,encour,eng,discour",rge:"su,cha,eme,u,me",ise:"ra,exerc,prom,surpr,pra",ect:"susp,dir,exp,def,rej",ter:"en,mat,cen,ca,al",end:",t,dep,ext,att",est:"t,sugg,prot,requ,r",ock:"kn,l,sh,bl,unl",nge:"cha,excha,ra,challe,plu",ase:"incre,decre,purch,b,ce",ish:"establ,publ,w,fin,distingu",mit:"per,ad,sub,li",ure:"fig,ens,end,meas",der:"won,consi,mur,wan",ave:"s,sh,w,cr", -ire:"requ,des,h,ret",tch:"scra,swi,ma,stre",ack:"att,l,p,cr",ion:"ment,quest,funct,envis",ump:"j,l,p,d",ide:"dec,prov,gu,s",ush:"br,cr,p,r",eat:"def,h,tr,ch",ash:"sm,spl,w,fl",rry:"ca,ma,hu,wo",ear:"app,f,b,disapp",er:"answ,rememb,off,suff,cov,discov,diff,gath,deliv,both,empow,with",le:"fi,sett,hand,sca,whist,enab,smi,ming,ru,sprink,pi",st:"exi,foreca,ho,po,twi,tru,li,adju,boa,contra,boo",it:"vis,ed,depos,sp,awa,inhib,cred,benef,prohib,inhab",nt:"wa,hu,pri,poi,cou,accou,confro,warra,pai",ch:"laun,rea,approa,sear,tou,ar,enri,atta",ss:"discu,gue,ki,pa,proce,cro,glo,dismi",ll:"fi,pu,ki,ca,ro,sme,reca,insta",rn:"tu,lea,conce,retu,bu,ea,wa,gove",ce:"redu,produ,divor,noti,for,repla",te:"contribu,uni,tas,vo,no,constitu,ci",rt:"sta,comfo,exe,depa,asse,reso,conve",ck:"su,pi,che,ki,tri,wre",ct:"intera,restri,predi,attra,depi,condu",ke:"sta,li,bra,overta,smo,disli",se:"collap,suppo,clo,rever,po,sen",nd:"mi,surrou,dema,remi,expa,comma",ve:"achie,invol,remo,lo,belie,mo",rm:"fo,perfo,confi,confo,ha",or:"lab,mirr,fav,monit,hon",ue:"arg,contin,val,iss,purs",ow:"all,foll,sn,fl,borr",ay:"pl,st,betr,displ,portr",ze:"recogni,reali,snee,ga,emphasi",ip:"cl,d,gr,sl,sk",re:"igno,sto,interfe,sco",ng:"spri,ba,belo,cli",ew:"scr,vi,revi,ch",gh:"cou,lau,outwei,wei",ly:"app,supp,re,multip",ge:"jud,acknowled,dod,alle",en:"list,happ,threat,strength",ee:"fors,agr,disagr,guarant",et:"budg,regr,mark,targ",rd:"rega,gua,rewa,affo",am:"dre,j,sl,ro",ry:"va,t,c,bu"},i=["abandon","accept","add","added","adopt","aid","appeal","applaud","archive","ask","assign","associate","assume","attempt","avoid","ban","become","bomb","cancel","claim","claw","come","control","convey","cook","copy","cut","deem","defy","deny","describe","design","destroy","die","divide","do","doubt","drag","drift","drop","echo","embody","enjoy","envy","excel","fall","fail","fix","float","flood","focus","fold","get","goes","grab","grasp","grow","happen","head","help","hold fast","hope","include","instruct","invest","join","keep","know","learn","let","lift","link","load","loan","look","make due","mark","melt","minus","multiply","name","need","occur","overcome","overlap","overwhelm","owe","pay","plan","plug","plus","pop","pour","proclaim","put","rank","reason","reckon","relax","repair","reply","reveal","revel","risk","rub","ruin","sail","seek","seem","send","set","shout","sleep","sneak","sort","spoil","stem","step","stop","study","take","talk","thank","took","trade","transfer","trap","travel","tune","undergo","undo","uplift","walk","watch","win","wipe","work","yawn","yield"];t.exports=n.uncompress_suffixes(i,a)},{"../fns":7}],40:[function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=e("./tags/colors"),i={reset:"",red:"",green:"",yellow:"",blue:"",magenta:"",cyan:"",black:""};"undefined"==typeof t&&Object.keys(i).forEach(function(e){i[e]=""}),r.isFunction=function(e){return"[object Function]"===Object.prototype.toString.call(e)},r.ensureString=function(e){return"string"==typeof e?e:"number"==typeof e?""+e:""},r.ensureObject=function(e){return"object"!==("undefined"==typeof e?"undefined":n(e))?{}:null===e||e instanceof Array?{}:e},r.endsWith=function(e,t){return!(!e||e.substr(-t.length)!==t)},r.startsWith=function(e,t){return!(!e||!t||e.substr(0,t.length)!==t)},r.titleCase=function(e){return e.charAt(0).toUpperCase()+e.substr(1)},r.flatten=function(e){var t=[];return e.forEach(function(e){t=t.concat(e)}),t},r.copy=function(e){var t={};return e=r.ensureObject(e),Object.keys(e).forEach(function(r){t[r]=e[r]}),t},r.extend=function(e,t){return e?t?(Object.keys(t).forEach(function(r){e[r]=t[r]}),e):e:t},r.green=function(e){return i.green+e+i.reset},r.red=function(e){return i.red+e+i.reset},r.blue=function(e){return i.blue+e+i.reset},r.magenta=function(e){return i.magenta+e+i.reset},r.cyan=function(e){return i.cyan+e+i.reset},r.yellow=function(e){return i.yellow+e+i.reset},r.black=function(e){return i.black+e+i.reset},r.printTag=function(e){return a[e]?r[a[e]](e):e},r.printTerm=function(e){for(var t=Object.keys(e.tag),n=0;n "+a.printTag(t),n=a.leftPad(n,54),console.log(" "+n+"("+a.cyan(r||"")+")")}},match:function(e,t){console.log(" -match- '"+e.normal+"' - "+t)},noMatch:function(e){console.log(" "+("-die '"+e.normal+"'"))}}},{"../fns":40}],43:[function(e,t,r){"use strict";var n=e("./index"),a=e("./tokenize"),i=e("./paths").Terms,o=e("../term/methods/normalize/normalize").normalize,s=e("../tags"),u=function(e){return e=e||{},Object.keys(e).reduce(function(t,r){t[r]=e[r];var n=o(r);return r!==n&&(t[n]=e[r]),t},{})},l=function(e){console.log(e),console.log(s)},c=function(e,t,r){var o=a(e);t=u(t);var s=o.map(function(e){return i.fromString(e,t)});r&&l(r);var c=new n(s,t,null,r);return c.list.forEach(function(e){e.refText=c}),c};t.exports=c},{"../tags":155,"../term/methods/normalize/normalize":162,"./index":44,"./paths":56,"./tokenize":152}],44:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=function(){function e(e,t){for(var r=0;r0}},{key:"length",get:function(){return this.list.length}},{key:"isA",get:function(){return"Text"}},{key:"parent",get:function(){return this.reference||this},set:function(e){return this.reference=e,this}},{key:"whitespace",get:function(){var e=this;return{before:function(t){return e.list.forEach(function(e){e.whitespace.before(t)}),e},after:function(t){return e.list.forEach(function(e){e.whitespace.after(t)}),e}}}}]),e}();t.exports=i,i=e("./methods/array")(i),i=e("./methods/loops")(i),i=e("./methods/match")(i),i=e("./methods/out")(i),i=e("./methods/sort")(i),i=e("./methods/split")(i),i=e("./methods/tag")(i),i=e("./methods/normalize")(i);var o={acronyms:e("./subset/acronyms"),adjectives:e("./subset/adjectives"),adverbs:e("./subset/adverbs"),clauses:e("./subset/clauses"),contractions:e("./subset/contractions"),dates:e("./subset/dates"),hashTags:e("./subset/hashTags"),nouns:e("./subset/nouns"),organizations:e("./subset/organizations"),people:e("./subset/people"),phoneNumbers:e("./subset/phoneNumbers"),places:e("./subset/places"),questions:e("./subset/sentences/questions"),quotations:e("./subset/quotations"),sentences:e("./subset/sentences"),statements:e("./subset/sentences/statements"),terms:e("./subset/terms"),topics:e("./subset/topics"),urls:e("./subset/urls"),values:e("./subset/values"),verbs:e("./subset/verbs"),ngrams:e("./subset/ngrams"),startGrams:e("./subset/ngrams/startGrams"),endGrams:e("./subset/ngrams/endGrams")};Object.keys(o).forEach(function(e){i.prototype[e]=function(t,r){var n=o[e],a=n.find(this,t,r);return new o[e](a.list,this.lexicon,this.parent)}})},{"./methods/array":45,"./methods/loops":46,"./methods/match":47,"./methods/normalize":48,"./methods/out":49,"./methods/sort":52,"./methods/split":54,"./methods/tag":55,"./subset/acronyms":57,"./subset/adjectives":59,"./subset/adverbs":67,"./subset/clauses":69,"./subset/contractions":73,"./subset/dates":75,"./subset/hashTags":85,"./subset/ngrams":89,"./subset/ngrams/endGrams":86,"./subset/ngrams/startGrams":90,"./subset/nouns":92,"./subset/organizations":101,"./subset/people":103,"./subset/phoneNumbers":105,"./subset/places":106,"./subset/quotations":108,"./subset/sentences":109,"./subset/sentences/questions":110,"./subset/sentences/statements":113,"./subset/terms":115,"./subset/topics":117,"./subset/urls":118,"./subset/values":119,"./subset/verbs":132}],45:[function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=e("../../terms"),i=function(e){var t={clone:function(){var t=this.list.map(function(e){return e.clone()});return new e(t)},term:function(t){var r=this,n=this.list.map(function(e){var n=[],i=e.terms[t];return i&&(n=[i]),new a(n,r.lexicon,r.refText,r.refTerms)});return new e(n,this.lexicon,this.parent)},firstTerm:function(){return this.match("^.")},lastTerm:function(){return this.match(".$")},slice:function(e,t){return this.list=this.list.slice(e,t),this},get:function(t){if(!t&&0!==t||!this.list[t])return new e([],this.lexicon,this.parent);var r=this.list[t];return new e([r],this.lexicon,this.parent)},first:function(t){return t||0===t?new e(this.list.slice(0,t),this.lexicon,this.parent):this.get(0)},last:function(t){if(!t&&0!==t)return this.get(this.list.length-1);var r=this.list.length,n=r-t;return new e(this.list.slice(n,r),this.lexicon,this.parent)},concat:function(){for(var e=0;e0&&(r.whitespace.before=" "),r.whitespace.after=""}),e},case:function(e){return e.terms().list.forEach(function(e,t){var r=e.terms[0];0===t||r.tag.Person||r.tag.Place||r.tag.Organization?e.toTitleCase():e.toLowerCase()}),e},numbers:function(e){return e.values().toNumber()},punctuation:function(e){return e.terms().list.forEach(function(e,t){var r=e.terms[0];t"},"");return" "+e+"\n"},terms:function(e){var t=[];return e.list.forEach(function(e){e.terms.forEach(function(e){t.push({text:e.text,normal:e.normal,tags:Object.keys(e.tag)})})}),t},debug:function(e){return console.log("===="),e.list.forEach(function(e){console.log(" --"),e.debug()}),e},topk:function(e){return n(e)}};i.plaintext=i.text,i.normalized=i.normal,i.colors=i.color,i.tags=i.terms,i.offset=i.offsets,i.frequency=i.topk,i.freq=i.topk,i.arr=i.array;var o=function(e){return e.prototype.out=function(e){return i[e]?i[e](this):i.text(this)},e.prototype.debug=function(){return i.debug(this)},e};t.exports=o},{"./offset":50,"./topk":51}],50:[function(e,t,r){"use strict";var n=function(e,t){for(var r=0,n=0;nt.count?-1:1}),t&&(n=n.splice(0,t)),n};t.exports=n},{}],52:[function(e,t,r){"use strict";var n=e("./methods"),a=function(e){var t={sort:function(t){return t=t||"alphabetical",t=t.toLowerCase(),t&&"alpha"!==t&&"alphabetical"!==t?"chron"===t||"chronological"===t?n.chron(this,e):"length"===t?n.lengthFn(this,e):"freq"===t||"frequency"===t?n.freq(this,e):"wordcount"===t?n.wordCount(this,e):this:n.alpha(this,e)},reverse:function(){return this.list=this.list.reverse(),this},unique:function(){var e={};return this.list=this.list.filter(function(t){var r=t.out("root");return!e[r]&&(e[r]=!0,!0)}),this}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=a},{"./methods":53}],53:[function(e,t,r){"use strict";var n=function(e){return e=e.sort(function(e,t){return e.index>t.index?1:e.index===t.index?0:-1}),e.map(function(e){return e.ts})};r.alpha=function(e){return e.list.sort(function(e,t){if(e===t)return 0;if(e.terms[0]&&t.terms[0]){if(e.terms[0].root>t.terms[0].root)return 1;if(e.terms[0].roott.out("root")?1:-1}),e},r.chron=function(e){var t=e.list.map(function(e){return{ts:e,index:e.termIndex()}});return e.list=n(t),e},r.lengthFn=function(e){var t=e.list.map(function(e){return{ts:e,index:e.chars()}});return e.list=n(t).reverse(),e},r.wordCount=function(e){var t=e.list.map(function(e){return{ts:e,index:e.length}});return e.list=n(t),e},r.freq=function(e){var t={};e.list.forEach(function(e){var r=e.out("root");t[r]=t[r]||0,t[r]+=1});var r=e.list.map(function(e){var r=t[e.out("root")]||0;return{ts:e,index:r*-1}});return e.list=n(r),e}},{}],54:[function(e,t,r){"use strict";var n=function(e){var t={splitAfter:function(e,t){var r=[];return this.list.forEach(function(n){n.splitAfter(e,t).forEach(function(e){r.push(e)})}),this.list=r,this},splitBefore:function(e,t){var r=[];return this.list.forEach(function(n){n.splitBefore(e,t).forEach(function(e){r.push(e)})}),this.list=r,this},splitOn:function(e,t){var r=[];return this.list.forEach(function(n){n.splitOn(e,t).forEach(function(e){r.push(e)})}),this.list=r,this}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=n},{}],55:[function(e,t,r){"use strict";var n=function(e){var t={tag:function(e,t){var r=this;return this.list.forEach(function(n){n.tagAs(e,t,r.tagSet)}),this},unTag:function(e,t){var r=this;return this.list.forEach(function(n){n.unTag(e,t,r.tagSet)}),this},canBe:function(e){var t=this;return this.list.forEach(function(r){r.terms=r.terms.filter(function(r){return r.canBe(e,t.tagSet)})}),this}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=n},{}],56:[function(e,t,r){"use strict";t.exports={fns:e("../fns"),log:e("../log"),data:e("../data"),Terms:e("../terms"),tags:e("../tags")}},{"../data":8,"../fns":40,"../log":42,"../tags":155,"../terms":175}],57:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var o=function(){function e(e,t){for(var r=0;r0)},s=function(e){return!!(e&&e>1e3&&e<3e3)},u=function(e){var t={month:null,date:null,weekday:null,year:null,knownDate:null,timeOfDay:null},r=e.match("(#Holiday|today|tomorrow|yesterday)");if(r.found&&(t.knownDate=r.out("normal")),r=e.match("#Month"),r.found&&(t.month=i.index(r.list[0].terms[0])),r=e.match("#WeekDay"),r.found&&(t.weekday=a.index(r.list[0].terms[0])),r=e.match("#Time"),r.found&&(t.timeOfDay=n(e),e.not("#Time")),r=e.match("#Month #Value #Year"),r.found){var u=r.values().numbers();o(u[0])&&(t.date=u[0]);var l=parseInt(e.match("#Year").out("normal"),10);s(l)&&(t.year=l)}if(!r.found){if(r=e.match("#Month #Value"),r.found){var c=r.values().numbers(),f=c[0];o(f)&&(t.date=f)}if(r=e.match("#Month #Year"),r.found){var h=parseInt(e.match("#Year").out("normal"),10);s(h)&&(t.year=h)}}if(r=e.match("#Value of #Month"),r.found){var m=r.values().numbers()[0];o(m)&&(t.date=m)}return t};t.exports=u},{"./month":77,"./parseTime":82,"./weekday":84}],79:[function(e,t,r){"use strict";var n={year:!0,quarter:!0,month:!0,week:!0,weekend:!0,day:!0,hour:!0},a=function(e){var t=null,r={},a=e.match("#Value #Duration (from|after|following)");return a.found?t="forward":(a=e.match("#Value #Duration (before)"),a.found&&(t="backward")),a.found&&e.match("#Value #Duration").list.forEach(function(e){var t=e.match("*").values().data()[0]||{};if(t=t.number,t||0===t){var a=e.match("#Duration").nouns().toSingular().out("normal");n[a]&&(r[a]=t)}}),{direction:t,duration:r}};t.exports=a},{}],80:[function(e,t,r){"use strict";var n={this:"this",next:"next",last:"last",upcoming:"next"},a=function(e){var t="("+Object.keys(n).join("|")+")",r=e.match(t+"+").lastTerm();if(r.found){var a=r.match(t).out("normal");return n[a]}return null};t.exports=a},{}],81:[function(e,t,r){"use strict";var n={start:"start",end:"end",middle:"middle",beginning:"start",ending:"end",midpoint:"middle",midst:"middle"},a=function(e){var t="("+Object.keys(n).join("|")+")",r=e.match("the? "+t+" of");if(r.found){var a=r.match(t).out("normal");return n[a]}return null};t.exports=a},{}],82:[function(e,t,r){"use strict";var n=function(e){return!!(e&&e>0&&e<25)},a=function(e){return!!(e&&e>0&&e<60)},i=function(e){var t={logic:null,hour:null,minute:null,second:null,timezone:null},r=e.match("(by|before|for|during|at|until|after) #Time").firstTerm();r.found&&(t.logic=r.out("normal"));var i=e.match("#Time");return i.terms().list.forEach(function(e){var r=e.terms[0],i=r.text.match(/([12]?[0-9]) ?(am|pm)/i);i&&(t.hour=parseInt(i[1],10),"pm"===i[2]&&(t.hour+=12),n(t.hour)||(t.hour=null)),i=r.text.match(/([12]?[0-9]):([0-9][0-9]) ?(am|pm)?/i),i&&(t.hour=parseInt(i[1],10),t.minute=parseInt(i[2],10),a(t.minute)||(t.minute=null),"pm"===i[3]&&(t.hour+=12),n(t.hour)||(t.hour=null))}),t};t.exports=i},{}],83:[function(e,t,r){"use strict";r.longDays={sunday:0,monday:1,tuesday:2,wednesday:3,thursday:4,friday:5,saturday:6},r.shortDays={sun:0,mon:1,tues:2,wed:3,thurs:4,fri:5,sat:6}},{}],84:[function(e,t,r){"use strict";var n=e("./data"),a=n.shortDays,i=n.longDays;t.exports={index:function(e){if(e.tag.WeekDay){if(void 0!==i[e.normal])return i[e.normal];if(void 0!==a[e.normal])return a[e.normal]}return null},toShortForm:function(e){if(e.tag.WeekDay&&void 0!==i[e.normal]){var t=Object.keys(a);e.text=t[i[e.normal]]}return e},toLongForm:function(e){if(e.tag.WeekDay&&void 0!==a[e.normal]){var t=Object.keys(i);e.text=t[a[e.normal]]}return e}}},{"./data":83}],85:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var o=function(){function e(e,t){for(var r=0;rt.count?-1:e.count===t.count&&(e.size>t.size||e.key.length>t.key.length)?-1:1}),this}}],[{key:"find",value:function(e,r,n){var a={size:[1,2,3,4]};n&&(a.size=[n]);var i=u(e,a);return e=new t(i),e.sort(),"number"==typeof r&&(e=e.get(r)),e}}]),t}(s);t.exports=l},{"../../index":44,"./getGrams":87}],90:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var o=function(){function e(e,t){for(var r=0;r3)};t.exports=u},{"../../../data":8,"./methods/data/indicators":95}],94:[function(e,t,r){"use strict";var n={hour:"an",heir:"an",heirloom:"an",honest:"an",honour:"an",honor:"an",uber:"an"},a={a:!0,e:!0,f:!0,h:!0,i:!0,l:!0,m:!0,n:!0,o:!0,r:!0,s:!0,x:!0},i=[/^onc?e/i,/^u[bcfhjkqrstn][aeiou]/i,/^eul/i],o=function(e){var t=e.normal;if(n.hasOwnProperty(t))return n[t];var r=t.substr(0,1);if(e.isAcronym()&&a.hasOwnProperty(r))return"an";for(var o=0;ou[t].parents.length?-1:1:-1}),e[0]}},{key:"data",value:function(){var e=this.t;return{spaceBefore:e.whitespace.before,text:e.text,spaceAfter:e.whitespace.after,normal:e.normal,implicit:e.silent_term,bestTag:this.bestTag(),tags:Object.keys(e.tag)}}}]),t}(s);t.exports=c},{"../../paths":56}],117:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var o=function(){function e(e,t){for(var r=0;r10&&r<20)return""+t+"th";var a={0:"th",1:"st",2:"nd",3:"rd"},i=""+t,o=i.slice(i.length-1,i.length);return i+=a[o]?a[o]:"th"};t.exports=a},{"../toNumber":126}],121:[function(e,t,r){"use strict";t.exports=e("../../paths")},{"../../paths":56}],122:[function(e,t,r){"use strict";var n=e("../toNumber"),a=e("../toText"),i=e("../../../paths").data.ordinalMap.toOrdinal,o=function(e){var t=n(e),r=a(t),o=r[r.length-1];return r[r.length-1]=i[o]||o,r.join(" ")};t.exports=o},{"../../../paths":56,"../toNumber":126,"../toText":130}],123:[function(e,t,r){"use strict";var n=function(e){if(!e&&0!==e)return null;e=""+e;for(var t=e.split("."),r=t[0],n=t.length>1?"."+t[1]:"",a=/(\d+)(\d{3})/;a.test(r);)r=r.replace(a,"$1,$2");return r+n};t.exports=n},{}],124:[function(e,t,r){"use strict";var n=e("../paths"),a=n.data.numbers,i=Object.assign({},a.ordinal.ones,a.cardinal.ones),o=Object.assign({},a.ordinal.teens,a.cardinal.teens),s=Object.assign({},a.ordinal.tens,a.cardinal.tens),u=Object.assign({},a.ordinal.multiples,a.cardinal.multiples);t.exports={ones:i,teens:o,tens:s,multiples:u}},{"../paths":121}],125:[function(e,t,r){"use strict";var n=function(e){for(var t=[{reg:/^(minus|negative)[\s\-]/i,mult:-1},{reg:/^(a\s)?half[\s\-](of\s)?/i,mult:.5}],r=0;rn[0]){var a=Math.floor(t/n[0]);t-=a*n[0],a&&r.push({unit:n[1],count:a})}}),r},a=function(e){for(var t=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],r=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],n=[],a=0;a=t[a][1]&&(e-=t[a][1],n.push(t[a][0]));return r[e]&&n.push(r[e]),n},i=function(e){var t=["zero","one","two","three","four","five","six","seven","eight","nine"],r=[],n=(""+e).match(/\.([0-9]+)/);if(!n||!n[0])return r;r.push("point");for(var a=n[0].split(""),i=0;i1&&t.push("and")),t=t.concat(a(r[o].count)),t.push(s)}return t=t.concat(i(e)),t=t.filter(function(e){return e}),0===t.length&&(t[0]="zero"),t};t.exports=o},{}],131:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var o=function(){function e(e,t){for(var r=0;r0&&(t.push(r[h]),r[h]="");return 0===t.length?[e]:t};t.exports=s},{"../data/index":8,"./paths":56}],153:[function(e,t,r){"use strict";var n={blue:["Noun","Plural","Singular","Pronoun","Possessive","Place","Person","City"],red:["Value","Ordinal","Cardinal","TextValue","NumericValue"],green:["Verb","Auxillary","Negative","PastTense","PresentTense","FutureTense","Modal","Infinitive","Gerund","Copula","Participle"],cyan:["Preposition","Conjunction","Determiner"],black:["Adjective","Adverb"]};t.exports=Object.keys(n).reduce(function(e,t){return n[t].forEach(function(r){e[r]=t}),e},{})},{}],154:[function(e,t,r){"use strict";var n=[["Noun","Verb","Adjective","Adverb","Determiner","Conjunction","Preposition","QuestionWord","Expression","Url","PhoneNumber","Email","Emoji"],["Person","Organization","Value","Place","Actor","Demonym","Pronoun"],["Plural","Singular"],["Plural","Person"],["Plural","Organization"],["Plural","Currency"],["Plural","Ordinal"],["MaleName","FemaleName"],["FirstName","LastName","Honorific"],["Comparative","Superlative"],["Value","Verb","Adjective"],["Ordinal","Cardinal"],["TextValue","NumericValue"],["NiceNumber","TextValue"],["Ordinal","Currency"],["PastTense","PerfectTense","Pluperfect","FuturePerfect","Copula","Modal","Participle","Infinitive","Gerund"],["Month","WeekDay","Year","Duration"],["Particle","Conjunction","Adverb","Preposition"],["Date","Verb","Adjective","Person"],["NounPhrase","VerbPhrase","AdjectivePhrase","ConditionalPhrase"],["Value","Determiner"],["Verb","NounPhrase"],["Noun","VerbPhrase"],["RomanNumeral","Fraction","NiceNumber"],["RomanNumeral","Money"],["UpperCase","TitleCase","CamelCase"]],a=function(e){for(var t=[],r=0;r1&&!e.normal.match(/[aeiouy]/i))return!1;if(e.normal.match(/[0-9]/)){if(e.normal.match(/[a-z][0-9][a-z]/))return!1;if(!e.normal.match(/^([$-])*?([0-9,\.])*?([s\$%])*?$/))return!1}return!0}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=n},{}],161:[function(e,t,r){"use strict";var n=e("./normalize").addNormal,a=e("./root"),i=function(e){var t={normalize:function(){return n(this),a(this),this}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=i},{"./normalize":162,"./root":163}],162:[function(e,t,r){"use strict";var n=e("./unicode");r.normalize=function(e){return e=e||"",e=e.toLowerCase(),e=e.trim(),e=n(e),e=e.replace(/^[#@]/,""),e=e.replace(/[\u2018\u2019\u201A\u201B\u2032\u2035]+/g,"'"),e=e.replace(/[\u201C\u201D\u201E\u201F\u2033\u2036"]+/g,""),e=e.replace(/\u2026/g,"..."),e.match(/^[:;]/)||(e=e.replace(/\.{3,}$/g,""),e=e.replace(/['",\.!:;\?\)]$/g,""),e=e.replace(/^['"\(]/g,"")),e},r.addNormal=function(e){var t=e._text||"";t=r.normalize(t),e.isAcronym()&&(t=t.replace(/\./g,"")),t=t.replace(/([0-9]),([0-9])/g,"$1$2"),e.normal=t}},{"./unicode":164}],163:[function(e,t,r){"use strict";var n=function(e){var t=e.normal||e.silent_term||"";t=t.replace(/'s\b/,""),t=t.replace(/'\b/,""),e.root=t};t.exports=n},{}],164:[function(e,t,r){"use strict";var n={"!":"¡","?":"¿Ɂ",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАДадѦѧӐӑӒӓƛɅæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬбвъьѢѣҌҍҔҕƥƾ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼͽϲϹϽϾϿЄСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌǷ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƎƏƐǝȄȅȆȇȨȩɆɇΈΕΞΣέεξϱϵ϶ЀЁЕЭеѐёҼҽҾҿӖӗӘәӚӛӬӭ",f:"ƑƒϜϝӺӻҒғӶӷſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϭϴОФоѲѳӦӧӨөӪӫ¤ƍΏ",p:"ƤƿΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿςϚϛϟϨϩЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮϯТт҂Ҭҭ",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύϑЏЦЧцџҴҵҶҷӋӌӇӈ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƩƵƶȤȥɀΖζ"},a={};Object.keys(n).forEach(function(e){n[e].split("").forEach(function(t){a[t]=e})});var i=function(e){var t=e.split("");return t.forEach(function(e,r){a[e]&&(t[r]=a[e])}),t.join("")};t.exports=i},{}],165:[function(e,t,r){"use strict";var n=e("./renderHtml"),a=e("../../paths").fns,i={text:function(e){return e.whitespace.before+e._text+e.whitespace.after},normal:function(e){return e.normal},root:function(e){return e.root||e.normal},html:function(e){return n(e)},tags:function(e){return{text:e.text,normal:e.normal,tags:Object.keys(e.tag)}},debug:function(e){var t=Object.keys(e.tag).map(function(e){return a.printTag(e)}).join(", "),r=e.text;r="'"+a.yellow(r||"-")+"'",e.dirty;var n="";e.silent_term&&(n="["+e.silent_term+"]"),r=a.leftPad(r,25),r+=a.leftPad(n,5),console.log(" "+r+" - "+t)}},o=function(e){return e.prototype.out=function(e){return i[e]||(e="text"),i[e](this)},e};t.exports=o},{"../../paths":172,"./renderHtml":166}],166:[function(e,t,r){"use strict";var n=function(e){var t={"<":"<",">":">","&":"&",'"':""","'":"'"," ":" "};return e.replace(/[<>&"' ]/g,function(e){return t[e]})},a=function(e){var t="(?:[^\"'>]|\"[^\"]*\"|'[^']*')*",r=new RegExp("<(?:!--(?:(?:-*[^->])*--+|-?)|script\\b"+t+">[\\s\\S]*?[\\s\\S]*?","gi"),n=void 0;do n=e,e=e.replace(r,"");while(e!==n);return e.replace(/'+r+"";return n(e.whitespace.before)+i+n(e.whitespace.after)};t.exports=i},{}],167:[function(e,t,r){"use strict";var n=function(e){var t={endPunctuation:function(){var e=this.text.match(/[a-z]([,:;\/.(\.\.\.)\!\?]+)$/i);if(e){var t={",":"comma",":":"colon",";":"semicolon",".":"period","...":"elipses","!":"exclamation","?":"question"};if(t[e[1]])return e[1]}return null},setPunctuation:function(e){return this.text=this.text.replace(/[a-z]([,:;\/.(\.\.\.)\!\?]+)$/i,""),this.text+=e,this},hasComma:function(){return"comma"===this.endPunctuation()},killPunctuation:function(){return this.text=this._text.replace(/([,:;\/.(\.\.\.)\!\?]+)$/,""),this}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=n},{}],168:[function(e,t,r){"use strict";var n=e("./setTag"),a=e("./unTag"),i=e("./paths").tags,o=function(e){var t={tagAs:function(e,t){n(this,e,t)},unTag:function(e,t){a(this,e,t)},canBe:function(e){e=e||"",e=e.replace(/^#/,"");for(var t=i[e].not||[],r=0;r0&&(t[t.length-1]+=f),t.map(function(e){return new n(e)})};t.exports=i},{"../term":157}],175:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=function(){function e(e,t){for(var r=0;r0}},{key:"length",get:function(){return this.terms.length}},{key:"isA",get:function(){return"Terms"}},{key:"refTerms",get:function(){return this._refTerms||this},set:function(e){return this._refTerms=e,this}},{key:"dirty",set:function(e){this.terms.forEach(function(t){t.dirty=e})}},{key:"parent",get:function(){return this.refText||this},set:function(e){return this.refText=e,this}},{key:"parentTerms",get:function(){return this.refTerms||this},set:function(e){return this.refTerms=e,this}},{key:"whitespace",get:function(){var e=this;return{before:function(t){return e.firstTerm().whitespace.before=t,e},after:function(t){return e.lastTerm().whitespace.after=t,e}}}}],[{key:"fromString",value:function(t,r){var n=o(t),a=new e(n,r,null);return a.terms.forEach(function(e){e.parentTerms=a}),a.posTag(),a}}]),e}();s=e("./match")(s),s=e("./match/not")(s),s=e("./methods/tag")(s),s=e("./methods/loops")(s),s=e("./methods/delete")(s),s=e("./methods/insert")(s),s=e("./methods/misc")(s),s=e("./methods/out")(s),s=e("./methods/replace")(s),s=e("./methods/split")(s),s=e("./methods/transform")(s),t.exports=s},{"./build":174,"./match":176,"./match/not":182,"./methods/delete":183,"./methods/insert":184,"./methods/loops":185,"./methods/misc":186,"./methods/out":187,"./methods/replace":188,"./methods/split":189,"./methods/tag":190,"./methods/transform":191,"./tagger":203}],176:[function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=e("./lib/syntax"),i=e("./lib/startHere"),o=e("../../result/index"),s=function(e){var t=function(t,r){var n=t.terms.filter(function(e){return r[e.normal]});return n=n.map(function(r){return new e([r],t.lexicon,t.refText,t.refTerms)}),new o(n,t.lexicon,t.parent)},r=function(e,r){var n=r.reduce(function(e,t){return e[t]=!0,e},{});return t(e,n)},s=function(t,r,n){for(var s=[],u=a(r),l=0;l0);l++){var c=i(t,l,u,n);if(c){s.push(c);var f=c.length-1;l+=f}}return s=s.map(function(r){return new e(r,t.lexicon,t.refText,t.refTerms)}),new o(s,t.lexicon,t.parent)},u={match:function(e,a){if("string"==typeof e)return s(this,e,a);if("object"===("undefined"==typeof e?"undefined":n(e))){var i=Object.prototype.toString.call(e);if("[object Array]"===i)return r(this,e,a);if("[object Object]"===i)return t(this,e,a)}return this},matchOne:function(e){for(var t=a(e),r=0;r0);r++){var n=i(this,r,t);if(n)return n}return null},has:function(e){var t=this.matchOne(e);return!!t}};return Object.keys(u).forEach(function(t){e.prototype[t]=u[t]}),e};t.exports=s},{"../../result/index":44,"./lib/startHere":180,"./lib/syntax":181}],177:[function(e,t,r){"use strict";var n=e("./paths").fns,a=function(e,t){if(!e||!t)return!1;if(t.anyOne)return!0;if(t.tag){for(var r=0;r0)return null;if(f.ending&&u!==e.length-1&&!f.minMax)return null;if(r[l].astrix){if(!h)return e.terms.slice(t,e.length);var m=i(e,u,r[l+1]);if(!m)return null;u=m+1,l+=1}else if(r[l].minMax){if(!h){var p=e.length,d=r[l].minMax.max+t;return r[l].ending&&db.max)return null;u=g+1,l+=1}else if(f.optional){var v=r[l+1];u=o(e,u,f,v)}else if(a(c,f,s)){if(u+=1,f.consecutive){var y=r[l+1];u=o(e,u,f,y)}}else if(!c.silent_term||c.normal){var w=n(c,r,l);if(w)l=w,u+=1;else if(!f.optional)return null}else{if(0===l)return null;u+=1,l-=1}}return e.terms.slice(t,u)};t.exports=s},{"./isMatch":177,"./lumpMatch":178}],181:[function(e,t,r){"use strict";var n=e("./paths").fns,a=function(e){e=e||"",e=e.trim();var t={optional:!1};if(n.startsWith(e,"!")&&(e=e.substr(1,e.length),t.negative=!0),n.startsWith(e,"^")&&(e=e.substr(1,e.length),t.starting=!0),n.endsWith(e,"$")&&(e=e.replace(/\$$/,""),t.ending=!0),n.endsWith(e,"?")&&(e=e.replace(/\?$/,""),t.optional=!0),n.endsWith(e,"+")&&(e=e.replace(/\+$/,""),t.consecutive=!0),n.startsWith(e,"#")&&(e=e.replace(/^\#/,""),t.tag=[n.titleCase(e)],e=null),n.startsWith(e,"(")&&n.endsWith(e,")")&&(e=e.replace(/\)$/,""),e=e.replace(/^\(/,""),t.oneOf=e.split(/\|/g),e=null),n.startsWith(e,"{")&&n.endsWith(e,"}")){var r=e.match(/\{([0-9]+), ?([0-9]+)\}/);t.minMax={min:parseInt(r[1],10),max:parseInt(r[2],10)},e=null}return"."===e&&(t.anyOne=!0,e=null),"*"===e&&(t.astrix=!0,e=null),t.normal=e,t.normal&&(t.normal=t.normal.toLowerCase()),t},i=function(e){return e=e||"",e=e.split(/ +/),e.map(a)};t.exports=i},{"./paths":179}],182:[function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=e("./lib/syntax"),i=e("./lib/startHere"),o=e("../../result/index"),s=function(e){var t={notObj:function(t,r){var n=[],a=[];return t.terms.forEach(function(e){r.hasOwnProperty(e.normal)?(a.length&&n.push(a),a=[]):a.push(e)}),a.length&&n.push(a),n=n.map(function(r){return new e(r,t.lexicon,t.refText,t.refTerms)}),new o(n,t.lexicon,t.parent)},notString:function(t,r,n){for(var s=[],u=a(r),l=[],c=0;c0&&(s.push(l),l=[]),c+=f.length-1):l.push(t.terms[c])}return l.length>0&&s.push(l),s=s.map(function(r){return new e(r,t.lexicon,t.refText,t.refTerms)}),new o(s,t.lexicon,t.parent)}};return t.notArray=function(e,r){var n=r.reduce(function(e,t){return e[t]=!0,e},{});return t.notObj(e,n)},e.prototype.not=function(e,r){if("object"===("undefined"==typeof e?"undefined":n(e))){var a=Object.prototype.toString.call(e);if("[object Array]"===a)return t.notArray(this,e,r);if("[object Object]"===a)return t.notObj(this,e,r)}return"string"==typeof e?t.notString(this,e,r):this},e};t.exports=s},{"../../result/index":44,"./lib/startHere":180,"./lib/syntax":181}],183:[function(e,t,r){"use strict";var n=e("../mutate"),a=function(e){var t={delete:function(e){if(!this.found)return this;if(!e)return this.parentTerms=n.deleteThese(this.parentTerms,this),this;var t=this.match(e);if(t.found){var r=n.deleteThese(this,t);return r}return this.parentTerms}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=a},{"../mutate":192}],184:[function(e,t,r){"use strict";var n=e("../mutate"),a=function(e,t){return e.terms.length&&e.terms[t]?(e.terms[t].whitespace.before=" ",e):e},i=function(e){var t=function(t){return"Terms"===t.isA?t:"Term"===t.isA?new e([t]):e.fromString(t)},r={insertBefore:function(e,r){var i=this.terms.length,o=t(e);r&&o.tagAs(r);var s=this.index();return a(this.parentTerms,s),s>0&&a(o,0),this.parentTerms.terms=n.insertAt(this.parentTerms.terms,s,o),this.terms.length===i&&(this.terms=o.terms.concat(this.terms)),this},insertAfter:function(e,r){var i=this.terms.length,o=t(e);r&&o.tagAs(r);var s=this.terms[this.terms.length-1].index();return a(o,0),this.parentTerms.terms=n.insertAt(this.parentTerms.terms,s+1,o),this.terms.length===i&&(this.terms=this.terms.concat(o.terms)),this},insertAt:function(e,r,i){e<0&&(e=0);var o=this.terms.length,s=t(r);return i&&s.tagAs(i),e>0&&a(s,0),this.parentTerms.terms=n.insertAt(this.parentTerms.terms,e,s),this.terms.length===o&&Array.prototype.splice.apply(this.terms,[e,0].concat(s.terms)),0===e&&(this.terms[0].whitespace.before="",s.terms[s.terms.length-1].whitespace.after=" "),this}};return Object.keys(r).forEach(function(t){e.prototype[t]=r[t]}),e};t.exports=i},{"../mutate":192}],185:[function(e,t,r){"use strict";var n=function(e){var t=[["toUpperCase","UpperCase"],["toLowerCase"],["toTitleCase","TitleCase"]];return t.forEach(function(t){var r=t[0],n=t[1],a=function(){var e=arguments;return this.terms.forEach(function(t){t[r].apply(t,e)}),n&&this.tagAs(n,r),this};e.prototype[r]=a}),e};t.exports=n},{}],186:[function(e,t,r){"use strict";var n=function(e){var t={term:function(e){return this.terms[e]},first:function(){var t=this.terms[0];return new e([t],this.lexicon,this.refText,this.refTerms)},last:function(){var t=this.terms[this.terms.length-1];return new e([t],this.lexicon,this.refText,this.refTerms)},slice:function(t,r){var n=this.terms.slice(t,r);return new e(n,this.lexicon,this.refText,this.refTerms)},endPunctuation:function(){return this.last().terms[0].endPunctuation()},canBe:function(e){e=e||"",e=e.replace(/^#/,"");for(var t=0;t0&&a[0]&&(a[0].whitespace.before=" "),Array.prototype.splice.apply(e,[t,0].concat(a)),e}},{}],193:[function(e,t,r){"use strict";t.exports={data:e("../data/index"),lexicon:e("../data/lexicon"),fns:e("../fns"),log:e("../log"),Term:e("../term")}},{"../data/index":8,"../data/lexicon":9,"../fns":40,"../log":42,"../term":157}],194:[function(e,t,r){"use strict";var n=e("./fix"),a={wanna:["want","to"],gonna:["going","to"],im:["i","am"],alot:["a","lot"],dont:["do","not"],dun:["do","not"],ive:["i","have"],"won't":["will","not"],wont:["will","not"],"can't":["can","not"],cant:["can","not"],cannot:["can","not"],aint:["is","not"],"ain't":["is","not"],"shan't":["should","not"],imma:["I","will"],"where'd":["where","did"],whered:["where","did"],"when'd":["when","did"],whend:["when","did"],"how'd":["how","did"],howd:["how","did"],"what'd":["what","did"],whatd:["what","did"],"let's":["let","us"],dunno:["do","not","know"],brb:["be","right","back"],gtg:["got","to","go"],irl:["in","real","life"],tbh:["to","be","honest"],imo:["in","my","opinion"],til:["today","i","learned"],rn:["right","now"]},i=function(e){for(var t=Object.keys(a),r=0;r0&&" - "===r.whitespace.before){var i=new a("");return i.silent_term="to",e.insertAt(t,i),e.terms[t-1].tagAs("NumberRange"),e.terms[t].tagAs("NumberRange"),e.terms[t].whitespace.before="",e.terms[t].whitespace.after="",e.terms[t+1].tagAs("NumberRange"),e}if(r.tag.NumberRange){var o=r.text.split(/(-)/);o[1]="to",e=n(e,o,t),e.terms[t].tagAs("NumberRange"),e.terms[t+1].tagAs("NumberRange"),e.terms[t+2].tagAs("NumberRange"),t+=2}}}return e};t.exports=i},{"../../../term":157,"./fix":198}],198:[function(e,t,r){"use strict";var n=e("../../../term"),a={not:"Negative",will:"Verb",would:"Modal",have:"Verb",are:"Copula",is:"Copula",am:"Verb"},i=function(e){a[e.silent_term]&&e.tagAs(a[e.silent_term])},o=function(e,t,r){var a=e.terms[r];a.silent_term=t[0],a.tagAs("Contraction","tagger-contraction");var o=new n("");if(o.silent_term=t[1],o.tagAs("Contraction","tagger-contraction"),e.insertAt(r+1,o),o.whitespace.before="",o.whitespace.after="",i(o),t[2]){var s=new n("");s.silent_term=t[2],e.insertAt(r+2,s),s.tagAs("Contraction","tagger-contraction"),i(s)}return e};t.exports=o},{"../../../term":157}],199:[function(e,t,r){"use strict";var n=e("./01-irregulars"),a=e("./02-hardOne"),i=e("./03-easyOnes"),o=e("./04-numberRange"),s=function(e){return e=n(e),e=a(e),e=i(e),e=o(e)};t.exports=s},{"./01-irregulars":194,"./02-hardOne":195,"./03-easyOnes":196,"./04-numberRange":197}],200:[function(e,t,r){"use strict";var n={re:!0,ve:!0,ll:!0,t:!0,s:!0,d:!0,m:!0},a=function(e){var t=e.text.match(/^([a-z]+)'([a-z][a-z]?)$/i);return t&&t[1]&&n[t[2]]?("t"===t[2]&&t[1].match(/[a-z]n$/)&&(t[1]=t[1].replace(/n$/,""),t[2]="n't"),e.tag.TitleCase&&(t[1]=t[1].replace(/^[a-z]/,function(e){return e.toUpperCase()})),{start:t[1],end:t[2]}):(t=e.text.match(/[a-z]s'$/i),t?{start:e.normal.replace(/s'?$/,""),end:""}:null)};t.exports=a},{}],201:[function(e,t,r){"use strict";var n=e("../paths").log,a="correction",i=e("./verb_corrections"),o=function(e){return n.here(a),e.match("so #Adjective").match("so").tag("Adverb","so-adv"),e.match("so #Noun").match("so").tag("Conjunction","so-conj"),e.match("do so").match("so").tag("Noun","so-noun"),e.match("still #Adjective").match("still").tag("Adverb","still-advb"),e.match("more #Noun").tag("Noun","more-noun"),e.match("still #Verb").term(0).tag("Adverb","still-verb"),e.match("second #Noun").term(0).unTag("Unit").tag("Ordinal","second-noun"),e.match("(foot|feet)").tag("Noun","foot-noun"),e.match("#Value (foot|feet)").match("(foot|feet)").tag("Unit","foot-unit"),e.match("how (#Copula|#Modal|#PastTense)").term(0).tag("QuestionWord","how-question"),e.match("will #Adjective").term(1).tag("Verb","will-adj"),e.match("u #Verb").term(0).tag("Pronoun","u-pronoun-1"),e.match("#Conjunction u").term(1).tag("Pronoun","u-pronoun-2"),e.match("is no #Verb").term(2).tag("Noun","is-no-verb"),e.match("the #Verb #Preposition .").match("#Verb").tag("Noun","correction-determiner1"),e.match("the #Verb").match("#Verb").tag("Noun","correction-determiner2"),e.match("the #Adjective #Verb").match("#Verb").tag("Noun","correction-determiner3"),e.match("the #Adverb #Adjective #Verb").match("#Verb").tag("Noun","correction-determiner4"),e.match("#Organization of the? #TitleCase").tag("Organization","org-of-place"),e.match("#Organization #Country").tag("Organization","org-country"),e.match("(world|global|international|national|#Demonym) #Organization").tag("Organization","global-org"),e.match("#TitleCase (ltd|co|inc|dept|assn|bros)").tag("Organization","org-abbrv"),e.match("#Determiner #Verb of").term(1).tag("Noun","the-verb-of"),e.match("#Noun #Adverb #Noun").term(2).tag("Verb","correction"),e.match("#Copula #Adjective to #Verb").match("#Adjective to").tag("Verb","correction"),e.match("#Verb than").term(0).tag("Noun","correction"),e.match("#Possessive #Verb").term(1).tag("Noun","correction-possessive"),e.match("just like").term(1).tag("Preposition","like-preposition"),e.match("#Noun like #Noun").term(1).tag("Preposition","noun-like"),e.match("#Verb like").term(1).tag("Adverb","verb-like"),e.match("#Adverb like").term(1).tag("Adverb","adverb-like"),e.match("#Determiner #Noun of #Verb").match("#Verb").tag("Noun","noun-of-noun"),e.match("#Adjective #PresentTense").term(1).tag("Noun","adj-presentTense"),e.match("#Possessive #FirstName").term(1).unTag("Person","possessive-name"),e.match("(a|an) (#Duration|#Value)").ifNo("#Plural").term(0).tag("Value","a-is-one"),e.match("half a? #Value").tag("Value","half-a-value"),e.match("#Value and a (half|quarter)").tag("Value","value-and-a-half"),e.match("#Value").match("!#Ordinal").tag("#Cardinal","not-ordinal"),e.match("#Value+ #Currency").tag("Money","value-currency"),e.match("#Money and #Money #Currency?").tag("Money","money-and-money"),e.match("holy (shit|fuck|hell)").tag("Expression","swears-expression"),e.match("#Determiner (shit|damn|hell)").term(1).tag("Noun","swears-noun"),e.match("(shit|damn|fuck) (#Determiner|#Possessive|them)").term(0).tag("Verb","swears-verb"),e.match("#Copula fucked up?").not("#Copula").tag("Adjective","swears-adjective"),e=i(e)};t.exports=o},{"../paths":208,"./verb_corrections":202}],202:[function(e,t,r){"use strict";var n=function(e){var t="(#Adverb|not)+?";return e.match("(has|had) "+t+" #PastTense").not("#Verb$").tag("Auxillary","had-walked"),e.match("#Copula "+t+" #Gerund").not("#Verb$").tag("Auxillary","copula-walking"),e.match("(be|been) "+t+" #Gerund").not("#Verb$").tag("Auxillary","be-walking"),e.match("(#Modal|did) "+t+" #Verb").not("#Verb$").tag("Auxillary","modal-verb"),e.match("#Modal "+t+" have "+t+" had "+t+" #Verb").not("#Verb$").tag("Auxillary","would-have"),e.match("(#Modal) "+t+" be "+t+" #Verb").not("#Verb$").tag("Auxillary","would-be"),e.match("(#Modal|had|has) "+t+" been "+t+" #Verb").not("#Verb$").tag("Auxillary","would-be"),e};t.exports=n},{}],203:[function(e,t,r){"use strict";var n={interpret:e("./contraction")},a={lexicon_lump:e("./lumper/lexicon_lump"),lump_two:e("./lumper/lump_two"),lump_three:e("./lumper/lump_three")},i={punctuation_step:e("./steps/01-punctuation_step"),lexicon_step:e("./steps/02-lexicon_step"),capital_step:e("./steps/03-capital_step"),web_step:e("./steps/04-web_step"),suffix_step:e("./steps/05-suffix_step"),neighbour_step:e("./steps/06-neighbour_step"),noun_fallback:e("./steps/07-noun_fallback"),date_step:e("./steps/08-date_step"),auxillary_step:e("./steps/09-auxillary_step"),negation_step:e("./steps/10-negation_step"),adverb_step:e("./steps/11-adverb_step"),phrasal_step:e("./steps/12-phrasal_step"),comma_step:e("./steps/13-comma_step"),possessive_step:e("./steps/14-possessive_step"),value_step:e("./steps/15-value_step"),acronym_step:e("./steps/16-acronym_step"),emoji_step:e("./steps/17-emoji_step"),person_step:e("./steps/18-person_step"),quotation_step:e("./steps/19-quotation_step"),organization_step:e("./steps/20-organization_step"),plural_step:e("./steps/21-plural_step")},o=e("./corrections"),s=e("./phrase"),u=function(e){e=i.punctuation_step(e),e=i.emoji_step(e),e=a.lexicon_lump(e),e=i.lexicon_step(e),e=i.web_step(e),e=i.suffix_step(e),e=i.neighbour_step(e),e=i.capital_step(e),e=i.noun_fallback(e),e=n.interpret(e),e=i.date_step(e),e=i.auxillary_step(e),e=i.negation_step(e),e=i.phrasal_step(e),e=i.comma_step(e),e=i.possessive_step(e),e=i.value_step(e),e=i.acronym_step(e),e=i.person_step(e),e=i.quotation_step(e),e=i.organization_step(e),e=i.plural_step(e);for(var t=0;t<3;t++)e=a.lump_three(e),e=a.lump_two(e);return e=o(e),e=s(e)};t.exports=u},{"./contraction":199,"./corrections":201,"./lumper/lexicon_lump":205,"./lumper/lump_three":206,"./lumper/lump_two":207,"./phrase":210,"./steps/01-punctuation_step":211,"./steps/02-lexicon_step":212,"./steps/03-capital_step":213,"./steps/04-web_step":214,"./steps/05-suffix_step":215,"./steps/06-neighbour_step":216,"./steps/07-noun_fallback":217,"./steps/08-date_step":218,"./steps/09-auxillary_step":219,"./steps/10-negation_step":220,"./steps/11-adverb_step":221,"./steps/12-phrasal_step":222,"./steps/13-comma_step":223,"./steps/14-possessive_step":224,"./steps/15-value_step":225,"./steps/16-acronym_step":226,"./steps/17-emoji_step":227,"./steps/18-person_step":228,"./steps/19-quotation_step":229,"./steps/20-organization_step":230,"./steps/21-plural_step":231}],204:[function(e,t,r){"use strict";var n=e("../paths"),a=n.Term,i=n.log,o="tagger/combine",s=function(e,t){var r=e.whitespace.before+e.text+e.whitespace.after;return r+=t.whitespace.before+t.text+t.whitespace.after},u=function(e,t){var r=e.terms[t],n=e.terms[t+1];if(n){i.tell('--combining: "'+r.normal+'"+"'+n.normal+'"',o);var u=s(r,n);e.terms[t]=new a(u,r.context),e.terms[t].normal=r.normal+" "+n.normal,e.terms[t+1]=null,e.terms=e.terms.filter(function(e){return null!==e})}};t.exports=u},{"../paths":208}],205:[function(e,t,r){"use strict";var n=e("./combine"),a=e("../paths"),i=a.log,o=a.lexicon,s=a.fns,u="tagger/multiple",l=function(e,t,r){for(var a=0;ae.length)return!1}return!1},f=function(e){i.here(u);for(var t=e.lexicon||{},r=0;r1&&t.match(/^[IVXCM]+$/))},s={a:!0,i:!0,u:!0,r:!0,c:!0,k:!0},u=function(e){return n.here(i),e.terms.forEach(function(e){var t=e.text;t.match(/^[A-Z][a-z']/)&&e.tagAs("TitleCase","punct-rule"),t=t.replace(/[,\.\?]$/,"");for(var r=0;r1&&(t=u(l[l.length-1],e))&&n.tagAs(t,"multiword-lexicon")}}}return e; -};t.exports=l},{"../contraction/split":200,"../paths":208}],213:[function(e,t,r){"use strict";var n=e("../paths").log,a="tagger/capital",i=function(e){n.here(a);for(var t=1;t1e3&&e<3e3)},c=function(e){n.here(a),e.match("#Month #DateRange+").tag("Date","correction-numberRange"),e.match(i+" (#Determiner|#Value|#Date)").term(0).tag("Month","correction-may"),e.match("#Date "+i).term(1).tag("Month","correction-may"),e.match(o+" "+i).term(1).tag("Month","correction-may"),e.match("(next|this|last) "+i).term(1).tag("Month","correction-may"),e.match("#Value #Abbreviation").tag("Value","value-abbr"),e.match("a #Value").tag("Value","a-value"),e.match("(minus|negative) #Value").tag("Value","minus-value"),e.match("#Value grand").tag("Value","value-grand"),e.match("(half|quarter) #Ordinal").tag("Value","half-ordinal"),e.match("(hundred|thousand|million|billion|trillion) and #Value").tag("Value","magnitude-and-value"),e.match("#Value point #Value").tag("Value","value-point-value"),e.match("#Cardinal #Time").tag("Time","value-time"),e.match("(by|before|after|at|@|about) #Time").tag("Time","preposition-time"),e.match("(#Value|#Time) (am|pm)").tag("Time","value-ampm"),e.match("all day").tag("Time","all-day"),e.match(o+"? "+s+" (spring|summer|winter|fall|autumn)").tag("Date","thisNext-season"),e.match("the? "+u+" of (spring|summer|winter|fall|autumn)").tag("Date","section-season"),e.match("#Date the? #Ordinal").tag("Date","correction-date"),e.match("#Value of? #Month").tag("Date","value-of-month"),e.match("#Cardinal #Month").tag("Date","cardinal-month"),e.match("#Month #Value to #Value").tag("Date","value-to-value"),e.match(s+" #Date").tag("Date","thisNext-date"),e.match(o+"? #Value #Duration").tag("Date","value-duration"),e.match("due? (by|before|after|until) #Date").tag("Date","by-date"),e.match("#Date (by|before|after|at|@|about) #Cardinal").not("^#Date").tag("Time","date-before-Cardinal"),e.match("#Time (eastern|pacific|central|mountain)").term(1).tag("Time","timezone"),e.match("#Time (est|pst|gmt)").term(1).tag("Time","timezone abbr"),e.match("#Date (am|pm)").term(1).unTag("Verb").unTag("Copula").tag("Time","date-am"),e.match("at night").tag("Time","at-night"),e.match("in the (night|evening|morning|afternoon|day|daytime)").tag("Time","in-the-night"),e.match("(early|late) (at|in)? the? (night|evening|morning|afternoon|day|daytime)").tag("Time","early-evening"),e.match("#Month #Value #Cardinal").tag("Date","month-value-cardinal"),e.match("(last|next|this|previous|current|upcoming|coming|the) #Date").tag("Date","next-feb"),e.match("#Date #Value").tag("Date","date-value"),e.match("#Value #Date").tag("Date","value-date"),e.match("#Date #Preposition #Date").tag("Date","date-prep-date"),e.match("#Value #Duration #Conjunction").tag("Date","val-duration-conjunction"),e.match("the? "+u+" of #Date").tag("Date","section-of-date");var t=e.match("#Date #Value #Cardinal").lastTerm().values(),r=t.numbers()[0];return l(r)&&t.tag("Year","date-value-year"),t=e.match("#Date+ #Cardinal").lastTerm().values(),r=t.numbers()[0],l(r)&&t.tag("Year","date-year"),t=e.match("#Month #Value #Cardinal").lastTerm().values(),r=t.numbers()[0],l(r)&&t.tag("Year","date-year2"),t=e.match("#Month #Value to #Value #Cardinal").lastTerm().values(),r=t.numbers()[0],l(r)&&t.tag("Year","date-year3"),t=e.match("(in|of|by|during|before|starting|ending|for|year) #Cardinal").lastTerm().values(),r=t.numbers()[0],l(r)&&t.tag("Year","preposition-year"),e.match("#Duration in #Date").tag("Date","duration-in-date"),e};t.exports=c},{"../paths":208}],219:[function(e,t,r){"use strict";var n=e("../paths").log,a="tagger/auxillary",i={do:!0,"don't":!0,does:!0,"doesn't":!0,will:!0,wont:!0,"won't":!0,have:!0,"haven't":!0,had:!0,"hadn't":!0,not:!0},o=function(e){n.here(a);for(var t=0;t0&&l.tag.Conjunction)u=!0;else{if(l.tag[n]){if(l.tag.Comma){s+=1,o=0;continue}if(s>0&&u)return i(e,r,t),!0}if(o+=1,o>5)return!1}}return!1},s=function(e){for(var t=0;t35)))},s=function(e){var t=e.text.replace(/^[:;]/,":");return t=t.replace(/[:;]$/,":"),i[t]},u=function(e){for(var t=0;t8));o++)if(e.terms[t+o].text.match(/.["'\u201D\u2036\u2019]([;:,.])?$/)){i(e,t,o+t),t+=o;break}}return e};t.exports=o},{"../paths":208}],230:[function(e,t,r){"use strict";var n=e("../paths").log,a="tagger/organization_step",i=e("../paths").data.orgWords;i=i.reduce(function(e,t){return e[t]=!0,e},{});var o=function(e){return!!e.tag.Noun&&(!(e.tag.Pronoun||e.tag.Comma||e.tag.Possessive)&&!(!e.tag.TitleCase&&!e.tag.Organization))},s=function(e){n.here(a);for(var t=0;t (http://spencermounta.in)",name:"compromise",description:"natural language processing in the browser",version:"7.0.18",main:"./builds/compromise.js",repository:{type:"git",url:"git://github.com/nlp-compromise/compromise.git"},scripts:{test:"node ./scripts/test.js",browsertest:"node ./scripts/browserTest.js",build:"node ./scripts/build.js",demo:"node ./scripts/demo.js",watch:"node ./scripts/watch.js",filesize:"node ./scripts/filesize.js",coverage:"node ./scripts/coverage.js"},files:["builds/","docs/"],dependencies:{},devDependencies:{"babel-preset-es2015":"6.9.0","babel-preset-stage-2":"^6.11.0",babelify:"7.3.0",babili:"0.0.11",browserify:"13.0.1",chalk:"^1.1.3","codacy-coverage":"^2.0.0",derequire:"^2.0.3",eslint:"^3.1.1",gaze:"^1.1.1","http-server":"0.9.0","nlp-corpus":"latest",nyc:"^8.4.0",shelljs:"^0.7.2","tap-min":"^1.1.0","tap-spec":"4.1.1",tape:"4.6.0","uglify-js":"2.7.0"},license:"MIT"}},{}],2:[function(e,t,r){"use strict";var n=e("../fns"),a={going:"easy,fore,on,out",ight:"overn,overwe,r,sl,upt",ated:"antiqu,intoxic,sophistic,unregul,unrel",rant:"aber,exube,flag,igno,vib",wing:"harro,kno,left-,right-",ted:"expec,impor,limi,spiri,talen,tes,unexpec,unpreceden",ish:"dan,fool,hell,lout,self,snobb,squeam,styl",ary:"dre,legend,necess,prim,sc,second,w,we",ite:"el,favor,fin,oppos,pet,pol,recond,tr",ely:"hom,lik,liv,lon,lov,tim,unlik",tly:"cos,ghas,ghos,nigh,sain,sprigh,unsigh",dly:"cowar,cud,frien,frien,kin,ma",ble:"a,dou,hum,nim,no,proba",rly:"bu,disorde,elde,hou,neighbo,yea",ped:"cram,pum,stereoty,stri,war",sed:"clo,disea,distres,unsupervi,u",lly:"chi,hi,jo,si,sme",per:"dap,impro,pro,su,up",ile:"fert,host,juven,mob,volat",led:"detai,disgrunt,fab,paralle,troub",ast:"e,l,p,steadf",ent:"abs,appar,b,pres",ged:"dama,deran,jag,rag",ded:"crow,guar,retar,undeci",est:"b,dishon,hon,quick",ial:"colon,impart,init,part",ter:"bet,lat,ou,ut",ond:"bey,bl,vagab",ady:"he,re,sh,ste",eal:"ether,id,r,surr",ard:"abo,awkw,stand,straightforw",ior:"jun,pr,sen,super",ale:"fem,m,upsc,wholes",ed:"advanc,belov,craz,determin,hallow,hook,inbr,justifi,nak,nuanc,sacr,subdu,unauthoriz,unrecogniz,wick",ly:"dai,earth,gris,heaven,low,meas,month,oi,prick,seem,s,ug,unru,week,wi,woman",al:"actu,coloss,glob,illeg,leg,leth,liter,loy,ov,riv,roy,univers,usu",dy:"baw,bloo,clou,gau,gid,han,mol,moo,stur,ti,tren,unti,unwiel",se:"adver,den,diver,fal,immen,inten,obe,perver,preci,profu",er:"clev,form,inn,oth,ov,she,slend,somb,togeth,und",id:"afra,hum,langu,plac,rab,sord,splend,stup,torp",re:"awa,bizar,di,enti,macab,me,seve,since,spa",en:"barr,brok,crav,op,sudd,unev,unwritt,wood",ic:"alcohol,didact,gener,hispan,organ,publ,symbol",ny:"ma,pho,pu,shi,skin,ti,za",st:"again,mo,populi,raci,robu,uttermo",ne:"do,go,insa,obsce,picayu,sere",nd:"behi,bla,bli,profou,undergrou,wou",le:"multip,sing,so,subt,who",pt:"abru,ade,a,bankru,corru,nondescri",ty:"faul,hef,lof,mea,sal,uppi",sy:"bu,chee,lou,no,ro",ct:"abstra,exa,imperfe,inta,perfe",in:"certa,highfalut,ma,tw,va",et:"discre,secr,sovi,ups,viol",me:"part-ti,pri,sa,supre,welco",cy:"boun,fan,i,jui,spi",ry:"fur,sor,tawd,wi,w",te:"comple,concre,obsole,remo",ld:"ba,bo,go,mi",an:"deadp,republic,t,urb",ll:"a,i,overa,sti",ay:"everyd,g,gr,ok",or:"indo,maj,min,outdo",my:"foa,gloo,roo,sli",ck:"ba,qua,si,sli",rt:"cove,expe,hu,ove",ul:"fo,gainf,helpf,painf"},i=["ablaze","above","adult","ahead","aloof","arab","asleep","average","backwards","bad","blank","bogus","bottom","brisk","cagey","chief","civil","common","complex","cozy","crisp","devout","difficult","due","dumb","eerie","evil","excess","extra","fake","far","faux","fierce ","final","fit","foreign","fun","good","goofy","gratis","grey","groovy","gross","half","huge","humdrum","inside","kaput","left","level","lewd","magenta","makeshift","mammoth","medium","modern","moot","naive","nearby","next","nonstop","north","notable","offbeat","ok","online","offline","outside","overwrought","premium","pricey","pro","quaint","random","rear","rebel","ritzy","savvy","sexy","shut","shy","sleek","smug","solemn","south","stark","superb","taboo","teenage","top","tranquil","true","ultra","understood","unfair","unknown","upbeat","upstairs","vanilla","various","widespread","woozy","wrong"];t.exports=n.uncompress_suffixes(i,a)},{"../fns":7}],3:[function(e,t,r){"use strict";var n=e("../fns"),a={erate:"degen,delib,desp,lit,mod",icial:"artif,benef,off,superf",ntial:"esse,influe,pote,substa",teful:"gra,ha,tas,was",stant:"con,di,in,resi",hing:"astonis,das,far-reac,refres,scat,screec,self-loat,soot",eful:"car,grac,peac,sham,us,veng",ming:"alar,cal,glea,unassu,unbeco,upco",cial:"commer,cru,finan,ra,so,spe",ure:"insec,miniat,obsc,premat,sec,s",uent:"congr,fl,freq,subseq",rate:"accu,elabo,i,sepa",ific:"horr,scient,spec,terr",rary:"arbit,contempo,cont,tempo",ntic:"authe,fra,giga,roma",nant:"domi,malig,preg,reso",nent:"emi,immi,perma,promi",iant:"brill,def,g,luxur",ging:"dama,encoura,han,lon",iate:"appropr,immed,inappropr,intermed",rect:"cor,e,incor,indi",zing:"agoni,ama,appeti,free",ine:"div,femin,genu,mascul,prist,rout",ute:"absol,ac,c,m,resol",ern:"east,north,south,st,west",tful:"deligh,doub,fre,righ,though,wis",ant:"abund,arrog,eleg,extravag,exult,hesit,irrelev,miscre,nonchal,obeis,observ,pl,pleas,redund,relev,reluct,signific,vac,verd",ing:"absorb,car,coo,liv,lov,ly,menac,perplex,shock,stand,surpris,tell,unappeal,unconvinc,unend,unsuspect,vex,want",ate:"adequ,delic,fortun,inadequ,inn,intim,legitim,priv,sed,ultim"},i=["absurd","aggressive","alert","alive","angry","attractive","awesome","beautiful","big","bitter","black","blue","bored","boring","brash","brave","brief","brown","calm","charming","cheap","check","clean","clear","close","cold","cool","cruel","curly","cute","dangerous","dear","dirty","drunk","dry","dull","eager","early","easy","efficient","empty","even","extreme","faint","fair","fanc","feeble","few","fierce","fine","firm","forgetful","formal","frail","free","full","funny","gentle","glad","glib","glad","grand","green","gruesome","handsome","happy","harsh","heavy","high","hollow","hot","hungry","impolite","important","innocent","intellegent","interesting","keen","kind","lame","large","late","lean","little","long","loud","low","lucky","lush","macho","mature","mean","meek","mellow","mundane","narrow","near","neat","new","nice","noisy","normal","odd","old","orange","pale","pink","plain","poor","proud","pure","purple","rapid","rare","raw","rich","rotten","round","rude","safe","scarce","scared","shallow","shrill","simple","slim","slow","small","smooth","solid","soon","sore","sour","square","stale","steep","strange","strict","strong","swift","tall","tame","tart","tender","tense","thin","thirsty","tired","true","vague","vast","vulgar","warm","weird","wet","wild","windy","wise","yellow","young"];t.exports=n.uncompress_suffixes(i,a)},{"../fns":7}],4:[function(e,t,r){"use strict";t.exports=["bright","broad","coarse","damp","dark","dead","deaf","deep","fast","fat","flat","fresh","great","hard","light","loose","mad","moist","quick","quiet","red","ripe","rough","sad","sharp","short","sick","smart","soft","stiff","straight","sweet","thick","tight","tough","weak","white","wide"]},{}],5:[function(e,t,r){"use strict";for(var n=["january","february","april","june","july","august","september","october","november","december","jan","feb","mar","apr","jun","jul","aug","sep","oct","nov","dec","sept","sep"],a=["monday","tuesday","wednesday","thursday","friday","saturday","sunday","mon","tues","wed","thurs","fri","sat","sun"],i=0;i<=6;i++)a.push(a[i]+"s");for(var o=["millisecond","minute","hour","day","week","month","year","decade"],s=o.length,u=0;u1});f(h,"Unit"),f(n.dates.durations,"Duration"),c(n.abbreviations);var m=n.numbers.ordinal;f(Object.keys(m.ones),"Ordinal"),f(Object.keys(m.teens),"Ordinal"),f(Object.keys(m.tens),"Ordinal"),f(Object.keys(m.multiples),"Ordinal"),m=n.numbers.cardinal,f(Object.keys(m.ones),"Cardinal"),f(Object.keys(m.teens),"Cardinal"),f(Object.keys(m.tens),"Cardinal"),f(Object.keys(m.multiples),"Cardinal"),f(Object.keys(n.numbers.prefixes),"Cardinal"),f(Object.keys(n.irregular_plurals.toPlural),"Singular"),f(Object.keys(n.irregular_plurals.toSingle),"Plural"),f(n.dates.days,"WeekDay"),f(n.dates.months,"Month"),f(n.dates.relative,"RelativeDay"),f(n.holidays,"Holiday"),f(n.professions,"Actor"),f(n.demonyms,"Demonym"),f(n.sportsTeams,"SportsTeam"),f(n.bands,"Organization"),f(n.orgWords,"Noun"),Object.keys(n.irregular_verbs).forEach(function(e){l[e]="Infinitive";var t=n.irregular_verbs[e];Object.keys(t).forEach(function(e){t[e]&&(l[t[e]]=e)});var r=u(e);Object.keys(r).forEach(function(e){r[e]&&!l[r[e]]&&(l[r[e]]=e)})}),n.verbs.forEach(function(e){var t=u(e);Object.keys(t).forEach(function(e){t[e]&&!l[t[e]]&&(l[t[e]]=e)}),l[s(e)]="Adjective"}),n.superlatives.forEach(function(e){l[o.toNoun(e)]="Noun",l[o.toAdverb(e)]="Adverb",l[o.toSuperlative(e)]="Superlative",l[o.toComparative(e)]="Comparative"}),n.verbConverts.forEach(function(e){l[o.toNoun(e)]="Noun",l[o.toAdverb(e)]="Adverb",l[o.toSuperlative(e)]="Superlative",l[o.toComparative(e)]="Comparative";var t=o.toVerb(e);l[t]="Verb";var r=u(t);Object.keys(r).forEach(function(e){r[e]&&!l[r[e]]&&(l[r[e]]=e)})}),n.nouns.forEach(function(e){l[e]="Singular";var t=i(e);l[t]="Plural"}),c(n.firstnames),f(n.notable_people.female,"FemaleName"),f(n.notable_people.male,"MaleName"),f(n.titles,"Singular"),f(n.lastnames,"LastName"),f(n.places.airports,"Place"),f(n.places.cities,"City"),f(n.places.countries,"Country"),f(n.organizations,"Organization"),f(n.adjectives,"Adjective"),f(n.verbConverts,"Adjective"),f(n.superlatives,"Adjective"),f(n.currencies,"Currency"),c(n.misc),delete l[""],delete l[" "],delete l[null],t.exports=l},{"../result/subset/adjectives/methods/index":61,"../result/subset/nouns/methods/pluralize":98,"../result/subset/verbs/methods/conjugate/faster":137,"../result/subset/verbs/methods/toAdjective":148,"./fns":7,"./index":8}],10:[function(e,t,r){"use strict";t.exports=["a lot","a posteriori","abroad","ad nauseam","again","all but","all that","almost","alone","already","also","always","anymore","anyway","apart","aside","at best","at large","at least","at most","at worst","away","by far","by now","damn","de jure","de trop","directly","en masse","ever","for example","for good","for sure","forever","further","furthermore","hence","indeed","instead","just","just about","kinda","maybe","meanwhile","more","moreover","newly","no longer","not withstanding","of course","often","once","once again","once more","only","par excellence","per se","perhaps","point blank","quite","randomly","rather","really","several","so","somehow","sometimes","somewhat","soon","sort of","such","then","thus","too","totally","toward","twice","up to","upwards of","very","way","well","yes","yep"]},{}],11:[function(e,t,r){"use strict";t.exports=["this","any","enough","each","whatever","every","these","another","plenty","whichever","neither","an","a","least","own","few","both","those","the","that","various","either","much","some","else","la","le","les","des","de","du","el"]},{}],12:[function(e,t,r){"use strict";t.exports=["uh","uhh","uhm","uh huh","uh-oh","please","plz","ugh","sheesh","eww","pff","voila","oy","hi","hello","bye","goodbye","hey","hai","eep","hurrah","yuck","ow","duh","oh","hmm","yeah","whoa","ooh","whee","ah","bah","gah","yaa","phew","gee","ahem","eek","meh","yahoo","oops","d'oh","psst","argh","grr","nah","shhh","whew","mmm","ooo","yay","uh-huh","boo","wow","nope","haha","hahaha","lol","lols","lmao","lmfao","ya","hee","ohh","eh","yup","wtf","wtaf","et cetera","fuck","shit","damn","dang","damnit","dammit","hell","a la"]},{}],13:[function(e,t,r){"use strict";for(var n={here:"Noun",better:"Comparative",earlier:"Superlative","make sure":"Verb","keep tabs":"Verb",gonna:"Verb",cannot:"Verb",has:"Verb",sounds:"PresentTense",taken:"PastTense",msg:"Verb","a few":"Value","years old":"Unit",not:"Negative",non:"Negative",never:"Negative",no:"Negative","no doubt":"Noun","not only":"Adverb","how's":"QuestionWord"},a={Adjective:["so called","on board","vice versa","en route","upside down","up front","in front","in situ","in vitro","ad hoc","de facto","ad infinitum","for keeps","a priori","off guard","spot on","ipso facto","fed up","brand new","old fashioned","bona fide","well off","far off","straight forward","hard up","sui generis","en suite","avant garde","sans serif","gung ho","super duper","bourgeois"],Verb:["lengthen","heighten","worsen","lessen","awaken","frighten","threaten","hasten","strengthen","given","known","shown","seen","born"],Place:["new england","new hampshire","new jersey","new mexico","united states","united kingdom","great britain","great lakes","pacific ocean","atlantic ocean","indian ocean","arctic ocean","antarctic ocean","everglades"],Conjunction:["yet","therefore","or","while","nor","whether","though","tho","because","cuz","but","for","and","however","before","although","how","plus","versus","otherwise"],Time:["noon","midnight","now","morning","evening","afternoon","night","breakfast time","lunchtime","dinnertime","ago","sometime","eod","oclock"],Date:["eom","standard time","daylight time"],Condition:["if","unless","notwithstanding"],PastTense:["said","had","been","began","came","did","meant","went"],Gerund:["going","being","according","resulting","developing","staining"],Copula:["is","are","was","were","am"],Determiner:e("./determiners"),Preposition:e("./prepositions"),Modal:["can","may","could","might","will","ought to","would","must","shall","should","ought","shant","lets"],Possessive:["mine","something","none","anything","anyone","theirs","himself","ours","his","my","their","yours","your","our","its","herself","hers","themselves","myself","her"],Pronoun:["it","they","i","them","you","she","me","he","him","ourselves","us","we","thou","il","elle","yourself","'em","he's","she's"],QuestionWord:["where","why","when","who","whom","whose","what","which"],Adverb:e("./adverbs"),Expression:e("./expressions"),Person:["father","mother","mom","dad","mommy","daddy","sister","brother","aunt","uncle","grandfather","grandmother","cousin","stepfather","stepmother","boy","girl","man","woman","guy","dude","bro","gentleman","someone"]},i=Object.keys(a),o=0;o1&&(a[t]=!0);var r=n[e][t];a[r]=!0,a[r+"s"]=!0})}),a=Object.keys(a),t.exports={words:a,units:n}},{}],37:[function(e,t,r){"use strict";var n=e("./participles"),a={take:{PerfectTense:"have taken",pluPerfectTense:"had taken",FuturePerfect:"will have taken"},can:{Gerund:"",PresentTense:"can",PastTense:"could",FutureTense:"can",PerfectTense:"could",pluPerfectTense:"could",FuturePerfect:"can",Actor:""},free:{Gerund:"freeing",Actor:""},arise:{PastTense:"arose",Participle:"arisen"},babysit:{PastTense:"babysat",Actor:"babysitter"},be:{PastTense:"was",Participle:"been",PresentTense:"is",Actor:"",Gerund:"am"},is:{PastTense:"was",PresentTense:"is",Actor:"",Gerund:"being"},beat:{Gerund:"beating",Actor:"beater",Participle:"beaten"},begin:{Gerund:"beginning",PastTense:"began"},ban:{PastTense:"banned",Gerund:"banning",Actor:""},bet:{Actor:"better"},bind:{PastTense:"bound"},bite:{Gerund:"biting",PastTense:"bit"},bleed:{PastTense:"bled"},break:{PastTense:"broke"},breed:{PastTense:"bred"},bring:{PastTense:"brought"},broadcast:{PastTense:"broadcast"},build:{PastTense:"built"},buy:{PastTense:"bought"},catch:{PastTense:"caught"},choose:{Gerund:"choosing",PastTense:"chose"},cost:{PastTense:"cost"},deal:{PastTense:"dealt"},die:{PastTense:"died",Gerund:"dying"},dig:{Gerund:"digging",PastTense:"dug"},do:{PastTense:"did",PresentTense:"does"},draw:{PastTense:"drew"},drink:{PastTense:"drank",Participle:"drunk"},drive:{Gerund:"driving",PastTense:"drove"},eat:{Gerund:"eating",PastTense:"ate",Actor:"eater",Participle:"eaten"},fall:{PastTense:"fell"},feed:{PastTense:"fed"},feel:{PastTense:"felt",Actor:"feeler"},fight:{PastTense:"fought"},find:{PastTense:"found"},fly:{PastTense:"flew",Participle:"flown"},blow:{PastTense:"blew",Participle:"blown"},forbid:{PastTense:"forbade"},forget:{Gerund:"forgeting",PastTense:"forgot"},forgive:{Gerund:"forgiving",PastTense:"forgave"},freeze:{Gerund:"freezing",PastTense:"froze"},get:{PastTense:"got"},give:{Gerund:"giving",PastTense:"gave"},go:{PastTense:"went",PresentTense:"goes"},hang:{PastTense:"hung"},have:{Gerund:"having",PastTense:"had",PresentTense:"has"},hear:{PastTense:"heard"},hide:{PastTense:"hid"},hold:{PastTense:"held"},hurt:{PastTense:"hurt"},lay:{PastTense:"laid"},lead:{PastTense:"led"},leave:{PastTense:"left"},lie:{Gerund:"lying",PastTense:"lay"},light:{PastTense:"lit"},lose:{Gerund:"losing",PastTense:"lost"},make:{PastTense:"made"},mean:{PastTense:"meant"},meet:{Gerund:"meeting",PastTense:"met",Actor:"meeter"},pay:{PastTense:"paid"},read:{PastTense:"read"},ring:{PastTense:"rang"},rise:{PastTense:"rose",Gerund:"rising",pluPerfectTense:"had risen",FuturePerfect:"will have risen"},run:{Gerund:"running",PastTense:"ran"},say:{PastTense:"said"},see:{PastTense:"saw"},sell:{PastTense:"sold"},shine:{PastTense:"shone"},shoot:{PastTense:"shot"},show:{PastTense:"showed"},sing:{PastTense:"sang",Participle:"sung"},sink:{PastTense:"sank",pluPerfectTense:"had sunk"},sit:{PastTense:"sat"},slide:{PastTense:"slid"},speak:{PastTense:"spoke",PerfectTense:"have spoken",pluPerfectTense:"had spoken",FuturePerfect:"will have spoken"},spin:{Gerund:"spinning",PastTense:"spun"},spread:{PastTense:"spread"},stand:{PastTense:"stood"},steal:{PastTense:"stole",Actor:"stealer"},stick:{PastTense:"stuck"},sting:{PastTense:"stung"},stream:{Actor:"streamer"},strike:{Gerund:"striking",PastTense:"struck"},swear:{PastTense:"swore"},swim:{PastTense:"swam"},swing:{PastTense:"swung"},teach:{PastTense:"taught",PresentTense:"teaches"},tear:{PastTense:"tore"},tell:{PastTense:"told"},think:{PastTense:"thought"},understand:{PastTense:"understood"},wake:{PastTense:"woke"},wear:{PastTense:"wore"},win:{Gerund:"winning",PastTense:"won"},withdraw:{PastTense:"withdrew"},write:{Gerund:"writing",PastTense:"wrote",Participle:"written"},tie:{Gerund:"tying",PastTense:"tied"},ski:{PastTense:"skiied"},boil:{Actor:"boiler"},miss:{PresentTense:"miss"},act:{Actor:"actor"},compete:{Gerund:"competing",PastTense:"competed",Actor:"competitor"},being:{Gerund:"are",PastTense:"were",PresentTense:"are"},imply:{PastTense:"implied",PresentTense:"implies"},ice:{Gerund:"icing",PastTense:"iced"},develop:{PastTense:"developed",Actor:"developer",Gerund:"developing"},wait:{Gerund:"waiting",PastTense:"waited",Actor:"waiter"},aim:{Actor:"aimer"},spill:{PastTense:"spilt"},drop:{Gerund:"dropping",PastTense:"dropped"},log:{Gerund:"logging",PastTense:"logged"},rub:{Gerund:"rubbing",PastTense:"rubbed"},smash:{PresentTense:"smashes"},suit:{Gerund:"suiting",PastTense:"suited",Actor:"suiter"}};Object.keys(n).forEach(function(e){a[e]?a[e].Participle=n[e]:a[e]={Participle:n[e]}}),t.exports=a},{"./participles":38}],38:[function(e,t,r){"use strict";t.exports={become:"become",begin:"begun",bend:"bent",bet:"bet",bite:"bitten",bleed:"bled",brake:"broken",bring:"brought",build:"built",burn:"burned",burst:"burst",buy:"bought",catch:"caught",choose:"chosen",cling:"clung",come:"come",creep:"crept",cut:"cut",deal:"dealt",dig:"dug",dive:"dived",do:"done",draw:"drawn",dream:"dreamt",drive:"driven",eat:"eaten",fall:"fallen",feed:"fed",fight:"fought",flee:"fled",fling:"flung",forget:"forgotten",forgive:"forgiven",freeze:"frozen",got:"gotten",give:"given",go:"gone",grow:"grown",hang:"hung",have:"had",hear:"heard",hide:"hidden",hit:"hit",hold:"held",hurt:"hurt",keep:"kept",kneel:"knelt",know:"known",lay:"laid",lead:"led",leap:"leapt",leave:"left",lend:"lent",light:"lit",loose:"lost",make:"made",mean:"meant",meet:"met",pay:"paid",prove:"proven",put:"put",quit:"quit",read:"read",ride:"ridden",ring:"rung",rise:"risen",run:"run",say:"said",see:"seen",seek:"sought",sell:"sold",send:"sent",set:"set",sew:"sewn",shake:"shaken",shave:"shaved",shine:"shone",shoot:"shot",shut:"shut",seat:"sat",slay:"slain",sleep:"slept",slide:"slid",sneak:"snuck",speak:"spoken",speed:"sped",spend:"spent",spill:"spilled",spin:"spun",spit:"spat",split:"split",spring:"sprung",stink:"stunk",strew:"strewn",sware:"sworn",sweep:"swept",thrive:"thrived",throw:"thrown",undergo:"undergone",upset:"upset",weave:"woven",weep:"wept",wind:"wound",wring:"wrung"}},{}],39:[function(e,t,r){"use strict";var n=e("../fns"),a={prove:",im,ap,disap",serve:",de,ob,re",ress:"exp,p,prog,st,add,d",lect:"ref,se,neg,col,e",sist:"in,con,per,re,as",tain:"ob,con,main,s,re",mble:"rese,gru,asse,stu",ture:"frac,lec,tor,fea",port:"re,sup,ex,im",ate:"rel,oper,indic,cre,h,activ,estim,particip,d,anticip,evalu",use:",ca,over,ref,acc,am,pa",ive:"l,rece,d,arr,str,surv,thr,rel",are:"prep,c,comp,sh,st,decl,d,sc",ine:"exam,imag,determ,comb,l,decl,underm,def",nce:"annou,da,experie,influe,bou,convi,enha",ain:"tr,rem,expl,dr,compl,g,str",ent:"prev,repres,r,res,rel,inv",age:"dam,mess,man,encour,eng,discour",rge:"su,cha,eme,u,me",ise:"ra,exerc,prom,surpr,pra",ect:"susp,dir,exp,def,rej",ter:"en,mat,cen,ca,al",end:",t,dep,ext,att",est:"t,sugg,prot,requ,r",ock:"kn,l,sh,bl,unl",nge:"cha,excha,ra,challe,plu",ase:"incre,decre,purch,b,ce",ish:"establ,publ,w,fin,distingu",mit:"per,ad,sub,li",ure:"fig,ens,end,meas",der:"won,consi,mur,wan", +ave:"s,sh,w,cr",ire:"requ,des,h,ret",tch:"scra,swi,ma,stre",ack:"att,l,p,cr",ion:"ment,quest,funct,envis",ump:"j,l,p,d",ide:"dec,prov,gu,s",ush:"br,cr,p,r",eat:"def,h,tr,ch",ash:"sm,spl,w,fl",rry:"ca,ma,hu,wo",ear:"app,f,b,disapp",er:"answ,rememb,off,suff,cov,discov,diff,gath,deliv,both,empow,with",le:"fi,sett,hand,sca,whist,enab,smi,ming,ru,sprink,pi",st:"exi,foreca,ho,po,twi,tru,li,adju,boa,contra,boo",it:"vis,ed,depos,sp,awa,inhib,cred,benef,prohib,inhab",nt:"wa,hu,pri,poi,cou,accou,confro,warra,pai",ch:"laun,rea,approa,sear,tou,ar,enri,atta",ss:"discu,gue,ki,pa,proce,cro,glo,dismi",ll:"fi,pu,ki,ca,ro,sme,reca,insta",rn:"tu,lea,conce,retu,bu,ea,wa,gove",ce:"redu,produ,divor,noti,for,repla",te:"contribu,uni,tas,vo,no,constitu,ci",rt:"sta,comfo,exe,depa,asse,reso,conve",ck:"su,pi,che,ki,tri,wre",ct:"intera,restri,predi,attra,depi,condu",ke:"sta,li,bra,overta,smo,disli",se:"collap,suppo,clo,rever,po,sen",nd:"mi,surrou,dema,remi,expa,comma",ve:"achie,invol,remo,lo,belie,mo",rm:"fo,perfo,confi,confo,ha",or:"lab,mirr,fav,monit,hon",ue:"arg,contin,val,iss,purs",ow:"all,foll,sn,fl,borr",ay:"pl,st,betr,displ,portr",ze:"recogni,reali,snee,ga,emphasi",ip:"cl,d,gr,sl,sk",re:"igno,sto,interfe,sco",ng:"spri,ba,belo,cli",ew:"scr,vi,revi,ch",gh:"cou,lau,outwei,wei",ly:"app,supp,re,multip",ge:"jud,acknowled,dod,alle",en:"list,happ,threat,strength",ee:"fors,agr,disagr,guarant",et:"budg,regr,mark,targ",rd:"rega,gua,rewa,affo",am:"dre,j,sl,ro",ry:"va,t,c,bu"},i=["abandon","accept","add","added","adopt","aid","appeal","applaud","archive","ask","assign","associate","assume","attempt","avoid","ban","become","bomb","cancel","claim","claw","come","control","convey","cook","copy","cut","deem","defy","deny","describe","design","destroy","die","divide","do","doubt","drag","drift","drop","echo","embody","enjoy","envy","excel","fall","fail","fix","float","flood","focus","fold","get","goes","grab","grasp","grow","happen","head","help","hold fast","hope","include","instruct","invest","join","keep","know","learn","let","lift","link","load","loan","look","make due","mark","melt","minus","multiply","name","need","occur","overcome","overlap","overwhelm","owe","pay","plan","plug","plus","pop","pour","proclaim","put","rank","reason","reckon","relax","repair","reply","reveal","revel","risk","rub","ruin","sail","seek","seem","send","set","shout","sleep","sneak","sort","spoil","stem","step","stop","study","take","talk","thank","took","trade","transfer","trap","travel","tune","undergo","undo","uplift","walk","watch","win","wipe","work","yawn","yield"];t.exports=n.uncompress_suffixes(i,a)},{"../fns":7}],40:[function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=e("./tags/colors"),i={reset:"",red:"",green:"",yellow:"",blue:"",magenta:"",cyan:"",black:""};"undefined"==typeof t&&Object.keys(i).forEach(function(e){i[e]=""}),r.ensureString=function(e){return"string"==typeof e?e:"number"==typeof e?""+e:""},r.ensureObject=function(e){return"object"!==("undefined"==typeof e?"undefined":n(e))?{}:null===e||e instanceof Array?{}:e},r.endsWith=function(e,t){return!(!e||e.substr(-t.length)!==t)},r.startsWith=function(e,t){return!(!e||!t||e.substr(0,t.length)!==t)},r.titleCase=function(e){return e.charAt(0).toUpperCase()+e.substr(1)},r.flatten=function(e){var t=[];return e.forEach(function(e){t=t.concat(e)}),t},r.copy=function(e){var t={};return e=r.ensureObject(e),Object.keys(e).forEach(function(r){t[r]=e[r]}),t},r.green=function(e){return i.green+e+i.reset},r.red=function(e){return i.red+e+i.reset},r.blue=function(e){return i.blue+e+i.reset},r.magenta=function(e){return i.magenta+e+i.reset},r.cyan=function(e){return i.cyan+e+i.reset},r.yellow=function(e){return i.yellow+e+i.reset},r.black=function(e){return i.black+e+i.reset},r.printTag=function(e){return a[e]?r[a[e]](e):e},r.printTerm=function(e){for(var t=Object.keys(e.tag),n=0;n "+a.printTag(t),n=a.leftPad(n,54),console.log(" "+n+"("+a.cyan(r||"")+")")}}}},{"../fns":40}],43:[function(e,t,r){"use strict";var n=e("./index"),a=e("./tokenize"),i=e("./paths").Terms,o=e("../term/methods/normalize/normalize").normalize,s=e("../tags"),u=function(e){return e=e||{},Object.keys(e).reduce(function(t,r){t[r]=e[r];var n=o(r);return r!==n&&(t[n]=e[r]),t},{})},l=function(e){console.log(e),console.log(s)},c=function(e,t,r){var o=a(e);t=u(t);var s=o.map(function(e){return i.fromString(e,t)});r&&l(r);var c=new n(s,t,null,r);return c.list.forEach(function(e){e.refText=c}),c};t.exports=c},{"../tags":156,"../term/methods/normalize/normalize":163,"./index":44,"./paths":56,"./tokenize":153}],44:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=function(){function e(e,t){for(var r=0;r0}},{key:"length",get:function(){return this.list.length}},{key:"isA",get:function(){return"Text"}},{key:"parent",get:function(){return this.reference||this},set:function(e){return this.reference=e,this}},{key:"whitespace",get:function(){var e=this;return{before:function(t){return e.list.forEach(function(e){e.whitespace.before(t)}),e},after:function(t){return e.list.forEach(function(e){e.whitespace.after(t)}),e}}}}]),e}();t.exports=i,i=e("./methods/array")(i),i=e("./methods/loops")(i),i=e("./methods/match")(i),i=e("./methods/out")(i),i=e("./methods/sort")(i),i=e("./methods/split")(i),i=e("./methods/tag")(i),i=e("./methods/normalize")(i);var o={acronyms:e("./subset/acronyms"),adjectives:e("./subset/adjectives"),adverbs:e("./subset/adverbs"),clauses:e("./subset/clauses"),contractions:e("./subset/contractions"),dates:e("./subset/dates"),hashTags:e("./subset/hashTags"),nouns:e("./subset/nouns"),organizations:e("./subset/organizations"),people:e("./subset/people"),phoneNumbers:e("./subset/phoneNumbers"),places:e("./subset/places"),questions:e("./subset/sentences/questions"),quotations:e("./subset/quotations"),sentences:e("./subset/sentences"),statements:e("./subset/sentences/statements"),terms:e("./subset/terms"),topics:e("./subset/topics"),urls:e("./subset/urls"),values:e("./subset/values"),verbs:e("./subset/verbs"),ngrams:e("./subset/ngrams"),startGrams:e("./subset/ngrams/startGrams"),endGrams:e("./subset/ngrams/endGrams")};Object.keys(o).forEach(function(e){i.prototype[e]=function(t,r){var n=o[e],a=n.find(this,t,r);return new o[e](a.list,this.lexicon,this.parent)}})},{"./methods/array":45,"./methods/loops":46,"./methods/match":47,"./methods/normalize":48,"./methods/out":49,"./methods/sort":52,"./methods/split":54,"./methods/tag":55,"./subset/acronyms":57,"./subset/adjectives":59,"./subset/adverbs":67,"./subset/clauses":69,"./subset/contractions":73,"./subset/dates":75,"./subset/hashTags":85,"./subset/ngrams":89,"./subset/ngrams/endGrams":86,"./subset/ngrams/startGrams":90,"./subset/nouns":92,"./subset/organizations":101,"./subset/people":103,"./subset/phoneNumbers":105,"./subset/places":106,"./subset/quotations":108,"./subset/sentences":109,"./subset/sentences/questions":110,"./subset/sentences/statements":113,"./subset/terms":116,"./subset/topics":118,"./subset/urls":119,"./subset/values":120,"./subset/verbs":133}],45:[function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=e("../../terms"),i=function(e){var t={clone:function(){var t=this.list.map(function(e){return e.clone()});return new e(t)},term:function(t){var r=this,n=this.list.map(function(e){var n=[],i=e.terms[t];return i&&(n=[i]),new a(n,r.lexicon,r.refText,r.refTerms)});return new e(n,this.lexicon,this.parent)},firstTerm:function(){return this.match("^.")},lastTerm:function(){return this.match(".$")},slice:function(e,t){return this.list=this.list.slice(e,t),this},get:function(t){if(!t&&0!==t||!this.list[t])return new e([],this.lexicon,this.parent);var r=this.list[t];return new e([r],this.lexicon,this.parent)},first:function(t){return t||0===t?new e(this.list.slice(0,t),this.lexicon,this.parent):this.get(0)},last:function(t){if(!t&&0!==t)return this.get(this.list.length-1);var r=this.list.length,n=r-t;return new e(this.list.slice(n,r),this.lexicon,this.parent)},concat:function(){for(var e=0;e0&&(r.whitespace.before=" "),r.whitespace.after=""}),e},case:function(e){return e.terms().list.forEach(function(e,t){var r=e.terms[0];0===t||r.tag.Person||r.tag.Place||r.tag.Organization?e.toTitleCase():e.toLowerCase()}),e},numbers:function(e){return e.values().toNumber()},punctuation:function(e){return e.terms().list.forEach(function(e,t){var r=e.terms[0];t"},"");return" "+e+"\n"},terms:function(e){var t=[];return e.list.forEach(function(e){e.terms.forEach(function(e){t.push({text:e.text,normal:e.normal,tags:Object.keys(e.tag)})})}),t},debug:function(e){return console.log("===="),e.list.forEach(function(e){console.log(" --"),e.debug()}),e},topk:function(e){return n(e)}};i.plaintext=i.text,i.normalized=i.normal,i.colors=i.color,i.tags=i.terms,i.offset=i.offsets,i.frequency=i.topk,i.freq=i.topk,i.arr=i.array;var o=function(e){return e.prototype.out=function(e){return i[e]?i[e](this):i.text(this)},e.prototype.debug=function(){return i.debug(this)},e};t.exports=o},{"./offset":50,"./topk":51}],50:[function(e,t,r){"use strict";var n=function(e,t){for(var r=0,n=0;nt.count?-1:1}),t&&(n=n.splice(0,t)),n};t.exports=n},{}],52:[function(e,t,r){"use strict";var n=e("./methods"),a=function(e){var t={sort:function(t){return t=t||"alphabetical",t=t.toLowerCase(),t&&"alpha"!==t&&"alphabetical"!==t?"chron"===t||"chronological"===t?n.chron(this,e):"length"===t?n.lengthFn(this,e):"freq"===t||"frequency"===t?n.freq(this,e):"wordcount"===t?n.wordCount(this,e):this:n.alpha(this,e)},reverse:function(){return this.list=this.list.reverse(),this},unique:function(){var e={};return this.list=this.list.filter(function(t){var r=t.out("root");return!e[r]&&(e[r]=!0,!0)}),this}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=a},{"./methods":53}],53:[function(e,t,r){"use strict";var n=function(e){return e=e.sort(function(e,t){return e.index>t.index?1:e.index===t.index?0:-1}),e.map(function(e){return e.ts})};r.alpha=function(e){return e.list.sort(function(e,t){if(e===t)return 0;if(e.terms[0]&&t.terms[0]){if(e.terms[0].root>t.terms[0].root)return 1;if(e.terms[0].roott.out("root")?1:-1}),e},r.chron=function(e){var t=e.list.map(function(e){return{ts:e,index:e.termIndex()}});return e.list=n(t),e},r.lengthFn=function(e){var t=e.list.map(function(e){return{ts:e,index:e.chars()}});return e.list=n(t).reverse(),e},r.wordCount=function(e){var t=e.list.map(function(e){return{ts:e,index:e.length}});return e.list=n(t),e},r.freq=function(e){var t={};e.list.forEach(function(e){var r=e.out("root");t[r]=t[r]||0,t[r]+=1});var r=e.list.map(function(e){var r=t[e.out("root")]||0;return{ts:e,index:r*-1}});return e.list=n(r),e}},{}],54:[function(e,t,r){"use strict";var n=function(e){var t={splitAfter:function(e,t){var r=[];return this.list.forEach(function(n){n.splitAfter(e,t).forEach(function(e){r.push(e)})}),this.list=r,this},splitBefore:function(e,t){var r=[];return this.list.forEach(function(n){n.splitBefore(e,t).forEach(function(e){r.push(e)})}),this.list=r,this},splitOn:function(e,t){var r=[];return this.list.forEach(function(n){n.splitOn(e,t).forEach(function(e){r.push(e)})}),this.list=r,this}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=n},{}],55:[function(e,t,r){"use strict";var n=function(e){var t={tag:function(e,t){var r=this;return this.list.forEach(function(n){n.tagAs(e,t,r.tagSet)}),this},unTag:function(e,t){var r=this;return this.list.forEach(function(n){n.unTag(e,t,r.tagSet)}),this},canBe:function(e){var t=this;return this.list.forEach(function(r){r.terms=r.terms.filter(function(r){return r.canBe(e,t.tagSet)})}),this}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=n},{}],56:[function(e,t,r){"use strict";t.exports={fns:e("../fns"),log:e("../log"),data:e("../data"),Terms:e("../terms"),tags:e("../tags")}},{"../data":8,"../fns":40,"../log":42,"../tags":156,"../terms":176}],57:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var o=function(){function e(e,t){for(var r=0;r0)},s=function(e){return!!(e&&e>1e3&&e<3e3)},u=function(e){var t={month:null,date:null,weekday:null,year:null,knownDate:null,timeOfDay:null},r=e.match("(#Holiday|today|tomorrow|yesterday)");if(r.found&&(t.knownDate=r.out("normal")),r=e.match("#Month"),r.found&&(t.month=i.index(r.list[0].terms[0])),r=e.match("#WeekDay"),r.found&&(t.weekday=a.index(r.list[0].terms[0])),r=e.match("#Time"),r.found&&(t.timeOfDay=n(e),e.not("#Time")),r=e.match("#Month #Value #Year"),r.found){var u=r.values().numbers();o(u[0])&&(t.date=u[0]);var l=parseInt(e.match("#Year").out("normal"),10);s(l)&&(t.year=l)}if(!r.found){if(r=e.match("#Month #Value"),r.found){var c=r.values().numbers(),f=c[0];o(f)&&(t.date=f)}if(r=e.match("#Month #Year"),r.found){var h=parseInt(e.match("#Year").out("normal"),10);s(h)&&(t.year=h)}}if(r=e.match("#Value of #Month"),r.found){var m=r.values().numbers()[0];o(m)&&(t.date=m)}return t};t.exports=u},{"./month":77,"./parseTime":82,"./weekday":84}],79:[function(e,t,r){"use strict";var n={year:!0,quarter:!0,month:!0,week:!0,weekend:!0,day:!0,hour:!0},a=function(e){var t=null,r={},a=e.match("#Value #Duration (from|after|following)");return a.found?t="forward":(a=e.match("#Value #Duration (before)"),a.found&&(t="backward")),a.found&&e.match("#Value #Duration").list.forEach(function(e){var t=e.match("*").values().data()[0]||{};if(t=t.number,t||0===t){var a=e.match("#Duration").nouns().toSingular().out("normal");n[a]&&(r[a]=t)}}),{direction:t,duration:r}};t.exports=a},{}],80:[function(e,t,r){"use strict";var n={this:"this",next:"next",last:"last",upcoming:"next"},a=function(e){var t="("+Object.keys(n).join("|")+")",r=e.match(t+"+").lastTerm();if(r.found){var a=r.match(t).out("normal");return n[a]}return null};t.exports=a},{}],81:[function(e,t,r){"use strict";var n={start:"start",end:"end",middle:"middle",beginning:"start",ending:"end",midpoint:"middle",midst:"middle"},a=function(e){var t="("+Object.keys(n).join("|")+")",r=e.match("the? "+t+" of");if(r.found){var a=r.match(t).out("normal");return n[a]}return null};t.exports=a},{}],82:[function(e,t,r){"use strict";var n=function(e){return!!(e&&e>0&&e<25)},a=function(e){return!!(e&&e>0&&e<60)},i=function(e){var t={logic:null,hour:null,minute:null,second:null,timezone:null},r=e.match("(by|before|for|during|at|until|after) #Time").firstTerm();r.found&&(t.logic=r.out("normal"));var i=e.match("#Time");return i.terms().list.forEach(function(e){var r=e.terms[0],i=r.text.match(/([12]?[0-9]) ?(am|pm)/i);i&&(t.hour=parseInt(i[1],10),"pm"===i[2]&&(t.hour+=12),n(t.hour)||(t.hour=null)),i=r.text.match(/([12]?[0-9]):([0-9][0-9]) ?(am|pm)?/i),i&&(t.hour=parseInt(i[1],10),t.minute=parseInt(i[2],10),a(t.minute)||(t.minute=null),"pm"===i[3]&&(t.hour+=12),n(t.hour)||(t.hour=null))}),t};t.exports=i},{}],83:[function(e,t,r){"use strict";r.longDays={sunday:0,monday:1,tuesday:2,wednesday:3,thursday:4,friday:5,saturday:6},r.shortDays={sun:0,mon:1,tues:2,wed:3,thurs:4,fri:5,sat:6}},{}],84:[function(e,t,r){"use strict";var n=e("./data"),a=n.shortDays,i=n.longDays;t.exports={index:function(e){if(e.tag.WeekDay){if(void 0!==i[e.normal])return i[e.normal];if(void 0!==a[e.normal])return a[e.normal]}return null},toShortForm:function(e){if(e.tag.WeekDay&&void 0!==i[e.normal]){var t=Object.keys(a);e.text=t[i[e.normal]]}return e},toLongForm:function(e){if(e.tag.WeekDay&&void 0!==a[e.normal]){var t=Object.keys(i);e.text=t[a[e.normal]]}return e}}},{"./data":83}],85:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var o=function(){function e(e,t){for(var r=0;rt.count?-1:e.count===t.count&&(e.size>t.size||e.key.length>t.key.length)?-1:1}),this}}],[{key:"find",value:function(e,r,n){var a={size:[1,2,3,4]};n&&(a.size=[n]);var i=u(e,a);return e=new t(i),e.sort(),"number"==typeof r&&(e=e.get(r)),e}}]),t}(s);t.exports=l},{"../../index":44,"./getGrams":87}],90:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var o=function(){function e(e,t){for(var r=0;r3)};t.exports=u},{"../../../data":8,"./methods/data/indicators":95}],94:[function(e,t,r){"use strict";var n={hour:"an",heir:"an",heirloom:"an",honest:"an",honour:"an",honor:"an",uber:"an"},a={a:!0,e:!0,f:!0,h:!0,i:!0,l:!0,m:!0,n:!0,o:!0,r:!0,s:!0,x:!0},i=[/^onc?e/i,/^u[bcfhjkqrstn][aeiou]/i,/^eul/i],o=function(e){var t=e.normal;if(n.hasOwnProperty(t))return n[t];var r=t.substr(0,1);if(e.isAcronym()&&a.hasOwnProperty(r))return"an";for(var o=0;o1){var l=u.not("(#Acronym|#Honorific)");u.firstName=l.first(),u.lastName=l.last()}return s=u,a(u,s)}return i(t,e),o(t,[{key:"data",value:function(){return{text:this.out("text"),normal:this.out("normal"),firstName:this.firstName.out("normal"), +middleName:this.middleName.out("normal"),lastName:this.lastName.out("normal"),genderGuess:this.guessGender(),pronoun:this.pronoun(),honorifics:this.honorifics.out("array")}}}]),o(t,[{key:"guessGender",value:function(){if(this.honorifics.match("(mr|mister|sr|sir|jr)").found)return l.tell("known male honorific"),"Male";if(this.honorifics.match("(mrs|miss|ms|misses|mme|mlle)").found)return l.tell("known female honorific"),"Female";if(this.firstName.match("#MaleName").found)return l.tell("known male name"),"Male";if(this.firstName.match("#FemaleName").found)return l.tell("known female name"),"Female";var e=this.firstName.out("normal");return u(e)}},{key:"pronoun",value:function(){var e=this.firstName.out("normal"),t=this.guessGender(e);return"Male"===t?"he":"Female"===t?"she":"they"}},{key:"root",value:function(){var e=this.firstName.out("root"),t=this.lastName.out("root");return e&&t?e+" "+t:t||e||this.out("root")}}]),t}(s);t.exports=c},{"../../paths":56,"./guessGender":102}],105:[function(e,t,r){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var r=0;ru[t].parents.length?-1:1:-1}),e[0]}},{key:"data",value:function(){var e=this.t;return{spaceBefore:e.whitespace.before,text:e.text,spaceAfter:e.whitespace.after,normal:e.normal,implicit:e.silent_term,bestTag:this.bestTag(),tags:Object.keys(e.tag)}}}]),t}(s);t.exports=c},{"../../paths":56}],118:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var o=function(){function e(e,t){for(var r=0;r10&&r<20)return""+t+"th";var a={0:"th",1:"st",2:"nd",3:"rd"},i=""+t,o=i.slice(i.length-1,i.length);return i+=a[o]?a[o]:"th"};t.exports=a},{"../toNumber":127}],122:[function(e,t,r){"use strict";t.exports=e("../../paths")},{"../../paths":56}],123:[function(e,t,r){"use strict";var n=e("../toNumber"),a=e("../toText"),i=e("../../../paths").data.ordinalMap.toOrdinal,o=function(e){var t=n(e),r=a(t),o=r[r.length-1];return r[r.length-1]=i[o]||o,r.join(" ")};t.exports=o},{"../../../paths":56,"../toNumber":127,"../toText":131}],124:[function(e,t,r){"use strict";var n=function(e){if(!e&&0!==e)return null;e=""+e;for(var t=e.split("."),r=t[0],n=t.length>1?"."+t[1]:"",a=/(\d+)(\d{3})/;a.test(r);)r=r.replace(a,"$1,$2");return r+n};t.exports=n},{}],125:[function(e,t,r){"use strict";var n=e("../paths"),a=n.data.numbers,i=Object.assign({},a.ordinal.ones,a.cardinal.ones),o=Object.assign({},a.ordinal.teens,a.cardinal.teens),s=Object.assign({},a.ordinal.tens,a.cardinal.tens),u=Object.assign({},a.ordinal.multiples,a.cardinal.multiples);t.exports={ones:i,teens:o,tens:s,multiples:u}},{"../paths":122}],126:[function(e,t,r){"use strict";var n=function(e){for(var t=[{reg:/^(minus|negative)[\s\-]/i,mult:-1},{reg:/^(a\s)?half[\s\-](of\s)?/i,mult:.5}],r=0;rn[0]){var a=Math.floor(t/n[0]);t-=a*n[0],a&&r.push({unit:n[1],count:a})}}),r},a=function(e){for(var t=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],r=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],n=[],a=0;a=t[a][1]&&(e-=t[a][1],n.push(t[a][0]));return r[e]&&n.push(r[e]),n},i=function(e){var t=["zero","one","two","three","four","five","six","seven","eight","nine"],r=[],n=(""+e).match(/\.([0-9]+)/);if(!n||!n[0])return r;r.push("point");for(var a=n[0].split(""),i=0;i1&&t.push("and")),t=t.concat(a(r[o].count)),t.push(s)}return t=t.concat(i(e)),t=t.filter(function(e){return e}),0===t.length&&(t[0]="zero"),t};t.exports=o},{}],132:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var o=function(){function e(e,t){for(var r=0;r0&&(t.push(r[h]),r[h]="");return 0===t.length?[e]:t};t.exports=s},{"../data/index":8,"./paths":56}],154:[function(e,t,r){"use strict";var n={blue:["Noun","Plural","Singular","Pronoun","Possessive","Place","Person","City"],red:["Value","Ordinal","Cardinal","TextValue","NumericValue"],green:["Verb","Auxillary","Negative","PastTense","PresentTense","FutureTense","Modal","Infinitive","Gerund","Copula","Participle"],cyan:["Preposition","Conjunction","Determiner"],black:["Adjective","Adverb"]};t.exports=Object.keys(n).reduce(function(e,t){return n[t].forEach(function(r){e[r]=t}),e},{})},{}],155:[function(e,t,r){"use strict";var n=[["Noun","Verb","Adjective","Adverb","Determiner","Conjunction","Preposition","QuestionWord","Expression","Url","PhoneNumber","Email","Emoji"],["Person","Organization","Value","Place","Actor","Demonym","Pronoun"],["Plural","Singular"],["Plural","Person"],["Plural","Organization"],["Plural","Currency"],["Plural","Ordinal"],["MaleName","FemaleName"],["FirstName","LastName","Honorific"],["Comparative","Superlative"],["Value","Verb","Adjective"],["Ordinal","Cardinal"],["TextValue","NumericValue"],["NiceNumber","TextValue"],["Ordinal","Currency"],["PastTense","PerfectTense","Pluperfect","FuturePerfect","Copula","Modal","Participle","Infinitive","Gerund"],["Month","WeekDay","Year","Duration"],["Particle","Conjunction","Adverb","Preposition"],["Date","Verb","Adjective","Person"],["NounPhrase","VerbPhrase","AdjectivePhrase","ConditionalPhrase"],["Value","Determiner"],["Verb","NounPhrase"],["Noun","VerbPhrase"],["RomanNumeral","Fraction","NiceNumber"],["RomanNumeral","Money"],["UpperCase","TitleCase","CamelCase"]],a=function(e){for(var t=[],r=0;r1&&!e.normal.match(/[aeiouy]/i))return!1;if(e.normal.match(/[0-9]/)){if(e.normal.match(/[a-z][0-9][a-z]/))return!1;if(!e.normal.match(/^([$-])*?([0-9,\.])*?([s\$%])*?$/))return!1}return!0}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=n},{}],162:[function(e,t,r){"use strict";var n=e("./normalize").addNormal,a=e("./root"),i=function(e){var t={normalize:function(){return n(this),a(this),this}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=i},{"./normalize":163,"./root":164}],163:[function(e,t,r){"use strict";var n=e("./unicode");r.normalize=function(e){return e=e||"",e=e.toLowerCase(),e=e.trim(),e=n(e),e=e.replace(/^[#@]/,""),e=e.replace(/[\u2018\u2019\u201A\u201B\u2032\u2035]+/g,"'"),e=e.replace(/[\u201C\u201D\u201E\u201F\u2033\u2036"]+/g,""),e=e.replace(/\u2026/g,"..."),e.match(/^[:;]/)||(e=e.replace(/\.{3,}$/g,""),e=e.replace(/['",\.!:;\?\)]$/g,""),e=e.replace(/^['"\(]/g,"")),e},r.addNormal=function(e){var t=e._text||"";t=r.normalize(t),e.isAcronym()&&(t=t.replace(/\./g,"")),t=t.replace(/([0-9]),([0-9])/g,"$1$2"),e.normal=t}},{"./unicode":165}],164:[function(e,t,r){"use strict";var n=function(e){var t=e.normal||e.silent_term||"";t=t.replace(/'s\b/,""),t=t.replace(/'\b/,""),e.root=t};t.exports=n},{}],165:[function(e,t,r){"use strict";var n={"!":"¡","?":"¿Ɂ",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАДадѦѧӐӑӒӓƛɅæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬбвъьѢѣҌҍҔҕƥƾ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼͽϲϹϽϾϿЄСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌǷ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƎƏƐǝȄȅȆȇȨȩɆɇΈΕΞΣέεξϱϵ϶ЀЁЕЭеѐёҼҽҾҿӖӗӘәӚӛӬӭ",f:"ƑƒϜϝӺӻҒғӶӷſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϭϴОФоѲѳӦӧӨөӪӫ¤ƍΏ",p:"ƤƿΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿςϚϛϟϨϩЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮϯТт҂Ҭҭ",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύϑЏЦЧцџҴҵҶҷӋӌӇӈ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƩƵƶȤȥɀΖζ"},a={};Object.keys(n).forEach(function(e){n[e].split("").forEach(function(t){a[t]=e})});var i=function(e){var t=e.split("");return t.forEach(function(e,r){a[e]&&(t[r]=a[e])}),t.join("")};t.exports=i},{}],166:[function(e,t,r){"use strict";var n=e("./renderHtml"),a=e("../../paths").fns,i={text:function(e){return e.whitespace.before+e._text+e.whitespace.after},normal:function(e){return e.normal},root:function(e){return e.root||e.normal},html:function(e){return n(e)},tags:function(e){return{text:e.text,normal:e.normal,tags:Object.keys(e.tag)}},debug:function(e){var t=Object.keys(e.tag).map(function(e){return a.printTag(e)}).join(", "),r=e.text;r="'"+a.yellow(r||"-")+"'",e.dirty;var n="";e.silent_term&&(n="["+e.silent_term+"]"),r=a.leftPad(r,25),r+=a.leftPad(n,5),console.log(" "+r+" - "+t)}},o=function(e){return e.prototype.out=function(e){return i[e]||(e="text"),i[e](this)},e};t.exports=o},{"../../paths":173,"./renderHtml":167}],167:[function(e,t,r){"use strict";var n=function(e){var t={"<":"<",">":">","&":"&",'"':""","'":"'"," ":" "};return e.replace(/[<>&"' ]/g,function(e){return t[e]})},a=function(e){var t="(?:[^\"'>]|\"[^\"]*\"|'[^']*')*",r=new RegExp("<(?:!--(?:(?:-*[^->])*--+|-?)|script\\b"+t+">[\\s\\S]*?[\\s\\S]*?","gi"),n=void 0;do n=e,e=e.replace(r,"");while(e!==n);return e.replace(/'+r+"";return n(e.whitespace.before)+i+n(e.whitespace.after)};t.exports=i},{}],168:[function(e,t,r){"use strict";var n=function(e){var t={endPunctuation:function(){var e=this.text.match(/[a-z]([,:;\/.(\.\.\.)\!\?]+)$/i);if(e){var t={",":"comma",":":"colon",";":"semicolon",".":"period","...":"elipses","!":"exclamation","?":"question"};if(t[e[1]])return e[1]}return null},setPunctuation:function(e){return this.text=this.text.replace(/[a-z]([,:;\/.(\.\.\.)\!\?]+)$/i,""),this.text+=e,this},hasComma:function(){return"comma"===this.endPunctuation()},killPunctuation:function(){return this.text=this._text.replace(/([,:;\/.(\.\.\.)\!\?]+)$/,""),this}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=n},{}],169:[function(e,t,r){"use strict";var n=e("./setTag"),a=e("./unTag"),i=e("./paths").tags,o=function(e){var t={tagAs:function(e,t){n(this,e,t)},unTag:function(e,t){a(this,e,t)},canBe:function(e){e=e||"",e=e.replace(/^#/,"");for(var t=i[e].not||[],r=0;r0&&(t[t.length-1]+=f),t.map(function(e){ +return new n(e)})};t.exports=i},{"../term":158}],176:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=function(){function e(e,t){for(var r=0;r0}},{key:"length",get:function(){return this.terms.length}},{key:"isA",get:function(){return"Terms"}},{key:"refTerms",get:function(){return this._refTerms||this},set:function(e){return this._refTerms=e,this}},{key:"dirty",set:function(e){this.terms.forEach(function(t){t.dirty=e})}},{key:"parent",get:function(){return this.refText||this},set:function(e){return this.refText=e,this}},{key:"parentTerms",get:function(){return this.refTerms||this},set:function(e){return this.refTerms=e,this}},{key:"whitespace",get:function(){var e=this;return{before:function(t){return e.firstTerm().whitespace.before=t,e},after:function(t){return e.lastTerm().whitespace.after=t,e}}}}],[{key:"fromString",value:function(t,r){var n=o(t),a=new e(n,r,null);return a.terms.forEach(function(e){e.parentTerms=a}),a.posTag(),a}}]),e}();s=e("./match")(s),s=e("./match/not")(s),s=e("./methods/tag")(s),s=e("./methods/loops")(s),s=e("./methods/delete")(s),s=e("./methods/insert")(s),s=e("./methods/misc")(s),s=e("./methods/out")(s),s=e("./methods/replace")(s),s=e("./methods/split")(s),s=e("./methods/transform")(s),t.exports=s},{"./build":175,"./match":177,"./match/not":183,"./methods/delete":184,"./methods/insert":185,"./methods/loops":186,"./methods/misc":187,"./methods/out":188,"./methods/replace":189,"./methods/split":190,"./methods/tag":191,"./methods/transform":192,"./tagger":204}],177:[function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=e("./lib/syntax"),i=e("./lib/startHere"),o=e("../../result/index"),s=function(e){var t=function(t,r){var n=t.terms.filter(function(e){return r[e.normal]});return n=n.map(function(r){return new e([r],t.lexicon,t.refText,t.refTerms)}),new o(n,t.lexicon,t.parent)},r=function(e,r){var n=r.reduce(function(e,t){return e[t]=!0,e},{});return t(e,n)},s=function(t,r,n){for(var s=[],u=a(r),l=0;l0);l++){var c=i(t,l,u,n);if(c){s.push(c);var f=c.length-1;l+=f}}return s=s.map(function(r){return new e(r,t.lexicon,t.refText,t.refTerms)}),new o(s,t.lexicon,t.parent)},u={match:function(e,a){if("string"==typeof e)return s(this,e,a);if("object"===("undefined"==typeof e?"undefined":n(e))){var i=Object.prototype.toString.call(e);if("[object Array]"===i)return r(this,e,a);if("[object Object]"===i)return t(this,e,a)}return this},matchOne:function(e){for(var t=a(e),r=0;r0);r++){var n=i(this,r,t);if(n)return n}return null},has:function(e){var t=this.matchOne(e);return!!t}};return Object.keys(u).forEach(function(t){e.prototype[t]=u[t]}),e};t.exports=s},{"../../result/index":44,"./lib/startHere":181,"./lib/syntax":182}],178:[function(e,t,r){"use strict";var n=e("./paths").fns,a=function(e,t){if(!e||!t)return!1;if(t.anyOne)return!0;if(t.tag){for(var r=0;r0)return null;if(f.ending&&u!==e.length-1&&!f.minMax)return null;if(r[l].astrix){if(!h)return e.terms.slice(t,e.length);var m=i(e,u,r[l+1]);if(!m)return null;u=m+1,l+=1}else if(r[l].minMax){if(!h){var p=e.length,d=r[l].minMax.max+t;return r[l].ending&&db.max)return null;u=g+1,l+=1}else if(f.optional){var v=r[l+1];u=o(e,u,f,v)}else if(a(c,f,s)){if(u+=1,f.consecutive){var y=r[l+1];u=o(e,u,f,y)}}else if(!c.silent_term||c.normal){var w=n(c,r,l);if(w)l=w,u+=1;else if(!f.optional)return null}else{if(0===l)return null;u+=1,l-=1}}return e.terms.slice(t,u)};t.exports=s},{"./isMatch":178,"./lumpMatch":179}],182:[function(e,t,r){"use strict";var n=e("./paths").fns,a=function(e){e=e||"",e=e.trim();var t={optional:!1};if(n.startsWith(e,"!")&&(e=e.substr(1,e.length),t.negative=!0),n.startsWith(e,"^")&&(e=e.substr(1,e.length),t.starting=!0),n.endsWith(e,"$")&&(e=e.replace(/\$$/,""),t.ending=!0),n.endsWith(e,"?")&&(e=e.replace(/\?$/,""),t.optional=!0),n.endsWith(e,"+")&&(e=e.replace(/\+$/,""),t.consecutive=!0),n.startsWith(e,"#")&&(e=e.replace(/^\#/,""),t.tag=[n.titleCase(e)],e=null),n.startsWith(e,"(")&&n.endsWith(e,")")&&(e=e.replace(/\)$/,""),e=e.replace(/^\(/,""),t.oneOf=e.split(/\|/g),e=null),n.startsWith(e,"{")&&n.endsWith(e,"}")){var r=e.match(/\{([0-9]+), ?([0-9]+)\}/);t.minMax={min:parseInt(r[1],10),max:parseInt(r[2],10)},e=null}return"."===e&&(t.anyOne=!0,e=null),"*"===e&&(t.astrix=!0,e=null),t.normal=e,t.normal&&(t.normal=t.normal.toLowerCase()),t},i=function(e){return e=e||"",e=e.split(/ +/),e.map(a)};t.exports=i},{"./paths":180}],183:[function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=e("./lib/syntax"),i=e("./lib/startHere"),o=e("../../result/index"),s=function(e){var t={notObj:function(t,r){var n=[],a=[];return t.terms.forEach(function(e){r.hasOwnProperty(e.normal)?(a.length&&n.push(a),a=[]):a.push(e)}),a.length&&n.push(a),n=n.map(function(r){return new e(r,t.lexicon,t.refText,t.refTerms)}),new o(n,t.lexicon,t.parent)},notString:function(t,r,n){for(var s=[],u=a(r),l=[],c=0;c0&&(s.push(l),l=[]),c+=f.length-1):l.push(t.terms[c])}return l.length>0&&s.push(l),s=s.map(function(r){return new e(r,t.lexicon,t.refText,t.refTerms)}),new o(s,t.lexicon,t.parent)}};return t.notArray=function(e,r){var n=r.reduce(function(e,t){return e[t]=!0,e},{});return t.notObj(e,n)},e.prototype.not=function(e,r){if("object"===("undefined"==typeof e?"undefined":n(e))){var a=Object.prototype.toString.call(e);if("[object Array]"===a)return t.notArray(this,e,r);if("[object Object]"===a)return t.notObj(this,e,r)}return"string"==typeof e?t.notString(this,e,r):this},e};t.exports=s},{"../../result/index":44,"./lib/startHere":181,"./lib/syntax":182}],184:[function(e,t,r){"use strict";var n=e("../mutate"),a=function(e){var t={delete:function(e){if(!this.found)return this;if(!e)return this.parentTerms=n.deleteThese(this.parentTerms,this),this;var t=this.match(e);if(t.found){var r=n.deleteThese(this,t);return r}return this.parentTerms}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e};t.exports=a},{"../mutate":193}],185:[function(e,t,r){"use strict";var n=e("../mutate"),a=function(e,t){return e.terms.length&&e.terms[t]?(e.terms[t].whitespace.before=" ",e):e},i=function(e){var t=function(t){return"Terms"===t.isA?t:"Term"===t.isA?new e([t]):e.fromString(t)},r={insertBefore:function(e,r){var i=this.terms.length,o=t(e);r&&o.tagAs(r);var s=this.index();return a(this.parentTerms,s),s>0&&a(o,0),this.parentTerms.terms=n.insertAt(this.parentTerms.terms,s,o),this.terms.length===i&&(this.terms=o.terms.concat(this.terms)),this},insertAfter:function(e,r){var i=this.terms.length,o=t(e);r&&o.tagAs(r);var s=this.terms[this.terms.length-1].index();return a(o,0),this.parentTerms.terms=n.insertAt(this.parentTerms.terms,s+1,o),this.terms.length===i&&(this.terms=this.terms.concat(o.terms)),this},insertAt:function(e,r,i){e<0&&(e=0);var o=this.terms.length,s=t(r);return i&&s.tagAs(i),e>0&&a(s,0),this.parentTerms.terms=n.insertAt(this.parentTerms.terms,e,s),this.terms.length===o&&Array.prototype.splice.apply(this.terms,[e,0].concat(s.terms)),0===e&&(this.terms[0].whitespace.before="",s.terms[s.terms.length-1].whitespace.after=" "),this}};return Object.keys(r).forEach(function(t){e.prototype[t]=r[t]}),e};t.exports=i},{"../mutate":193}],186:[function(e,t,r){"use strict";var n=function(e){var t=[["toUpperCase","UpperCase"],["toLowerCase"],["toTitleCase","TitleCase"]];return t.forEach(function(t){var r=t[0],n=t[1],a=function(){var e=arguments;return this.terms.forEach(function(t){t[r].apply(t,e)}),n&&this.tagAs(n,r),this};e.prototype[r]=a}),e};t.exports=n},{}],187:[function(e,t,r){"use strict";var n=function(e){var t={term:function(e){return this.terms[e]},first:function(){var t=this.terms[0];return new e([t],this.lexicon,this.refText,this.refTerms)},last:function(){var t=this.terms[this.terms.length-1];return new e([t],this.lexicon,this.refText,this.refTerms)},slice:function(t,r){var n=this.terms.slice(t,r);return new e(n,this.lexicon,this.refText,this.refTerms)},endPunctuation:function(){return this.last().terms[0].endPunctuation()},canBe:function(e){e=e||"",e=e.replace(/^#/,"");for(var t=0;t0&&a[0]&&(a[0].whitespace.before=" "),Array.prototype.splice.apply(e,[t,0].concat(a)),e}},{}],194:[function(e,t,r){"use strict";t.exports={data:e("../data/index"),lexicon:e("../data/lexicon"),fns:e("../fns"),log:e("../log"),Term:e("../term")}},{"../data/index":8,"../data/lexicon":9,"../fns":40,"../log":42,"../term":158}],195:[function(e,t,r){"use strict";var n=e("./fix"),a={wanna:["want","to"],gonna:["going","to"],im:["i","am"],alot:["a","lot"],dont:["do","not"],dun:["do","not"],ive:["i","have"],"won't":["will","not"],wont:["will","not"],"can't":["can","not"],cant:["can","not"],cannot:["can","not"],aint:["is","not"],"ain't":["is","not"],"shan't":["should","not"],imma:["I","will"],"where'd":["where","did"],whered:["where","did"],"when'd":["when","did"],whend:["when","did"],"how'd":["how","did"],howd:["how","did"],"what'd":["what","did"],whatd:["what","did"],"let's":["let","us"],dunno:["do","not","know"],brb:["be","right","back"],gtg:["got","to","go"],irl:["in","real","life"],tbh:["to","be","honest"],imo:["in","my","opinion"],til:["today","i","learned"],rn:["right","now"]},i=function(e){for(var t=Object.keys(a),r=0;r0&&" - "===r.whitespace.before){var i=new a("");return i.silent_term="to",e.insertAt(t,i),e.terms[t-1].tagAs("NumberRange"),e.terms[t].tagAs("NumberRange"),e.terms[t].whitespace.before="",e.terms[t].whitespace.after="",e.terms[t+1].tagAs("NumberRange"),e}if(r.tag.NumberRange){var o=r.text.split(/(-)/);o[1]="to",e=n(e,o,t),e.terms[t].tagAs("NumberRange"),e.terms[t+1].tagAs("NumberRange"),e.terms[t+2].tagAs("NumberRange"),t+=2}}}return e};t.exports=i},{"../../../term":158,"./fix":199}],199:[function(e,t,r){"use strict";var n=e("../../../term"),a={not:"Negative",will:"Verb",would:"Modal",have:"Verb",are:"Copula",is:"Copula",am:"Verb"},i=function(e){a[e.silent_term]&&e.tagAs(a[e.silent_term])},o=function(e,t,r){var a=e.terms[r];a.silent_term=t[0],a.tagAs("Contraction","tagger-contraction");var o=new n("");if(o.silent_term=t[1],o.tagAs("Contraction","tagger-contraction"),e.insertAt(r+1,o),o.whitespace.before="",o.whitespace.after="",i(o),t[2]){var s=new n("");s.silent_term=t[2],e.insertAt(r+2,s),s.tagAs("Contraction","tagger-contraction"),i(s)}return e};t.exports=o},{"../../../term":158}],200:[function(e,t,r){"use strict";var n=e("./01-irregulars"),a=e("./02-hardOne"),i=e("./03-easyOnes"),o=e("./04-numberRange"),s=function(e){return e=n(e),e=a(e),e=i(e),e=o(e)};t.exports=s},{"./01-irregulars":195,"./02-hardOne":196,"./03-easyOnes":197,"./04-numberRange":198}],201:[function(e,t,r){"use strict";var n={re:!0,ve:!0,ll:!0,t:!0,s:!0,d:!0,m:!0},a=function(e){var t=e.text.match(/^([a-z]+)'([a-z][a-z]?)$/i);return t&&t[1]&&n[t[2]]?("t"===t[2]&&t[1].match(/[a-z]n$/)&&(t[1]=t[1].replace(/n$/,""),t[2]="n't"),e.tag.TitleCase&&(t[1]=t[1].replace(/^[a-z]/,function(e){return e.toUpperCase()})),{start:t[1],end:t[2]}):(t=e.text.match(/[a-z]s'$/i),t?{start:e.normal.replace(/s'?$/,""),end:""}:null)};t.exports=a},{}],202:[function(e,t,r){"use strict";var n=e("../paths").log,a="correction",i=e("./verb_corrections"),o=function(e){return n.here(a),e.match("so #Adjective").match("so").tag("Adverb","so-adv"),e.match("so #Noun").match("so").tag("Conjunction","so-conj"),e.match("do so").match("so").tag("Noun","so-noun"),e.match("still #Adjective").match("still").tag("Adverb","still-advb"),e.match("more #Noun").tag("Noun","more-noun"),e.match("still #Verb").term(0).tag("Adverb","still-verb"),e.match("second #Noun").term(0).unTag("Unit").tag("Ordinal","second-noun"),e.match("(foot|feet)").tag("Noun","foot-noun"),e.match("#Value (foot|feet)").match("(foot|feet)").tag("Unit","foot-unit"),e.match("how (#Copula|#Modal|#PastTense)").term(0).tag("QuestionWord","how-question"),e.match("will #Adjective").term(1).tag("Verb","will-adj"),e.match("u #Verb").term(0).tag("Pronoun","u-pronoun-1"),e.match("#Conjunction u").term(1).tag("Pronoun","u-pronoun-2"),e.match("is no #Verb").term(2).tag("Noun","is-no-verb"),e.match("the #Verb #Preposition .").match("#Verb").tag("Noun","correction-determiner1"),e.match("the #Verb").match("#Verb").tag("Noun","correction-determiner2"),e.match("the #Adjective #Verb").match("#Verb").tag("Noun","correction-determiner3"),e.match("the #Adverb #Adjective #Verb").match("#Verb").tag("Noun","correction-determiner4"),e.match("#Organization of the? #TitleCase").tag("Organization","org-of-place"),e.match("#Organization #Country").tag("Organization","org-country"),e.match("(world|global|international|national|#Demonym) #Organization").tag("Organization","global-org"),e.match("#TitleCase (ltd|co|inc|dept|assn|bros)").tag("Organization","org-abbrv"),e.match("#Determiner #Verb of").term(1).tag("Noun","the-verb-of"),e.match("#Noun #Adverb #Noun").term(2).tag("Verb","correction"),e.match("#Copula #Adjective to #Verb").match("#Adjective to").tag("Verb","correction"),e.match("#Verb than").term(0).tag("Noun","correction"),e.match("#Possessive #Verb").term(1).tag("Noun","correction-possessive"),e.match("just like").term(1).tag("Preposition","like-preposition"),e.match("#Noun like #Noun").term(1).tag("Preposition","noun-like"),e.match("#Verb like").term(1).tag("Adverb","verb-like"),e.match("#Adverb like").term(1).tag("Adverb","adverb-like"),e.match("#Determiner #Noun of #Verb").match("#Verb").tag("Noun","noun-of-noun"),e.match("#Adjective #PresentTense").term(1).tag("Noun","adj-presentTense"),e.match("#Possessive #FirstName").term(1).unTag("Person","possessive-name"),e.match("(a|an) (#Duration|#Value)").ifNo("#Plural").term(0).tag("Value","a-is-one"),e.match("half a? #Value").tag("Value","half-a-value"),e.match("#Value and a (half|quarter)").tag("Value","value-and-a-half"),e.match("#Value").match("!#Ordinal").tag("#Cardinal","not-ordinal"),e.match("#Value+ #Currency").tag("Money","value-currency"),e.match("#Money and #Money #Currency?").tag("Money","money-and-money"),e.match("holy (shit|fuck|hell)").tag("Expression","swears-expression"),e.match("#Determiner (shit|damn|hell)").term(1).tag("Noun","swears-noun"),e.match("(shit|damn|fuck) (#Determiner|#Possessive|them)").term(0).tag("Verb","swears-verb"),e.match("#Copula fucked up?").not("#Copula").tag("Adjective","swears-adjective"),e=i(e)};t.exports=o},{"../paths":209,"./verb_corrections":203}],203:[function(e,t,r){"use strict";var n=function(e){var t="(#Adverb|not)+?";return e.match("(has|had) "+t+" #PastTense").not("#Verb$").tag("Auxillary","had-walked"),e.match("#Copula "+t+" #Gerund").not("#Verb$").tag("Auxillary","copula-walking"),e.match("(be|been) "+t+" #Gerund").not("#Verb$").tag("Auxillary","be-walking"),e.match("(#Modal|did) "+t+" #Verb").not("#Verb$").tag("Auxillary","modal-verb"),e.match("#Modal "+t+" have "+t+" had "+t+" #Verb").not("#Verb$").tag("Auxillary","would-have"),e.match("(#Modal) "+t+" be "+t+" #Verb").not("#Verb$").tag("Auxillary","would-be"),e.match("(#Modal|had|has) "+t+" been "+t+" #Verb").not("#Verb$").tag("Auxillary","would-be"),e};t.exports=n},{}],204:[function(e,t,r){"use strict";var n={interpret:e("./contraction")},a={lexicon_lump:e("./lumper/lexicon_lump"),lump_two:e("./lumper/lump_two"),lump_three:e("./lumper/lump_three")},i={punctuation_step:e("./steps/01-punctuation_step"),lexicon_step:e("./steps/02-lexicon_step"),capital_step:e("./steps/03-capital_step"),web_step:e("./steps/04-web_step"),suffix_step:e("./steps/05-suffix_step"),neighbour_step:e("./steps/06-neighbour_step"),noun_fallback:e("./steps/07-noun_fallback"),date_step:e("./steps/08-date_step"),auxillary_step:e("./steps/09-auxillary_step"),negation_step:e("./steps/10-negation_step"),phrasal_step:e("./steps/12-phrasal_step"),comma_step:e("./steps/13-comma_step"),possessive_step:e("./steps/14-possessive_step"),value_step:e("./steps/15-value_step"),acronym_step:e("./steps/16-acronym_step"),emoji_step:e("./steps/17-emoji_step"),person_step:e("./steps/18-person_step"),quotation_step:e("./steps/19-quotation_step"),organization_step:e("./steps/20-organization_step"),plural_step:e("./steps/21-plural_step")},o=e("./corrections"),s=e("./phrase"),u=function(e){e=i.punctuation_step(e),e=i.emoji_step(e),e=a.lexicon_lump(e),e=i.lexicon_step(e),e=i.web_step(e),e=i.suffix_step(e),e=i.neighbour_step(e),e=i.capital_step(e),e=i.noun_fallback(e),e=n.interpret(e),e=i.date_step(e),e=i.auxillary_step(e),e=i.negation_step(e),e=i.phrasal_step(e),e=i.comma_step(e),e=i.possessive_step(e),e=i.value_step(e),e=i.acronym_step(e),e=i.person_step(e),e=i.quotation_step(e),e=i.organization_step(e),e=i.plural_step(e);for(var t=0;t<3;t++)e=a.lump_three(e),e=a.lump_two(e);return e=o(e),e=s(e)};t.exports=u},{"./contraction":200,"./corrections":202,"./lumper/lexicon_lump":206,"./lumper/lump_three":207,"./lumper/lump_two":208,"./phrase":211,"./steps/01-punctuation_step":212,"./steps/02-lexicon_step":213,"./steps/03-capital_step":214,"./steps/04-web_step":215,"./steps/05-suffix_step":216,"./steps/06-neighbour_step":217,"./steps/07-noun_fallback":218,"./steps/08-date_step":219,"./steps/09-auxillary_step":220,"./steps/10-negation_step":221,"./steps/12-phrasal_step":222,"./steps/13-comma_step":223,"./steps/14-possessive_step":224,"./steps/15-value_step":225,"./steps/16-acronym_step":226,"./steps/17-emoji_step":227,"./steps/18-person_step":228,"./steps/19-quotation_step":229,"./steps/20-organization_step":230,"./steps/21-plural_step":231}],205:[function(e,t,r){"use strict";var n=e("../paths"),a=n.Term,i=n.log,o="tagger/combine",s=function(e,t){var r=e.whitespace.before+e.text+e.whitespace.after;return r+=t.whitespace.before+t.text+t.whitespace.after},u=function(e,t){var r=e.terms[t],n=e.terms[t+1];if(n){i.tell('--combining: "'+r.normal+'"+"'+n.normal+'"',o);var u=s(r,n);e.terms[t]=new a(u,r.context),e.terms[t].normal=r.normal+" "+n.normal,e.terms[t+1]=null,e.terms=e.terms.filter(function(e){return null!==e})}};t.exports=u},{"../paths":209}],206:[function(e,t,r){"use strict";var n=e("./combine"),a=e("../paths"),i=a.log,o=a.lexicon,s=a.fns,u="tagger/multiple",l=function(e,t,r){for(var a=0;ae.length)return!1}return!1},f=function(e){i.here(u);for(var t=e.lexicon||{},r=0;r1&&t.match(/^[IVXCM]+$/))},s={a:!0,i:!0,u:!0,r:!0,c:!0,k:!0},u=function(e){return n.here(i),e.terms.forEach(function(e){var t=e.text;t.match(/^[A-Z][a-z']/)&&e.tagAs("TitleCase","punct-rule"),t=t.replace(/[,\.\?]$/,"");for(var r=0;r1&&(t=u(l[l.length-1],e))&&n.tagAs(t,"multiword-lexicon")}}}return e};t.exports=l},{"../contraction/split":201,"../paths":209}],214:[function(e,t,r){"use strict";var n=e("../paths").log,a="tagger/capital",i=function(e){n.here(a);for(var t=1;t1e3&&e<3e3)},c=function(e){n.here(a),e.match("#Month #DateRange+").tag("Date","correction-numberRange"),e.match(i+" (#Determiner|#Value|#Date)").term(0).tag("Month","correction-may"),e.match("#Date "+i).term(1).tag("Month","correction-may"),e.match(o+" "+i).term(1).tag("Month","correction-may"),e.match("(next|this|last) "+i).term(1).tag("Month","correction-may"),e.match("#Value #Abbreviation").tag("Value","value-abbr"),e.match("a #Value").tag("Value","a-value"),e.match("(minus|negative) #Value").tag("Value","minus-value"),e.match("#Value grand").tag("Value","value-grand"),e.match("(half|quarter) #Ordinal").tag("Value","half-ordinal"),e.match("(hundred|thousand|million|billion|trillion) and #Value").tag("Value","magnitude-and-value"),e.match("#Value point #Value").tag("Value","value-point-value"),e.match("#Cardinal #Time").tag("Time","value-time"),e.match("(by|before|after|at|@|about) #Time").tag("Time","preposition-time"),e.match("(#Value|#Time) (am|pm)").tag("Time","value-ampm"),e.match("all day").tag("Time","all-day"),e.match(o+"? "+s+" (spring|summer|winter|fall|autumn)").tag("Date","thisNext-season"),e.match("the? "+u+" of (spring|summer|winter|fall|autumn)").tag("Date","section-season"),e.match("#Date the? #Ordinal").tag("Date","correction-date"),e.match("#Value of? #Month").tag("Date","value-of-month"),e.match("#Cardinal #Month").tag("Date","cardinal-month"),e.match("#Month #Value to #Value").tag("Date","value-to-value"),e.match(s+" #Date").tag("Date","thisNext-date"),e.match(o+"? #Value #Duration").tag("Date","value-duration"),e.match("due? (by|before|after|until) #Date").tag("Date","by-date"),e.match("#Date (by|before|after|at|@|about) #Cardinal").not("^#Date").tag("Time","date-before-Cardinal"),e.match("#Time (eastern|pacific|central|mountain)").term(1).tag("Time","timezone"),e.match("#Time (est|pst|gmt)").term(1).tag("Time","timezone abbr"),e.match("#Date (am|pm)").term(1).unTag("Verb").unTag("Copula").tag("Time","date-am"),e.match("at night").tag("Time","at-night"),e.match("in the (night|evening|morning|afternoon|day|daytime)").tag("Time","in-the-night"),e.match("(early|late) (at|in)? the? (night|evening|morning|afternoon|day|daytime)").tag("Time","early-evening"),e.match("#Month #Value #Cardinal").tag("Date","month-value-cardinal"),e.match("(last|next|this|previous|current|upcoming|coming|the) #Date").tag("Date","next-feb"),e.match("#Date #Value").tag("Date","date-value"),e.match("#Value #Date").tag("Date","value-date"),e.match("#Date #Preposition #Date").tag("Date","date-prep-date"),e.match("#Value #Duration #Conjunction").tag("Date","val-duration-conjunction"),e.match("the? "+u+" of #Date").tag("Date","section-of-date");var t=e.match("#Date #Value #Cardinal").lastTerm().values(),r=t.numbers()[0];return l(r)&&t.tag("Year","date-value-year"),t=e.match("#Date+ #Cardinal").lastTerm().values(),r=t.numbers()[0],l(r)&&t.tag("Year","date-year"),t=e.match("#Month #Value #Cardinal").lastTerm().values(),r=t.numbers()[0],l(r)&&t.tag("Year","date-year2"),t=e.match("#Month #Value to #Value #Cardinal").lastTerm().values(),r=t.numbers()[0],l(r)&&t.tag("Year","date-year3"),t=e.match("(in|of|by|during|before|starting|ending|for|year) #Cardinal").lastTerm().values(),r=t.numbers()[0],l(r)&&t.tag("Year","preposition-year"),e.match("#Duration in #Date").tag("Date","duration-in-date"),e};t.exports=c},{"../paths":209}],220:[function(e,t,r){"use strict";var n=e("../paths").log,a="tagger/auxillary",i={do:!0,"don't":!0,does:!0,"doesn't":!0,will:!0,wont:!0,"won't":!0,have:!0,"haven't":!0,had:!0,"hadn't":!0,not:!0},o=function(e){n.here(a);for(var t=0;t0&&l.tag.Conjunction)u=!0;else{if(l.tag[n]){if(l.tag.Comma){s+=1,o=0;continue}if(s>0&&u)return i(e,r,t),!0}if(o+=1,o>5)return!1}}return!1},s=function(e){for(var t=0;t35)))},s=function(e){var t=e.text.replace(/^[:;]/,":");return t=t.replace(/[:;]$/,":"),i[t]},u=function(e){for(var t=0;t8));o++)if(e.terms[t+o].text.match(/.["'\u201D\u2036\u2019]([;:,.])?$/)){i(e,t,o+t),t+=o;break}}return e};t.exports=o},{"../paths":209}],230:[function(e,t,r){"use strict";var n=e("../paths").log,a="tagger/organization_step",i=e("../paths").data.orgWords;i=i.reduce(function(e,t){return e[t]=!0,e},{});var o=function(e){return!!e.tag.Noun&&(!(e.tag.Pronoun||e.tag.Comma||e.tag.Possessive)&&!(!e.tag.TitleCase&&!e.tag.Organization))},s=function(e){n.here(a);for(var t=0;t (http://spencermounta.in)", "name": "compromise", "description": "natural language processing in the browser", - "version": "7.0.17", + "version": "7.0.18", "main": "./builds/compromise.js", "repository": { "type": "git",